Преобразование «все или ничего»
В криптографии преобразование «все или ничего» ( AONT ), также известное как протокол «все или ничего» , представляет собой режим шифрования , который позволяет понять данные только в том случае, если все они известны. AONT не являются шифрованием, но часто используют симметричные шифры и могут применяться перед шифрованием. Говоря точными словами, «AONT — это неключевое, обратимое, рандомизированное преобразование, обладающее тем свойством, что его трудно инвертировать, если не известны все выходные данные». [1]
Алгоритмы
[ редактировать ]Оригинальный AONT, преобразование пакета , был описан Рональдом Л. Ривестом в его статье 1997 года «Шифрование по принципу «все или ничего» и преобразование пакета» . [2] Преобразование, предложенное Ривестом, включало предварительную обработку открытого текста путем выполнения XOR каждого блока открытого текста с индексом этого блока, зашифрованного случайно выбранным ключом, а затем добавления одного дополнительного блока, вычисленного путем XOR этого случайного ключа и хэшей всех предварительно обработанных блоков. Результат этой предварительной обработки называется псевдосообщением и служит входными данными для алгоритма шифрования. Для отмены преобразования пакета необходимо хешировать каждый блок псевдосообщения, кроме последнего, выполнять операцию XOR всех хэшей с последним блоком для восстановления случайного ключа, а затем использовать случайный ключ для преобразования каждого предварительно обработанного блока обратно в исходный блок открытого текста. Таким образом, невозможно восстановить исходный открытый текст, не имея предварительного доступа к каждому блоку псевдосообщения.
Хотя в статье Ривеста дано только подробное описание пакетного преобразования применительно к режиму CBC , оно может быть реализовано с использованием шифра в любом режиме . Таким образом, существует несколько вариантов: пакет преобразования ECB , пакет преобразования CBC и т. д.
В 1999 году Виктор Бойко предложил другой АОНТ, доказуемо безопасный в рамках модели случайного оракула . [1]
Очевидно, примерно в то же время Д. Р. Стинсон предложил другую реализацию AONT без каких-либо криптографических предположений. [3] Эта реализация представляет собой линейное преобразование, возможно, подчеркивающее некоторые недостатки безопасности исходного определения.
Приложения
[ редактировать ]AONT можно использовать для повышения надежности шифрования без увеличения размера ключа. Это может быть полезно, например, для защиты секретов при соблюдении государственных правил экспорта криптографии . AONT помогают предотвратить несколько атак.
Одним из способов повышения надежности шифрования AONT является предотвращение раскрытия чего-либо атак, которые раскрывают только часть информации, поскольку частичной информации недостаточно для восстановления какой-либо части исходного сообщения.
Другое применение, предложенное в оригинальных статьях, заключается в снижении стоимости безопасности: например, файл может быть обработан AONT, а затем только небольшая его часть может быть зашифрована (например, на смарт-карте). AONT гарантирует, что в результате весь файл будет защищен. Важно использовать более сильную версию преобразования (например, ту, что Бойко выше).
AONT можно комбинировать с прямым исправлением ошибок для создания вычислительно безопасной схемы совместного использования секрета . [4]
Другие варианты использования AONT можно найти в оптимальном дополнении асимметричным шифрованием (OAEP).
Ссылки
[ редактировать ]- ^ Jump up to: а б Бойко, Виктор (1999). «О свойствах безопасности OAEP как преобразования по принципу «все или ничего». Достижения криптологии — КРИПТО' 99 . Конспекты лекций по информатике. Том. 1666. стр. 503–518. дои : 10.1007/3-540-48405-1_32 . ISBN 978-3-540-66347-8 .
- ^ Ривест, Рональд (1997). «Шифрование по принципу «все или ничего» и преобразование пакета». Быстрое программное шифрование . Конспекты лекций по информатике. Том. 1267. стр. 210–218. дои : 10.1007/BFb0052348 . ISBN 978-3-540-63247-4 .
- ^ Стинсон, Д.Р. (1 января 2001 г.). «Что-то обо всем или ничего (трансформируется)». Проекты, коды и криптография . 22 (2): 133–138. дои : 10.1023/А:1008304703074 . S2CID 10118200 .
- ^ Реш, Джейсон; Планк, Джеймс (15 февраля 2011 г.). AONT-RS: Сочетание безопасности и производительности в распределенных системах хранения (PDF) . Усеникс FAST'11 .
Внешние ссылки
[ редактировать ]- Staple — прототип с открытым исходным кодом, реализация преобразования «все или ничего».