3 ms·
A Masters’-level security course at UT Austin. The first assignment was “implement AES and RSA from scratch, without Bignum, and on RISC-V in an emulator.” Just
by sgarland 2y ago
A Masters’-level security course at UT Austin. The first assignment was “implement AES and RSA from scratch, without Bignum, and on RISC-V in an emulator.” Just… why.
Spoiler, I did not succeed at that, but neither did most of the class.
- red_admiral 2y agoFor added "fun", if anyone succeeds you could then poke an oscilloscope at the thing and see if there's any obvious side-channel attacks. If there aren't, you get a magical exemption from the "never implement your own crypto" rule.
- snvzz 2y agoWe did something similar back in the day, some 20 years ago, in an introductory course, although obviously not in RISC-V assembly. It honestly strikes me as too trivial an exercise for masters-level.
- sgarland 2y agoThe separate architecture put it over the edge for me, personally. I’m barely competent at C (especially back then) and may have been able to just manage had it been on native arch. It did force me to get decent with bitshifts, which is always a useful skill. I found this [0] article about doing so with the 68000, and adapted it. [0]: https://web.archive.org/web/20210225221011/https://www.atarimagazines.com/st-log/issue24/69_1_ASSEMBLY_LINE.php https://web.archive.org/web/20210225221011/https://www.atari...
- snvzz 2y agoThe "in this arbitrary programming language we've never used before" was a common occurrence. At some point, we were given a PDF manual of some MIPS clone as well as a simulator. In University, you were supposed to just pick these skills up all by yourself.