Crate themis

Expand description

§Themis Library

Themis is a high-level cryptographic library.

Themis allows you to protect data at rest (in your database, files, or wherever you store it in your application) and data in motion (i.e. travelling between client and server, server and server, application and application, a smart coffee machine and a smart vacuum cleaner).

Themis is a portable, cross-platform implementation of several cryptosystems:

  • Secure Message: general purpose cryptographic system aimed at securing communication between two parties;

  • Secure Session: cryptographic system aimed at maintaining a messaging session between two peers, with the session-wise protection of their data exchange;

  • Secure Cell: cryptographic system aimed at storing data encrypted with a symmetric key, with additional security guarantees;

  • Secure Comparator: Zero-Knowledge Proof-based protocol built around SMP with ECC math, augmented with additional checks and features;

…all wrapped as nice high-level objects that are easy to use in your favourite environment.

Modules§

keygen
Generating key material.
keys
Cryptographic keys.
secure_cell
Secure Cell for data storage.
secure_comparator
Secure Comparator protocol.
secure_message
Secure Message system.
secure_session
Secure Session service.

Structs§

Error
The error type for most Themis operations.

Enums§

ErrorKind
A list of Themis error categories.

Type Aliases§

Result
Result type for most Themis operations.