SpinResearch / RustySecrets

🔑 Threshold Shamir's secret sharing in Rust
BSD 3-Clause "New" or "Revised" License
253 stars 33 forks source link

Make gf256 it's own crate #56

Open psivesely opened 6 years ago

psivesely commented 6 years ago

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 6 years ago

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.