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

В криптографии , то Мак - Элиса криптосистемы является асимметричное шифрование алгоритм , разработанный в 1978 году Робертом МакЭлиса . [1] Это была первая такая схема, в которой использовалась рандомизация в процессе шифрования. Алгоритм никогда не пользовался большим признанием в криптографическом сообществе, но является кандидатом на роль « постквантовой криптографии », поскольку он невосприимчив к атакам с использованием алгоритма Шора и, в более общем плане, к измерению состояний смежности с использованием выборки Фурье. [2]

Алгоритм основан на сложности декодирования общего линейного кода (который известен как NP-сложный [3] ). Для описания секретного ключа выбирается код исправления ошибок, для которого известен эффективный алгоритм декодирования и который может исправлять ошибки. Исходный алгоритм использует двоичные коды Гоппа ( коды подполей геометрических кодов Гоппа кривой рода 0 над конечными полями характеристики 2); эти коды могут быть эффективно декодированы благодаря алгоритму Паттерсона. [4] Открытый ключ получается из закрытого ключа путем маскировки выбранного кода под общий линейный код. Для этого кодГенераторная матрица возмущается двумя случайно выбранными обратимыми матрицами и (см. ниже).

Существуют варианты этой криптосистемы, использующие разные типы кодов. Большинство из них оказались менее безопасными; они были разбиты структурной расшифровкой .

МакЭлис с кодами Гоппа пока сопротивляется криптоанализу. Наиболее эффективные известные атаки используют алгоритмы декодирования информационного набора . В документе 2008 года описывается как атака, так и исправление. [5] В другой статье показано, что для квантовых вычислений размеры ключей должны быть увеличены в четыре раза из-за улучшений в декодировании набора информации. [6]

Криптосистема Мак-Элиса имеет некоторые преимущества перед, например, RSA . Шифрование и дешифрование выполняются быстрее. [7] Долгое время считалось, что Мак-Элис нельзя использовать для создания подписей . Однако схема подписи может быть построена на основе схемы Нидеррейтера , двойного варианта схемы Мак-Элиса. Одним из основных недостатков Мак-Элиса является то, что закрытый и открытый ключи представляют собой большие матрицы. Для стандартного набора параметров длина открытого ключа составляет 512 килобит.

Определение схемы [ править ]

Мак-Элис состоит из трех алгоритмов: вероятностного алгоритма генерации ключей, который производит открытый и закрытый ключи, вероятностного алгоритма шифрования и детерминированного алгоритма дешифрования.

Все пользователи в установочном ресурсе МакЭлиса набор общих параметров безопасности: .

Генерация ключей [ править ]

Принцип состоит в том, что Алиса выбирает линейный код из некоторого семейства кодов, для которого она знает эффективный алгоритм декодирования, и делает это общедоступным, но сохраняет алгоритм декодирования в секрете. Такой алгоритм декодирования требует не просто знания в смысле знания произвольной матрицы генератора, но требует знания параметров, используемых при задании в выбранном семействе кодов. Например, для двоичных кодов Гоппы эта информация будет полиномом Гоппы и локаторами кода. Следовательно, Алиса может опубликовать надлежащим образом обфусцированную генераторную матрицу .

В частности, шаги следующие:

  1. Алиса выбирает двоично- линейный код, способный (эффективно) исправлять ошибки из некоторого большого семейства кодов, например двоичных кодов Гоппы. Этот выбор должен привести к эффективному алгоритму декодирования . Позвольте также быть любой образующей матрицы для . Любой линейный код имеет много образующих матриц, но часто есть естественный выбор для этого семейства кодов. Если это будет известно, то это должно быть сохранено в секрете.
  2. Алиса выбирает случайную двоичную невырожденную матрицу .
  3. Алиса выбирает матрицу случайных перестановок .
  4. Алиса вычисляет матрицу .
  5. Открытый ключ Алисы ; ее закрытый ключ . Обратите внимание, что можно закодировать и сохранить как параметры, используемые для выбора .

Шифрование сообщений [ править ]

