Welcome to the official documentation of Themis.
Themis is an open-source high-level cryptographic services library for mobile and server platforms, which provides secure data exchange and storage.
If you'd like to understand a thing or two about Themis, see:
- What is Themis: a bird's eye view of Themis.
- Going deeper: an in-depth look at the architecture and construction of Themis.
What's inside Themis:
- Soter: core crypto library: the underlying cryptographic primitive layer in Themis.
- On cryptographic donors: making sure our solutions are based only on high-quality verified code through utilising the existing open-source cipher implementations.
Cryptosystems: what they are and how they create Themis Objects (a general explanation).
- Secure Message: asymmetric encryption for data transfer.
- Secure Session: asymmetric encryption based on ephemeral keys.
- Secure Cell: container for symmetric/storage encryption.
- Secure Comparator: Zero Knowledge Protocol (ZKP) implementation (comparing shared secret, without revealing it to potentially dishonest party).
- Building and installing: detailed instructions on how to install Themis from package managers, from Docker, or from sources.
- Notes on using Themis.
- Command line utilities: for local testing of Secure Cell and Secure Message.
- Migration Guide: check if you're updating Themis version on production environment.
- Advice on key management: something you may find useful.
- Using Themis Server: a brief introduction to Themis Server — an interactive debugging environment for Themis.
- FAQ: Frequently Asked Questions.
Contributing to Themis: how to contribute to Themis.
- Contact us: our contacts and links.
- Development status: (an incomplete list of) things we're working on.
- Development quickstart: what you need to know to extend Themis.
- Directory structure: what is where.
- Leaving OpenSSL: what's wrong with OpenSSL and why we'd like to leave it.
- Advanced features: notes on introducing advanced and experimental features to Themis.