PGP(Pretty Good Privacy) – это очень надежная криптографическая программа , которая позволяет пользователям анонимно обмениваться информацией в электронном виде. Пользователь PGP создает пару ключей открытый и закрытый ключ. При генерации ключей задаются данные владелеца (имя и email), тип ключа, длина ключа и срок его действия. Открытый ключ используется для шифрования и проверки цифровой подписи. Закрытый ключ — для декодирования и создания цифровой подписи. Программа бесплатна и ее без труда можно найти в интернете.
Цифровая подпись – это особый реквизит документа, который позволяет установить отсутствие искажения информации в электронном документе с момента формирования цифровой подписи и подтверждению принадлежности цифровой подписи владельцу, в отличии от ручной подписи, цифровую подпись почти невозможно подделать.
Как это работает
Представим, что двум субъектам нужно послать зашифрованное письмо, допустим их будут звать Андрей и Дима. Дима дал открытый ключ Андрею, Андрей шифрует письмо с помощью этого ключа и отправляет. Только Дима может прочитать письмо, т.к. только у него есть закрытый ключ.
PGP имеет 3 типа ключей:
- RSA
- RSA Legacy
- GnuPG
Когда пользователь шифрует сообщения, то программа для затруднение криптоанализа сжимает текст, если же объем текста и так мал, то сжатие не производится, в процессе программа "убирает рисунки", с помощью которых можно взломать ключ. Для шифрования программа генерирует число - это число называют сессионный ключ. После программа шифрует этот ключ публичным. Как вы уже могли понять по примеру выше закрытый ключ используется для дешифровки сообщения, сначала он извлекает сессионный ключ, а потом дешифрует сообщение.
После установки программы нам следует создать свою пару ключей:
Код:
gpg --gen-key
В процессе создания ключа нас попросят ввести кодовую фразу, которую вы должны будете запомнить. Далее создаем публичный ключ, где в --output указываем файл в который мы сохраним наш ключ, а в --export, почту на который будет отправлен ключ.
Код:
gpg --output codebypubkey.gpg --export codebytest@mail.com
Код:
gpg --list-keys
gpg --list-secret-keys
gpg --list-public-keys
Код:
gpg --import pubkey.txt
gpg --allow-secret-key-import --import privkey.txt
Код:
sudo gpg --encrypt --recipient yahowa@hurify1.com file.txt
Чтобы расшифровать файл используйте:
Код:
gpg --decrypt-files file.txt.gpg
При расшифровки мы должны ввести нашу секретную фразу и в итоге мы получим тот же текст, который мы зашифровали. Если вам нужно перенести ваш ключ на другую машину, то можно это сделать так:
Код:
gpg --output key.txt --armor --export-secret-key THSamurai
Если вам надо подписать ключ другого пользователя:
Код:
$gpg --edit-key Codeby DefWolf
$sign
$gpg --encrypt --output files.gpg --sign --armor --recipient defwolf@mail.com file.txt
Я думаю, мне удалось доступным языком объяснить принцип работы программы.
Вложения
Последнее редактирование: