3 ms·
We solved this by porting ring to rust using c2rust, and the resulting code seems to work well even on our bespoke architecture. It's possible to use the genera
by xobs 4y ago
We solved this by porting ring to rust using c2rust, and the resulting code seems to work well even on our bespoke architecture. It's possible to use the generated code and cross compile from any major platform to riscv32imac-unknown-xous-elf even without a C compiler, and it seems to be constant time still.
https://github.com/betrusted-io/ring-xous https://github.com/betrusted-io/ring-xous
- inferiorhuman 4y agoInteresting. Is the rustified stuff still constant time?
- xobs 4y agoSurprisingly, seems like it's reasonably good! There's a section in this blog post about characterizing it and comparing it to a hardware implementation: https://www.bunniestudios.com/blog/?p=6521 https://www.bunniestudios.com/blog/?p=6521 Since it's the same algorithm, most of the tricks appear to make it through the language conversion, so it's reasonably good even on a completely different architecture.