Метод шифрование Цезарь

Автор работы: Пользователь скрыл имя, 24 Января 2013 в 21:25, курсовая работа

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

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

Содержание

1.1 Введение
1.2Что такое шифрование
1.3. Основные понятия и определения криптографии
1.4 Симметричные и асимметричные криптосистемы.
2.1 Алгоритм шифрования
2.2. Основные алгоритмы шифрования
2.3. Шифр Цезаря
2.4 Создание программы для системы шифрования Цезаря
3.1 Заключение
3.2 Список литературы

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

курсовая.doc

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

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

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

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

- количество всех возможных  ключей;

- среднее время, необходимое  для криптоанализа.

Преобразование Tk определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.

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

Для современных криптографических  систем защиты информации сформулированы следующие общепринятые требования:

- зашифрованное сообщение  должно поддаваться чтению только при наличии ключа;

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

- должно быть не меньше  общего числа возможных ключей;

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

- знание алгоритма шифрования  не должно влиять на надежность  защиты;

- незначительное изменение  ключа должно приводить к существенному  изменению вида зашифрованного  сообщения даже при использовании  одного и того же ключа;

- структурные элементы  алгоритма шифрования должны  быть неизменными;

- дополнительные биты, вводимые  в сообщение в процессе шифрования, должен быть полностью и надежно  скрыты в шифрованном тексте;

- длина шифрованного текста  должна быть равной длине исходного  текста;

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

- любой ключ из множества  возможных должен обеспечивать  надежную защиту информации;

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

 

1.4 Симметричные  и асимметричные криптосистемы.

 

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

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

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

  В асимметричных системах  должно удовлетворяться следующее  требование: нет такого алгоритма  (или он пока неизвестен), который  бы из криптотекста и открытого  ключа выводил исходный текст

 

2.1 Алгоритм шифрования

2.2 Основные алгоритмы шифрования

 

Метод шифровки/дешифровки называют шифром (cipher). Некоторые алгоритмы  шифрования основаны на том, что сам  метод шифрования (алгоритм) является секретным. Ныне такие методы представляют лишь исторический интерес и не имеют  практического значения. Все современные  алгоритмы используют ключ для управления шифровкой и дешифровкой; сообщение  может быть успешно дешифровано  только если известен ключ. Ключ, используемый для дешифровки может не совпадать  с ключом, используемым для шифрования, однако в большинстве алгоритмов ключи совпадают.

Алгоритмы с использованием ключа делятся на два класса: симметричные (или алгоритмы секретным ключом) и асиметричные (или алгоритмы  с открытым ключом). Разница в  том, что симметричные алгоритмы  используют один и тот же ключ для  шифрования и для дешифрования (или  же ключ для дешифровки просто вычисляется  по ключу шифровки). В то время  как асимметричные алгоритмы  используют разные ключи, и ключ для  дешифровки не может быть вычислен по ключу шифровки.

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

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

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

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

2.3 Шифр Цезаря

 

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

Своё название шифр получил, как вы уже успели догадаться, в  честь римского императора Гая Юлия Цезаря (Julius Caesar). Последний использовал  шифр для секретной переписки. Однако современный криптоанализ не расценивает  шифр Цезаря как шифр приемлемой стойкости.

Шифр Цезаря подвержен  частному анализу, так как является одно-алфавитным шифром подстановки, но это отнюдь не главная «слабость». Так, недостаточное количество ключей - 33 для русского алфавита и 26 для  английского – предоставляет  возможность проведения атак. Открытый текст вписывается для всех вероятных  ключей, а один из вариантов и  будет является расшифрованным сообщением [4],[7].

Сопоставляя каждому символу  порядковый номер, начиная с 9, шифрование и дешифрование выражается формулами:

Если сопоставить каждому  символу алфавита его порядковый номер (нумеруя с 0), то шифрование и  дешифрование можно выразить формулами:

Y=x + k (mod n) и X=y – k (mod n), где:

X — символ открытого  текста,

Y — символ шифрованного  текста,

n — мощность алфавита,

k — ключ.

 

Система шифрования Цезаря.

 

Шифр Цезаря является частным  случаем шифра простой замены. При шифровании исходного текста каждая буква заменяется на другую букву того же алфавита по следующему правилу. Заменяющая буква определяется смещением по алфавиту от исходной буквы на N букв. Совокупность возможных  подстановок для русского алфавита (m=33), при N=5, приведена в таблице:

 

А®Е

И®Н

Р®Х

Ш®Э

_®Д

Б®Ж

Й®О

С®Ц

Щ®Ю

 

В®З

К®П

Т®Ч

Ь®Я

 

Г®И

Л®Р

У®Ш

Ы®_

 

Д®Й

М®С

Ф®Щ

Ъ®А

 

Е®К

Н®Т

Х®Ь

Э®Б

 

Ж®Л

О®У

Ц®Ы

Ю®В

 

З®М

П®Ф

Ч®Ъ

Я®Г

 

 

В соответствии таблицей, криптографическое  преобразование Цезаря, при m=33 и N=5, для  следующего сообщения:

МОСКОВСКИЙ_ИНСТИТУТ_СТАЛИ_И_СПЛАВОВ,

будет выглядеть следующим  образом:

СУЦПУЗЦПНОДНТЦЧНЧШЧДЦЧЕРНДНДЦФРЕЗУЗ.


Ключ подстановки для алфавита   Zm представляет собой последовательность элементов симметричной группы из   Zm:


К = (p0, p1, …,pn-1, …), pn Π SYM  (Zm), 0 £ n < ¥.

Подстановка, определяемая ключом К, является криптографическим  преобразованием Ек, которое шифрует n-грамму (y0, y1 , …, yn-1) шифртекста, где

yi = pi (xi), 0 £ i < n,

для каждого n, n = 1, 2, 3, … .

Криптографическое преобразование Ек называется одноалфавитной подстановкой, если значение pi одинаково для каждого i, i = 0, 1, 2, …; в противном случае преобразование Ек называется многоалфавитной подстановкой.

 

Аффинная система подстановок  Цезаря.

Символы алфавита Zm можно  не только складывать по модулю m, но и  умножать по этому модулю. Применяя одновременно операции сложения и умножения по модулю m над элементами множества Zm, можно получить систему подстановок, называемую аффинной системой подстановок Цезаря. Аффинная система – это одновременное сложение и умножение по mod m над элементами Zm.

Еa,b : Zm ® Zm

Еa,b : t ® Еa,b(t)

Еa,b(t) = (at + b)mod m;

a, b – целые числа, причем 0 < a, b < m: НОД(a, m) = 1.

Здесь буква, соответствующая t, заменяется на букву, соответствующую         (at + b)mod m

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

Например, пусть m = 33, a = 5, b = 3. Тогда наименьший общий делитель НОД(5, 33) = 1, и мы получаем следующее соответствие между числовыми кодами букв:

t

0

1

2

3

4

5

6

7

8

9

10

5t+3

3

8

13

18

23

28

33

5

10

15

20

t

11

12

13

14

15

16

17

18

19

20

21

5t+3

15

30

2

7

12

17

22

27

32

4

9

t

22

23

24

25

26

27

28

29

30

31

32

5t+3

14

19

24

29

1

6

11

16

21

26

31

Информация о работе Метод шифрование Цезарь