Assuming you are using the most basic level of blowfish (128 bit), even using advanced cryptoanalysis it would require a minimum of 521 samples to generate the subkey and s box of your key.
It is possible to break, everything can be broken, but I seriously doubt anybody would take the time / effort and expense to crack it.
Since you have not posted your code, nor should you, I will say that more often than not it is the code that is worked backward to vailidate the key. The exploitable part of your license scheme is here:
My program puts this serial no through the blowfish algorithm (using a secret key).
That means that the secret key is located someplace in the software. Make sure that file is well protected and hidden as are calls to it's location. If I was to try and hack your software it would be on the verification aspect.
If I am reading this correctly, every time the program starts it will take the serial and run it through the key. I would bet that if someone was so inclined the software can be run inside an emulator and the data to the processor / memory logged to find the key. Again, I don't think that will happen.
Good luck.
Main Topics
Browse All Topics





by: arnoldPosted on 2009-04-10 at 11:08:11ID: 24117711
I think it can if your KEY consists on only encrypting the serial no of the PDA
Serial NO -> Blowfish processing -> key
Serial no -> + something + something else => one way encryption using random "salt" -> key
When your program runs it should have the something and something else that it adds to the PDA serial number than using the key as the salt to perform the one way encryption. The result must be the same as the key to work.
You should stay away from encrypt/decrypt mechanisms since you would run into a problem of always having to maintain the same secret with new version. Or you would need to handle the upgrade process. I.e. take the existing key from the PDA decrypt it with the prior secrets, then reencrypt with the new version's secret.