I am trying to take several serial keys for one program and find the encryption algorithm in order to code a keygen. I am a computer science student and am currently learning C and Java. This is for educational purposes and the serial keys that I have are to programs that I do not need. I am at school right now, so I do not have the product numbers with me. However, they are very similar to the windows 98 product keys. They are in this format (IE: ADSKFJ-23JD34-3JFK8D-I3JFSL).

Finding the algorithm may not be possible, but it seems like it is possible to do. I am not disassembling any executables to find the algorithm, just using arithmetical computation. I just finished printing off about 20 pages on common algorithms such as RSA. I read about block ciphers, asymmetric cryptosystems, and such (http://en.wikipedia.org/wiki/Categor...hic_algorithms). I just started this little project last night, but I am kind of unsure where to start or what type of Algorithm is used for keys such my example. Can anyone give me a clue as to what type of algorithm is most likely used, or give me an idea if this is even possible?