Jump to content

Оптимальное заполнение асимметричного шифрования

(Перенаправлено с RSA-OAEP )

В криптографии часто оптимальное асимметричное шифрование ( OAEP ) представляет собой схему заполнения, используемую вместе с шифрованием RSA . OAEP была представлена ​​Белларе и Рогавеем . [ 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 согласно RFC 8017.

На диаграмме

  • MGF функция генерации маски , обычно MGF1,
  • Хэш — выбранная хеш-функция ,
  • hLen — длина вывода хэш-функции в байтах,
  • k — длина RSA модуля n в байтах,
  • M — сообщение, которое необходимо дополнить, длиной mLen (не более байт),
  • L — необязательная метка, связанная с сообщением (по умолчанию метка представляет собой пустую строку и может использоваться для аутентификации данных без необходимости шифрования),
  • PS — это строка байтов нулевые байты.
  • ⊕ — это операция XOR .

Кодирование

[ редактировать ]

RFC 8017 [ 6 ] для PKCS#1 v2.2 задается следующая схема OAEP для кодирования:

  1. Хэшируйте метку L, используя выбранную хеш-функцию:
  2. Создайте строку заполнения PS, состоящую из байты со значением 0x00.
  3. Объедините lHash , PS , одиночный байт 0x01 и сообщение M , чтобы сформировать блок данных DB : . Этот блок данных имеет длину байты.
  4. Сгенерируйте случайное начальное число длиной hLen .
  5. Используйте функцию генерации маски, чтобы сгенерировать маску соответствующей длины для блока данных:
  6. Замаскируйте блок данных сгенерированной маской:
  7. Используйте функцию генерации маски, чтобы сгенерировать маску длины hLen для начального числа:
  8. Замаскируйте семя сгенерированной маской:
  9. Закодированное (дополненное) сообщение представляет собой байт 0x00, объединенный с MaskedSeed и MaskedDB :

Декодирование

[ редактировать ]

Декодирование работает путем изменения шагов, выполненных в алгоритме кодирования:

  1. Хэшируйте метку L, используя выбранную хеш-функцию:
  2. Чтобы отменить шаг 9, разделите закодированное сообщение EM на байт 0x00, MaskedSeed (длиной hLen ) и MaskedDB :
  3. Создайте семенную маску , которая использовалась для маскировки семени :
  4. Чтобы отменить шаг 8, восстановите начальное число с помощью семенной маски :
  5. Создайте dbMask , который использовался для маскировки блока данных:
  6. Чтобы отменить шаг 6, восстановите блок данных DB:
  7. Чтобы отменить шаг 3, разделите блок данных на части: .
    1. Убедитесь, что:
      • lHash' равен вычисленному lHash
      • PS состоит только из байтов 0x00
      • PS и M разделены байтом 0x01 и
      • первый байт EM — это байт 0x00.
    2. Если какое-либо из этих условий не выполняется, заполнение недействительно.

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

Безопасность

[ редактировать ]

Безопасность « все или ничего » заключается в том, что для восстановления M необходимо восстановить всю MaskedDB и весь MaskedSeed ; MaskedDB требуется для восстановления начального значения из MaskedSeed , а начальное значение требуется для восстановления базы данных блока данных из MaskedDB . Поскольку любой измененный бит криптографического хеша полностью меняет результат, вся маскаedDB и весь MaskedSeed должны быть полностью восстановлены.

Выполнение

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ М. Белларе , П. Рогауэй . Оптимальное асимметричное шифрование – Как шифровать с помощью RSA . Расширенный реферат в журнале «Достижения в криптологии - Eurocrypt '94 Proceedings», конспекты лекций по информатике, том. 950, изд. А. Де Сантиса, Springer-Verlag , 1995. Полная версия (pdf)
  2. ^ Эйитиро Фудзисаки, Тацуаки Окамото, Дэвид Поинтчеваль и Жак Стерн . RSA — OAEP безопасен в соответствии с предположением RSA . В изд. Дж. Килиана, Достижения в криптологии – 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. ^ «Операция шифрования» . PKCS #1: Спецификации криптографии RSA, версия 2.2 . IETF . Ноябрь 2016. с. 22. сек. 7.1.1. дои : 10.17487/RFC8017 . РФК 8017 . Проверено 4 июня 2022 г.
  7. ^ Браун, Дэниел Р.Л. (2006). «Какие хэши обеспечивают безопасность RSA-OAEP?» (PDF) . Архив электронной печати криптологии IACR . Проверено 3 апреля 2019 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1ca85a86b5bd985c43c7dd4c5e32ce0b__1717252680
URL1:https://arc.ask3.ru/arc/aa/1c/0b/1ca85a86b5bd985c43c7dd4c5e32ce0b.html
Заголовок, (Title) документа по адресу, URL1:
Optimal asymmetric encryption padding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)