SpinResearch/RustySecrets

Make gf256 it's own crate

Opened this issue · 1 comments

There's no standalone implementation of GF(256) on https://crates.io, and it's a finite field that's used often in cryptography. Making gf256 a standalone crate would be a good contribution to the Rust community.

I think adding the isomorphic GF(256) representation generated by x + 1 and 0x1B, as that's used in AES and many other implementations such as the IETF draft Threshold Secret Sharing
draft-mcgrew-tss-03.txt
(see #8) would be a good idea if this were to be done.

romac commented

We discussed that with @FredericJacobs, but IIRC we decided against it because we felt it would be hard to provide an implementation which would suit most use cases, and didn't want to provide a library that could easily be misused eg. in a project with side-channel resistance requirements, or things like that. Happy to discuss this further though, as maybe we could get away with a big disclaimer or something like that.

@FredericJacobs Feel free to chime in if I misrepresented the content of our discussion on the topic.