sycret icon indicating copy to clipboard operation
sycret copied to clipboard

Use assembly calls for AES, optimize PRG

Open tholop opened this issue 4 years ago • 1 comments

Try to optimize the PRG with a lightweight assembly call to AESNI instead of using the aesni crate: https://github.com/OpenMined/sycret/blob/368276c2687462a9f00496771f102e84428fb74e/src/le.rs#L142

Here is an example of a Rust crate doing that (for a slightly older edition of Rust): https://github.com/gendx/haraka-rs/blob/e487b2821bfd5485e1e3df95909bdade2f615f3a/src/haraka256.rs#L6

Any other optimization of the MMO PRG is welcome! For instance, depending on the expansion factor needed, we might be able to save a few calls to AES: https://github.com/OpenMined/sycret/blob/368276c2687462a9f00496771f102e84428fb74e/src/le.rs#L153

tholop avatar Jan 07 '21 00:01 tholop

For reference, here is some interesting work: Lightweight Techniques for Private Heavy Hitters

  • PRG evaluation optimization: see Appendix C.2
  • Lightweight Rust code adapted from the aesni crate: https://github.com/henrycg/heavyhitters/tree/main/src

tholop avatar Jan 18 '21 15:01 tholop