СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ. ЭЛЛИПТИЧЕСКИЕ ФУНЦИИ – РЕАЛИЗАЦИЯ МЕТОДА ОТКРЫТЫХ КЛЮЧЕЙ. Диплом. - Криптология - Скачать бесплатно
Содержание.
В в е д е н и е 3
1.Симметричные криптосистемы 8
1.1. Классификация криптографических методов 8
1.2. Системы подстановок 9
1.3. Подстановка Цезаря 11
1.4.Многоалфавитные системы. Системы одноразового использования 12
1.5.Системы шифрования Вижинера 14
1.6. Гаммирование 16
1.7. Шифрование с помощью аналитических преобразований 17
1.8. Криптосистемы на основе эллиптических уравнений 18
2. Эллиптические фунции - реализация метода открытых ключей 20
2.1.Системы с открытым ключом 20
2.2. Типы криптографических услуг 22
2.3. Цифровые представления 24
2.4. Эллиптическая криптография кривой. 24
2.5.Электронные платы и код с исправлением ошибок 25
3.Описание алгоритма 27
3.1. Целочисленная проблема факторизации (IFP): RSA и Рабин-Уильям 27
3.1.1. Описание задачи 27
3.1.2. Разложения на множетели 28
3.2.Дискретная проблема логарифма (процессор передачи данных): 29
3.2.1 Описание задачи 29
3.2.2. Разложение на множетели 30
3.3.Эллиптическая кривая дискретная проблема логарифма (ECDLP) 31
3.3.1. Описание задачи 31
3.3.2. Разложения на множетели 33
3.3.3. Программные разложения фунции на множетели 34
3.3.4 Выбор основного поля Fq и эллиптической кривой E 35
3.3.5.Стандарты кода с исправлением ошибок 36
ЗАКЛЮЧЕНИЕ. 38
Список литературы. 40
В в е д е н и е
Проблема защиты информации путем ее преобразования, исключающего ее
прочтение посторонним лицом волновала человеческий ум с давних времен.
История криптографии - ровесница истории человеческого языка. Более того,
первоначально письменность сама по себе была криптографической системой,
так как в древних обществах ею владели только избранные. Священные книги
Древнего Египта, Древней Индии тому примеры.
С широким распространением письменности криптография стала формироваться
как самостоятельная наука. Первые криптосистемы встречаются уже в начале
нашей эры. Так, Цезарь в своей переписке использовал уже более менее
систематический шифр, получивший его имя.
Бурное развитие криптографические системы получили в годы первой и второй
мировых войн. Начиная с послевоенного времени и по нынешний день появление
вычислительных средств ускорило разработку и совершенствование
криптографических методов.
Криптографические методы защиты информации в автоматизированных системах
могут применяться как для защиты информации, обрабатываемой в ЭВМ или
хранящейся в различного типа ЗУ, так и для закрытия информации,
передаваемой между различными элементами системы по линиям связи.
Криптографическое преобразование как метод предупреждения
несационированного доступа к информации имеет многовековую историю. В
настоящее время разработано большое колличество различных методов
шифрования, созданы теоретические и практические основы их применения.
Подавляющие число этих методов может быть успешно использовано и для
закрытия информации. Под шифрованием в данном едаваемых сообщений,
хранение информации (документов, баз данных) на носителях в зашифрованном
виде.
Почему проблема использования криптографических методов в информационных
системах (ИС) стала в настоящий момент особо актуальна?
С одной стороны, расширилось использование компьютерных сетей, в частности
глобальной сети Интернет, по которым передаются большие объемы информации
государственного, военного, коммерческого и частного характера, не
допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и
нейронных вычислений сделало возможным дискредитацию криптографических
систем еще недавно считавшихся практически не раскрываемыми.
Проблемой защиты информации путем ее преобразования занимается криптология
(kryptos - тайный, logos - наука). Криптология разделяется на два
направления - криптографию и криптоанализ. Цели этих направлений прямо
противоположны.
Криптография занимается поиском и исследованием математических методов
преобразования информации.
Сфера интересов криптоанализа - исследование возможности расшифровывания
информации без знания ключей.
Современная криптография включает в себя четыре крупных раздела:
1. 1. Симметричные криптосистемы.
2. 2. Криптосистемы с открытым ключом.
3. 3. Системы электронной подписи.
4. 4. Управление ключами.
Основные направления использования криптографических методов - передача
конфиденциальной информации по каналам связи (например, электронная
почта), установление подлинности передаваемых сообщений ,хранение
информации (документов,баз данных) на носителях в зашифрованном виде.
Криптографические методы защиты информации в автоматизированных системах
могут применяться как для защиты информации, обрабатываемой в ЭВМ или
хранящейся в различного типа ЗУ, так и для закрытия информации,
передаваемой между различными элементами системы по линиям связи.
Криптографическое преобразование как метод предупреждения
несационированного доступа к информации имеет многовековую историю. В
настоящее время разработано большое колличество различных методов
шифрования, созданы теоретические и практические основы их применения.
Подавляющие число этих методов может быть успешно использовано и для
закрытия информации.
Итак, криптография дает возможность преобразовать информацию таким
образом, что ее прочтение (восстановление) возможно только при знании
ключа.
В качестве информации, подлежащей шифрованию и дешифрованию, будут
рассматриваться тексты, построенные на некотором алфавите. Под этими
терминами понимается следующее.
Алфавит - конечное множество используемых для кодирования информации
знаков.
Текст - упорядоченный набор из элементов алфавита.
В качестве примеров алфавитов, используемых в современных ИС можно
привести следующие:
* ** алфавит Z[33] - 32 буквы русского алфавита и пробел;
* ** алфавит Z[256] - символы, входящие в стандартные коды ASCII и
КОИ-8;
* ** бинарный алфавит - Z[2] = {0,1};
* ** восьмеричный алфавит или шестнадцатеричный алфавит;
Шифрование - преобразовательный процесс: исходный текст, который носит
также название открытого текста, заменяется шифрованным текстом.
Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный
текст преобразуется в исходный.
0x08 graphic
Рис. 1. Процедура шифрования файлов.
Ключ - информация, необходимая для беспрепятственного шифрования и
дешифрования текстов.
Криптографическая система представляет собой семейство T преобразований
открытого текста. Члены этого семейства индексируются, или обозначаются
символом k; параметр k является ключом. Пространство ключей K - это набор
возможных значений ключа. Обычно ключ представляет собой последовательный
ряд букв алфавита.
Криптосистемы разделяются на симметричные и с открытым ключом.
В симметричных криптосистемах и для шифрования, и для дешифрования
используется один и тот же ключ.
В системах с открытым ключом используются два ключа - открытый и закрытый,
которые математически связаны друг с другом. Информация шифруется с
помощью открытого ключа, который доступен всем желающим, а
расшифровывается с помощью закрытого ключа, известного только получателю
сообщения.
Термины распределение ключей и управление ключами относятся к процессам
системы обработки информации, содержанием которых является составление и
распределение ключей между пользователями.
Электронной (цифровой) подписью называется присоединяемое к тексту его
криптографическое преобразование, которое позволяет при получении текста
другим пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющая его
стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется
несколько показателей криптостойкости, среди которых:
* ** количество всех возможных ключей;
* ** среднее время, необходимое для криптоанализа.
Преобразование T[k] определяется соответствующим алгоритмом и значением
параметра k. Эффективность шифрования с целью защиты информации зависит от
сохранения тайны ключа и криптостойкости шифра.
Процесс криптографического закрытия данных может осуществляться как
программно, так и аппаратно. Аппаратная реализация отличается существенно
большей стоимостью, однако ей присущи и преимущества: высокая
производительность, простота, защищенность и т.д. Программная реализация
более практична, допускает известную гибкость в использовании.
Для современных криптографических систем защиты информации сформулированы
следующие общепринятые требования:
* ** зашифрованное сообщение должно поддаваться чтению только при
наличии ключа;
* ** число операций, необходимых для определения использованного
ключа шифрования по фрагменту шифрованного сообщения и
соответствующего ему открытого текста, должно быть не меньше общего
числа возможных ключей;
* ** число операций, необходимых для расшифровывания информации
путем перебора всевозможных ключей должно иметь строгую нижнюю оценку
и выходить за пределы возможностей современных компьютеров (с учетом
возможности использования сетевых вычислений);
* ** знание алгоритма шифрования не должно влиять на надежность
защиты;
* ** незначительное изменение ключа должно приводить к
существенному изменению вида зашифрованного сообщения даже при
использовании одного и того же ключа;
* ** структурные элементы алгоритма шифрования должны быть
неизменными;
* ** дополнительные биты, вводимые в сообщение в процессе
шифрования, должен быть полностью и надежно скрыты в шифрованном
тексте;
* ** длина шифрованного текста должна быть равной длине исходного
текста;
* ** не должно быть простых и легко устанавливаемых зависимостью
между ключами, последовательно используемыми в процессе шифрования;
* ** любой ключ из множества возможных должен обеспечивать надежную
защиту информации;
* ** алгоритм должен допускать как программную, так и аппаратную
реализацию, при этом изменение длины ключа не должно вести к
качественному ухудшению алгоритма шифрования.
1.Симметричные криптосистемы
1.1. Классификация криптографических методов
Все многообразие существующих криптографических методов можно свести к
следующим классам преобразований:
0x08 graphic
0x08 graphic
0x08 graphic
Перестановки
0x08 graphic
0x08 graphic
Рис.1.1.Классы преобразований симметричных криптосистем.
Многоалфавитная подстановка - наиболее простой вид преобразований,
заключающийся в замене символов исходного текста на другие (того же
алфавита) по более или менее сложному правилу. Для обеспечения высокой
криптостойкости требуется использование больших ключей.
Перестановки - несложный метод криптографического преобразования.
Используется как правило в сочетании с другими методами.
Гаммирование - этот метод заключается в наложении на исходный текст
некоторой псевдослучайной последовательности, генерируемой на основе
ключа.
Блочные шифры собой последовательность (с возможным повторением и
чередованием) основных методов преобразования, применяемую к блоку (части)
шифруемого текста. Блочные шифры на практике встречаются чаще, чем
“чистые” преобразования того или иного класса в силу их более высокой
криптостойкости. Российский и американский стандарты шифрования основаны
именно на этом классе шифров.
Перестановкой ** набора целых чисел (0,1,...,N-1) называется его
переупорядочение. Для того чтобы показать, что целое i перемещено из
позиции i в позицию **(i), где 0 ** (i) < n, будем использовать запись
**=(**(0), **(1),..., **(N-1)).
Число перестановок из (0,1,...,N-1) равно n!=1*2*...*(N-1)*N. Введем
обозначение ** для взаимно-однозначного отображения (гомоморфизма) набора
S={s[0],s[1], ...,s[N-1]}, состоящего из n элементов, на себя.
**: S ** S
**: s[i] ** s[**(i)], 0 ** i < n
Будем говорить, что в этом смысле ** является перестановкой элементов S.
И, наоборот, автоморфизм S соответствует перестановке целых чисел
(0,1,2,.., n-1).
Криптографическим преобразованием T для алфавита Z[m] называется
последовательность автоморфизмов: T={T^(n):1**n<**}
T^(n): Z[m,n]**Z[m,n], 1**n<**
Каждое T^(n) является, таким образом, перестановкой n-грамм из Z[m,n].
Поскольку T^(i) и T^(j) могут быть определены независимо при i**j, число
криптографических преобразований исходного текста размерности n равно
(m^n)!^[1]. Оно возрастает непропорционально при увеличении m и n: так,
при m=33 и n=2 число различных криптографических преобразований равно
1089!. Отсюда следует, что потенциально существует большое число
отображений исходного текста в шифрованный.
Практическая реализация криптографических систем требует, чтобы
преобразования {T[k]: k**K} были определены алгоритмами, зависящими от
относительно небольшого числа параметров (ключей).
1.2. Системы подстановок
Определение Подстановкой ** на алфавите Z[m] называется автоморфизм Z[m],
при котором буквы исходного текста t замещены буквами шифрованного текста
**(t):
Z[m] Z[m]; **: t **(t).
Набор всех подстановок называется симметрической группой Z[m] e будет в
дальнейшем обозначаться как SYM(Z[m]).
Утверждение SYM(Z[m]) c операцией произведения является группой, т.е.
операцией, обладающей следующими свойствами:
1. 1.Замкнутость: произведение подстановок **[1]**[2] является
подстановкой:
**: t**[1](**[2](t)).
1. 2.Ассоциативность: результат произведения **[1]**[2]**[3] не зависит
от порядка расстановки скобок:
(**[1]**[2])**[3]=**[1](**[2]**[3])
1. 3.Существование нейтрального элемента: постановка i, определяемая как
i(t)=t, 0**t<**
Подстановка, определяемая ключом k, является криптографическим
преобразованием T[k], при помощи которого осуществляется преобразование
n-граммы исходного текста (x[0] ,x[1] ,..,x[n-1]) в n-грамму шифрованного
текста (y[0] ,y[1] ,...,y[n-1]):
y[i]=p(x[i]), 0**i< m,
называется подстановкой Цезаря.
Умножение коммутативно, C[k]C[j]=C[j]C[k]=C[j+k], C[0] - идентичная
подстановка, а обратной к C[к] является C[k]^-1=C[m-k], где 0< ** .
Например, при r = ** и ключе пользователя 15 8 2 10 11 4 18 рабочий ключ
будет периодической последовательностью:
15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11 4 18 ...
Определение. Подстановка Вижинера VIG[k] определяется как
VIG[k] : (x[0], x[1], ..., x[n-1]) ** (y[0], y[1], ..., y[n-1]) = (x[0]+k,
x[1]+k,. .., x[n-1]+k).
Таким образом:
1) исходный текст x делится на r фрагментов
x[i] = (x[i] , x[i+r] , ..., x[i+r(n-1)]), 0 ** i < r;
2) i-й фрагмент исходного текста x[i] шифруется при помощи подстановки
Цезаря C[k] :
(x[i] , x[i+r] , ..., x[i+r(n-1)]) ** (y[i] , y[i+r] , ..., y[i+r(n-1)]),
Вариант системы подстановок Вижинера при m=2 называется системой Вернама
(1917 г). В то время ключ k=(k[0] ,k[1] ,...,k[к-1]) записывался на
бумажной ленте. Каждая буква исходного переводилась с использованием кода
Бодо в пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по
модулю 2). Старинный телетайп фирмы AT&T со считывающим устройством
Вернама и оборудованием для шифрования, использовался корпусом связи армии
США.
Очень распространена плохая с точки зрения секретности практика
использовать слово или фразу в качестве ключа для того, чтобы k=(k[0]
,k[1] ,...,k[к-1]) было легко запомнить. В ИС для обеспечения безопасности
информации это недопустимо. Для получения ключей должны использоваться
программные или аппаратные средства случайной генерации ключей.
Пример. Преобразование текста с помощью подстановки Вижинера (r=4)
Исходный текст (ИТ1):
|