Hacker News new | ask | show | jobs
by bascule 4202 days ago
Rust has an asm! macro. You can implement the constant time operations in assembly.

Here's a syntax extension that tries to use black magic to turn a subset of Rust code into corresponding asm! macros:

https://github.com/klutzy/nadeko/blob/tmp/tests/rot13.rs

Note it presently has no support for loops whatsoever.

1 comments

> Note it presently has no support for loops whatsoever.

Could you comment on why? Is it perhaps necessary to save/restore ECX [edit: I meant RCX for 64bit] between procedure/function calls/rets?

It's because nadeko is a young project and it hasn't been implemented yet. Coming soon!