Hola!
Para ser honesto, creo que deberias plantear este problema en el subforo de Java.
Si bien estás haciendo un keygen, el algoritmo parece que ya lo tienes analizado, por lo que sólo te falta la programación del mismo.
Como punto aparte, el análisis que haz colocado puede llegar a ser falaz.
Esto es porque no has mencionado si has podido analizar el código del programa que genera los seriales.
El crear un keygen en base a seriales generados no es la mejor de las ideas, a menos que el algoritmo que los crea sea "muy evidente". Siempre conviene analizar el código (de ahí sale la Ing. Inversa
)
Saludos!