Tink uses primitives, cryptographic building blocks that manage the details of their underlying algorithms so users can perform tasks safely. Each primitive offers an API that handles a specific task. For example, Authenticated Encryption with Associated Data (AEAD) is a commonly used primitive for encrypting data.
Each primitive also requires a key type, or a specific type of implementation. Most primitives have several key types to choose from, depending on your requirements for security, running time, and space. For example, AEAD has AES128_GCM, which is fast and effective for most needs.
It sounds complicated, but we’ll help walk you through.
First, install Tink. Then, use our examples to help choose a primitive and key type.
I want to:
- Encrypt data
- Encrypt large files or data streams
- Exchange data
- Protect data from tampering
- Digitally sign data
- Use client-side-encryption with a cloud provider
Picking a primitive can be tricky. If the use cases here don’t fit your needs, ask a question on StackOverflow.