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