Привет, ребята,
Сегодня мы научимся применять навыки кодирования к криптографии, выполняя стенографию на основе изображений, которая включает в себя секретные сообщения на изображении.
Стенография использовался довольно долго, со времен Второй мировой войны он широко использовался для общения между союзниками, чтобы предотвратить захвату информации врагами
Я буду руководить вами о том, как сделать, используя две разные методы, один из которых включает в себя секретный ключ, а один – нет.
Требования
- Стегано
- Steganocryptopy
Монтаж
pip install steganocryptopy pip install stegano
Изображение стеганографии без ключа
Здесь будет скрывать наш скрытый текст в изображении без какого -либо ключа шифрования, поэтому получатель изображения способен расшифровать и мгновенно получить скрытый текст без каких -либо ключей
Плюсы : Преимущество этого просто, так как вы не будете иметь дело с какими -либо запоминающимися ключевыми вопросами
Минусы : Любой может расшифровать, если он использует ту же библиотеку, которую вы использовали во время шифрования.
Шифрование текста в изображение
Синтаксис
from stegano import lsb secret = lsb.hide(path_to_img, secret_msg) secret.save(ecrypted_img_name)
У вас должен быть образец изображения в папке проекта, чтобы скрыть сообщение, мы предоставим путь к нашему изображению в нашу библиотеку шифрования
Пример использования
>>> from stegano import lsb >>> secret = lsb.hide("sample.png", "Python is dangerous be careful") >>> secret.save("sample_secret.png")
Теперь, если вы посмотрите на папку Project, вы поймете, что есть новое изображение с именем sample_secret.png, нет, если он смотрит, что говорит вам, что состоит из скрытого MSG.
Дешифруя текст с изображения
Убедитесь, что изображение со скрытым текстом находится в папке проекта
Синтаксис
>>> from stegano import lsb >>>lsb.reveal(path_to_an_image)
Применение
>>> from stegano import lsb >>>lsb.reveal('sample_secret.png') 'Python is dangerous be careful'
Ну вот и все, теперь давайте погрузимся в сокрытие в изображение с секретным ключом
Стеганография изображения с секретным ключом
Здесь мы будем скрывать наш секретный текст в сообщении вместе с ключом шифрования, необходимым для его декодирования, поэтому только тот, который с секретным ключом может декодировать его.
Плюсы : Это очень безопасно, так как только те, у кого секретный ключ, могут расшифровать это
Минусы : Как только ключ шифрования потеряна, он усложняет процесс дешифрования
Шифрование текста в изображение
Синтаксис
>>>from steganocryptopy.steganography import Steganography >>> Steganography.generate_key(path_to_key) >>> encrypted = Steganography.encrypt(path_to_key, path_to_img, path_to_secretfile) >>> encrypted.save(encrypted_imgname)
Применение
Давайте предположим, что у меня есть файл, содержащий мой секретный ключ с именем Key, файл, состоящий из нашего скрытого сообщения с именем classified.us, и наше необработанное изображение с именем sample.png
>>>from steganocryptopy.steganography import Steganography >>> Steganography.generate_key("key") >>> encrypted = Steganography.encrypt("key","sample.png", "classified.us") >>> encrypted.save("Secret.png")
Теперь, как только вы запустите приведенный выше код, вы увидите новое изображение в папке проекта с именем secret.png, состоящим из секретного сообщения.
Дешифрование сообщения
Чтобы расшифровать изображение, вам понадобится файл, содержащий ключ, и Ваше зашифрованное изображение
Синтаксис
>>> from steganocryptopy.steganography import Steganography >>> Steganography.decrypt(path_to_key, path_to_image)
Применение
Давайте теперь увидим дешифтирование изображения, используя наш ключ
>>> from steganocryptopy.steganography import Steganography >>> Steganography.decrypt("key", "Secret_img.png") "Life is short you need Python"
Поздравляю, вы только что научились скрывать секретные сообщения на изображении, теперь не стесняйтесь поделиться со своими друзьями.
Оригинальная статья можно найти на kalebujordan.com
Я также рекомендую вам прочитать это
- Как преобразовать изображение, чтобы звучать в Python
- Как отслеживать номер телефона в Python
- Код Python для автоматизации выключения компьютера
- Как преобразовать .py в .exe
- Как отслеживать коронавирус с помощью python
- Как сделать свой собственный калькулятор графического интерфейса в Python
Оригинал: “https://dev.to/kalebu/learn-image-stenography-in-python-297k”