• ЧТО ТАКОЕ КОКАИН? КАКОВЫ ЭФФЕКТЫ? КАКОВА ТИПИЧНАЯ ДОЗА? КАК УПОТРЕБЛЯЕТСЯ? ПРОВЕРКА НА ЧИСТОТУ? ОТКРЫТЬ

Шифрование текста и подпись файлов с помощью GPG

Nakomoto

Команда Секти
Гарант Секти
Реєстрація
27.10.24
Повідомлення
53
Репутація
1 040
Вподобайки
209
Бали
168
Депозит
10000 $
611010695-97644746-gpg.png

Приветствую всех посетителей форума! В данной статье я опишу алгоритм работы с таким инструментом, как GPG.

GPG (GNU Privacy Guard) - это инструмент для шифрования данных и цифровых подписей, который помогает защищать личную информацию и обеспечивать безопасную коммуникацию в интернете. Он является бесплатной альтернативой OpenPGP (Pretty Good Privacy), который основан на сочетании симметричной криптографии и криптографии с открытым ключом, и использует различные алгоритмы шифрования для обеспечения конфиденциальности и подлинности данных.

Протоколы шифрования GPG
  1. Шифрование с симметричным ключом:

    Это тип шифрования, при котором один и тот же секретный ключ используется как для шифрования, так и для расшифровки данных. Используется для шифрования фактического содержимого сообщения с помощью таких алгоритмов, как AES, Blowfish и Twofish. Быстро и эффективно для большого обьема данных, но требует безопасного обмена между отправителем и получателем.

  2. Шифрование с открытым ключом:

    Это тип шифрования, при котором для шифрования и расшифровки данных используются два разных ключа - публичный и приватный. Используется для шифрования симметричного ключа, который был задействован для шифрования содержимого сообщения, с помощью таких алгоритмов, как RSA и ElGamal. Подходит для безопасного обмена ключами, так как публичный ключ можно свободно распространять, а приватный остается у владельца. Может быть медленным для больших обьемов данных.

  3. Хеш-функции:

    Хэш-функции используются в GPG для создания цифрового отпечатка содержимого сообщения фиксированного размера, который затем используется для проверки целостности и подлинности сообщения. GPG поддерживает различные хэш-функции, включая SHA-1, SHA-256, SHA-512 и MD5.

    4. Цифровые подписи:

    Цифровые подписи используются в GPG для обеспечения подлинности и целостности содержимого сообщения. Цифровая подпись создается путем применения хэш-функции к содержимому сообщения и последующего шифрования полученного хэш-значения с помощью приватного ключа отправителя. Получатель может использовать публичный ключ отправителя для проверки цифровой подписи и убедиться, что сообщение не было подделано.

Начало работы

Чтобы начать работу с GPG, необходимо создать пару ключей, состоящую из публичного и приватного ключей. Публичный ключ используется для шифрования данных и проверки подписей, а приватный ключ - для расшифровки данных и подписи сообщений. Приватный ключ хранится в тайне, а публичный ключ предоставляется другим.

Чтобы сгенерировать пару ключей, вы можете использовать следующую команду в терминале:
Выбираете алгоритм шифрования (лучше RSA) и длину ключа (лучше 4096), далее ставите 0, если не хотите, чтоб время действия вашего ключа было ограничено по времени, затем пишете "y".

Будет предложено предоставить ваше имя и адрес электронной почты (можно ничего не писать), а также выбрать пароль для защиты вашего приватного ключа. После создания пары ключей вы можете экспортировать свой публичный ключ, чтобы поделиться им с другими:
gpg --export -a "имя ключа" > public_key.asc

Импорт публичного ключа другого человека. Используется, чтобы зашифровать для него данные или проверить его подписи:
gpg --import имя_ключа.asc

Команда для зашифровки файла:
gpg --encrypt --recipient "имя импортированного ключа" путь_к_файлу
Это задаст новый файл имя_файла.gpg, который может быть расшифрован только получателем с помощью его приватного ключа.

Расшифровать файл можно с помощью команды:
gpg –decrypt имя_файла.gpg

Команда для подписи сообщения:
gpg --sign --local-user "имя ключа" путь_к_файлу
В результате будет создан новый файл имя_файла.gpg, содержащий вашу цифровую подпись. Получатель может проверить подпись с помощью вашего публичного ключа, чтобы убедиться, что сообщение не было подделано.

Чтобы проверить вашу подпись, получателю необходимо импортировать ваш публичный ключ в свою связку ключей:
gpg --import ваш_публичный_ключ.asc

Проверить подпись с помощью вашего публичного ключа:
gpg --verify имя_файла.gpg
Эта команда проверит цифровую подпись в файле .gpg и убедится, что подпись была создана владельцем публичного ключа, который использовался для подписи сообщения.

Если подпись действительна, GPG выведет сообщение о том, что подпись хорошая и что файл был подписан вами:
gpg: Signature made Mon 10 Apr 2025 08:48:25
gpg: using RSA key 4FCCD9D204E4AA2A00D71C0609E5715428F6DBD6
gpg: Good signature from "testgpg" [ultimate]

Если подпись недействительна, GPG выдаст сообщение об ошибке:
gpg: Signature made [timestamp] using RSA key ID [key ID]
gpg: BAD signature from "Your Name <[email protected]>".

Помимо шифрования и подписи, GPG можно использовать для управления ключами. Перечислить свои ключи можно с помощью следующей команды:

Вы также можете отозвать ключ, если он был скомпрометирован или утерян:
gpg --edit-key "имя ключа"

Это пометит ваш ключ как отозванный и создаст сертификат отзыва, который вы должны хранить в безопасности на случай, если вам понадобится доказать, что ключ был отозван.

Итог

Теперь вы знаете, как работать с GPG, умеете генерировать пару ключей, импортировать ключи, шифровать и расшифровывать файлы, подписывать и проверять подпись файлов. Спасибо, что дочитали. Оставайтесь защищенными!
 
Это все конечно здорово, но а пробы будут? 😁
 
  • Haha
Реакції: Elax
Конкурент PGP?
 
информативно
 
Назад
Зверху Знизу