cosmiancryptocore   ![Build Status] ![Latest Version]

This crate implements crypto primitives which are used in many other Cosmian cryptographic resources:

The crate also defines CryptoCoreError, the error type, and a few traits.

Symmetric Crypto

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 makes use of the AES instruction set when available, which allows for a high encryption speed.

Asymmetric Crypto

This crate implements a public and a private key objects based on Curve25519. This one of the fastest elliptic curves known when implementing these objects. Its security level is also 128 bits.

It uses the Dalek implementation, which 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.

Random Number Generator (RNG)

This crate uses the implementation of the HC128 algorithm from the Rust standard library to construct our RNG. It is therefore 128-bits secure.

Building

The default feature schemes can all be built to a WASM target.