[]Crate themis

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 Definitions

Result

Result type for most Themis operations.