[Сryptography for beginners] - Часть 2. Простые шифры.

[Сryptography for beginners] - Часть 2. Простые шифры.

@webware

t.me/webware

Всем привет дорогие друзья и пассивные читатели нашего прекрасного форума!

Сегодня мы продолжим нашу речь о криптографии и поговорим о самых простейших алгоритмах шифрования.


[1] - Шифр цезаря.

Этот шифр подразумевает собой своеобразный сдвиг на n букв и является очень популярным(не в использовании). Давайте разберем его логику подробней. Представим что нам нужно зашифровать слово

CODEBY
Шифр цезаря - в нем каждый символ заменяется другим символом, который находится (как я говорил ранее на n позиций левее или правее) на постоянном числе позиций. Т.е. если была буква D и если ее сдвинуть на 5 позиций влево, то мы получим - Y. И в нашем случае Y - это зашифрованное D.
Немного истории.​
По истории говорят, что шифр использовался Юлием Цезарем для секретных "разговоров" с генералами и защиты секретных сообщений.
Также говорят о том, что этот шифр использовали и некоторые его родственники. Самое интересное, утверждают историки, это то что Цезарь мог использовать не только его для шифрования своих сообщений.


Вернемся к заданию. Вот тут нам пригодится ключ. 

Он будет состоять из целого числа!


Допустим ключ K будет равен 5. И сдвиг при этом будет на пять позиций влево.

Примерно представим исходный алфавит.

Видим что 

C = 3
O = 15
D = 4
E = 5
B = 2
Y = 25

И просто прибавим к каждому числу 5. Прибавим, т.к. на 5 позиций влево.

А если бы на 5 позиций вправо, то вычитали бы.

И в конце всех изменений получаем

HTIJGD

Таким образом

Исходное слово --> CODEBY
Ключ --> 5(+)
Шифр --> HTIJGD

Надеюсь это вам понятно)


[2] - Модификация шифра.

Этот шифр вскоре был модифицирован графом Гронсфельдом. Тут все просто. Длина ключа должна ровнятся длине шифруемого сообщения. Давайте возьмем новое слово. К примеру

hack

Из этого мы должны понимать, что

Длинна сообщения = 4 символа
=> длинна ключа(K) тоже = 4

Допустим ключ будет равен

K = 1234

Тогда, воспользуясь нашей прошлой таблицей слаживаем по такой схеме

Меняем позицию символов сообщения на соответствующую этому символу цифру из ключа.

Подробней я обьяснить не могу. Думаю вы поймете все на практике

H - 8
A - 1
C - 3
K - 11

Первый символ увеличим на первую цифру нашего ключа, второй символ на вторую цифру и так далее. Соответственно

8 + 1 = 9 --> I
1 + 2 = 3 --> C
3 + 3 = 6 --> F
11 + 4 = 15 --> O

Исходное сообщение = hack
Ключ(K) = 1234
Шифр = icfo

Хорошенько переварите эту информацию! Сегодня статья вышла не большая, но самое интересное вас ждет в части 3.


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


До скорого)

Всем ДЦЁУСУЛЖ

Источник codeby.net

Report Page