Предположим, Боб хочет отправить сообщение m Алисе, чей открытый ключ :

  1. Боб кодирует сообщение как двоичную строку длины .
  2. Боб вычисляет вектор .
  3. Боб генерирует случайный -битовый вектор, содержащий ровно единицы (вектор длины и веса ) [1]
  4. Боб вычисляет зашифрованный текст как .

Расшифровка сообщения [ править ]

После получения Алиса выполняет следующие шаги для расшифровки сообщения:

  1. Алиса вычисляет обратное (т.е. ).
  2. Алиса вычисляет .
  3. Алиса использует алгоритм декодирования для декодирования .
  4. Алиса вычисляет .

Доказательство расшифровки сообщения [ править ]

Обратите внимание, что , и это матрица перестановок, поэтому имеет вес .

Код Goppa может исправлять с точностью до ошибок, а слово находится на расстоянии не более чем от . Таким образом получается правильное кодовое слово .

Умножение на обратное дает , то есть текстовое сообщение.

Размеры ключей [ править ]

МакЭлис первоначально предложил размеры параметров безопасности , [1], в результате чего размер открытого ключа составляет 524 * (1024-524) = 262000 бит [ требуется пояснение ] . Недавний анализ предлагает размеры параметров для 80 битов безопасности при использовании стандартного алгебраического декодирования или при использовании декодирования списка для кода Гоппа, что приводит к размерам открытого ключа 520 047 и 460 647 битов соответственно. [5] Для обеспечения устойчивости к квантовым компьютерам были предложены размеры с кодом Goppa, что дает размер открытого ключа 8 373 911 бит. [8]В своей 3 -м раунда подачи в NIST после квантовой стандартизации самого высокого уровня безопасности, уровень 5 даются для наборов параметров 6688128, 6960119 и 8192128. Этих параметров , , соответственно.

Атаки [ править ]

Атака состоит в том, что злоумышленник, который знает открытый ключ, но не знает закрытый ключ, извлекает открытый текст из некоторого перехваченного зашифрованного текста . Такие попытки должны быть невозможны.

У МакЭлиса есть два основных направления атак:

Грубая сила / неструктурированные атаки [ править ]

Злоумышленник знает, что является образующей матрицей кода, который комбинаторно способен исправлять ошибки. Злоумышленник может игнорировать тот факт, что на самом деле представляет собой обфускацию структурированного кода, выбранного из определенного семейства, и вместо этого просто использовать алгоритм для декодирования с любым линейным кодом. Существует несколько таких алгоритмов, таких как просмотр каждого кодового слова кода, синдромное декодирование или декодирование набора информации .

Декодирование общего линейного кода, однако, как известно, является NP-трудным , [3] , однако, и все из указанных выше способов имеют экспоненциальное время работы.

В 2008 году Бернштейн, Ланге и Петерс [5] описали практическую атаку на оригинальную криптосистему Мак-Элиса с использованием метода декодирования информационного набора Стерна. [9] Используя параметры, первоначально предложенные Мак-Элисом , атака могла быть проведена за 2 60,55- битных операций. Поскольку атака до неприличия параллельна (связь между узлами не требуется), она может быть проведена за несколько дней на скромных компьютерных кластерах.

Структурные атаки [ править ]

Вместо этого злоумышленник может попытаться восстановить «структуру» , тем самым восстанавливая эффективный алгоритм декодирования или другой достаточно сильный и эффективный алгоритм декодирования.

Семейство кодов, из которых выбирается, полностью определяет, возможно ли это для злоумышленника. Для Мак-Элиса было предложено множество семейств кодов, и большинство из них были полностью «сломаны» в том смысле, что были обнаружены атаки, восстанавливающие эффективный алгоритм декодирования, такие как коды Рида-Соломона .

Первоначально предложенные двоичные коды Гоппы остаются одним из немногих предложенных семейств кодов, которые в значительной степени сопротивлялись попыткам разработки структурных атак.

Кандидат на постквантовое шифрование [ править ]

