19
DOOR’2013, НОВОСИБИРСК Применение теории кодирования в криптографии Лось Антон Васильевич

Door’2013, новосибирск

  • Upload
    terah

  • View
    75

  • Download
    2

Embed Size (px)

DESCRIPTION

Применение теории кодирования в криптографии. Door’2013, новосибирск. Лось Антон Васильевич. Введение. Алгебраическая теория кодирования. Линейные коды. Криптография. Криптосистема Роберта Мак-Элиса, 1978 год. Криптосистема Гаральда Нидеррайтра , 1986 год. - PowerPoint PPT Presentation

Citation preview

Page 1: Door’2013,  новосибирск

DOOR’2013, НОВОСИБИРСК

Применение теории кодирования в криптографии

Лось Антон Васильевич

Page 2: Door’2013,  новосибирск

Введение

Алгебраическая теория кодированияЛинейные

коды

КриптографияКриптосистема

РобертаМак-Элиса,1978 год

Криптосистема

Гаральда Нидеррайтр

а,1986 год

Криптосистемы использующие APN-функции

DES AES ГОСТ

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 3: Door’2013,  новосибирск

Основные определения

– n-мерное метрическое пространство всех векторов длины n над полем Галуа GF(2) с метрикой Хэмминга.

Двоичный кодПроизвольное подмножество C пространства называется двоичным кодом длины n. Элементы кода называются кодовыми словами.

Линейный кодЛинейным кодом называется подмножество , являющееся линейным подпространством.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 4: Door’2013,  новосибирск

Исправление ошибокРасстояние ХэммингаРасстояние Хэмминга d(x,y) между

двумя векторами x и у из равно числу координат, в которых эти векторы различаются.

Кодовое расстояниеКодовое расстояние равно минимальному расстоянию Хэмминга между различными кодовыми словами.

Код, исправляющийt ошибок Код исправляет t ошибок, если его

кодовое расстояние не меньше 2t+1

Пример

t t1x

x’

y

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 5: Door’2013,  новосибирск

Линейные коды

Порождающая матрицаСтроки порождающей матрицы G образуют базу линейного кода.

Проверочная матрицаПроверочная матрица H линейного кода C такова, что для любого кодового слова x и только для него выполняется

G=(1 00 1

0 0 0 1 10 0 1 0 1

0 00 0

1 0 1 1 00 1 1 1 1

)H=(0 1

1 01 1

1 11 10 1

1 0 00 1 00 0 1)Порождающая матрица

Проверочная матрица

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 6: Door’2013,  новосибирск

Коды Гоппы

Валерий Денисович

Гоппа

Первым (1981) осознал связь между алгебраической геометрией и теорией кодирования.

Gary L. Peterson

Коды Гоппы Линейные коды порожденные несингулярными проективными кривыми над конечными полями.

Коды Гоппы имеют важное свойство. Они обладают быстрыми процедурами декодирования по алгоритму Питерсона.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 7: Door’2013,  новосибирск

Основы криптографии

Односторонняя функция

Односторонняя функция (англ. one-way function) – функция, которая легко вычисляется для любого входного значения, но трудно найти аргумент по заданному значению функции.

Примеры односторонних

функций

Односторонняя функция с лазейкой

Такая односторонняя функция, для которой при знании специальной информации (лазейки) аргумент вычислить по заданному значению функции легко.

Дискретное экспоненцирование и логарифмирование:

Умножение и факторизация:

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 8: Door’2013,  новосибирск

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Схема шифрованияКриптосистема с открытым ключом

Алиса Боб

1. Генерация ключа

2. Шифровани

е

Текст сообщения

Открытый канал связи 3.Расшифрова

ние

m ecm

d

Page 9: Door’2013,  новосибирск

Криптосистема Мак-Элиса

Основа криптосистемы

Алгоритм криптосистемы базируется на сложности декодирования линейных кодов, общая задача декодирования линейного кода является NP-трудной

Открытый ключ

криптосистемы

Секретный ключкриптосистемы

Для создания секретного ключа выбирается линейный код C, исправляющий достаточно большое число ошибок t, для которого известен эффективный алгоритм декодирования.

Представляет собой порождающую матрицу некоторого линейного кода как произвольного линейного кода из заданного ансамбля кодов с фиксированными параметрами [n,k,d], d ≥ 2t + 1.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 10: Door’2013,  новосибирск

Формирование ключей

Секретный ключ

G – порождающая матрица кода Гоппы размерности k,S – случайная невырожденная матрица размера k×k,P – случайная матрица перестановки размера n×n.

Открытый ключ

G’=S×G×P – таким образом, исходная матрица Gмаскируется под матрицу общего положения G’ из ансамбля кодов с одинаковыми параметрами,t – число ошибок, исправляемых исходным кодом.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 11: Door’2013,  новосибирск

Шифрование

Исходное сообщение

Алисы

Алиса представляет свое сообщение в виде последовательностей двоичных символов длины k.

Внесениепомех

Шифрованиеоткрытымключом

1) Алиса вычисляет вектор c’=m×G’.

2) Алиса генерирует случайный вектор z длины n, имеющий вес t (в нём ровно t единиц).

3) Алиса вычисляет шифротекст как c=c’+z и передает его Бобу.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 12: Door’2013,  новосибирск

Дешифрование сообщения

Обратная перестановка1) Боб вычисляет обратную матрицу: .

2) Боб вычисляет .

Восстановление сообщения

Дешифрование3) Боб использует алгоритм декодирования для исходного кода, чтобы получить из .

4) Боб вычисляет обратную матрицу: .5) Боб вычисляет сообщение как .

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 13: Door’2013,  новосибирск

Корректность алгоритмаНеобходимое

свойство криптосистемы

𝐷𝑑 (𝐸𝑒 (𝑚 ) )=𝑚

Боб вычисляет

Алисаотправляет 𝑐=𝑐′+𝑧=𝑚×𝐺′+𝑧

, Вес вектора не более чем t. Код Гоппы исправляет до t ошибок, тогда Боб получает верное сообщение . Далее Боб вычисляет исходное сообщение .

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 14: Door’2013,  новосибирск

Криптосистема Нидеррайтера

Основа криптосистемы

Та же NP-трудная задача декодирования линейных кодов, что и в криптосистеме Мак-Элиса.

Шифрование сообщений

Основноеотличие откриптосистемы Мак-Элиса

В качестве базовой матрицы используется проверочная матрица группового кода. Открытый ключ представляет собой множество, состоящее из проверочной матрицы общего положения, оснащенное достаточно большим числом t.

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

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 15: Door’2013,  новосибирск

Дополнение

Недвоичноеполе

Возможно определение криптосистем над полем Галуа GF(q), в таком случае для создания открытого ключа используется еще одна матрица – диагональная матрица с элементами из GF(q).

Плюсы иминусы

Модификации В литературе известно множество различных модификаций этих криптосистем, например, криптосистема Нидеррайтера может быть определена для кодов с ранговой метрикой.

+ Шифрование и дешифрование быстрее, чем у RSA.+ Быстрый рост степени защиты с увеличением длины ключа.- Большие размеры ключей и шифротекста.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 16: Door’2013,  новосибирск

Стандарты шифрования данныхDES

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

S-box

Page 17: Door’2013,  новосибирск

APN-функция

Пусть– функция, удовлетворяющая условию .

APN-функция(почти

совершеннонелинейная)

Функция называется APN-функцией, если для любого и каждого уравнение

имеет не более двух решений в.

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 18: Door’2013,  новосибирск

APN-функции и кодыПусть

– функция, удовлетворяющая условию , . – проверочная матрица кода Хэмминга с проверками на четность.

Теорема Пусть – двоичный линейный код с проверочной матрицей

,где . Тогда a) функция является APN-функцией тогда и

только тогда, когда кодовое расстояние кода равно 5;

b) если функция F является APN-функцией, то код имеет размерность .

Теория кодирования Основы криптографии К/с Мак-Элиса К/с Нидеррайтера APN-

функции

Page 19: Door’2013,  новосибирск

DOOR’2013, НОВОСИБИРСК

Применение теории кодирования в криптографии

Лось Антон Васильевич