Открытым ключом Алисы является пара . Закрытым ключом является набор .
Шифрование сообщения
В данном случае сообщения — это все векторы с координатами из поля с весом, не превосходящим . Таким образом, сообщениями являются все возможные ошибки, которые выбранный код в состоянии исправить[2].
Предположим, что Боб хочет отправить сообщение Алисе, чей открытый ключ .
Боб представляет своё сообщение в виде двоичной последовательности длины , имеющей вес .
Боб вычисляет шифротекст по формуле: . Таким образом, шифротекстом в криптосистеме Нидеррайтера является зашумленный синдром шифруемого вектора ошибки[2].
Расшифровывание сообщения
После получения сообщения , Алиса выполняет следующие действия:
Алиса вычисляет . Заметим, что, так как — матрица перестановки, вес совпадает с весом и не превосходит , и потому алгоритм декодирования для может найти вектор ошибки, соответствующий синдрому [3].
Алиса использует алгоритм быстрого декодирования для кода , чтобы найти [3].
Алиса вычисляет сообщение .
Оригинальная криптосистема и её модификации
В оригинальной криптосистеме Нидеррайтер предлагал использовать коды Рида-Соломона и не использовал матрицу перестановки . Однако такая система она оказалась нестойкой и была взломана Сидельниковым и Шестаковым в 1992 году[4]. Авторы показали, что возможно угадать структуру закрытого ключа по открытому и подобрать такие матрицы и , что .
После этого для повышения криптостойкости системы было предложено использовать матрицу перестановки . Кроме того, появились различные модификации системы, например:
использующие различные метрики, отличные от классической хэмминговой, например, ранговую[5]: примером этого является модифицированная система GPT[3]
использующие коды со специфическими свойствами. Так, модификации, основанные на кодах Гоппы, все ещё остаются криптостойкими[2].
Преимущества и недостатки системы
Преимущества
В отличие от McEliece, в криптосистеме Нидеррайтера не используются случайные параметры. Таким образом, результат шифрования одного и того же текста будет одинаковым. Этот факт позволяет использовать именно систему Нидеррайтера, а не McEliece, для создания электронно-цифровой подписи.
Размер открытого ключа в криптосистеме Нидеррайтера в раз меньше, чем в McEliece[6].
По сравнению с RSA, скорость шифрования выше приблизительно в 50 раз, а дешифрования — в 100 раз[6].
Недостатки
Для шифрования произвольного сообщения необходим алгоритм перевода в -арный вектор длиной веса не более .
Размер шифротекста намного больше, чем размер шифруемого сообщения (если сообщение размера переводится в вектор длиной и шифруется, то получается шифротекст размером , что не менее, чем в 2 раза превосходит ).
Ниже в таблице приведены различные параметры для криптосистем McEliece, Нидеррайтера и RSA, наглядно показывающие их преимущества и недостатки[6].
McEliece
n=1024, k=524, t=101
бинарный код
Криптосистема Нидеррайтера
n=1024, k=524, t=101
бинарный код
RSA
1024-битные модули
e=17
Размер открытого ключа
в байтах
67072
32750
256
Количество бит
полезной информации
512
276
1024
Число бинарных операций
для шифрования
514
50
2402
Число бинарных операций
для расшифровывания
5140
7863
738112
Эквивалентность криптостойкости системы Нидеррайтера и системы McEliece
Как показано в оригинальной статье о системе Сидельникова[7], атака на систему Нидеррайтера может быть полиномиально сведена к атаке на систему McEliece и обратно.
Пусть известен синдром. Тогда можно вычислить вектор с некоторым таким, что . Вектор будет рассматриваться как шифротекст в системе McEliece. Если найдена криптографическая атака со сложностью для системы McEliece, то есть известен алгоритм вычисления вектора , который является секретной информацией в этой системе, то вектор , являющийся секретом для системы Нидеррайтера, можно представить в виде . Таким образом, сложность определения совпадает со сложностью определения .
Если же известна криптоатака со сложностью для системы Нидеррайтера, то возможно, используя в качестве шифротекста вектор , вычислить векторы и .
Построение цифровой подписи
В 2001 году Николя Куртуа, Мэттью Финиаз и Николя Сандриер показали[8], что криптосистема Нидеррайтера может быть использована для создания электронной подписи.
Подпись сообщения
Пусть — открытый ключ криптосистемы Нидеррайтера, использующей -линейный код.
Для подписи документа необходимо:
Выбрать хеш-функцию, дающей символов на выходе. Таким образом, результат данной хеш-функции можно представить в виде синдрома и попытаться декодировать;
Шнайер Б.Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си=Applied Cryptography. Protocols, Algorithms and Source Code in C.— М.: Триумф, 2002.— 816с.— 3000 экз.— ISBN 5-89392-055-4.
Эта статья входит в число добротных статей русскоязычного раздела Википедии.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.
2019-2025 WikiSort.ru - проект по пересортировке и дополнению контента Википедии