Hacker News new | ask | show | jobs
by sgarland 721 days 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.

2 comments

For 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.
We 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.

The 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.atari...

The "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.