Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Optimal Asymmetric Encryption Padding )
Перейти к навигации Перейти к поиску

В криптографии , Optimal Asymmetric Encryption Padding ( OAEP ) является схема набивки часто используется вместе с шифрованием RSA . УАМИАЭ был введен Bellare и Rogaway , [1] , а затем стандартизированы в PKCS # 1 v2 и RFC 2437.

Алгоритм OAEP - это разновидность сети Фейстеля, которая использует пару случайных оракулов G и H для обработки открытого текста перед асимметричным шифрованием . В сочетании с любой защищенной односторонней перестановкой лазейки эта обработка, как доказано в модели случайного оракула, приводит к комбинированной схеме, которая семантически безопасна при атаке с выбранным открытым текстом (IND-CPA) . При реализации с определенными перестановками лазейки (например, RSA) OAEP также оказывается защищенным от атаки с выбранным зашифрованным текстом . OAEP можно использовать для построения преобразования типа " все или ничего" .

OAEP выполняет две следующие задачи:

  1. Добавьте элемент случайности, который можно использовать для преобразования детерминированной схемы шифрования (например, традиционный RSA ) в вероятностную схему.
  2. Предотвратите частичное дешифрование зашифрованных текстов (или утечку другой информации), гарантируя, что злоумышленник не сможет восстановить какую-либо часть открытого текста, не имея возможности инвертировать одностороннюю перестановку лазейки .

Первоначальная версия OAEP (Bellare / Rogaway, 1994) продемонстрировала форму « осведомленности об открытом тексте » (которая, как они утверждали, подразумевает защиту от атаки с выбранным зашифрованным текстом ) в модели случайного оракула, когда OAEP используется с любой перестановкой лазейки. Последующие результаты противоречили этому утверждению, показывая, что OAEP защищен только IND-CCA1 . Однако исходная схема была доказана в модели случайного оракула как безопасная IND-CCA2, когда OAEP используется с перестановкой RSA с использованием стандартных показателей шифрования, как в случае RSA-OAEP. [2] Для решения этой проблемы Виктор Шуп предложил улучшенную схему (называемую OAEP +), которая работает с любыми односторонними перестановками с лазейками .[3] Более поздняя работа показала, что в стандартной модели (то есть, когда хеш-функции не моделируются как случайные оракулы) невозможно доказать безопасность IND-CCA2 RSA-OAEP при предполагаемой сложности проблемы RSA . [4] [5]

Алгоритм [ править ]

OAEP - это сеть Фейстеля

На диаграмме

  • n - количество битов в модуле RSA.
  • k 0 и k 1 - целые числа, зафиксированные протоколом.
  • m - текстовое сообщение, ( n  -  k 0  -  k 1 ) -битная строка
  • G и H - случайные оракулы, такие как криптографические хеш-функции .
  • ⊕ - операция xor.

Чтобы закодировать,

  1. сообщения дополняются k 1 нулями, чтобы иметь длину n  -  k 0 бит.
  2. r - это случайно сгенерированная k 0- битная строка
  3. G расширяет k 0 битов r до n  -  k 0 битов.
  4. X = m 00 ... 0 G ( г )
  5. H уменьшает n  -  k 0 битов X до k 0 битов.
  6. Y = гH ( X )
  7. На выходе получается X || Y, где X показан на диаграмме как крайний левый блок, а Y как крайний правый блок.

Использование в RSA: закодированное сообщение можно затем зашифровать с помощью RSA. Детерминированного свойства RSA теперь можно избежать за счет кодирования OAEP.

Чтобы расшифровать,

  1. восстановить случайную строку как r = YH ( X )
  2. восстановить сообщение как m 00 ... 0 = XG ( r )

Безопасность [ править ]

Безопасность " все или ничего " заключается в том, что для восстановления m необходимо восстановить весь X и весь Y ; Х требуется для восстановления г из Y , а т требуется восстановить м от X . Поскольку любой измененный бит криптографического хеша полностью изменяет результат, весь X и весь Y должны быть полностью восстановлены.

Реализация [ править ]

В стандарте PKCS # 1 случайные оракулы G и H идентичны. Стандарт PKCS # 1 также требует, чтобы случайные оракулы были MGF1 с соответствующей хэш-функцией. [6]

См. Также [ править ]

  • Инкапсуляция ключей

Ссылки [ править ]

  1. ^ M. Bellare , P. Rogaway . Оптимальное асимметричное шифрование - как зашифровать с помощью RSA . Расширенная аннотация в журнале «Достижения в криптологии» -Труды Eurocrypt '94, Lecture Notes in Computer Science Vol. 950, изд. A. De Santis, Springer-Verlag , 1995. полная версия (pdf)
  2. ^ Eiichiro Фуджисаки, Tatsuaki Окамото, Дэвид Pointcheval, и Жак Стерн . RSA - OAEP безопасен в предположении RSA . В J. Kilian, ed., Advances in Cryptology - CRYPTO 2001, vol. 2139 конспектов лекций по информатике, SpringerVerlag, 2001. полная версия (pdf)
  3. Виктор Шоуп. Пересмотр OAEP . Исследовательская лаборатория IBM в Цюрихе, Saumerstr. 4, 8803 Рушликон, Швейцария. 18 сентября 2001 г. полная версия (pdf)
  4. ^ П. Пайе и Дж. Вильяр, Односторонняя торговля против безопасности выбранного зашифрованного текста при шифровании на основе факторинга , Достижения в криптологии - Asiacrypt 2006.
  5. ^ Д. Браун, Какие хэши делают RSA-OAEP безопасным? , IACR ePrint 2006/233.
  6. ^ Браун, Дэниел RL (2006). "Какие хэши делают RSA-OAEP безопасным?" (PDF) . IACR Cryptology ePrint Archive . Проверено 3 апреля 2019 .