Криптосистема МакЭлиса
В криптографии криптосистема МакЭлиса представляет собой асимметричный алгоритм шифрования, разработанный в 1978 году Робертом МакЭлисом . [ 1 ] Это была первая такая схема, в которой использовалась рандомизация в процессе шифрования . Алгоритм никогда не получал большого признания в криптографическом сообществе, но является кандидатом на « постквантовую криптографию », поскольку он невосприимчив к атакам с использованием алгоритма Шора и, в более общем плане, к измерению состояний смежного класса с использованием выборки Фурье. [ 2 ]
Алгоритм основан на сложности декодирования общего линейного кода (который известен как NP-трудный код) . [ 3 ] ). Для описания закрытого ключа выбирается код, исправляющий ошибки , для которого известен эффективный алгоритм декодирования, способный исправить ошибки. ошибки. В исходном алгоритме используются двоичные коды Гоппы (коды подполей кодов алгебраической геометрии кривой рода 0 над конечными полями характеристики 2); эти коды можно эффективно декодировать благодаря алгоритму Паттерсона. [ 4 ] Открытый ключ получается из закрытого ключа путем маскировки выбранного кода под общий линейный код. кода Для этого матрица-генератор возмущается двумя случайно выбранными обратимыми матрицами и (см. ниже).
Существуют варианты этой криптосистемы, использующие разные типы кодов. Большинство из них оказались менее безопасными; они были разбиты путем структурной декодировки .
МакЭлис с кодами Гоппы до сих пор сопротивлялся криптоанализу. Наиболее эффективные из известных атак используют алгоритмы декодирования набора информации . В документе 2008 года описаны как атака, так и ее исправление. [ 5 ] Другая статья показывает, что для квантовых вычислений размеры ключей необходимо увеличить в четыре раза из-за улучшений в декодировании набора информации. [ 6 ]
Криптосистема McEliece имеет некоторые преимущества перед, например, RSA . Шифрование и дешифрование выполняются быстрее. [ 7 ] Долгое время считалось, что McEliece нельзя использовать для создания подписей . Однако схема подписи может быть построена на основе схемы Нидеррайтера , двойственного варианта схемы МакЭлиса. Одним из основных недостатков McEliece является то, что закрытые и открытые ключи представляют собой большие матрицы. Для стандартного выбора параметров длина открытого ключа составляет 512 килобит.
Определение схемы
[ редактировать ]McEliece состоит из трех алгоритмов: вероятностного алгоритма генерации ключей, который создает открытый и закрытый ключи, вероятностного алгоритма шифрования и детерминированного алгоритма дешифрования.
Все пользователи в развертывании McEliece имеют общий набор общих параметров безопасности: .
Генерация ключей
[ редактировать ]Принцип заключается в том, что Алиса выбирает линейный код. из некоторого семейства кодов, для которых она знает эффективный алгоритм декодирования, и сделать общеизвестно, но держите алгоритм декодирования в секрете. Такой алгоритм декодирования требует не просто знания , в смысле знания произвольной порождающей матрицы, но требует знания параметров, используемых при указании в выбранном семействе кодов. Например, для двоичных кодов Гоппы этой информацией будут полином Гоппы и локаторы кода. Следовательно, Алиса может опубликовать соответствующим образом запутанную порождающую матрицу .
Более конкретно, шаги заключаются в следующем:
- Алиса выбирает двоичный файл -линейный код способный (эффективно) исправлять ошибки какого-либо большого семейства кодов, например двоичных кодов Гоппы. Этот выбор должен привести к созданию эффективного алгоритма декодирования. . Пусть также быть любой порождающей матрицей для . Любой линейный код имеет множество порождающих матриц, но часто существует естественный выбор именно этого семейства кодов. Знание этого раскроет поэтому это следует держать в секрете.
- Алиса выбирает случайный двоичная несингулярная матрица .
- Алиса выбирает случайный матрица перестановок .
- Алиса вычисляет матрица .
- Открытый ключ Алисы ; ее личный ключ . Обратите внимание, что могут быть закодированы и сохранены как параметры, используемые для выбора .
Шифрование сообщений
[ редактировать ]Предположим, Боб желает послать сообщение m Алисе, открытый ключ которой :
- Боб кодирует сообщение как двоичную строку длины .
- Боб вычисляет вектор .
- Боб генерирует случайный -битовый вектор содержащий ровно единицы (вектор длины и вес ) [ 1 ]
- Боб вычисляет зашифрованный текст как .
Расшифровка сообщения
[ редактировать ]При получении , Алиса выполняет следующие шаги для расшифровки сообщения:
- Алиса вычисляет обратную величину (т.е. ).
- Алиса вычисляет .
- Алиса использует алгоритм декодирования декодировать к .
- Алиса вычисляет .
Доказательство расшифровки сообщения
[ редактировать ]Обратите внимание, что , и это является матрицей перестановок, поэтому имеет вес .
Код Гоппы могу исправить до ошибки и слово находится на расстоянии максимум от . Следовательно, правильное кодовое слово получается.
Умножение на обратное дает , которое представляет собой обычное текстовое сообщение.
Размеры ключей
[ редактировать ]Потому что в матрице есть свободный выбор , принято выражать в «систематической форме», так что последнее столбцы соответствуют единичной матрице . Это уменьшает размер ключа до . [ 8 ] [ 9 ] МакЭлис первоначально предложил размеры параметров безопасности , [ 1 ] в результате размер открытого ключа составит 524 × (1024–524) = 262 000 бит . Недавний анализ предполагает размеры параметров для 80- битной безопасности при использовании стандартного алгебраического декодирования или при использовании спискового декодирования для кода Гоппы размеры открытого ключа составляют 520 047 и 460 647 бит соответственно. [ 5 ] Для устойчивости к квантовым компьютерам размеры с кодом Гоппы, дающим размер открытого ключа 8 373 911 бит . [ 10 ] В третьем раунде подачи заявки на пост-квантовую стандартизацию NIST самый высокий уровень безопасности, уровень 5, дается для наборов параметров 6688128, 6960119 и 8192128. Параметры: , , соответственно.
Атаки
[ редактировать ]Атака состоит из злоумышленника, который знает открытый ключ но не закрытый ключ, выводящий открытый текст из некоторого перехваченного зашифрованного текста . Такие попытки должны быть неосуществимыми.
Есть два основных направления атак МакЭлиса:
Грубая сила/неструктурированные атаки
[ редактировать ]Злоумышленник знает , порождающая матрица код который комбинаторно способен исправить ошибки. Злоумышленник может игнорировать тот факт, что на самом деле это запутывание структурированного кода, выбранного из определенного семейства, и вместо этого просто использование алгоритма декодирования с помощью любого линейного кода. Существует несколько таких алгоритмов, например, прохождение каждого кодового слова кода, синдромное декодирование или декодирование набора информации .
Однако декодирование общего линейного кода, как известно, является NP-трудным . [ 3 ] однако все вышеупомянутые методы имеют экспоненциальное время работы.
В 2008 году Бернштейн, Ланге и Петерс [ 5 ] описал практическую атаку на оригинальную криптосистему МакЭлиса с использованием метода декодирования набора информации Стерна. [ 11 ] Используя параметры, первоначально предложенные МакЭлисом, атаку можно было осуществить за 2 60.55 битовые операции. Поскольку атака является до неприличия параллельной (никакая связь между узлами не требуется), ее можно выполнить за несколько дней на скромных компьютерных кластерах.
Структурные атаки
[ редактировать ]Вместо этого злоумышленник может попытаться восстановить «структуру» , тем самым восстанавливая эффективный алгоритм декодирования или другой достаточно сильный и эффективный алгоритм декодирования.
Семейство кодов, из которых Выбор полностью определяет, возможно ли это для злоумышленника. Для МакЭлиса было предложено множество семейств кодов, и большинство из них оказались полностью «сломанными» в том смысле, что были обнаружены атаки, восстанавливающие эффективный алгоритм декодирования, например коды Рида-Соломона .
Первоначально предложенные двоичные коды Гоппы остаются одним из немногих предложенных семейств кодов, которые в значительной степени сопротивляются попыткам разработки структурных атак.
Кандидат на постквантовое шифрование
[ редактировать ]Вариант этого алгоритма в сочетании с НТС-КЭМ. [ 12 ] был заявлен и выбран в третьем туре NIST конкурса постквантового шифрования . [ 13 ]
Ссылки
[ редактировать ]- ^ Jump up to: а б с МакЭлис, Роберт Дж. (1978). «Криптосистема с открытым ключом, основанная на алгебраической теории кодирования» (PDF) . Отчет о ходе работы DSN . 44 : 114–116. Бибкод : 1978ДСНПР..44..114М .
- ^ Динь, Ханг; Мур, Кристофер; Рассел, Александр (2011). Рогауэй, Филип (ред.). Криптосистемы МакЭлиса и Нидеррайтера, устойчивые к атакам квантовой выборки Фурье . Достижения в криптологии — CRYPTO 2011. Конспекты лекций по информатике. Том. 6841. Гейдельберг: Шпрингер. стр. 761–779. дои : 10.1007/978-3-642-22792-9_43 . ISBN 978-3-642-22791-2 . МР 2874885 .
- ^ Jump up to: а б Берлекамп, Элвин Р.; МакЭлис, Роберт Дж.; Ван Тилборг, Хенк, Калифорния (1978). «О присущей неразрешимости некоторых проблем кодирования» . Транзакции IEEE по теории информации . ИТ-24 (3): 384–386. дои : 10.1109/TIT.1978.1055873 . МР 0495180 .
- ^ Нью-Джерси Паттерсон (1975). «Алгебраическое декодирование кодов Гоппы». Транзакции IEEE по теории информации . ИТ-21 (2): 203–207. дои : 10.1109/TIT.1975.1055350 .
- ^ Jump up to: а б с Бернштейн, Дэниел Дж.; Ланге, Таня ; Петерс, Кристиана (8 августа 2008 г.). «Атака и защита криптосистемы МакЭлиса». Постквантовая криптография . Конспекты лекций по информатике. Том. 5299. стр. 31–46. CiteSeerX 10.1.1.139.3548 . дои : 10.1007/978-3-540-88403-3_3 . ISBN 978-3-540-88402-6 .
- ^ Бернштейн, Дэниел Дж. (2010). Сендрие, Николя (ред.). Гровер против МакЭлиса (PDF) . Постквантовая криптография 2010. Конспект лекций по информатике. Том. 6061. Берлин: Шпрингер. стр. 73–80. дои : 10.1007/978-3-642-12929-2_6 . ISBN 978-3-642-12928-5 . МР 2776312 .
- ^ «eBATS: Бенчмаркинг асимметричных систем ECRYPT» . скамейка.cr.yp.to . 25 августа 2018 года . Проверено 1 мая 2020 г.
- ^ Классическая команда МакЭлиса (23 октября 2022 г.). «Классический МакЭлис: консервативная криптография на основе кода: спецификация криптосистемы» (PDF) . Обзор заявок на участие в 4-м раунде NIST .
- ^ Таня Ланге (23 февраля 2021 г.). «Кодовая криптография III — Коды Гоппы: определение и использование» . Ютуб .
- ^ Даниэль Ого; и др. (7 сентября 2015 г.). «Первоначальные рекомендации по созданию долгосрочных безопасных постквантовых систем» (PDF) . PQCRYPTO: постквантовая криптография для долгосрочной безопасности .
- ^ Жак Стерн (1989). «Метод поиска кодовых слов малого веса». Теория кодирования и ее приложения . Конспекты лекций по информатике. Том. 388. Спрингер Верлаг. стр. 106–113. дои : 10.1007/BFb0019850 . ISBN 978-3-540-51643-9 .
- ^ «НТС-КЭМ» . 29 декабря 2017 года. Архивировано из оригинала 29 декабря 2017 года . Проверено 9 декабря 2020 г.
- ^ «Отчет о состоянии третьего раунда процесса стандартизации постквантовой криптографии NIST» (PDF) . НИСТИР : 31.
Внешние ссылки
[ редактировать ]- Альфред Дж. Менезес; Скотт А. Ванстон; Эй Джей Менезес; Пол К. ван Оршот (1996). «Глава 8: Шифрование с открытым ключом» . Справочник по прикладной криптографии . ЦРК Пресс. ISBN 978-0-8493-8523-0 .
- Рамшмид, Клаудия; Адамс, Дэвид (2023). McEliece Messaging: Smoke Crypto Chat — первый мобильный McEliece-Messenger, опубликованный как стабильный прототип во всем мире . Статья на портале ТК Инфо.
- «Квантовые компьютеры? Код интернет-безопасности будущего взломан» . Наука Дейли . Эйндховенский технологический университет . 1 ноября 2008 г.
- «Классический МакЭлис» . NIST (Представлено в проект стандартизации пост-квантовой криптографии )