#cipher #crypto #serpent

serpent-cipher

A naive pure Rust implementation of the Serpent block cipher

3 releases

0.1.2 Nov 19, 2019
0.1.1 Nov 18, 2019
0.1.0 Nov 18, 2019

#2388 in Cryptography

MIT/Apache

450KB
571 lines

Serpent

A pure Rust implementation of the Serpent block cipher candidate for the AES standard.

Warnings

This crate does not promise any form of implementation guarantees for timing or space characteristics. It's a naive translation of the reference C code from the Serpent authors.

The intent of this crate is to provide a pure implementation of the cipher for non-critical applications. It handles the known-answer test vectors from the reference submission for variable keys, variable text, and the input table that is designed to exercise the S-boxes. Use it where you need to encrypt and decrypt weird payloads and would rather do it from Rust than C, but please don't use it anywhere sensitive.

It's using external crates and definitely uses the std, if you're looking for something that needs to run no_std on some dinky little embedded device, it would need some massage to get rid of the nice things from the Rust std.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies