Глоссарий

Шифрование с асимметричным ключом : криптографическая система, использующая пары ключей — открытый и закрытый — для шифрования и дешифрования данных. Открытые ключи используются для шифрования данных и могут использоваться совместно. Закрытые ключи используются для дешифрования данных и известны только владельцу.

Шифротекст : результат шифрования открытого текста с использованием определённого алгоритма. Шифротекст не поддаётся расшифровке, пока он не будет преобразован обратно в открытый текст с помощью ключа.

Согласованность : означает, что Tink ведёт себя «одинаково» во всех языках программирования. Например, Tink обеспечивает согласованность вычислений, то есть, если для заданного набора ключей создание примитива успешно в двух языках, примитивы ведут себя одинаково.

Ключ : фрагмент информации (например, строка), необходимый для шифрования или дешифрования данных. Подробнее об их представлении см. в разделе «Объекты ключа» .

Набор ключей и его дескриптор : Tink использует наборы ключей для управления ключами. Набор ключей — это, по сути, набор ключей, обеспечивающий их ротацию. Важные свойства набора ключей:

  • Каждый ключ в наборе ключей имеет уникальный идентификатор, уникальный для всего набора ключей. Этот идентификатор обычно добавляется в качестве префикса к каждому полученному шифротексту, подписи или тегу, чтобы указать, какой ключ был использован (подробнее см. в статье «Как Tink маркирует шифротексты »).
  • Только один ключ в наборе ключей может быть первичным . Первичный ключ в наборе ключей — это ключ, который используется в данный момент.
  • Все ключи в наборе ключей должны быть реализациями одного и того же примитива (например, AEAD), но могут иметь разные типы ключей (например, ключ AES-GCM и XCHACHA20-POLY1305).

Каждая реализация Tink предоставляет API для создания и редактирования наборов ключей. Однако мы рекомендуем использовать Tinkey — наш инструмент командной строки.

Пользователи работают с набором ключей, используя дескрипторы набора ключей . Дескриптор набора ключей ограничивает раскрытие конфиденциальной информации ключа. Он также абстрагирует набор ключей, позволяя пользователям получить примитив, который «обёртывает» весь набор ключей. Например, можно получить примитив AEAD для набора ключей с N ключами; шифрование и дешифрование с помощью полученного примитива затем используют первичный ключ из этого набора ключей.

Система управления ключами (KMS) : система, используемая для управления криптографическими ключами, включая их генерацию, хранение, использование, ротацию, уничтожение и замену.

Тип ключа : Тип ключа реализует определённый примитив. Большинство примитивов предлагают несколько типов ключей на выбор в зависимости от ваших требований к безопасности, времени выполнения и дисковому пространству. Например, AES128_GCM — это AEAD , быстрый и эффективный для большинства задач. Подробнее см. в разделе «Поддерживаемые типы ключей по языкам» .

Параметры : полностью описывает информацию, необходимую для создания ключа, за исключением материала ключа и идентификатора ключа. Описание объектов параметров см. в разделе «Параметры».

Открытый текст : понятная входная форма зашифрованного текста или его элементов.

Примитив : Tink использует примитивы в качестве криптографических строительных блоков, управляющих базовым алгоритмом, что позволяет пользователям безопасно выполнять криптографические задачи. Примитив определяет детали криптографического алгоритма и тип ключа.

Реестр : глобальная сущность в Tink, которая умеет генерировать новые ключи и примитивы. См. также руководство по отладке ошибок регистрации .

Симметричное шифрование : криптографический алгоритм, который использует один и тот же ключ для шифрования открытого текста и расшифровки зашифрованного текста.