Вариант этого алгоритма в сочетании с NTS-KEM [10] был включен и выбран во втором раунде конкурса постквантового шифрования NIST [11]

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

  1. ^ a b c МакЭлис, Роберт Дж. (1978). «Криптосистема с открытым ключом, основанная на алгебраической теории кодирования» (PDF) . Отчет о проделанной работе DSN . 44 : 114–116. Bibcode : 1978DSNPR..44..114M .
  2. ^ Динь, Ханг; Мур, Кристофер; Рассел, Александр (2011). Rogaway, Филип (ред.). Криптосистемы Мак-Элиса и Нидеррайтера, которые противостоят атакам квантовой выборки Фурье . Достижения в криптологии - CRYPTO 2011. Конспект лекций по информатике. 6841 . Гейдельберг: Springer. С. 761–779. DOI : 10.1007 / 978-3-642-22792-9_43 . ISBN 978-3-642-22791-2. Руководство по ремонту  2874885 .
  3. ^ a b Berlekamp, ​​Elwyn R .; МакЭлис, Роберт Дж .; Ван Тилборг, Хенк, Калифорния (1978). «О неотъемлемой неразрешимости некоторых проблем программирования». IEEE Transactions по теории информации . ИТ-24 (3): 384–386. DOI : 10.1109 / TIT.1978.1055873 . Руководство по ремонту 0495180 . 
  4. ^ NJ Patterson (1975). «Алгебраическое декодирование кодов Гоппы». IEEE Transactions по теории информации . ИТ-21 (2): 203–207. DOI : 10.1109 / TIT.1975.1055350 .
  5. ^ a b c Бернштейн, Дэниел Дж .; Ланге, Таня ; Питерс, Кристиана (8 августа 2008 г.). Атака и защита криптосистемы Мак-Элиса . Proc. 2-й Международный семинар по постквантовой криптографии . Конспект лекций по информатике. 5299 . С. 31–46. CiteSeerX 10.1.1.139.3548 . DOI : 10.1007 / 978-3-540-88403-3_3 . ISBN  978-3-540-88402-6.
  6. ^ Бернштейн, Дэниел Дж. (2010). Сендриер, Николас (ред.). Гровер против МакЭлиса (PDF) . Постквантовая криптография 2010. Конспект лекций по информатике. 6061 . Берлин: Springer. С. 73–80. DOI : 10.1007 / 978-3-642-12929-2_6 . ISBN  978-3-642-12928-5. Руководство по ремонту  2776312 .
  7. ^ «eBATS: ECRYPT эталонный анализ асимметричных систем» . bench.cr.yp.to . 25 августа 2018 . Дата обращения 1 мая 2020 .
  8. ^ Даниэль Аугот; и другие. (7 сентября 2015 г.). «Первоначальные рекомендации долгосрочных безопасных постквантовых систем» (PDF) . PQCRYPTO: Постквантовая криптография для долгосрочной безопасности .
  9. ^ Жак Стерн (1989). Метод поиска кодовых слов небольшого веса . Теория кодирования и приложения . Конспект лекций по информатике. 388 . Springer Verlag. С. 106–113. DOI : 10.1007 / BFb0019850 . ISBN 978-3-540-51643-9.
  10. ^ "НТС-КЭМ" . 29 декабря 2017. Архивировано из оригинала 29 декабря 2017 года . Проверено 9 декабря 2020 .
  11. ^ «Отчет о состоянии второго раунда процесса стандартизации постквантовой криптографии NIST» (PDF) . НИСТИР : 9.

Внешние ссылки [ править ]

  • Альфред Дж. Менезес; Скотт А. Ванстон; AJ Menezes; Пол К. ван Оршот (1996). «Глава 8: Шифрование с открытым ключом» . Справочник по прикладной криптографии . CRC Press. ISBN 978-0-8493-8523-0.
  • "Квантовые компьютеры? Код безопасности Интернета будущего взломан" . Science Daily . Эйндховенский технологический университет . 1 ноября 2008 г.
  • «Классический МакЭлис» .(Представлено в Проект стандартизации постквантовой криптографии NIST )