[Cryptography] [cryptography] SSH uses secp256/384r1 which has the same parameters as what's in SEC2 which are the same the parameters as specified in SP800-90 for Dual EC DRBG!

Peter Fairbrother zenadsl6186 at zen.co.uk
Mon Sep 9 19:25:20 EDT 2013


On 09/09/13 23:03, Perry E. Metzger wrote:

>> On Mon, 9 Sep 2013, Daniel wrote:
>> [...] They are widely used curves and thus a good way to reduce
>> conspiracy theories that they were chosen in some malicious way to
>> subvert DRBG.
>>
>
> Er, don't we currently have documents from the New York Times and the
> Guardian that say that in fact they *did* subvert them?
>
> Yes, a week ago this was paranoia, but now we have confirmation, so
> it is no longer paranoia.

I did not see that, and as far as I can tell there is no actual 
confirmation.


Also, the known possible subversion of DRBG did not involve curve 
selection, but selection of a point to be used in DRBG. I think Kristian 
G has posted about that.




As to elliptic curves, there are only two of significance, in terms of 
being widely used:  they are NIST P-256 and NIST P-384.

NIST P-224 is also occasionally used.

These are the same curves as the secp256/384r1 curves, and the same 
curves as almost any other 256-bit or 384-bit curves you might want to 
mention - eg the FIPS 186-3 curves, and so on.

These are all the same curves.

They all began in 1999 as the curves in the (NIST) RECOMMENDED ELLIPTIC 
CURVES FOR FEDERAL GOVERNMENT USE

csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf‎


The way they were selected is supposed to be pseudo-random based on 
SHA-1, though it's actually not quite like that (or not even close).

Full details, or at least all of the publicly available details about 
the curve selection process, are in the link, but as I wrote earlier:


"Take FIPS P-256 as an example. The only seed which has been published 
is s=  c49d3608 86e70493 6a6678e1 139d26b7 819f7e90 (the string they 
hashed and mashed in the process of deriving c).

I don't think they could reverse the perhaps rather overly-complicated 
hashing/mashing process, but they could certainly cherry-pick the s 
until they found one which gave a c which they could use.

c not being one of the usual parameters for an elliptic curve, I should 
explain that it was then used as c = a^3/b^2 mod p.

However the choice of p, r, a and G was not seeded, and the methods by 
which those were chosen are opaque.

I don't really know enough about ECC to say whether a perhaps 
cherry-picked c = a^3/b^2 mod p is enough to ensure that the resulting 
curve is secure against chosen curve attacks - but it does seem to me 
that there is a whole lot of wiggle room between a cherry-picked c and 
the final curve."


-- Peter Fairbrother


More information about the cryptography mailing list