Криптосистема МакЭлиса
В криптографии криптосистема МакЭлиса представляет собой асимметричный алгоритм шифрования, разработанный в 1978 году Робертом МакЭлисом . [1] Это была первая такая схема, в которой использовалась рандомизация в процессе шифрования . Алгоритм никогда не получал большого признания в криптографическом сообществе, но является кандидатом на « постквантовую криптографию », поскольку он невосприимчив к атакам с использованием алгоритма Шора и, в более общем плане, к измерению состояний смежного класса с использованием выборки Фурье. [2]
Алгоритм основан на сложности декодирования общего линейного кода (который известен как NP-трудный код) . [3] ). Для описания закрытого ключа выбирается код, исправляющий ошибки , для которого известен эффективный алгоритм декодирования и который способен исправлять ошибки. ошибки. В исходном алгоритме используются двоичные коды Гоппы (коды подполей кодов алгебраической геометрии кривой рода 0 над конечными полями характеристики 2); эти коды можно эффективно декодировать благодаря алгоритму Паттерсона. [4] Открытый ключ получается из закрытого ключа путем маскировки выбранного кода под общий линейный код. кода Для этого матрица генератора возмущается двумя случайно выбранными обратимыми матрицами и (см. ниже).
Существуют варианты этой криптосистемы, использующие разные типы кодов. Большинство из них оказались менее безопасными; они были разбиты путем структурной декодировки .
МакЭлис с кодами Гоппы до сих пор сопротивлялся криптоанализу. Наиболее эффективные из известных атак используют алгоритмы декодирования набора информации . В документе 2008 года описаны как атака, так и ее исправление. [5] Другая статья показывает, что для квантовых вычислений размеры ключей необходимо увеличить в четыре раза из-за улучшений в декодировании набора информации. [6]
Криптосистема McEliece имеет некоторые преимущества перед, например, RSA . Шифрование и дешифрование выполняются быстрее. [7] Долгое время считалось, что McEliece нельзя использовать для создания подписей . Однако схема подписи может быть построена на основе схемы Нидеррайтера , двойственного варианта схемы МакЭлиса. Одним из основных недостатков McEliece является то, что закрытые и открытые ключи представляют собой большие матрицы. Для стандартного выбора параметров длина открытого ключа составляет 512 килобит.
Определение схемы [ править ]
МакЭлис состоит из трех алгоритмов: алгоритма вероятностной генерации ключей, который создает открытый и закрытый ключи, алгоритма вероятностного шифрования и алгоритма детерминированного дешифрования.
Все пользователи в развертывании 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, опубликованный как стабильный прототип во всем мире . Статья на портале ТК Инфо.