#encryption-decryption #verifiable #discrete #logs #shoup #camenisch #logarithms

verenc

An implementation of Camenisch Shoup verifiable encryption and decryption of discrete logs

2 unstable releases

0.2.0 Oct 5, 2021
0.1.0 Oct 5, 2021

#2279 in Cryptography

Apache-2.0 OR MIT and maybe LGPL-3.0+

28KB
578 lines

Verifiable Encryption

Crates.io Documentation License-Image minimum rustc 1.50 dependency status

An implementation of Verifiable Encryption and Decryption of Discrete Logarithms based on Camenisch Shoup.

The scheme uses the Paillier cryptosystem P99.

This crate uses the unknown-order crate which allows switching the underlying big number implementation based on license preferences and performance. As such, this crate reexports unknown_order so consumers of this crate do not have to have a separate dependency.

This implementation has not been reviewed or audited. Use at your own risk.

Efforts have been made to mitigate some side channel attacks but ultimately there are many factors involved. For a good read, see Thomas Pornin's Why Constant-Time Crypto article.

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 licensed as above, without any additional terms or conditions.

Dependencies

~0.7–6MB
~118K SLoC