Ключевой механизм инкапсуляции
В криптографии механизм инкапсуляции ключей , или KEM , представляет собой криптосистему с открытым ключом , которая позволяет отправителю генерировать короткий секретный ключ и безопасно передавать его получателю, несмотря на подслушивание и перехват злоумышленниками. [1] [2] [3] [4]
KEM позволяет отправителю, знающему открытый ключ, одновременно генерировать короткий случайный секретный ключ и инкапсуляцию или зашифрованный текст секретного ключа с помощью алгоритма инкапсуляции KEM . KEM Получатель, которому известен закрытый ключ, соответствующий открытому ключу, может восстановить тот же случайный секретный ключ из инкапсуляции с помощью алгоритма декапсуляции . [1] [2] [3]
Целью безопасности KEM является предотвращение восстановления любой информации об инкапсулированных секретных ключах кем-либо, кто не знает закрытого ключа, даже после подслушивания или отправки получателю других инкапсуляций для изучения реакции получателя. [1] [2] [3]
Отличие от шифрования с открытым ключом
[ редактировать ]Разница между схемой шифрования с открытым ключом и KEM заключается в том, что схема шифрования с открытым ключом позволяет отправителю выбирать произвольное сообщение из некоторого пространства возможных сообщений, тогда как KEM выбирает для отправителя короткий секретный ключ случайным образом. [1] [2] [3]
Отправитель может взять случайный секретный ключ, созданный KEM, и использовать его в качестве симметричного ключа для аутентифицированного шифра , зашифрованный текст которого отправляется получателю вместе с инкапсуляцией. Это служит для составления схемы шифрования с открытым ключом из KEM и шифра с аутентификацией симметричным ключом в гибридной криптосистеме . [1] [2] [3] [5]
Большинство схем шифрования с открытым ключом, таких как RSAES-PKCS1-v1_5 , RSAES-OAEP и шифрование Эльгамала , ограничены небольшими сообщениями. [6] [7] и в любом случае почти всегда используются для шифрования короткого случайного секретного ключа в гибридной криптосистеме. [8] [9] [5] И хотя схему шифрования с открытым ключом, наоборот, можно преобразовать в KEM, выбрав случайный секретный ключ и зашифровав его как сообщение, легче спроектировать и проанализировать безопасный KEM, чем разработать безопасную схему шифрования с открытым ключом как основе. Таким образом, большинство современных схем шифрования с открытым ключом основаны на KEM, а не наоборот. [10] [5]
Определение
[ редактировать ]Синтаксис
[ редактировать ]КЕМ состоит из трех алгоритмов: [1] [2] [3] [11] [12]
- Генерация ключей , , не принимает никаких входных данных и возвращает пару открытых ключей и закрытый ключ .
- Инкапсуляция , , принимает открытый ключ , случайным образом выбирает секретный ключ и возвращает вместе с его инкапсуляцией .
- Декапсуляция , , принимает закрытый ключ и инкапсуляция и любой из них возвращает инкапсулированный секретный ключ или терпит неудачу, что иногда обозначается возвратом (так называемое « дно »).
Корректность
[ редактировать ]KEM является правильным , если для любой пары ключей созданный , декапсуляция инкапсуляции возвращенный с высокой вероятностью дает тот же ключ , то есть, . [2] [3] [11] [12]
Безопасность: IND-CCA
[ редактировать ]Безопасность KEM количественно определяется его неотличимостью от атаки с выбранным зашифрованным текстом , IND-CCA, которая примерно определяет, насколько лучше злоумышленник может сделать, чем подбрасывание монеты, чтобы определить, инкапсулирован ли ключ, учитывая случайный ключ и инкапсуляцию, эта инкапсуляция или является независимым случайным ключом. [2] [3] [11] [12]
В частности, в игре IND-CCA:
- Алгоритм генерации ключей запускается для генерации .
- раскрывается противнику.
- Противник может запросить для произвольных инкапсуляций по выбору противника.
- Алгоритм инкапсуляции запускается для случайной генерации секретного ключа и инкапсуляции. и еще один секретный ключ генерируется независимо случайным образом.
- Подбрасывается честная монета, дающая результат .
- Пара раскрывается противнику.
- Противник может снова запросить для произвольных инкапсуляций по выбору противника, исключением за .
- Противник возвращает предположение , и выигрывает игру, если .
Преимущество IND-CCA противника по , то есть вероятность правильного различения инкапсулированного ключа от независимо случайно выбранного ключа, выходящая за рамки честного подбрасывания монеты.
Примеры и мотивация
[ редактировать ]ЮАР
[ редактировать ]Традиционное шифрование RSA с -битовые модули и экспонента , определяется следующим образом: [13] [14] [15]
- Генерация ключей , :
- Создать -полупервичный бит с случайное удовлетворение , где – функция Кармайкла .
- Вычислить .
- Возвращаться как открытый ключ и в качестве закрытого ключа. (Доступно множество вариаций алгоритмов генерации ключей и форматов закрытых ключей. [16] )
- Шифрование -битное сообщение к открытому ключу , давая :
- Закодировать битовую строку как целое число с .
- Возвращаться .
- Расшифровка зашифрованного текста с секретным ключом , давая :
- Вычислить .
- Расшифровать целое число как битовая строка .
Этот наивный подход совершенно небезопасен.
Например, поскольку оно нерандомизировано, оно не может быть защищено даже от атак с использованием известного открытого текста — злоумышленник может определить, отправляет ли отправитель сообщение. ATTACK AT DAWN
против сообщения ATTACK AT DUSK
просто зашифровав эти сообщения и сравнив зашифрованный текст.
Даже если всегда является случайным секретным ключом, например 256-битным ключом AES , когда выбран для оптимизации эффективности, поскольку , сообщение можно вычислить по зашифрованному тексту просто извлекая кубические корни действительных чисел, и существует множество других атак на простой RSA . [13] [14] различные схемы рандомизированного заполнения В ходе попыток были разработаны , иногда неудачные, например RSAES-PKCS1-v1_5. [13] [17] [18] — чтобы сделать его безопасным для произвольных коротких сообщений . [13] [14]
Поскольку сообщение почти всегда является коротким секретным ключом для с симметричным ключом, аутентифицированного шифра используемого для шифрования сообщения произвольной битовой строки, более простой подход, называемый RSA-KEM, заключается в выборе элемента случайным образом и использовать это для получения секретного ключа с помощью функции получения ключа. , примерно так: [19] [8]
- Генерация ключей : Как указано выше.
- Инкапсуляция открытого ключа , давая :
- Выберите целое число с равномерно случайным образом.
- Возвращаться и как его инкапсуляция.
- Декапсуляция с секретным ключом , давая :
- Вычислить .
- Возвращаться .
Этот подход проще реализовать и обеспечивает более четкое решение проблемы RSA , чем схемы заполнения, такие как RSAES-OAEP . [19]
Эльгамаль
[ редактировать ]Традиционное шифрование Эльгамаля определяется в мультипликативной подгруппе конечного поля. с генератором порядка следующее: [20] [21]
- Генерация ключей , :
- Выбирать равномерно случайным образом.
- Вычислить .
- Возвращаться в качестве закрытого ключа и в качестве открытого ключа.
- Шифрование сообщения к открытому ключу , давая :
- Выбирать равномерно случайным образом.
- Вычислить:
- Вернуть зашифрованный текст .
- Расшифровка зашифрованного текста для секретного ключа , давая :
- Проиграть и вернуться если или если , то есть, если или не входит в подгруппу, созданную .
- Вычислить .
- Возвращаться .
Это соответствует синтаксису схемы шифрования с открытым ключом, ограниченной сообщениями в пространстве. (что ограничивает его сообщением размером в несколько сотен байт для типичных значений ). Проверяя зашифрованные тексты при расшифровке, он позволяет избежать утечки битов закрытого ключа. через злонамеренно выбранные зашифрованные тексты вне группы, созданные .
Однако это не позволяет добиться неотличимости от атаки с выбранным зашифрованным текстом . Например, противник, имеющий зашифрованный текст за неизвестное сообщение может тривиально расшифровать его, запросив у оракула дешифрования отдельный зашифрованный текст , давая связанный открытый текст , из которого может быть восстановлен с помощью . [20]
Традиционное шифрование Эльгамаля можно адаптировать к настройке эллиптической кривой, но для этого требуется какой-то способ обратимого кодирования сообщений в виде точек на кривой, что менее тривиально, чем кодирование сообщений в виде целых чисел mod. . [22]
Поскольку сообщение почти всегда является коротким секретным ключом для с симметричным ключом, аутентифицированного шифра используемого для шифрования сообщения произвольной битовой строки, более простой подход состоит в том, чтобы получить секретный ключ из и обойтись без и вообще, как КЕМ, используя функцию деривации ключей : [1]
- Генерация ключей : Как указано выше.
- Инкапсуляция открытого ключа , давая :
- Выбирать равномерно случайным образом.
- Вычислить .
- Возвращаться и как его инкапсуляция.
- Декапсуляция с секретным ключом , давая :
- Проиграть и вернуться если , то есть, если не входит в подгруппу, созданную .
- Вычислить .
- Возвращаться .
В сочетании с аутентифицированным шифром для шифрования сообщений произвольной битовой строки такая комбинация по сути представляет собой интегрированную схему шифрования . Поскольку для этого KEM требуется только односторонняя функция получения ключа для хеширования случайных элементов группы, для которой он определен, в этом случае, а не обратимое кодирование сообщений, его легко расширить до более компактных и эффективных групп эллиптических кривых для той же безопасности, что и в ECIES, Elliptic Curve Integrated Encryption Scheme .
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г Гэлбрейт, Стивен (2012). «§23.1.1: Парадигма KEM/DEM». Математика криптографии с открытым ключом . Издательство Кембриджского университета. стр. 471–478. ISBN 978-1-107-01392-6 .
- ^ Jump up to: а б с д и ж г час Шуп, Виктор (май 2000 г.). Пренил, Барт (ред.). Использование хэш-функций в качестве защиты от атаки с использованием выбранного зашифрованного текста . Достижения в криптологии – EUROCRYPT 2000 . Конспекты лекций по информатике. Том. 1807. Брюгге, Бельгия: Спрингер. стр. 275–288. дои : 10.1007/3-540-45539-6_19 . ISBN 978-3-540-67517-4 .
- ^ Jump up to: а б с д и ж г час Крамер, Рональд ; Шуп, Виктор (2003). «Разработка и анализ практических схем шифрования с открытым ключом, обеспечивающих защиту от атак с использованием адаптивно выбранного зашифрованного текста» . SIAM Journal по вычислительной технике . 33 (1). Общество промышленной и прикладной математики : 167–226. дои : 10.1137/S0097539702403773 .
- ^ FIPS 203 (проект): Стандарт механизма инкапсуляции ключей на основе модульной решетки (PDF) , Национальный институт стандартов и технологий , 24 августа 2023 г., номер документа : 10.6028/NIST.FIPS.203.ipd
- ^ Jump up to: а б с Барнс, Р.; Бхаргаван, К.; Липп, Б.; Вуд, К. (февраль 2022 г.). Гибридное шифрование с открытым ключом . Рабочая группа по интернет-инжинирингу . дои : 10.17487/RFC9180 . РФК 9180 .
- ^ Калиски, Б. ; Йонссон, Дж.; Раш, А. (ноябрь 2016 г.). Мориарити, К. (ред.). PKCS #1: Спецификации криптографии RSA, версия 2.2 . Рабочая группа по интернет-инжинирингу . дои : 10.17487/RFC8017 . РФК 8017 .
- ^ Менезес, Альфред Дж .; ван Оршот, Пол С .; Ванстон, Скотт А. (октябрь 1996 г.). «8. Шифрование с открытым ключом». Справочник по прикладной криптографии (PDF) . ЦРК Пресс. стр. 283–319. ISBN 0-8493-8523-7 .
- ^ Jump up to: а б Фергюсон, Нильс ; Коно, Тадаёси ; Шнайер, Брюс (2010). «12. РСА». Криптографическая инженерия . Уайли. стр. 195–211. ISBN 978-0-470-47424-2 .
- ^ Каллас, Дж . ; Доннерхаке, Л.; Финни, Х .; Шоу, Д.; Тайер, Р. (ноябрь 2007 г.). Формат сообщения OpenPGP . Рабочая группа по интернет-инжинирингу . дои : 10.17487/RFC4880 . РФК 4880 .
- ^ «Постквантовая криптография: часто задаваемые вопросы» . Национальный институт стандартов и технологий . 2024-07-19. Архивировано из оригинала 26 июня 2024 г. Проверено 20 июля 2024 г.
- ^ Jump up to: а б с Дент, Александр В. (2002), Руководство дизайнера по KEM , Архив электронной печати криптологии, Международная ассоциация криптологических исследований
- ^ Jump up to: а б с Хофхайнц, Деннис; Хевельманс, Катрин; Кильц, Эйке (ноябрь 2017 г.). Калай, Яэль; Рейзин, Леонид (ред.). Модульный анализ преобразования Фудзисаки-Окамото . Теория криптографии – TCC 2017 . Конспекты лекций по информатике. Том. 10677. Балтимор, Мэриленд, США: Спрингер. стр. 341–371. дои : 10.1007/978-3-319-70500-2_12 . ISBN 978-3-319-70499-9 .
- ^ Jump up to: а б с д Омассон, Жан-Филипп (2018). «10. РСА». Серьезная криптография: практическое введение в современное шифрование . Нет крахмального пресса. стр. 181–199. ISBN 978-1-59327-826-7 .
- ^ Jump up to: а б с Стинсон, Дуглас Р. (2006). «5. Криптосистема RSA и факторизация целых чисел». Теория и практика криптографии (3-е изд.). Чепмен и Холл/CRC. стр. 161–232. ISBN 978-1-58488-508-5 .
- ^ Ривест, РЛ ; Шамир, А. ; Адлеман, Л. (1 февраля 1978 г.). «Метод получения цифровых подписей и криптосистем с открытым ключом» (PDF) . Коммуникации АКМ . 21 (2). Ассоциация компьютерной техники: 120–126. дои : 10.1145/359340.359342 .
- ^ Швенда, Питер; Герман, Матуш; Секан, Питер; Квасьневский, Рудольф; Форманек, Давид; Комарек, Дэвид; Матяш, Вашек (август 2016 г.). Вопрос на миллион ключей: исследование происхождения открытых ключей RSA . 25-й симпозиум USENIX по безопасности. Остин, Техас, США: Ассоциация USENIX. стр. 893–910. ISBN 978-1-931971-32-4 .
- ^ Бляйхенбахер, Дэниел (август 1998 г.). Кравчик, Хьюго (ред.). Атаки с использованием выбранного зашифрованного текста против протоколов, основанных на стандарте шифрования RSA PKCS #1 . Достижения в криптологии – КРИПТО '98 . Конспекты лекций по информатике. Том. 1462. Санта-Барбара, Калифорния, США: Спрингер. стр. 1–12. дои : 10.1007/BFb0055716 . ISBN 978-3-540-64892-5 .
- ^ Корон, Жан-Себастьян; Джой, Марк; Наккеш, Дэвид ; Пайе, Паскаль (май 2000 г.). Пренил, Барт (ред.). Новые атаки на шифрование PKCS#1 v1.5 . Достижения в криптологии – EUROCRYPT 2000 . Конспекты лекций по информатике. Полный. 1807. Брюгге, Бельгия: Спрингер. стр. 369–381. дои : 10.1007/3-540-45539-6_25 . ISBN 978-3-540-67517-4 .
- ^ Jump up to: а б Шуп, Виктор (2001), Предложение по стандарту ISO для шифрования с открытым ключом (версия 2.1) , Архив электронной печати криптологии, Международная ассоциация криптологических исследований
- ^ Jump up to: а б Гэлбрейт, Стивен (2012). «§20.3: Учебник по шифрованию Эльгамаля». Математика криптографии с открытым ключом . Издательство Кембриджского университета. стр. 471–478. ISBN 978-1-107-01392-6 .
- ^ Эльгамал, Тахер (август 1984 г.). Блейкли, Джордж Роберт ; Чаум, Дэвид (ред.). Криптосистема с открытым ключом и схема подписи на основе дискретных логарифмов . Достижения в криптологии – КРИПТО 1984 . Конспекты лекций по информатике. Том. 196. Санта-Барбара, Калифорния, США: Спрингер. стр. 10–18. дои : 10.1007/3-540-39568-7_2 . ISBN 978-3-540-15658-1 .
- ^ Коблиц, Нил (январь 1987 г.). «Криптосистемы с эллиптической кривой» (PDF) . Математика вычислений . 48 (177). Американское математическое общество : 203–209. дои : 10.1090/S0025-5718-1987-0866109-5 .