Автор работы: Пользователь скрыл имя, 24 Января 2013 в 21:25, курсовая работа
Человечество изобрело большое число способов секретного письма, многие из них были известны еще в древности. В некоторых способах тайного письма используются физические особенности носителей информации. Так симпатические чернила исчезают вскоре после написания ими текста или невидимы с самого начала. Но их можно снова сделать видимыми, обработав документ специальным химическим реактивом или осветив лучами определенной части спектра, обычно - ультрафиолетом. Стеганография предполагает, что передаваемый текст "растворяется" в сообщении большего размера с совершенно "посторонним" смыслом.
1.1 Введение
1.2Что такое шифрование
1.3. Основные понятия и определения криптографии
1.4 Симметричные и асимметричные криптосистемы.
2.1 Алгоритм шифрования
2.2. Основные алгоритмы шифрования
2.3. Шифр Цезаря
2.4 Создание программы для системы шифрования Цезаря
3.1 Заключение
3.2 Список литературы
Термины распределение ключей и управление ключами относятся к процессам системы обработки информации, содержанием которых является составление и распределение ключей между пользователями.
Электронной (цифровой) подписью называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых:
- количество всех возможных ключей;
- среднее время, необходимое для криптоанализа.
Преобразование Tk определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и криптостойкости шифра.
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
- зашифрованное сообщение
должно поддаваться чтению
- число операций, необходимых
для определения
- должно быть не меньше общего числа возможных ключей;
- число операций, необходимых
для расшифровывания
- знание алгоритма шифрования
не должно влиять на
- незначительное изменение
ключа должно приводить к
- структурные элементы алгоритма шифрования должны быть неизменными;
- дополнительные биты, вводимые
в сообщение в процессе
- длина шифрованного текста
должна быть равной длине
- не должно быть простых
и легко устанавливаемых
- любой ключ из множества возможных должен обеспечивать надежную защиту информации;
- алгоритм должен допускать
как программную, так и
1.4 Симметричные и асимметричные криптосистемы.
Прежде чем перейти к отдельным алгоритмам, рассмотрим вкратце концепцию симметричных и асимметричных криптосистем. Сгенерировать секретный ключ и зашифровать им сообщение — это еще полдела. А вот как переслать такой ключ тому, кто должен с его помощью расшифровать исходное сообщение? Передача шифрующего ключа считается одной из основных проблем криптографии.
Оставаясь в рамках
симметричной системы,
В таких криптосистемах
общедоступным является только
ключ для процесса шифрования,
а процедура дешифрования
В асимметричных системах
должно удовлетворяться
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, для следующего сообщения:
МОСКОВСКИЙ_ИНСТИТУТ_СТАЛИ_И_
будет выглядеть следующим образом:
СУЦПУЗЦПНОДНТЦЧНЧШЧДЦЧЕРНДНДЦФ
Ключ подстановки для алфавита
К = (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 |