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