Выберите свой вариант использования, чтобы определить правильный примитив, затем перейдите по ссылке для получения руководства по использованию примитива.
Шифровать данные...
Примитивный | Подробности | |
---|---|---|
...стандартных размеров | Аутентифицированное шифрование со связанными данными (AEAD) | - Подходит для большинства нужд - Принимает открытые тексты длиной до 2 32 байт - Обеспечивает конфиденциальность открытого текста и проверяет целостность и подлинность |
...в больших файлах или потоках данных | Потоковое AEAD | - Для данных, которые слишком велики для обработки за один шаг |
...детерминированно | Детерминированный AEAD | - Создает тот же шифротекст для заданного открытого текста и ключа |
...с ключами, защищенными KMS | Система управления ключами (KMS) Конверт AEAD | - Шифрует каждый открытый текст новым ключом AEAD - Шифрует каждый ключ AEAD с помощью KMS |
...с открытым ключом, расшифровать данные с помощью закрытого ключа | Гибридное шифрование | - Не аутентифицировано - Полезно, когда отправители не могут хранить секреты (закрытый ключ) |
Все эти примитивы способны привязывать шифротекст к его контексту .
Обеспечьте подлинность и целостность данных путем...
Примитивный | Подробности | |
---|---|---|
...создание и проверка MAC с помощью одного ключа | Код аутентификации сообщения (MAC) | - Очень быстро - Проверяется только теми сторонами, которые также могут создавать MAC-адреса. |
...создание подписи с помощью закрытого ключа, проверка с помощью открытого ключа | Цифровая подпись | - Может быть проверено сторонами, которые не могут создавать подписи |
Разное
Примитивный | Подробности | |
---|---|---|
Создание и проверка JWT | Веб-токены JSON (JWT) | - Дополнительно может конвертировать в/из формата JSON Web Key (JWK) |
Зашифруйте любой набор ключей примитива с помощью KMS | Примитив, зашифрованный KMS | - Не требует взаимодействия с KMS каждый раз при использовании примитива (например, для шифрования открытого текста), в отличие от KMS Envelope AEAD |
Есть вопрос?
Создайте задачу в репозитории GitHub для конкретного языка, ссылка на который находится на странице организации Tink .