Выберите вариант использования, чтобы определить правильный примитив, а затем перейдите по ссылке, чтобы получить инструкции по использованию примитива.
Зашифровать данные...
Примитивный | Подробности | |
---|---|---|
...стандартных размеров | Аутентифицированное шифрование со связанными данными (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 .