Криптография для начинающих - Полный курс Python (SHA-256, AES, RSA, пароли)
Криптография на Python: шифрование информации и создание электронных цифровых подписей с помощью пакета PyCrypto
Долго мучился с PyCrypto, в итоге получилась эта статья и полная реализация следующего протокола:
Этап отправки:
1. Алиса подписывает сообщение своей цифровой подписью и шифрует ее открытым ключом Боба (асимметричным алгоритмом).
2. Алиса генерирует случайный сеансовый ключ и шифрует этим ключом сообщение (с помощью симметричного алгоритма).
3. Сеансовый ключ шифруется открытым ключом Боба (асимметричным алгоритмом).
Алиса посылает Бобу зашифрованное сообщение, подпись и зашифрованный сеансовый ключ...
Шифр Цезаря: Простой, но вездесущий + Реализация на языке Python
Шифр Цезаря – это один из самых простых и известных шифров подстановки. Он основан на замене каждой буквы исходного текста на другую букву, сдвинутую на фиксированное количество позиций в алфавите. Например, при сдвиге на 3 позиции буква "A" заменяется на "D", "B" на "E" и так далее. Историческая справка: Шифр Цезаря назван в честь римского императора Гая Юлия Цезаря, который, согласно историческим источникам, использовал его для секретной переписки с генералами. Однако, существуют свидетельства, что подобные шифры использовались и раньше, например, в Древнем Египте...