4 ms·
A gentle introduction to elliptic-curve cryptography [video]
- agwa 12y agoThis video is excellent. Slides: https://events.ccc.de/congress/2014/Fahrplan/system/attachments/2502/original/20141227-twopage.pdf https://events.ccc.de/congress/2014/Fahrplan/system/attachme... Sample code: http://ecchacks.cr.yp.to/ http://ecchacks.cr.yp.to/
- idfivud 12y agoHow are the slides created?
- agwa 12y agoI have no idea, but considering they are from DJB, they were probably created in a very unusual way ;-)
- hartem_ 12y agoLooks like they used LaTeX/Beamer http://en.wikibooks.org/wiki/LaTeX/Presentations http://en.wikibooks.org/wiki/LaTeX/Presentations
- askldjkladj 12y agoAh, it's quite simple using pdfpages.
- yuhong 12y agoThe first https uses CAcert. I'd suggest using http instead.
- agwa 12y agoThanks for pointing that out. TIL that my browser trusts the CAcert root, which is not something I remember doing. Too late to edit my comment. Here is a non-HTTPS link: http://events.ccc.de/congress/2014/Fahrplan/system/attachments/2502/original/20141227-twopage.pdf http://events.ccc.de/congress/2014/Fahrplan/system/attachmen...
- tedunangst 12y agoYou may not be trusting the CAcert root, but just the ccc.de cert. I know I added an exception for it, but not CAcert generally.
- officialjunk 12y agowhat is the issue with CAcert?
- tedunangst 12y agoApproximately 0% of the installed browser base trusts them.
- pervycreeper 12y agoParticularly noteworthy is the part near the end regarding the selection process for curves when standards are written, and the caginess of the presenters in answering the audience question on the topic. This is a good argument for software authors to really understand for themselves at all levels what is going on with the cryptography/ packages they are using.
- tptacek 12y agoThere's a backstory here; the TLS working group asked the IETF crypto review board to recommend a standard for DJB's Curve25519. The effort seems to be running aground on bikeshedding concerns. The jab about NSA continuing to influence CFRG is weird, though. Bernstein doesn't really believe that NSA influences Kenny Paterson.
- orbifold 12y agoThis has also bugged me in the case of other cryptographic algorithms, for example SHA-1 has several magic input constants, whose choice is not obvious. When casually reading through the original papers I could not find a clear explanation of how those values were chosen. Pretty much everything in the design seems fairly arbitrary and amendable to variation. In physics there are multiple case where you can do seemingly very hard calculations, if you do it in the wrong coordinate system and neglect symmetries that are present, that collapse to almost nothing (In the case of elliptic curves that was the fact that the curve points chosen by NSA were related by Q = P + e, where e was some point on the curve only known to the NSA)
- tptacek 12y agoRegarding the SHA-1 constants: http://crypto.stackexchange.com/questions/10829/why-initialize-sha1-with-specific-buffer http://crypto.stackexchange.com/questions/10829/why-initiali... Your latter example seems to be about the Dual-EC RNG, which is not an ECC encryption algorithm.
- orbifold 12y agoAh that is good to know. Yes the latter example was not exactly on point, just meant as a general illustration of possible vulnerabilties.
- j2kun 12y agoI also wrote an introduction to ECC using Python. It's longer, less gentle, more mathematical, and doesn't cover Edwards curves. But it ends with a program allowing you to play EC's over any finite field, and implements and explains some of the major protocols. http://jeremykun.com/2014/02/08/introducing-elliptic-curves/ http://jeremykun.com/2014/02/08/introducing-elliptic-curves/
- deleted 12y ago[deleted]
- nullc 12y agoNo disrespect to the extensive work you did there-- and this is a general complaint about basically all the "ECC explained" I've seen on the web, but I think that jumping into the mechanics of explaining at the blades-of-grass level how to implement point arithmetic without ever giving an clear intuition as to how a cyclic group with intractable discrete log is cryptographically useful does the reader a disservice. E.g. after reading one of these tutorials, they might be able to go and _implement_ the cryptosystem, but they won't actually understand it except at a "Chinese Room" level, and as a result it won't actually be safe for them to implement any of it, since they'll be unlikely to ask the right questions. E.g. they'd make the Sony mistake. Yours goes a little further, and for that I must give it credit: Many just explain the addition law and russian peasants algorithm, throw out an equation for ECDSA and call it a day. But if you do a revision, I'd encourage you to rearrange and explain the cryptographic algorithms abstractly, and in depth, first... before jumping into the mechanics of the machine implementation of a particular group law.
- j2kun 12y agoIn writing them my main goal was to explain elliptic curves to my own satisfaction (i.e. derive things and not shy away from projective space and finite fields). To me they are interesting in their own right, as is realizing them in code. I view the crypto as sort of a bonus. I do see your point that I could have done everything with, say, multiplicative integers modulo a prime and the core algorithms wouldn't change. I think I will redo that when I get around to writing articles on abstract crypto (one-way functions, pseudorandom generators, and the like).
- jestinjoy1 12y agoI found this introductory explanation worth reading. http://crypto.stackexchange.com/questions/653/basic-explanation-of-elliptic-curve-cryptography?rq=1 http://crypto.stackexchange.com/questions/653/basic-explanat...