Introduction: What is Themis
Themis is high-level cryptographic procedures library. It is licensed as Apache license 2.0.
Themis is portable, cross-platform implementation of several cryptosystems:
- secure messaging: cryptographic system aimed at securing communication of two parties.
- secure session: cryptographic system aimed at maintaining session between two peers, with session-wise protection of their data exchange.
- secure record storage: cryptographic system aimed at storing data encrypted with symmetric key, and additional security guarantees.
wrapped as nice high-level objects, easy to use in your favourite environment.
Availability
Themis supports the following architectures: x86/x64, armv*, various androids
It is checked to compile on:
Linux:
- Debian 7.8 (3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux)
- CentOS release 6.6 (2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux)
- CentOS Linux release 7.1.1503 (3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux)
- Ubuntu 14.04 LTS (3.16.0-34-generic #47~14.04.1-Ubuntu SMP Fri Apr 10 17:49:16 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux)
Windows: MS Windows 7 - 64bit
MacOS X 10.10 Darwin Kernel Version 14.3.0: (root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64)
Android:
- Samsung Galaxy Note 2 (Korean, SHV-E250K), Android 4.4.2
- Samsung Galaxy Gio (GT-S5660, Cyanogenmod 11), Android 4.4.4)
iOS 7.0+ on armv7 armv7s arm64
Themis is available as original C library and has Python, Objective-C, Ruby, PHP and Android wrappers.
We plan to expand this minuscule availability scope with broader set of platforms. If you'd like to help Themis arrive (or get better) on your favourite platform / language — get in touch.
Dependencies
Themis currently depends on libcrypto engine from LibreSSL / OpenSSL. We plan to change this in near future. Some language-specific wrappers rely on ecosystem-specific tooling, it is described in corresponding high-level language reference.
Getting Themis
You can fetch Themis from github:
git clone https://github.com/cossacklabs/themis
and follow installation documentation and language-specific instructions.
Getting in touch
- If you need help, read documentation once again and write to our Google Group.
- If you found a bug, and can provide steps to reliably reproduce it, open an issue in GitHub issues.
- If you have a feature request, open an issue in GitHub issues.
- If you want to contribute, read developer documentation and submit a pull request.
- If you want to talk to business wing of the company, drop us an e-mail
Credits and Honorable mentions
Themis is (c) 2014-2015 Cossack Labs Limited.
Significant contributions by Ignat Korchagin (ignat1@github) and Andrey Mnazakanov (mnaza@github).
Special thank you for help with iOS port goes to vixentael@github.
Reserve yourself name in history, do a pull request.