This crate implements crypto primitives which are used in many other Cosmian cryptographic resources:
symmetric_crypto
module;asymmetric_crypto
module;kdf
module;entropy
module.The crate also defines CryptoCoreError
, the error type, and a few traits.
This crate implements a Data Encapsulation Mechanism (DEM) based on the AES 256 GCM algorithm, as described in the ISO 2004. This implementation is 128-bits secure.
It uses the aes_gcm
implementation of the AES GCM algorithm. This implementation make use of the
AES instruction when available, which allows a high encryption speed.
This crate implements a public and a private key objects based on Curve25519. This is the fastest elliptic curve known when implementing these objects. Its security level is also 128 bits.
It uses the Dalek implementation, which also offers an implementation of the Ristretto technique to construct a prime order group on the curve. This group is used to implement the public key.
This crate uses the hkdf
implementation
of the HKDF algorithm, along with the Sha256 implementation of the Rust standard
library in order to implement a KDF.
Since Sha256 is 128-bits secure, this makes this KDF 128-bits secure too.
This crate uses the implementation of the HC128 algorithm from the Rust standard library to construct our RNG. It is therefore 128-bits secure.
The default feature schemes can all be built to a WASM target.