What is Themis?
Test your knowledge:
Explanation & Code
Answer: Themis is an open-source, cross-platform cryptographic library that packages a few high-level, hard-to-misuse primitives instead of exposing raw ciphers. It wraps OpenSSL, LibreSSL, or BoringSSL and ships identical wire formats for iOS, Android, and server languages, so a payload encrypted on one platform decrypts unchanged on another.
Its value is not new cryptography — it is removing the decisions that cause most application-level crypto bugs. You never choose a mode, an IV, a padding scheme, or a KDF; each primitive exposes one encrypt call and one decrypt call, and misuse generally produces an error rather than silently weak output.
Code Example:
# CocoaPods — the default subspec pins an OpenSSL build
pod 'themis'
import themis
// Every primitive follows the same shape: construct, then wrap/unwrap.
let keypair = TSKeyGen(algorithm: .EC)!
let privateKey = keypair.privateKey as Data
let publicKey = keypair.publicKey as Data
Key Points:
- Apache 2.0, maintained by Cossack Labs, and independently audited.
- Four primitives only: Secure Cell, Secure Message, Secure Session, Secure Comparator.
- Wire-format compatible across Swift, Kotlin/Java, Go, Python, Node, PHP, Rust, C++.
- Common in fintech and messaging apps that need payload crypto independent of TLS.
Rate your understanding: