I have a program which is obviously decrypting its data with a public, binary key of variable length.
I came to these facts by doing some more or less educated guesses:
- Reverse Engineering revealed that the program needs the name of a file including a public key
- Viewing this file in a hex editor shows totally random binary data (with no interesting pattern or anything), prefixed with the length of the file - in one version the file is only 200 bytes long, in another about 2000 bytes.
- Thinking about the security, I guess the programs company encrypts the data files with a private key so that noone can create their own data files (which would fit the programs needs - no "modding" should be allowed nor the data be shown in third party programs).
- The data files are prefixed with a human readable 64 byte long header, the rest is again completely random binary data.
I'd like to use the same system for my own program, if such thing is available. Is there an encryption method capable of asymmetric encryption / decryption with a binary key of variable length, if yes, which one and how can I implement such thing?