Эл Свейгарт - Криптография и взлом шифров на Python
Название: | Криптография и взлом шифров на Python | |
Автор: | Эл Свейгарт | |
Жанр: | Компьютерная безопасность, Хакерство, Программирование: прочее, Python | |
Изадано в серии: | неизвестно | |
Издательство: | Диалектика | |
Год издания: | 2020 | |
ISBN: | 978-5-907203-02-0 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Криптография и взлом шифров на Python"
Научитесь программировать на Python, создавая и взламывая шифры, с помощью которых пересылаются секретные сообщения! После знакомства с основами программирования на Python вы узнаете, как создавать, тестировать и взламывать классические шифры, включая перестановочный шифр и шифр Виженера. Постепенно мы перейдем от простых алгоритмов, таких как обратный шифр и шифр Цезаря, к обсуждению криптосистем с открытым ключом, применяемых в наши дни для защиты онлайн-транзакций. В каждой главе приводится полноценная программа с пошаговым описанием алгоритма ее работы. Прочитав книгу, вы научитесь программировать на Python и сможете создавать собственные криптографические системы! Основные темы книги: создание криптографических приложений на Python; применение словарей для быстрой проверки того, содержит ли дешифрованное сообщение осмысленный текст на английском языке или случайный набор букв; создание тестов, позволяющих убедиться в том, что код шифрования и дешифрования работает корректно; программирование (и взлом!) аффинного шифра, в котором для шифрования сообщения применяется модульная арифметика; взлом шифров методом грубой силы и с помощью частотного анализа.
Читаем онлайн "Криптография и взлом шифров на Python". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (119) »
ждой буквы 'В' - букву 'Е' и т.д. Если Цезарю нужно было сдвинуть букву,
находящуюся в конце алфавита, скажем , 'У' , то он возвращался в нача
ло алфавита, смещаясь в целом на три позиции и подставляя букву ' В ' .
В этом разделе м ы будем шифровать сообщения вручную , применяя
шифр Цезаря .
'
1
Более подробную информацию об азбуке Морзе можно найти
h t t p s : / / ru . w i k i p e d i a . o r g / w i k i /Aзбyкa_Mop з e .
34
Гл ава 1
в
Википедии :
' ,
Чтобы упростить преобразование простого текста в зашифрованный с
помощью шифра Цезаря, мы будем использовать шифровалъный диск. Он со
стоит из двух колец, каждое из которых разбито на 26 ячеек ( по числу букв
английского алфавита) . Внешнее кольцо представляет алфавит исходного
текста, а внутреннее - соответствующие буквы зашифрованного текста.
Буквы на внутреннем кольце пронумерованы числами от О до 25. Эти числа
определяют ключ шифрования , в данном случае - количество позиций , на
которое нужно перейти от буквы '/\ к соответствующей букве на внутрен
нем кольце. Поскольку сдвиг выполняется по кругу, смещение с ключом,
значение которого превышает 25, продолжается с начала алфавита, соот
ветственно, смещение на 26 позиций равносильно отсутствию сдвига, сме
щение на 27 позиций - сдвигу на 1 позицию и т.д.
Виртуальный шифровальный диск доступен по адресу h t t p s : / /
i nventwithpython . corn/ ciphe rwhee l / (рис. 1.1) . Чтобы провернуть диск,
щелкните на нем один раз и перемещайте указатель мыши по кругу, пока не
будет достигнута нужная конфигурация. Повторный щелчок останавлива
ет дальнейшее вращение диска.
S
А
о
Т
В
1
U
С
2
V
О
3
W
Е
4
Х
F
5
У
G
б
Z
�
7
8
I
8
Рис. J . J .
Cl1ck "-h�e! to rotate.
В С D Е F G Н I
J
К L М N О Р Q R
J
К L v \ О Р Q R 5 Т U V W Х У Z
9 10 11 12 1 3 14 1 5 16 1� 13 19 20 2 1 22 2 3 24 2 5
Онлайнов ый ш ифровальный диск
Вы сможете получить бумажную версию шифровального диска, распе
чатав изображение, доступное по указанному адресу. Вырежьте два круга,
И нструм енты " б ум ажной " к риптогр афии
35
вложите меньший из них в больший и закрепите по центру булавкой, что
бы их можно было вращать.
Используя либо бумажную, либо виртуальную модель, вы сможете вруч
ную зашифровать секретное сообщение.
Шифрование '°о6щенп с помощью шнфровалыоrо диска
В качестве примера зашифруем сообщение "ТНЕ SECRET PASSWORD
IS ROSEB UD" с помощью онлайнового шифровального диска. Проверните
диск так, чтобы деления внутреннего и внешнего кругов совпадали. Обра
тите внимание на изображение точки под буквой 'N. . Число на внутреннем
круге под этой точкой и есть ключ шифрования, который будет приме
няться при данной конфигурации диска.
На рис. 1 . 1 таким числом является 8. Мы используем его в качестве клю
ча для того, чтобы зашифровать сообщение (рис. 1 .2 ) .
т
н
Е
s
Е
с
R
Е
Т
р
А
s
s
w о
R
D
!
в
р
м
Рис. J .2.
А м к z м в
I
s
R о s
в
u
D
z w А м J
с
L
Е
1
х
I
А А Е
w z
L
Q А
Шифрование сообщения с помощью ш ифра Цезаря по ключу В
Найдите каждую букву сообщения на внешнем круге и замените ее со
ответствующей буквой из внутреннего круга. В данном примере сообще
ние начинается с буквы 'Т' (первая буква 'Т' во фразе "ТНЕ SECRET. " " ) ,
поэтому находим букву 'Т' н а внешнем круге , а затем соответствующую
ей букву на внутреннем круге , которой является буква ' В ' . Таким обра
зом , в исходном сообщении буква 'Т' всегда будет заменяться буквой ' В ' .
( Если б ы в ы использовали другой ключ шифрования, т о каждая буква 'Т'
заменялась бы другой буквой . ) Следующая буква сообщения - ' Н ' , кото
рая превращается в букву ' Р ' . Далее буква 'Е' превращается в букву ' М ' .
Каждая буква внешнего круга всегда шифруется одной и той ж е буквой
внутреннего круга. Как только вы найдете первую букву 'Т' в сообщении
"ТНЕ SECRET" . " и увидите, что она шифруется буквой ' В ' , можете заме
нить буквой ' В ' все буквы 'Т' в сообщении с целью экономии времени ,
чтобы каждую букву приходилось искать н а шифровальном диске всего
лишь раз.
Завершив процесс шифрования всего исходного сообщения "ТНЕ
SECRET PASSWORD IS ROSEBUD", вы получите результирующее зашиф
рованное сообщение "ВРМ AMKZMB XIAAEWZL QA ZWAМJCL'. --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (119) »
Другие книги автора «Эл Свейгарт»:
Эл Свейгарт - Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих Жанр: Программирование: прочее Год издания: 2017 |
Эл Свейгарт - Scratch 3. Изучайте язык программирования, делая крутые игры! Жанр: Учебники и самоучители по компьютеру Год издания: 2023 Серия: Программирование для детей |
Эл Свейгарт - Большая книга проектов Python Жанр: Python Год издания: 2022 Серия: Библиотека программиста |
Эл Свейгарт - Криптография и взлом шифров на Python Жанр: Python Год издания: 2020 |