Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К экзамену (МиСЗКИ).docx
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
155.29 Кб
Скачать
  1. Симметричные криптосистемы: схема реализации, виды криптоалгоритмов

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

ИС – источник сообщения; Р.– рандомизатор; Пр.С – приемник сообщения;

Ш – шифратор; ДШ – дешифратор

Источник сообщения порождает открытый текст X, который шифруется с помощью уравнения Y=ERZ(X) и передаётся по открытому каналу связи (E – алгоритм шифрования: z - ключ). На приемном конце происходит обратное преобразование X=DZ(Y).

Одним из недостатков в шифровании, особенно для блочных шифров, является частота повторения шифра.

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

Блочные шифры симметричных криптосистем делятся на 2 большие группы: шифры подстановки и шифры перестановки.

Алгоритмы подстановки

Подстановкой называется взаимно-однозначное отображение некоторого конечного множества М на себя. При подстановке некоторое число i переходит в число ji принадлежащее тому же множеству. Рассматривают 4 типа подстановки: 1 - моноалфавитная; 2 – полиалфавитная; 3 – гомофоническая; 4 – полиграммная.

Моноалфавитная подстановка. Каждой букве открытого текста ставится в соответствие одна буква закрытого текста из того же алфавита. Если е – буква закрытого текста, t – буква открытого текста, то e=(k1·t + k2) mod n или e=(t + k2) mod n , где k1 и k2 – секретные ключи шифрования и дешифрования, n – количество символов в алфавите. Запись (t + k) mod n означает букву, отстоящую от данной в алфавите на k mod n позиций.

Рассмотрим для примера русский алфавит с буквами. Пусть используется русский алфавит заглавных букв, без букв Й,Ё. В конец алфавита включен пробел. Пронумеруем алфавит от 1 до 32.

Пусть секретный ключ k=3 и необходимо зашифровать фразу Х=ЗА.

З = (8+3)mod 33 = 11

А = (1+3)mod 33 = 4

Следовательно, в зашифрованном виде фраза выглядит так: КГ.

Дешифрация выполняется в обратом порядке.

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

При полиалфавитной замене используется несколько алфавитов замены. Пусть применяют L алфавитов замены. Тогда для первого символа открытого текста замена выполняется из первого алфавита, для второго символа – из второго, для L-го символа – из L-го алфавита. Для каждого из алфавитов реализация метода аналогична реализации моноалфавитной замены. При дешифровании и шифровании текст делится на отдельные блоки из l символов, определить для каждого символа свой алфавит замены и реализовать метод моноалфавитной замены.

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

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