Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Welcome to the official documentation of Themis 0.10.0.
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 for when the default installation scenario fails (this is rare, but not impossible).
- 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.