Наука
Ивентология Helgus ~ µастер ~ Kласс: Это незавершённая статья по ивентологии и её применениям

Шифр замены один из наиболее известных и часто используемых шифров в Криптографии, его еще называют шифром подстановок.

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


Исторический пример[]

Шифр Цезаря[]

Историческим примером шифра замены является шифр Цезаря (I век до н.э.). Он заключался в следующем: каждая буква алфавита заменялась другой буквой, из этого алфавита, идущей за данной через некоторый интервал. Возьмем интервал равный 3 [1].

Алфавит

А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Э Я

алфавит со сдвигом

Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я А Б В

Таким образом буква А будет заменяться буквой Г, Б – Д, В – Е, и т.д. Зашифруем слово «РИМ»:

Р У

И Л

М П

Получили: РИМ УЛП

Запишем при помощи формул М := РИМ;


Слово «ЗАМЕНА»

З К;

А Г;

М П;

Е И;

Н Р;

А Г;

М := ЗАМЕНА

E(M) = КГПИРГ

Шифр Виженера[]

Квадрат Виженера выглядит следующим образом:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Система Виженера подобна системе Цезаря, в которой ключ меняется от шага к шагу. Квадрат используется как для шифрования так и для дешифрования. Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею — строки, соответствующие буквам ключа в порядке следования этих букв в ключе шифрования. Так, для сообщения SECRET и ключа CRYPTO находим пересечения S-строки и C-столбца: получаем букву T. Закодированное сообщение будет иметь вид: TNECLF. Для расшифрования находит в C – строке лежит буква T? Получаем S.

Нетрудно видеть, что процедуры как прямого, так и обратного преобразования являются строго формальными, что позволяет реализовать их алгоритмически. Более того, обе процедуры легко реализуются по одному и тому же алгоритму.

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

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

Одноалфавитные замены[]

Рассмотри другой шифр. Представим ситуацию, что американская разведка перехватила сообщение адресованное японскому флотскому офицеру, перед атакой на Перл-Харброр [2].

19 17 17 19 14
20 23 18 19 08
12 16 19 08 03
21 08 25 18 14
18 06 03 18 08
15 18 22 18 11

Видно, что представлены числа не превышающие число 26 – количество букв в латинском алфавите. Можно сделать предположение, что каждая буква заменена некоторым числом.

Тогда, мы всего возможных вариантов замены букв можно посчитать по формуле

=


В сообщение 16 букв, n =16, а во всем алфавите 26, k = 26. Получаем размещение без повторения 16 из 26, т.е.

И это равно

Чаще всего встречается число 18. Заменим 18 на букву E – самую распространенную букву.

19 17 17 19 14
20 23 E 19 08
12 16 19 08 03
21 08 25 E 14
18 06 03 E 08
15 E 22 E 11

Тогда остается

вариантов.

Рассмотрим первую пятерку цифр: 19 17 17 19 14. По нашему предположению, что каждое число буквы, можно сделать вывод, что или 19 – гласная, а 17 – согласная, или наоборот, т.к. в слове не может быть 4 гласных (согласных) подряд. Поскольку 19 встречается чаще (четыре раза), она скорее может оказаться гласной, чем 17 (которая встречается только дважды). После Е самая частая гласная — А. Пусть 17 — А.

A 17 17 A 14
20 23 E A 08
12 16 A 08 03
21 08 25 E 14
18 06 03 E 08
15 E 22 E 11

Так, как нам известно, что сообщение адресовано японскому флотскому офицеру, то можно предположить, что первое слово Attack – атака. В таком случае 17 — Т, 14 — С и 20 — К.

A T T A C
K 23 E A 08
12 16 A 08 03
21 08 25 E C
18 06 03 E 08
15 E 22 E 11

Также, нам, сейчас, известно, что атака была на Перл-Харбор (Pearl Harbor) 7 декабря, и в сообщение встречается только одна пара EA – тогда пусть 23 – P, 08 – R, 12 – L.

A T T A C
K P E A R
L 16 A R 03
21 R 25 E C
E 06 03 E R
15 E 22 E 11

И уже не трудно догадаться, что 16 – H, 03 – B, 21 – O, 25 – D, 06 – M, 15 – S, 22 – V, 11 – N.

Таким образом, получаем сообщение

A T T A C
K P E A R
L H A R B
O R D E C
E M B E R
S E V E N

Открытый текст: ATTACK PEARL HARBOR DECEMBER SEVEN

Многоалфавитные замены[]

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

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

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

Многоалфавитная замена

a b c z

является ключом шифра замены [3].

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


А Б В Г Д Е Ж З И Й К М Н О П Р
21 37 14 22 01 24 62 73 46 23 12 08 27 53 35 04
40 26 63 47 31 83 88 30 02 91 72 32 77 68 60 44
10 03 71 82 15 70 11 55 90 69 38 61 54 09 84 45
С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я
20 13 59 25 75 43 19 29 06 65 74 48 36 28 16
52 39 07 49 33 85 58 80 50 34 17 56 78 64 41
89 67 93 76 18 51 87 66 81 92 42 79 86 05 57

то сообщение «я знаком с шифрами замены» может быть зашифровано, например, любым из следующих трех способов:

16 55 54 10 69 09 61 89 29 90 49 44 10 08 02 73 21 32 83 54 74
41 55 77 10 23 68 08 20 66 90 76 44 21 61 90 55 51 61 83 84 42
57 30 27 10 91 68 32 20 80 02 49 45 40 32 46 55 40 08 83 27 42


Такой вид кодирования, называется шифрование методом ```многоалфавитной``` подстановки.

Литература[]

1. Бабаш А.В., Шанкин Г.П. Криптография: аспекты защиты. М.: Солон – Р, 2002.

2. Стивенсон Нил. Криптономикон (Stephenson N. Cryptonomicon. N. Y.: Avon, 1999)

3. Ященко В.В., ред. Введение в криптографию. М: МЦНМО, 2000

См.также[]


Nomaan 08:31, 11 августа 2008 (UTC)