Всем привет дорогие друзья и пассивные читатели нашего прекрасного форума!
Сегодня мы продолжим нашу речь о криптографии и поговорим о самых простейших алгоритмах шифрования.
[1] - Шифр цезаря.
Этот шифр подразумевает собой своеобразный сдвиг на n букв и является очень популярным(не в использовании). Давайте разберем его логику подробней. Представим что нам нужно зашифровать слово
Вернемся к заданию. Вот тут нам пригодится ключ.
Он будет состоять из целого числа!
Допустим ключ K будет равен 5. И сдвиг при этом будет на пять позиций влево.
Примерно представим исходный алфавит.
Видим что
И просто прибавим к каждому числу 5. Прибавим, т.к. на 5 позиций влево.
А если бы на 5 позиций вправо, то вычитали бы.
И в конце всех изменений получаем
Таким образом
Надеюсь это вам понятно)
[2] - Модификация шифра.
Этот шифр вскоре был модифицирован графом Гронсфельдом. Тут все просто. Длина ключа должна ровнятся длине шифруемого сообщения. Давайте возьмем новое слово. К примеру
Из этого мы должны понимать, что
Допустим ключ будет равен
Тогда, воспользуясь нашей прошлой таблицей слаживаем по такой схеме
Подробней я обьяснить не могу. Думаю вы поймете все на практике
Первый символ увеличим на первую цифру нашего ключа, второй символ на вторую цифру и так далее. Соответственно
Хорошенько переварите эту информацию! Сегодня статья вышла не большая, но самое интересное вас ждет в части 3.
П.С: В части 3 мы займемся взломом этих шифров и продолжим нашу тему с простыми шифрами. Также мы напишем программный код для действий описанных в этой и следующей статье.
До скорого)
Всем ДЦЁУСУЛЖ
Сегодня мы продолжим нашу речь о криптографии и поговорим о самых простейших алгоритмах шифрования.
[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 мы займемся взломом этих шифров и продолжим нашу тему с простыми шифрами. Также мы напишем программный код для действий описанных в этой и следующей статье.
До скорого)
Всем ДЦЁУСУЛЖ
Последнее редактирование: