4 ms·
What class would one take to understand this? I had a cryptography elective I wanted to take in undergrad but it was in the wrong semester.
by vmception 6y ago
What class would one take to understand this?
I had a cryptography elective I wanted to take in undergrad but it was in the wrong semester.
- loup-vaillant 6y agoI have no idea. I'm self taught, and I tend to limit myself to implementation techniques. My tutorials on the subjects are mostly implementation focused: http://loup-vaillant.fr/tutorials/fast-scalarmult http://loup-vaillant.fr/tutorials/fast-scalarmult http://loup-vaillant.fr/tutorials/cofactor http://loup-vaillant.fr/tutorials/cofactor http://loup-vaillant.fr/tutorials/128-bits-of-security http://loup-vaillant.fr/tutorials/128-bits-of-security (This one is more about choosing your primitive than implementing it.) If you want to get started in cryptography in general, I can recommend 2 sources: Dan Boneh's course, and crypto101 by lvh: https://www.coursera.org/learn/crypto https://www.coursera.org/learn/crypto https://www.crypto101.io/ https://www.crypto101.io/
- beefhash 6y agoIf you want a to get this stuff into your head reasonably fast, go implement a curve. Then do it again, but in Rust (or C) and in constant-time. Then do it again, but actually computationally efficiently (i.e. optimize the hell out of a Rust or C implementation once it works). Choose a different curve each time. Then go and cook your own curve for shits and giggles. You may easily spend a year upwards on this, but by the time you're done, you've basically run into every resource worth knowing about and are able to decently reason about elliptic curves (but by no means are in a position to write papers still).
- tinganho 6y agoBasically, doing this now. I tried to implement x25519 in a highly optimized way in cpp/c and I’m in my 8 month. I dogged through countless of articles and learned a ton of abstract algebra. Though, I still feel like a beginner in this field. I’ve done a few hard projects in my career (compilers, and graphic editor). And I think implementing a elliptic curve in a optimized way, without a math library, must be one of the hardest thing in programming.
- lordnacho 6y agoProbably more than one class, but I ran into it in a descrete math course at the end of uni.