Детерминированное шифрование с аутентификацией и связанными данными (детерминированное AEAD)

Детерминированный AEAD обеспечивает шифрование с детерминированным свойством: шифрование одних и тех же данных всегда дает один и тот же зашифрованный текст. Этот тип шифрования полезен для упаковки ключей или для некоторых схем поиска зашифрованных данных (дополнительную информацию см. в RFC 5297, раздел 1.3 ). Из-за его детерминированного свойства реализация этого примитива может привести к потере секретности, поскольку злоумышленнику нужно только узнать зашифрованный текст для данного сообщения, чтобы идентифицировать другие экземпляры этого сообщения.

Детерминированный AEAD обладает следующими свойствами:

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

Связанные данные

Детерминированный AEAD также может использоваться для привязки зашифрованного текста к конкретным связанным данным . Предположим, у вас есть база данных с полями user-id и encrypted-medical-history . В этом сценарии user-id может использоваться в качестве связанных данных при шифровании encrypted-medical-history . Это не позволяет злоумышленнику передать историю болезни от одного пользователя к другому.

Выберите тип ключа

Мы рекомендуем тип ключа AES256_SIV для всех случаев использования.

Гарантии безопасности

  • Уровень аутентификации не менее 80 бит.
  • Открытый текст и связанные с ним данные могут иметь произвольную длину (в диапазоне 0..2–32 байта).
  • 128-битный уровень безопасности против атак с восстановлением ключей, а также при многопользовательских атаках с использованием до 2 32 ключей — это означает, что если злоумышленник получит 2 32 зашифрованных текста одного и того же сообщения, зашифрованного под 2 32 ключами, ему необходимо выполнить 2 128 вычислений. получить единый ключ.
  • Возможность безопасного шифрования 2 38 сообщений, при условии, что каждое из них имеет длину менее 1 МБ.

Пример варианта использования

См. «Я хочу детерминированно зашифровать данные и хочу привязать зашифрованный текст к его контексту ».