At 22.50 16/08/2003 +0300, you wrote:
I've did a quick search for Quartz, and from what I've found so far
it seems perfect for my needs.

Yes, Quartz is the perfect choice, except for the fact that the algorithm is patented.


Under a technical point of view, tweaking the implementation a little, may even further enhance the number of license code generable.
In particular 150 bits minus 128 bits of signature yield 22 bits = 2^22 = 4 million different key codes generable per private key.


By pursuing the fact that Fv(Z)=B has multiple solutions (but you have to modify the core of Quartz manually to let it create multiple signatures of the same hash) one can easily gain an average of 28 bits, yielding 2^50 key codes with 150 bit.

Under the commercial point of view, I've written a working implementation of Quartz in C which I plan to release soon as freeware code (if you want to try a beta, let me know), but unfortunatelly agreement with patent holders may create some troubles for the users. In particular, even if not explicitly expressed, they seem to allow free usage of the algorithm (they themselves point to a free Java implementation of a lighter version of it from their website), but a license is needed for commercial use.

The point however is that one should only embed a little portion in the commercial application, which is the decoder who basically only evaluates the polynomial Fv(Z)=B and little else. It's not clear if the patents holders may claim copyright infringements on such a little portion of code.

Regards,
Giuliano Bertoletti.



Reply via email to