5 ms·
Ahhh I was hoping this was referring to crypto as in cryptography. Oh well, does anyone have good low risk ways to learn to properly write crypto code?
by TrueDuality 5y ago
Ahhh I was hoping this was referring to crypto as in cryptography. Oh well, does anyone have good low risk ways to learn to properly write crypto code?
- LambdaComplex 5y ago+1 for https://cryptopals.com/ https://cryptopals.com/
- nopenopenopeno 5y agoI feel obligated to say the lowest risk way is to not write it at all. Don’t roll your own crypto.
- number6 5y agoSadly the article is not about Crypto like in RSA but Crypto like in BTC...
- helpfulclippy 5y ago“Don’t roll your own crypto” is great sense for production software. It is not good advice for people who are interested in learning to write good crypto, which we will continue to need. For those people: roll as much as you can! Roll your own Feistel network. Roll your own AES implementation, and then roll your own side channel attack to break it. Roll your own timing attack. And then eventually, maybe you’ll be the one to roll the first draft of the built-in implementation of $WELL_KNOWN_PRIMITIVE in $NEW_MAJOR_LANGUAGE. :)
- nopenopenopeno 5y agoSee “I feel obligated to say…” In other words, I didn’t have any advice so I didn’t try to give any.
- helpfulclippy 5y agoOh. Well, I did have advice, so I gave it. :)
- Javantea_ 5y agoMysteryTwisterC3 is an excellent way to learn RSA, ECC, and so on through the process of cryptanalysis. https://mysterytwister.org/home/welcome/ https://mysterytwister.org/home/welcome/ To learn how to implement stuff correctly, I recommend trying to work through an algorithm (say SHA-1 for example), and try to find people that explain it. Once you're ready to implement it yourself, go through the list of flaws in common implementations (side-channel, power analysis, diff, linear, etc) and try to prove whether your implementation is vulnerable or not vulnerable. Once you've done this more than once, you can do it for a lot of things. It turns out one of the best books on cryptography is in a bundle if you like to read, Applied Cryptography: https://www.humblebundle.com/books/cybersecurity-2022-wiley-books?hmb_source=humble_home&hmb_medium=product_tile&hmb_campaign=mosaic_section_3_layout_index_2_layout_type_threes_tile_index_3_c_cybersecuritywiley2022_bookbundle https://www.humblebundle.com/books/cybersecurity-2022-wiley-... Schneier has answered this question also: https://www.schneier.com/crypto-gram/archives/1999/1015.html#SoYouWanttobeaCryptographer https://www.schneier.com/crypto-gram/archives/1999/1015.html...
- alainchabat 5y agohttps://cryptoisnotcryptocurrency.com https://cryptoisnotcryptocurrency.com
- missingrib 5y agocryptopals is a good way to learn about practical crypto exploits
- ElemenoPicuares 5y agoOut of curiosity— can you think of any high-risk ways to learn to write crypto code? Do it while driving? Start throwing untested ideas into production in a large database of personal information? Do it for an international drug cartel?
- deleted 5y ago[deleted]
- TrueDuality 5y agoWrite your own (encryption algorithm, password hash mechanism, bitcoin wallet) take your pick. Rolling your own crypto is high-risk in itself and the risk goes up the more value in what you're protecting with it. Using it to protect drug cartel communications seems about as high risk as you can go... I bet there would be some serious repercussions when they got busted because of a failure in your code...
- magicjosh 5y agoI was curious about how prevalent the use of crypto is as referring to cryptocurrency. I had to get to the fifth page of Google results for "crypto" to get to this non-cryptocurrency gem: https://www.rottentomatoes.com/m/crypto https://www.rottentomatoes.com/m/crypto
- boardwaalk 5y agoYou might want to check out: https://github.com/cryptosubtlety/intuitive-advanced-cryptography/blob/master/advancedcrypto.pdf https://github.com/cryptosubtlety/intuitive-advanced-cryptog...