Автор работы: Пользователь скрыл имя, 10 Марта 2013 в 18:01, курсовая работа
Цель: изучение и создание криптографических преобразований и алгоритмов
Задачи: 1. Дать определение и основные понятия криптографии.
2. Сравнить использование шифров.
3. Рассмотреть математические основы криптографии.
4. Почувствовать сложность кодирования
5. Научиться составлять программу кодирования сообщений.
Введение 3
Глава I. Криптография. Основные понятия. 5
1.1 Основные понятия. Защита информации 5
1.2. Основной объект криптографии 6
1.3 Ключ 8
1.4 Атака на шифр и стойкость шифра 9
Глава II. Математические основы и методы криптографии. 11
2.1 Математические основы криптографии. 11
Двоичный код информации 11
2.2 Случайность и закономерность 12
2.3. Алгоритм и его сложность 15
2.4 Шифры замены и перестановки 17
2.5 Абсолютно стойкий шифр 19
2.6 Теория и практика стойкости шифра 20
2.7 Без атаки на ключ 21
2.8 Криптосистема RSA 22
Глава III Реализация математической криптографии 24
Шифр Цезеря 24
Заключение 29
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЪЬ
ГДЕЁЖЗИЙКЛМНОП РСТУФХЦ ЧШ ЩЫЪЬ ЭЮЯАБВ
При зашифровании буква А заменялась буквой Г, Б заменялась на Д, В - Е и так далее.
Пример:
Расшифровать слово ‘’УЛП’’
Решение:
Получатель сообщения «УЛП» ищет эти буквы в нижней строке и по буквам над ними восстанавливал исходное слово «РИМ».
Ключом в шифре Цезаря является величина сдвига 2-й нижней строки алфавита. Преемник Юлия Цезаря - Цезарь Август использовал тот же шифр, но с ключом - сдвиг 1. Слово «РИМ» он в этом случае зашифровал бы в буквосочетание «СЙН»
Естественное развитие шифра Цезаря очевидно: нижняя строка двухстрочной записи букв алфавита может быть с произвольным расположением этих букв.
Если в алфавитном расположении букв в нижней строке существует всего 33 варианта ключей (число букв в русском алфавите), то при их произвольном расположении число ключей становится огромным. Оно равно 33! (33 факториал), т.е. приблизительно десять в тридцать пятой степени. Этот момент очень важен. Если противник догадался или получил сведения об используемом шифре (а шифры используются длительное время), то он может попробовать перебрать все варианты возможных секретных ключей при дешифровании перехваченной криптограммы. В современных условиях такой перебор в шифре Цезаря доступен ученику 5-6 классов средней школы. Но перебор 33! вариантов ключей занял бы даже при использовании современных ЭВМ столетия. Едва ли найдется дешифровалыцик, который даже в наши дни выбрал бы этот путь дешифрования. Однако во времена Цезаря, когда царила всеобщая неграмотность населения, сама возможность увидеть осмысленное сообщение за «абракадаброй», даже составленной из знакомых букв, казалась неосуществимой.
Напомним, что сам Цезарь всю жизнь использовал один и тот же ключ (сдвиг - 3). Этим шифром он пользовался, в частности, для обмена посланиями с Цицероном.
Достоинством системы шифрования Цезаря является простота шифрования и расшифрования. К недостаткам системы Цезаря следует отнести следующие:
• подстановки, выполняемые в соответствии с системой Цезаря, не маскируют частот появления различных букв исходного открытого текста;
• сохраняется алфавитный порядок в последовательности заменяющих букв; при изменении значения К изменяются только начальные позиции такой последовательности;
• число возможных ключей К мало;
• шифр Цезаря легко вскрывается на основе анализа частот появления букв в шифртексте.
Криптоаналитическая атака против системы одноалфавитной замены начинается с подсчета частот появления символов: определяется число появлений каждой буквы в шифртексте. Затем полученное распределение частот букв в шифртексте сравнивается с распределением частот букв в алфавите исходных сообщений, например в английском. Буква с наивысшей частотой появления в шифртексте заменяется на букву с наивысшей частотой появления в английском языке и т.д. Вероятность успешного вскрытия системы шифрования повышается с увеличением длины шифртекста.
Концепция, заложенная в систему шифрования Цезаря, оказалась весьма плодотворной, о чем свидетельствуют ее многочисленные модификации.
Например, для сдвига, равного 11, таблица-ключ будет выглядеть так:
а |
б |
в |
г |
д |
е |
ж |
з |
и |
й |
к |
л |
м |
н |
о |
п |
р |
с |
т |
у |
ф |
х |
ц |
ч |
ш |
щ |
ъ |
ь |
ы |
э |
ю |
я |
к |
л |
м |
н |
о |
п |
р |
с |
т |
у |
ф |
х |
ц |
ч |
ш |
щ |
ъ |
ь |
ы |
э |
ю |
я |
а |
б |
в |
г |
д |
е |
ж |
з |
и |
й |
Пример: С помощью таблицы ключа кодируем сообщение «Математикацарицанаук» (применяем сдвиг равный 11). Пользуясь таблицей-ключом получаем: «цкыпцкытфкакътакчкэф».
Программа реализации Кода Цезаря на языке Turbo Pascal
uses crt;
var a,b,c:string;
i,j,k,d:integer;
begin
clrscr;
writeln('shifr');
readln(a);
writeln('keys');
readln(d);
c:='';
b:='
for i:=1 to length(a) do
for j:=1 to length(b) do
begin
k:=(j+d)mod 32;
if a[i]=b[j] then c:=c+b[k];
end;
writeln(c);
readkey;
end.
1. 25 этюдов о шифрах // Либрусек:
http://lib.rus.ec/b/198025/
2. Баричев С. В. Криптография без секретов. – М.: Наука, 1998. –120 с.
3. Прахар К. Распределение простых чисел. - М.: Мир, 1967.
4. Герасименко В.А. Защита информации в автоматизированных системах обработки данных кн. 1. - М.: Энергоатомиздат, 1994. - 400с.
5. Ковалевский В., Максимов В. Криптографические методы. // Компьютер Пресс. - 1993. - N 5. - c. 31 - 34.
6. Шеннон К. Работы по теории информации и кибернетике. - М.: ИЛ, 1963. - с. 333-369
7. Фергюсон Н., Шнайпер Б. Практическая криптография. – М.: Вильямс. – 2005. – 134 с
8. Дориченко С. А., Ященко В. В. 25 этюдов о шифрах: Популярно о современной криптографии. — М.: Теис, 1994. — 72 с.
9. Основы криптологии // Rbardalzo Index: http://www.rbardalzo.narod.ru/
10. Введение в криптографию
// Санкт-Петербургский
11. Файстель Х. Криптография и компьютерная безопасность. – М.: Scientific American, 1973. - с 15-23.