Преобразование по принципу «все или ничего»

В криптографии преобразование «все или ничего» ( AONT ), также известное как протокол «все или ничего» , представляет собой режим шифрования , который позволяет понимать данные, только если все они известны. AONT не являются шифрованием, но часто используют симметричные шифры и могут применяться перед шифрованием. В точных терминах, «AONT — это не имеющее ключа, обратимое, рандомизированное преобразование, обладающее свойством, что его трудно инвертировать, если не известны все выходные данные». [1]

Алгоритмы

Оригинальный AONT, преобразование пакета , был описан Рональдом Л. Ривестом в его статье 1997 года «Шифрование All-Or-Nothing и преобразование пакета». [2] Преобразование, предложенное Ривестом, включало предварительную обработку открытого текста путем выполнения операции XOR для каждого блока открытого текста с индексом этого блока, зашифрованным случайно выбранным ключом, а затем добавление одного дополнительного блока, вычисленного путем выполнения операции XOR для этого случайного ключа и хэшей всех предварительно обработанных блоков. Результат этой предварительной обработки называется псевдосообщением , и он служит входными данными для алгоритма шифрования. Отмена преобразования пакета требует хэширования каждого блока псевдосообщения, кроме последнего, выполнения операции XOR для всех хэшей с последним блоком для восстановления случайного ключа, а затем использования случайного ключа для преобразования каждого предварительно обработанного блока обратно в его исходный блок открытого текста. Таким образом, невозможно восстановить исходный открытый текст, не имея сначала доступа к каждому отдельному блоку псевдосообщения.

Хотя в статье Ривеста дано подробное описание преобразования пакета только в применении к режиму CBC , его можно реализовать с использованием шифра в любом режиме . Поэтому существует несколько вариантов: преобразование пакета ECB , преобразование пакета CBC и т. д.

В 1999 году Виктор Бойко предложил еще один AONT, доказуемо безопасный в рамках модели случайного оракула . ​​[1]

По-видимому, примерно в то же время Д. Р. Стинсон предложил другую реализацию AONT, без каких-либо криптографических предположений. [3] Эта реализация представляет собой линейное преобразование, возможно, подчеркивающее некоторую уязвимость безопасности исходного определения.

Приложения

AONT можно использовать для повышения надежности шифрования без увеличения размера ключа. Это может быть полезно, например, для защиты секретов при соблюдении государственных правил экспорта криптографии . AONT помогают предотвратить несколько атак.

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

Другое применение, предложенное в оригинальных статьях, заключается в снижении стоимости безопасности: например, файл может быть обработан AONT, а затем только небольшая его часть может быть зашифрована (например, на смарт-карте). AONT гарантирует, что в результате весь файл будет защищен. Важно использовать более сильную версию преобразования (например, ту, что предложил Бойко выше).

AONT можно объединить с прямой коррекцией ошибок , чтобы получить вычислительно безопасную схему разделения секрета . [4]

Другие применения AONT можно найти в оптимальном асимметричном шифровании (OAEP).

Ссылки

  1. ^ ab Бойко, Виктор (1999). «О свойствах безопасности OAEP как преобразования «все или ничего». Достижения в криптологии — CRYPTO' 99. Конспект лекций по информатике. Том 1666. С. 503–518. doi :10.1007/3-540-48405-1_32. ISBN 978-3-540-66347-8.
  2. ^ Ривест, Рональд (1997). «Шифрование по принципу «все или ничего» и преобразование пакетов». Быстрое программное шифрование. Конспект лекций по информатике. Том 1267. С. 210–218. doi :10.1007/BFb0052348. ISBN 978-3-540-63247-4.
  3. ^ Стинсон, DR (1 января 2001 г.). «Кое-что о All or Nothing (Transforms)». Designs, Codes and Cryptography . 22 (2): 133–138. doi :10.1023/A:1008304703074. S2CID  10118200.
  4. ^ Реш, Джейсон; Планк, Джеймс (15 февраля 2011 г.). AONT-RS: Сочетание безопасности и производительности в распределенных системах хранения (PDF) . Usenix FAST'11.
  • Staple — прототип с открытым исходным кодом, реализующий преобразование по принципу «все или ничего».
Взято с "https://en.wikipedia.org/w/index.php?title=All-or-nothing_transform&oldid=1173786158"