On 2010-12-18 4:35 PM, Peter Gutmann wrote:
"James A. Donald"<[email protected]>  writes:

Must interoperate with legitimate code.

Must plausibly claim to utilize well known algorithms (while actually
misusing them or grossly deviating from them.).

Sheesh, I can do this without even thinking.  Here's one:

   /* Generate the random value k.  FIPS 186 requires (Appendix 3) that this be
      done with:

      k = G(t,KKEY) mod q

     where G(t,c) produces a 160-bit output, however this produces a slight bias
     in k that leaks a small amount of the private key in each signature.
     Because of this we start with a value which is 32 bits larger than q and
     then do the reduction, eliminating the bias.

That took all of ten seconds to get.  Result: A completely FIPS 186-compliant
digsig implementation that leaks the private key.

And one that would take someone checking the code about an hour or so to detect.

_______________________________________________
cryptography mailing list
[email protected]
http://lists.randombit.net/mailman/listinfo/cryptography

Reply via email to