> I believe OpenSSH has made curve25519 their default key exchange, so they > seem willing to support crypto that isn't blessed by "official" standards. > I'd be surprised if approval by "ISO/IEC 11770-4" (which I'd never heard of) > makes a difference.
Yeah, that's a good point. My main aim for the standardization is to ensure that different implementations of J-PAKE will be compatible with each other. I know some people tried to get the Bouncycastle implementation of J-PAKE (as client) to work with the OpenSSL implementation of J-PAKE (at the server backend) and encountered some compatiblity issues: e.g., in the OpenSSL, each item within the hash (Schnorr ZKP) is prepended by a 2-byte short while in the Bouncycastle, it is prepended by a 4-byte int. They finally resolved the issues by themselves, but after some effort. I hope a standard specification will help avoid similar issues in future. > Are you claiming that EC-Dragonfly in 802.11s is not "fully specified"? > I just downloaded 802.11s ($260!). It seems to fully describe Dragonfly over > "FFC" and "ECC" groups. In fact, NIST P-256 is the mandatory-to-implement > group. Wow, that expensive! I don't have any access to the document, but I thought you were referring to the Dragonfly spec in IETF: http://tools.ietf.org/html/draft-irtf-cfrg-dragonfly-03 The main concern is the hashing-password-to-curve function, which is called "Hunting and Pecking with ECC Groups". There is a similar function in SPEKE as defined in ISO/IEC 11770-4 called Integer-to-Point or I2P function. The two share the same problems. For the Dragonfly case, the function is looped for k times. It is unclear what to do, if the function fails to find a valid point after k loops. The argument seems to be that the probability of that happening is very small when k is big. It's RECOMMENDED that k is at least 40. However, if one chooses a smaller k value for the sake of efficiency, it should be described in the spec as how to handle the failure. But I couldn't find any. One might think the problem can be easily addressed by changing RECOMMENDATION to MUST, but the performance would suffer if the device has extremely constrained resource. > What I don't know is how much deployment this is seeing? It will be great to see some examples of the deployment code. That can clarify. > OK, so this is basically the OTR / Socialist Millionaire's case: > http://www.cypherpunks.ca/~iang/pubs/impauth.pdf > I don't know whether that's been a good user experience or not, perhaps > that's a question for the "messaging" list... It's not a good user experience, and the example I used is a bit far-fetched. But my main point was that there are ways to set up a shared password between two users and that is an orthogonal problem to PAKE. In fact, the user scenario that I described was the initial motivation for researching PAKE (due to Steven Bellovin): two telephone users set up a secure communication line that no one else can tap by simply entering a short code to the key pads. It is difficult to implement that with ordinary telephones, but today with the rise of smartphones, it is becoming feasible. _______________________________________________ Curves mailing list [email protected] https://moderncrypto.org/mailman/listinfo/curves
