• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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


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

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

Немного истории.

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

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

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

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

s3d.png

Видим что
Код:
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 мы займемся взломом этих шифров и продолжим нашу тему с простыми шифрами. Также мы напишем программный код для действий описанных в этой и следующей статье.

До скорого)

Всем ДЦЁУСУЛЖ
 
Последнее редактирование:

SearcherSlava

Red Team
10.06.2017
943
1 259
BIT
113
Литература по криптографии:
































 
  • Нравится
Реакции: Vertigo и Глюк

DaXik

One Level
21.09.2019
4
1
BIT
0
Либо я не очень внимателен, либо третьей части попросту нет! Неужели автор никогда не выпустит замечательную статью на тему криптографии?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!