Криптография, введение в предмет

Автор работы: Пользователь скрыл имя, 29 Мая 2012 в 18:19, курсовая работа

Краткое описание

Про¬бле¬ма за¬щи¬ты ин¬фор¬ма¬ции пу¬тем ее пре¬об¬ра¬зо¬ва¬ния, исключающего ее про¬чте¬ние по¬сто¬рон¬ним ли¬цом вол¬но¬ва¬ла че¬ло¬ве¬че¬ский ум с дав¬них вре¬мен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древ¬него Егип¬та, Древ¬ней Индии тому примеры.
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже более менее систематический шифр, получивший его имя.
Бурное раз¬ви¬тие крип¬то¬гра¬фи¬че¬ские сис¬те¬мы по¬лу¬чи¬ли в го¬ды пер¬вой и вто¬рой ми¬ро¬вых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.

Содержание

В В Е Д Е Н И Е 3

ГЛАВА 1.СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ 7
1.1. Классификация криптографических методов 7
1.2. Системы подстановок 8
1.3. Подстановка Цезаря 9
1.4.Многоалфавитные системы. Системы одноразового использования 10
1.5.Системы шифрования Вижинера 11
1.6. Гаммирование 13
1.7. Шифрование с помощью аналитических преобразований 14
1.8. Криптосистемы на основе эллиптических уравнений 15

ГЛАВА 2. ЭЛЛИПТИЧЕСКИЕ ФУНЦИИ – РЕАЛИЗАЦИЯ МЕТОДА ОТКРЫТЫХ КЛЮЧЕЙ 16
2.1.Системы с открытым ключом 16
2.2. Типы криптографических услуг 18
2.3. Цифровые представления 19
2.4. Эллиптическая криптография кривой. 19
2.5.Электронные платы и код с исправлением ошибок 20

ГЛАВА 3.ОПИСАНИЕ АЛГОРИТМА 22
3.1. Целочисленная проблема факторизации (IFP): RSA и Рабин-Уильям 22
3.1.1. Описание задачи 22
3.1.2. Разложения на множетели 23
3.2.Дискретная проблема логарифма (процессор передачи данных): 24
3.2.1 Описание задачи 24
3.2.2. Разложение на множетели 24
3.3.Эллиптическая кривая дискретная проблема логарифма (ECDLP) 25
3.3.1. Описание задачи 25
3.3.2. Разложения на множетели 26
3.3.3. Программные разложения фунции на множетели 27
3.3.4 Выбор основного поля Fq и эллиптической кривой E 28
3.3.5.Стандарты кода с исправлением ошибок 29
ЗАКЛЮЧЕНИЕ. 31
СПИСОК ЛИТЕРАТУРЫ. 33

Прикрепленные файлы: 1 файл

Содержание.doc

