Expand description

This crate implements the CoverCrypt cryptographic scheme which allows to:

  • encrypt messages for a given set of policy attributes;
  • decrypt messages if the decryptor has been assigned one of these policy attributes;
  • “rotate” policy attributes, which allows to prevent decryption of older ciphertexts for a new user and decryption of new ciphertexts by old users. Old users can be granted decryption right for new ciphertexts after a key refresh.

The api module exposes the generic definition of CoverCrypt.

The interface::statics module exposes instantiates CoverCrypt using a DEM scheme build on top of AES256-GCM and a asymmetric key pair built on top of Curve25519.

Example

See examples/runme.rs.

Re-exports

pub use self::core::api::CleartextHeader;
pub use self::core::api::CoverCrypt;
pub use self::core::api::EncryptedHeader;

Modules

Implements the core functionalities of CoverCrypt.

Macros

Macro calling CoverCrypt decaps() with the correct generic parameters.
Macro calling CoverCrypt encaps() with the correct generic parameters.
Macro calling CoverCrypt keygen() with the correct generic parameters.
Macro calling CoverCrypt refresh() with the correct generic parameters.
Macro calling CoverCrypt setup() with the correct generic parameters.
Macro calling CoverCrypt update() with the correct generic parameters.

Enums