RustCrypto: SM2 elliptic curve
Pure Rust implementation of the SM2 elliptic curve as defined in the Chinese national standard GM/T 0003-2012 as well as ISO/IEC 14888.
The elliptic curve arithmetic contained in this crate has never been independently audited!
This crate has been designed with the goal of ensuring that secret-dependent
operations are performed in constant time (using the subtle
crate and
constant-time formulas). However, it has not been thoroughly assessed to ensure
that generated assembly is constant time on common CPU architectures.
USE AT YOUR OWN RISK!
ShangMi 2 (SM2) is a Weierstrass curve specified in GM/T 0003-2012: Cryptography Industry Standard of the People's Republic of China.
The SM2 cryptosystem is composed of three distinct algorithms:
- SM2DSA: digital signature algorithm defined in GBT.32918.2-2016, ISO.IEC.14888-3 (SM2-2)
- SM2KEP: key exchange protocol defined in GBT.32918.3-2016 (SM2-3)
- SM2PKE: public key encryption algorithm defined in GBT.32918.4-2016 (SM2-4)
All crates licensed under either of
at your option.
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.