— 250.00 Кб (Скачать документ)

    Посмотрим, что получится, если ослабить требование шифровать каждую букву исходного  текста отдельным значением ключа.

    1.5.Системы  шифрования Вижинера

    Начнем  с конечной последовательности ключа 

      k = (k0 ,k1 ,...,kn),

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

    k = (k0 ,k1 ,...,kn), kj = k(j mod r, 0 £ j < ¥ .

    Например, при 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 ... 

    Определение. Подстановка Вижинера VIGk определяется как

     VIGk : (x0, x1, ..., xn-1) ® (y0, y1, ..., yn-1) = (x0+k, x1+k,. .., xn-1+k).

    Таким образом:

    1) исходный текст x делится на r фрагментов

      xi = (xi , xi+r , ..., xi+r(n-1)), 0 £ i < r;

    2) i-й фрагмент исходного текста xi шифруется при помощи подстановки Цезаря Ck :

    (xi , xi+r , ..., xi+r(n-1)) ® (yi , yi+r , ..., yi+r(n-1)), 

    Вариант системы подстановок Вижинера при m=2 называется системой Вернама (1917 г). В то время ключ k=(k0 ,k1 ,...,kк-1) записывался на бумажной ленте. Каждая буква исходного переводилась с использованием кода Бодо в пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по модулю 2). Старинный телетайп фирмы AT&T со считывающим устройством Вернама и оборудованием для шифрования, использовался корпусом связи армии США.

    Очень распространена плохая с точки зрения секретности практика использовать слово или фразу в качестве ключа для того, чтобы k=(k0 ,k1 ,...,kк-1) было легко запомнить. В ИС для обеспечения безопасности информации это недопустимо. Для получения ключей должны использоваться программные или аппаратные средства случайной генерации ключей.

    Пример. Преобразование текста с помощью подстановки  Вижинера (r=4)

    Исходный  текст (ИТ1):

    НЕ_СЛЕДУЕТ_ВЫБИРАТЬ_НЕСЛУЧАЙНЫЙ_КЛЮЧ

    Ключ: КЛЮЧ

    Разобьем  исходный текст на блоки по 4 символа:

    НЕ_С  ЛЕДУ ЕТ_В ЫБИР АТЬ_ НЕСЛ УЧАЙ НЫЙ_ КЛЮЧ

    и наложим на них ключ (используя  таблицу Вижинера):

    H+К=Ч, Е+Л=Р и т.д.

    Получаем  зашифрованный (ЗТ1) текст:

    ЧРЭЗ  ХРБЙ ПЭЭЩ ДМЕЖ КЭЩЦ ЧРОБ ЭБЮ_ ЧЕЖЦ ФЦЫН

    Можно выдвинуть и обобщенную систему  Вижинера. ЕЕ можно сформулировать не только при помощи подстановки  Цезаря.

    Пусть x - подмножество симметрической группы SYM(Zm).

    Определение. r-многоалфавитный ключ шифрования есть r-набор p = (p0, p1, ..., pr-1) с элементами в x.

    Обобщенная  система Вижинера преобразует исходный текст (x0, x1 ,..., xn-1) в шифрованный текст (y0 ,y1 ,...,yn-1) при помощи ключа p = (p0, p1, ..., pr-1) по правилу

    VIGk : (x0 ,x1 ,...,xn-1) ® (y0 ,y1 ,...,yn-1) = (p00), p11), ..., pn-1(xn-1)), где используется условие pi = pi mod r. Следует признать, что и многоалфавитные подстановки в принципе доступны криптоаналитическому исследованию. Криптостойкость многоалфавитных систем резко убывает с уменьшением длины ключа.

    Тем не менее такая система как  шифр Вижинера допускает несложную  аппаратную или программную реализацию и при достаточно большой длине  ключа может быть использован  в современных ИС.

    1.6. Гаммирование

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

    Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на открытые данные обратимым образом (например, используя сложение по модулю 2).

    Процесс дешифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные.

    Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, если гамма шифра не содержит повторяющихся битовых последовательностей. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого слова. Фактически же, если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (пробой на ключ). Криптостойкость в этом случае определяется размером ключа.

    Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок ПСП и по нему восстанавливается вся последовательность.  Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности.

    Ниже  рассматриваются наиболее распространенные методы генерации гамм, которые могут  быть использованы на практике.

    1.7. Шифрование с помощью аналитических преобразований

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

                                       ||  aij || bj  =  cj  =S aij bj

             Если матрицу  ||  aij ||  использовать в качестве ключа , а вместо компонента вектора bj  подставить символы текста , то компоненты вектора cj  будут представлять собой символы зашифрованного текста.

              Приведем  пример , взяв в качестве ключа   квадратную матрицу третьего  порядка 

                14  8  3

                 8    5  2

                 3    2  1 

               Заменим буквы алфавита цифрами,  соответствующими порядковому номеру в алфавите. Тогда отрывку текста  ВАТАЛА соответствует последовательность номеров 3,0,19,0,12,0. По принятому алгоритму шифрования выполним необходимые действия:

    14  8   3          3               99                   14   8   3              0               96

     8    5   2   *     0       =     62        ;    8   5   2       *   12      =     60

     3   2   1          19             28                     3   2   1              0               24

              При этом зашифрованый текст будет иметь вид:99,62,28,96,60,24.

    Расшифрование осуществляетсяс использованием того же правила умножения матрицы  на вектор, только в качестве основы берется матрица, обратная той, с  помощью которой осуществляется закрытие, а в качестве вектора-самножителя – соответствующие колличество символов закрытого текста; тогда значениями вектора-результата будут цифровые эквиваленты знаков открытого текста. Обратной к данной называется матрица, полущающая из так называемой присоединенной матрицы делением всех ее элементов на  определитель данной матрицы. В свою очередь присоединенной называется матрица, составленная из алгеброических дополнений А ,к элементам данной матрицы, которые вычисляются по формуле:        Aij = (-1)^i+j Dij ,

    где Dij – определитель матрицы, получаемый вычеркиванием i-й ее строки и j-го столбца. Определителем же как известно, называется алгеброическая сумма n! членов (для определения n-ого порядка), составленная следующим образом: членами служат всевозможные произведения n элементов матрицы, взятых по одному в каждой строке и в каждом столбце, причем член суммы берется со знаком ''+'', если его индексы составлят подставку, и со знаком ''-''  -  в противоположном случае. Для матрицы третьего порядка, например, определитель вычисляется по следующей формуле:

    D=а11а22а33+а12а23а31+а13а21а32-а11а23а32-а12а21а33-а13а22а31.

    Тогда процесс раскрытия выглядит так:

     1   -2    1              99                       1*99-2*62+1*28                     3

    -2    5   -4     *      62        =           -2*99+5*62-4*28          =         0

     1  -4    6               28                      1*99-4*62+6*28                     19  

         

     1   -2    1                96                       1*96-2*60+1*24                     0

    2    5   -4      *        60        =           -2*96+5*60-4*24          =         12

    1  -4    6                 24                      1*96-4*60+6*24                     0  

             

                 Таким образом, получили следующюю  последовательность знаков раскрытого  текста:3,0,19,0,12,0, что соответствует  исходному тексту. Этот метод  шифрования является формальнным  , что позволяет легко реализовать  его программными средствами.

    1.8. Криптосистемы на основе эллиптических уравнений

    Эллиптические кривые - математический объект, который может определен над любым полем (конечным, действительным, рациональным или комплексным). В криптографии обычно используются конечные поля. Эллиптическая кривая есть множество точек (x,y), удовлетворяющее следующему уравнению:

    y2 = x3 + ax + b,

    а также бесконечно удаленная точка. Для точек на кривой довольно легко  вводится операция сложения, которая  играет ту же роль, что и операция умножения в криптосистемах RSA и Эль-Гамаля.

    В реальных криптосистемах на базе эллиптических  уравнений используется уравнение

    y2 = x3 + ax + b mod p,

    где р - простое.

    Проблема  дискретного логарифма на эллиптической  кривой состоит в следующем: дана точка G на эллиптической кривой порядка r (количество точек на кривой) и другая точка Y на этой же кривой. Нужно найти единственную точку x такую, что Y = xG, то есть Y есть х-я степень G.

 

     Глава 2. Эллиптические фунции – реализация метода открытых ключей

    2.1.Системы  с открытым ключом

    Как бы ни были сложны и надежны криптографические системы - их слабое мест при практической реализации - проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. То есть ,  в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.

Информация о работе Криптография, введение в предмет