Re: [Cryptography] Seed values for NIST curves

2013-09-10 Thread Joachim Strömbergson
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Aloha!

Tony Arcieri wrote:
 The question is... suitable for what? djb argues it could be used to 
 find a particularly weak curve, depending on what your goals are: 
 http://i.imgur.com/o6Y19uL.png

So, the question is then - how do we fix this?

I (naively) see two approaches:

1. We as a community create a list of curves that we agree on are good.
The list is placed in a document, for example an RFC that clearly states
what criteria has been used, what the sources for the curves are and how
they has been generated. This allows any user to check the validity and
the provenance.

2. Create tools to easily create randomly generated curves including
some tool to assess the goodness/quality.

Either method should (I believe) be possisble to be integrated into TLS
as part of the parameter exchange and negotiation.

If I understand DJB correctly EC as such is sound and provides clear
benefits compared to RSA. We just need curves that have completely
open, traceable and varifiable specifications.

- -- 
Med vänlig hälsning, Yours

Joachim Strömbergson - Alltid i harmonisk svängning.

-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlIu9iIACgkQZoPr8HT30QHziQCeLg8PgNPa2Iz0eB+ZJdgF6caB
h1MAoJB/WTs+KrFsG3QjO84PipmyXlY0
=SdNy
-END PGP SIGNATURE-
___
The cryptography mailing list
cryptography@metzdowd.com
http://www.metzdowd.com/mailman/listinfo/cryptography


Re: [Cryptography] Seed values for NIST curves

2013-09-10 Thread Tony Arcieri
On Tue, Sep 10, 2013 at 3:36 AM, Joachim Strömbergson 
joac...@strombergson.com wrote:

 1. We as a community create a list of curves that we agree on are good.
 The list is placed in a document, for example an RFC that clearly states
 what criteria has been used, what the sources for the curves are and how
 they has been generated. This allows any user to check the validity and
 the provenance.


This is more or less what djb did, sans the politics of an Internet
standards process (others have written IETF-style guidelines for actually
deploying his ciphers)

djb's rationale for Curve25519's parameters are provided in the paper. The
2^255-19 constant was selected by a theorem (see Theorem 2.1):

http://cr.yp.to/ecdh/curve25519-20060209.pdf

-- 
Tony Arcieri
___
The cryptography mailing list
cryptography@metzdowd.com
http://www.metzdowd.com/mailman/listinfo/cryptography

Re: [Cryptography] Seed values for NIST curves

2013-09-09 Thread Tony Arcieri
On Mon, Sep 9, 2013 at 10:37 AM, Nemo n...@self-evident.org wrote:

 The approach appears to be an attempt at a nothing up my sleeve
 construction. Appendix A says how to start with a seed value and use SHA-1
 as a psuedo-random generator to produce candidate curves until a suitable
 one is found.


The question is... suitable for what? djb argues it could be used to find a
particularly weak curve, depending on what your goals are:

http://i.imgur.com/o6Y19uL.png

(originally from http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf)

-- 
Tony Arcieri
___
The cryptography mailing list
cryptography@metzdowd.com
http://www.metzdowd.com/mailman/listinfo/cryptography

[Cryptography] Seed values for NIST curves

2013-09-09 Thread Nemo
I have been reading FIPS 186-3 (
http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf) and 186-4 (
http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf), particularly
Appendix A describing the procedure for generating elliptic curves and
Appendix D specifying NIST's recommended curves.

The approach appears to be an attempt at a nothing up my sleeve
construction. Appendix A says how to start with a seed value and use SHA-1
as a psuedo-random generator to produce candidate curves until a suitable
one is found. Appendix D includes the seed value for each curve so that
anyone can verify they were generated according to the pseudo-random
process described in Appendix A.

Unless NSA can invert SHA-1, the argument goes, they cannot control the
final curves.

However...

To my knowledge, most nothing up my sleeve constructions use clearly
non-random seed values. For example, MD5 uses the sines of consecutive
integers. SHA-1 uses sqrt(2), sqrt(3), and similar.

Using random seeds just makes it look like you wanted to try a few -- or
possibly a great many -- until the result had some undisclosed property you
wanted.

Question: Who chose the seeds for the NIST curves, and how do they claim
those seeds were chosen, exactly?

 - Nemo
___
The cryptography mailing list
cryptography@metzdowd.com
http://www.metzdowd.com/mailman/listinfo/cryptography