Автор работы: Пользователь скрыл имя, 03 Мая 2012 в 19:21, курсовая работа
Усложнение методов и средств организации машинной обработки информации, а также широкое использование вычислительных сетей приводит к тому, что информация становится все более уязвимой.
В связи с этим защита информации в процессе ее сбора, хранения и обработки приобретает исключительно важное значение (особенно в коммерческих и военных областях).
ЗАЩИТА ИНФОРМАЦИИ В ПЭВМ 3
КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ 4
Модель одноключевой криптосистемы для передачи сообщений 5
Шифр простой подстановки. 6
Шифр перестановки (транспозиции) с фиксированным d (блок d -группа символов). 6
Шифр Вижинера 6
Шифрование с помощью датчика случайных чисел (ПСЧ) 7
ШИФР ПЛЭЙФЕРА 8
БЛОК СХЕМЫ 8
ПП SHIFR_PLEYFER 8
ПФ SHIFR_TXT 9
ПФ DESHIFR_TXT 11
ОСНОВНАЯ ПРОГРАММА 13
ПРОГРАММА 14
РЕЗУЛЬТАТЫ 18
СПИСОК ЛИТЕРАТУРЫ 19
123456
316524
Тогда
открытый текст преобразуется в
закодированный так: первый символ становится
вторым, второй - пятым и так далее
MICROC | OMPUTE | R - открытый текст |
CMCOIR | POETMU | R - закодированный текст |
В случае перестановки переставляются не буквы алфавита, а буквы в сообщении открытого текста. Распределение частот отдельных символов оказывается в шифрованном тексте таким же, что и в открытом тексте, однако распределения более высоких порядков оказываются перемешанными, что улучшает криптостойкость данного шифра по сравнению с простой подстановкой.
Шифр, задаваемый формулой
уi = хi + ki(mod g),
где
ki - i-я буква ключа, в качестве которого
используется слово или фраза, называется
шифром Вижинера. Воспользуемся таблицей
кодирования букв русского алфавита:
Буква | А | Б | В | Г | Д | Е | Ж | 3 | И | И | К | Л |
Код | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
| ||||||||||||
Буква | М | Н | О | П | Р | С | Т | У | Ф | X | Ц | Ч |
Код | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
Буква | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | (пробел) |
Код | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
Пусть имеется открытый текст "ЗАМЕНА" и подстановка шифра Вижинера задана таблицей:
3 | А | М | Е | Н | А |
К | Л | Ю | Ч | К | Л |
По формуле шифра Вижинера находим:
Y1= 8 + ll (mod33) = 19 Þ T;
Y2= l + 12 (mod33) = 13 Þ M;
Y3= 13 + 31 (mod 33) = 11 Þ К;
Y4= 6 + 24 (mod 33) = 30 Þ Ю;
Y5= 14 + 11 (mod 33) = 25 Þ Ш;
Y6 = 1 + 12 (mod 33) = 13 Þ М.
Шифротекст:
"ТМКЭШМ".
Шифры Бофора используют формулы:
yi = ki - xi(mod g) и
yi = Xi - ki(mod g).
Гомофоническая замена одному символу открытого текста ставит в соответствие несколько символов шифротекста. Этот метод применяется для искажения статистических свойств текста.
Это довольно распространенный криптографический метод, принцип которого заключается в генерации гаммы шифра с помощью датчика ПСЧ и наложении полученной гаммы на открытые данные обратимым образом (например, при использовании логической операции "исключающее ПЛИ").
Процесс
расшифрования данных сводится к
повторной генерации гаммы
На основе теории групп разработано несколько типов датчиков ПСЧ. Наиболее доступны и эффективны конгруэнтные генераторы ПСЧ. Например, линейный конгруэнтный датчик ПСЧ вырабатывает последовательности псевдослучайных чисел T(i), описываемые соотношением
T(i+l) = [AT(i) + C]mod M,
Где А и С - константы; Т(0) - исходная величина, выбранная в качестве порождающего числа.
Такой датчик ПСЧ генерирует псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений А и С. Значение М обычно устанавливается равным 25, где b - длинна слова ЭВМ в битах.
Одноключевая
модель использует для шифрования и
дешифрования один и тот же секретный
ключ, который должен быть неизвестен
криптоаналитику противника. Поэтому
такая система называется одноключевой
криптосистемой с секретными ключами.
Проблема распространения этих секретных
ключей является одной из главных трудностей
при практическом использовании такой
криптосистемы. Для распространения секретных
ключей требуются защитные каналы связи.
Стоимость и сложность распространения
этих ключей оказываются очень большими.
ПП SHIFR_PLEYFER для определения координат символов матрицы Плэйфера.
SHIFR_PLEYFER(Alfavit, INDEX)
Список формальных параметров:
Alfavit,
INDEX
Входные параметры:
INDEX - матрица символов Плэйфера, величина символьная.
Выходные параметры:
Alfavit -
хранит координаты символов матрицы Плэйфера,
величины целого типа.
Алгоритм
Начало
Описание массивов: Alfavit[255], INDEX[6, 6]
I = 1
нет
I <= 6
J = 1
нет
J <= 6
Alfavit[Ord(INDEX[I, J])].Strok = I
Alfavit[Ord(INDEX[I, J])].Stolb = J
J = J + 1
I = I + 1
Обозначения
1. Описание массивов Alfavit, INDEX
2 .. 5, 7, 8 Организация цикла заполнения массива Alfavit типа запись
6. Определение строк
и столбов для символов матрицы INDEX
ПФ SHIFR_TXT производит шифрование строки <Str> открытого текста.
SHIFR_TXT(Str,
Alfavit, INDEX)
Список формальных параметров:
Str,
Alfavit, INDEX
Входные параметры:
Str - строка открытого текста, величина строка.
Alfavit - хранит координаты символов матрицы Плэйфера, величины целого типа.
INDEX - матрица символов Плэйфера, величина символьная.
Выходные параметры:
SHIFR_TXT -
принимает значение зашифрованной строки,
величины строка.
Обозначения
1. Описание массивов Alfavit, INDEX.
2 .. 7 В открытом тексте вставляется “-”между одинаковыми символами.
8 .. 9 Добавление “-” в конец открытого текста, в случае нечет. кол-ва символов в строке <Str>.
10 .. 13 Организация по парного перебора символов строки открытого текста.
14 .. 15 Пара символов находится в одной строке матрицы алфавита Плэйфкра.
16 .. 17 Пара символов находится в одном столбце матрицы алфавита Плэйфера.
18. Пара символов находится в разных строках и столбцах матрицы алфавита Плэйфера.
19. Присваивание
ПФ SHIFR_TXT значения новой строки <New>
Продолжение следует¼
Алгоритм
Начало ПФ SHIFR_TXT (Str, Alfavit, INDEX)
Описание массивов: Alfavit[255], INDEX[6, 6]
New = “, Dlina_str = Length(Str), I = 1
нет
I <= Dlina_str
да нет
Str[I] = Str[I + 1]
New = ( New + Str[I] + ‘-’ ) New = ( New + Str[I] )
I = I + 1
нет
Odd(Length(Str)) = TRUE
New = New + ‘-’
Str = “, Dlina_new = Length(New)div 2, I = 1
нет
I <= Dlina_new
SIM1 = New[2*I - 1], SIM2 = New[2*I] SHIFR_TXT = Str
ALFAVIT[Ord(SIM1)].STROK
= ALFAVIT[Ord(SIM2)].STROK
Str = Str + INDEX[(ALFAVIT[Ord(SIM1)].
+ INDEX[(ALFAVIT[Ord(SIM2)].
ALFAVIT[Ord(SIM1)].STOLB
= ALFAVIT[Ord(SIM2)].STOLB