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

До скорого)

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

https://htrd.su/wiki/_media/zhurnal/2012/03/23/todo_prikladnaja_kriptografija/cryptoshn.pdf
http://mkma.math.msu.su/Sites/mkma/Uploads/Mineev_Chubarikov.files1.pdf
http://cryptography.ru/wp-content/uploads/2013/09/intro_to_crypto.pdf
http://www.math.nsc.ru/~tokareva/lib/crypto-online.pdf
http://kpfu.ru/docs/F366166681/mzi.pdf

https://books.ifmo.ru/file/pdf/1989.pdf
http://inis.jinr.ru/sl/M_Mathematic...my v kriptografii (MCNMO, 2003)(ru)(326s).pdf
http://library.krasn.ru/trudy/2008/Novikov_kript_metod_posobie.pdf
https://www.twirpx.com/file/1630862/
http://www.cs.umd.edu/~waa/414-F11/IntroToCrypto.pdf
https://crypto.stanford.edu/~dabo/cryptobook/draft_0_2.pdf
https://murdercube.com/files/Computers/Computer Security/Understanding Cryptography.pdf
http://www.inf.ufsc.br/~bosco.sobra...allings_Cryptography_and_Network_Security.pdf
http://faculty.nps.edu/dedennin/publications/Denning-CryptographyDataSecurity.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.182.9999&rep=rep1&type=pdf
http://math.fau.edu/bkhadka/Syllabi/A handbook of applied cryptography.pdf
https://hyperelliptic.org/tanja/teaching/cryptoI13/cryptodict.pdf
http://math.tut.fi/~ruohonen/MC.pdf
http://crypto.cs.mcgill.ca/~simonpi...graphy in C and C%2B%2B%2C Second Edition.pdf
https://www.cs.cornell.edu/courses/cs4830/2010fa/lecnotes.pdf
http://web.cs.ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf
https://inventwithpython.com/hackingciphers.pdf
http://www.sagemath.org/files/kohel-book-2008.pdf
https://theswissbay.ch/pdf/Book/Cryptography and Network Security 5th ed - William Stallings.pdf
https://pdfs.semanticscholar.org/bcf6/e0dca108cabcc47dc551c5fb1f05867cd102.pdf
http://www.cse.chalmers.se/edu/year/2017/course/TDA352/lectures/Lectures01Notes.pdf
https://eprint.iacr.org/2015/1242.pdf
https://eccc.weizmann.ac.il/resources/pdf/foc.pdf
http://www.vssut.ac.in/lecture_notes/lecture1428550736.pdf

https://people.cs.nctu.edu.tw/~rjchen/ECC2012S/Elliptic Curves Number Theory And Cryptography 2n.pdf
 
  • Нравится
Реакции: Vertigo и Глюк
Либо я не очень внимателен, либо третьей части попросту нет! Неужели автор никогда не выпустит замечательную статью на тему криптографии?
 
Либо я не очень внимателен, либо третьей части попросту нет! Неужели автор никогда не выпустит замечательную статью на тему криптографии?

Здрав будь! Какой букварик ищешь?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab