Шифрования с автоключом при использовании
криптограммы
Ш И Ф Р О В А Н И Е _ З А М Е Н О Й |
К Л Ю Ч В Ф Т З С Ч У Х Ъ Э У Э Ы Й |
36 21 52 41 18 24 20 22 27 30 53 30 24 43 26 44 39 20 |
В Ф Т З C Ч У Х Ъ Э У Э Ы Й Щ К Й У |
Методы перестановки. При использовании для шифрования данных методов перестановки символы открытого текста переставляются в соответствии с некоторыми правилами.
Пример 7. Открытый текст: "ШИФРОВАНИЕ_ПЕРЕСТАНОВКОИ". Ключ (правило перестановки): группы из 8 букв с порядковыми номерами 1.2.....8 переставить в порядок 3-8-1-5-2-7-6-4.
Шифротекст: "ФНШОИАВР_СИЕЕЕРПННТВАОКО".
Можно использовать и усложненную перестановку. Для этого открытый текст записывается в матрицу по определенному ключу k1. Шифртекст образуется при считывании из этой матрицы по ключу k2.
Пример 8. Открытый текст:
"ШИФРОВАНИЕ_ПЕРЕСТАНОВКОЙ".
Матрица из четырех столбцов:
Ключи: k1 3-4-2-5-1-6; k2 4-2-3-1.
Исходная матрица
Ш | и | Ф | Р | |
О | в | А | Н | |
И | е | П | ||
Е | р | Е | С | |
Т | а | Н | О | |
В | к | О | Й |
Запись по строкам в соответствии с ключом k1.
1 И Е _ П
2 Е Р Е С
3 О В А Н
4 Т А Н О
5 Ш И Ф Р
6 В К О Й
1 2 3 4
Чтение по столбцам в соответствии с ключом k2.
Шифротекст: "ПСНОРЙЕРВАИК_ЕАНФОИЕОТШВ".
Методы аналитических преобразований.Шифрование методами аналитических преобразований основано на понятии односторонней функции. Функция у=f(х) является односторонней, если она за сравнительно небольшое число операций преобразует элемент открытого текста х в элемент шифротекста у для всех значений х из области определения, а обратная операция (вычисление x=F-1(y) при известном шифротексте) является вычислительно трудоемкой.
В качестве односторонней функции можно использовать следующие преобразования:
1) умножение матриц;
2) решение задачи об укладке ранца;
3) вычисление значения полинома по модулю;
4) экспоненциальные преобразования и другие.
Метод умножения матриц использует преобразование вида:
Y=CX.
где Y=||y1,y2, ...,yn||Т .
С=||Cij||
X=||x1,x2, ...,xn||
Пример 9. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08").
1 3 2
Матрица С: C = 2 1 5
3 2 1
1 3 2 16
2 1 5 x 17 = | 85 94 91 |
3 2 1 09
1 3 2 11
2 1 5 x 01 = | 30 63 43 |
3 2 1 08
Шифротекст: "85 94 91 30 63 43".
Задача об укладке ранца формулируется следующим образом. Задан вектор С=|c1,c2,...,cn|, который используется для шифрования сообщения, каждый символ si которого представлен последовательностью из n бит si=|x1,x2,...,xn|, хk Î {0,1}.
Шифротекст получается как скалярное произведение С×si.
Пример 10. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08").
Вектор С={1,3,5,7,11}.
Запишем код каждой буквы открытого текста в двоичном виде, используя пять разрядов.
П Р И К А З
10000 10001 01001 01011 00001 01000
Произведем соответствующие операции:
y1=1×1=1
y2=1×1+1×11=12
y3=1×3+1×11=14
y4=1×3+1×7+1×11=21
у5=1×11=11
y6=1×3=3.
Шифротекст: "01 12 14 21 11 03".
Метод полиномов основан на преобразовании
yi = xin+a1×xin-1+...+an×xi (mod р).
где n, а1, а2...аn - целые неотрицательные числа, не превосходящие р, 1£хi, уi£р; р - большое простое число.
Пример 11. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08").
Полином: уi=xi3+2×xi2+3×xi+4(mod 991).
y1=163+2×162+3×16+4(mod 991)=696
y2=173+2×172+3×16+4(mod 991)=591
у3=93+2×92+3×9+4(mod 991)=922
у4=113+2×112+3×11+4(mod 991)=619
y5=13+2×12+3×1+4(mod 991)=10
у6=83+2×82+3×8+4(mod 991)=668.
Шифротекст: "696 591 922 619 010 668".
Экспоненциальный шифр использует преобразование вида
уi =a(xi) (mod р),
где хi - целое, 1£хi£р-1;
p - большое простое число;
a - целое, 1£a£p.
Пример 12. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08"); a=3; p=991.
y1=316(mod 991)=43046721 (mod 991 )=654
у2=317(mod 991)=129140163(mod 991)=971
у3=39 (mod 991) = 19683 (mod 991 ) =854
y4=311(mod 991)=177147(mod 991)=749
у5=31 (mod 991 )=3
y6=38 (mod 991 )=6561 (mod 991 )=615.
Шифротекст: "654 971 854 749 003 615".
Методы гаммирования. Особым случаем метода аналитических преобразований является метод, основанный на преобразовании
yi=xi ++ hi
где уi - i-й символ шифротекста;
хi - i-й символ открытого текста;
hi - i-й символ гаммы;
++ - выполняемая операция (наложение гаммы).
Различают два случая: метод конечной гаммы и метод бесконечной гаммы. В качестве конечной гаммы может использоваться фраза, а в качестве бесконечной - последовательность, вырабатываемая датчиком псевдослучайных чисел.
Пример 13. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08").
Гамма: "ГАММА" ("04 01 13 13 01").
Операция: сложение по mod 33.
y1= 16+4(mod 33)=20
y2= 17+1(mod 33)=18
y3= 9+13(mod 33)=22
y4= 11+13(mod 33)=24
y5= 1+1(mod 33)=2
y6= 8+4(mod 33)=12.
Шифротекст: "УСХЧБЛ" ("20 18 22 24 02 12").
Пример 14. Открытый текст: "ПРИКАЗ" ("16 17 09 11 01 08").
Первые значения датчика: "21794567".
Операция: сложение по mod 2.
Запишем код каждой буквы открытого текста в двоичном виде, используя пять разрядов, а каждую цифру гаммы - используя четыре разряда:
10000 10001 01001 01011 00001 01000
++
00100 00101 11100 10100 01010 11001
10100 10100 10101 11111 01011 10001.
Шифротекст: "УУФЮКР".
Комбинированные методы.Наиболее часто применяются такие комбинации, как подстановка и гамма, перестановка и гамма, подстановка и перестановка, гамма и гамма.
Примером может служить шифр Френдберга, который комбинирует многоалфавитную подстановку с генератором псевдослучайных чисел, суть алгоритма поясняется следующей схемой:
1) установление начального состояния генератора псевдослучайных чисел;
2) установление начального списка подстановки;
3) все символы открытого текста зашифрованы?
4) если да - конец работы, если нет -продолжить;
5) осуществление замены;
6) генерация случайного числа;
7) перестановка местами знаков в списке замены;
8) переход на шаг 4.
Особенность данного алгоритма состоит в том, что при большом объеме шифротекста частотные характеристики символов шифротекста близки к равномерному распределению независимо от содержания открытого текста.
Пример 15. Открытый текст: "АБРАКАДАБРА".
Используем следующую замену:
А Б Д К Р
X V N R S
Последовательность чисел, вырабатываемая датчиком: 31412543125.
1. у1=Х. После перестановки символов исходного алфавита получаем таблицу(h1=3).
Д Б А К Р
X V N R S
2. у2=V. Таблица замены после перестановки (h2=1) принимает вид:
Б Д А К Р
X V N R S
Осуществляя дальнейшие преобразования в соответствии с алгоритмом Френдберга, получаем шифротекст: "XVSNSXXSSSN".
Одной из разновидностей метода гаммирования является наиболее часто применяемый метод многократного наложения гамм.
При составлении комбинированных шифров необходимо проявлять осторожность, так как неправильный выбор составлявших шифров может привести к исходному открытому тексту. Простейшим примером служит наложение одной гаммы дважды.
СОВРЕМЕННЫЕ СИММЕТРИЧНЫЕ