Эл Свейгарт - Криптография и взлом шифров на Python
Название: | Криптография и взлом шифров на Python | |
Автор: | Эл Свейгарт | |
Жанр: | Компьютерная безопасность, Хакерство, Программирование: прочее, Python | |
Изадано в серии: | неизвестно | |
Издательство: | Диалектика | |
Год издания: | 2020 | |
ISBN: | 978-5-907203-02-0 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Криптография и взлом шифров на Python"
Научитесь программировать на Python, создавая и взламывая шифры, с помощью которых пересылаются секретные сообщения! После знакомства с основами программирования на Python вы узнаете, как создавать, тестировать и взламывать классические шифры, включая перестановочный шифр и шифр Виженера. Постепенно мы перейдем от простых алгоритмов, таких как обратный шифр и шифр Цезаря, к обсуждению криптосистем с открытым ключом, применяемых в наши дни для защиты онлайн-транзакций. В каждой главе приводится полноценная программа с пошаговым описанием алгоритма ее работы. Прочитав книгу, вы научитесь программировать на Python и сможете создавать собственные криптографические системы! Основные темы книги: создание криптографических приложений на Python; применение словарей для быстрой проверки того, содержит ли дешифрованное сообщение осмысленный текст на английском языке или случайный набор букв; создание тестов, позволяющих убедиться в том, что код шифрования и дешифрования работает корректно; программирование (и взлом!) аффинного шифра, в котором для шифрования сообщения применяется модульная арифметика; взлом шифров методом грубой силы и с помощью частотного анализа.
Читаем онлайн "Криптография и взлом шифров на Python". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (119) »
Разумеется, секретные сообщения не всегда остаются секретными. Крипто
аналитик, т.е. взломщик кодов, или хакер, способен взламывать и читать сооб
щения , зашифрованные другими людьми. Цель книги - научить вас зашиф
ровывать и расшифровывать сообщения с помощью различных методов. К
счастью, все те методы взлома, которые вы изучите, не настолько опасны,
чтобы у вас из-за них могли возникнуть проблемы с законом.
Кодь1 и шифры
В отличие от шифров коды изначально создаются такими, чтобы они
были понятны и общедоступны. Коды заменяют буквы символами, кото
рые любой человек может использовать для перевода в форму сообщения.
32
Гл ава 1
В начале XIX века развитие электрического телеграфа привело к созда
нию известного кода, обеспечивавшего почти мгновенный обмен сообще
ниями между континентами по проводам. Сообщения, отправляемые по
телеграфу, достигали своих адресатов гораздо быстрее, чем прежняя лоша
диная почта, перевозившая мешки с письмами. Однако телеграф не позво
лял отправлять сообщения в том же виде, в каком они были написаны на
бумаге, т.е. в виде последовательностей букв. По нему могли пересылать
ся только два типа электрических импульсов: короткий, который назвали
"точка" , и длинный, который назвали "тире".
Для преобразования букв алфавита в электрические импульсы необхо
димо располагать системой кодов, с помощью которой можно было бы пе
реводить привычные для нас буквы на язык точек и тире. Процесс преобра
зования букв алфавита в последовательности точек и тире для отправки по
телеграфу называется кодированием, а обратный процесс преобразования
электрических импульсов в буквы при получении сообщения декодирова
нием. Способ, применяемый для кодирования и декодирования телеграф
ных сообщений (а впоследствии и сообщений, передаваемых по радио) ,
был изобретен Сэмюэлем Морзе и Альфредом Вейлем и получил название
код Морзе, или азбука Морзе (табл. 1.1) .
-
Таблица 1 . 1 . Международная азбука Морзе
Л атинский
Код
СИМВОЛ
А
в
с
D
Е
F
G
н
·- · · ·
-·-·
-··
•
· ·-·
--·
• • • •
• •
· ---
к
L
м
-··-· ·
Л атинский
символ
N
о
о
Q
R
s
Код
-·
v
w
х
у
z
1
2
·--·
--··-·
• • •
3
4
5
6
7
т
u
Цифра
· · · · · ·-- · · -
8
9
о
Код
· ---· · --· · ·-· · · ·• • • • •
- · · · ·
-- · · ·
--- · ·
---- ·
-----
- · ---· ·
И нструменты " бум аж ной " к ри птогр афии
33
Используя телеграфный ключ для передачи точек и тире, телеграфист
отправлял текстовые сообщения, способные почти мгновенно достигать
адресата, находящегося на другом конце земного шара 1 !
В отличие от знакового кодирования шифр - специфический тип ко
дов, обеспечивающих сохранение содержания сообщения в тайне. Шифр
можно использовать для того, чтобы преобразовать исходный текст, напи
санный на понятном языке (так называемый простой текст) , в бессвязный
набор символов, называемый шифротекстом, который скрывает смысл
секретного сообщения. Шифр - это набор правил преобразования меж
ду простым и зашифрованным текстом. В правилах для шифрования и
дешифрования часто используется один и тот же ключ, который называ
ется секретным и известен только отправителю и получателю сообщения.
В книге вы изучите несколько видов шифров и напишете программы для
шифрования и дешифрования текста с их помощью. Но сначала следует
научиться шифровать сообщения вручную, используя простые средства
"бумажной" криптографии.
Ш ифр Цеза ря
Первый из шифров, который мы изучим, - шифр Цезаря , названный
так в честь Юлия Цезаря , который пользовался им 2000 лет тому назад.
Хорошая новость состоит в том, что он прост и несложен для изучения. Но
есть и плохая новость: в силу простоты этого шифра криптоаналитику не
составит большого труда взломать его. Тем не менее ознакомление с ним
даст вам полезный опыт.
Шифр Цезаря основан на замене одной буквы другой после предва
рительного смещения всего алфавита на определенное число позиций.
Юлий Цезарь заменял буквы в своих сообщениях путем смещения алфави
та на три позиции и последующей замены каждой буквы соответствующей
буквой из смещенного алфавита.
Например, вместо каждой буквы 'N он подставлял букву D --">
- 1
- 2
- 3
- 4
- . . .
- последняя (119) »
Книги схожие с «Криптография и взлом шифров на Python» по жанру, серии, автору или названию:
Михаил Васильевич Адаменко - Основы классической криптологии. Секреты шифров и кодов Жанр: Математика Год издания: 2016 |
Фрэнк Рубин - Криптография с секретным ключом Жанр: Компьютерная безопасность Год издания: 2022 |
Эл Свейгарт - Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих Жанр: Программирование: прочее Год издания: 2017 |
Эл Свейгарт - Учим Python, делая крутые игры Жанр: Программирование игр Год издания: 2022 Серия: Мировой компьютерный бестселлер |
Другие книги автора «Эл Свейгарт»:
Эл Свейгарт - Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих Жанр: Программирование: прочее Год издания: 2017 |
Эл Свейгарт - Scratch 3. Изучайте язык программирования, делая крутые игры! Жанр: Учебники и самоучители по компьютеру Год издания: 2023 Серия: Программирование для детей |
Эл Свейгарт - Python. Чистый код для продолжающих Жанр: Python Год издания: 2022 Серия: Библиотека программиста |
Эл Свейгарт - Программируй в Minecraft. Строй выше, выращивай быстрее, копай глубже и автоматизируй всю скучную... Жанр: Детская образовательная литература Год издания: 2019 Серия: Программирование для детей |