Давайте рассмотрим пример создания пары ключей PGP и использования ключей для шифрования и дешифрования.

Генерация ключей PGP в MacOS отличается от Windows. Чтобы сгенерировать пару ключей PGP в MacOS, вам необходимо установить следующее:

  • GnuPG
  • Средний балл
  • модуль python-gnupg, если вы планируете генерировать ключи с помощью Python 3

Вот как вы установите это на MacOS:

Теперь, когда у вас настроена MacOS, вот как вы можете сгенерировать ключи с помощью инструмента командной строки GnuPG:

В Python 3:

Если вы хотите сгенерировать ключ PGP в хранилище ключей с помощью Python 3.9.3+, вам сначала нужно будет установить модуль GnuPG для Python 3 по протоколу pip:

pip3 install python-gnupg

Вот код Python 3 для генерации ключа PGP в хранилище ключей:

Этот код автоматически помещает ключ PGP в хранилище ключей. Адрес электронной почты - это ваш уникальный идентификатор для доступа к ключу из хранилища ключей. Как вы увидите в примерах ниже, для шифрования файла мы будем использовать часть открытого ключа из хранилища ключей; однако для расшифровки того же файла мы будем использовать часть закрытого ключа с парольной фразой.

Шифрование:

Давайте теперь подробнее рассмотрим, как зашифровать содержимое текстового файла с помощью Python 3 и части открытого ключа PGP из хранилища ключей:

Вот содержимое файла ./textfiles/almir.txt:

После выполнения скрипта Python:

$ python3 my_pgp_encrypt.py

Зашифрованное содержимое входного файла сохраняется в ./textfiles/almir.txt.encrypted файле:

Расшифровка:

Чтобы расшифровать содержимое этого файла, нам необходимо использовать закрытый ключ PGP из хранилища ключей, а при использовании закрытого ключа требуется кодовая фраза. Вот код Python для этого:

Выполним код расшифровки:

$ python3 my_pgp_decrypt.py

Согласно нашему коду Python файл с расшифрованным содержимым: ./textfiles/almir.txt.encrytped.decrypted.

Пришло время разбить этот код на модули и обернуть его в общую библиотеку, которую я могу легко использовать в будущем.

В Windows?

Я не пробовал код Python в Windows 10, но я поигрался с генерацией пары ключей PGP и экспортом открытого и закрытого ключей:

  • Загрузите инструмент Kleopatra: https://www.gpg4win.org/thanks-for-download.html
  • Затем используйте графический интерфейс Kleopatra для генерации пары ключей и экспорта открытых и закрытых ключей.

Спасибо, что прочитали эту статью. Продолжайте гикать !!

Альмир Мустафик