Статья Шифрование PGP. Принцип работы

DefWolf

DefWolf

Mod. Cryptography
Red Team
24.10.2017
313
767


PGP(Pretty Good Privacy) – это очень надежная криптографическая программа , которая позволяет пользователям анонимно обмениваться информацией в электронном виде. Пользователь PGP создает пару ключей открытый и закрытый ключ. При генерации ключей задаются данные владелеца (имя и email), тип ключа, длина ключа и срок его действия. Открытый ключ используется для шифрования и проверки цифровой подписи. Закрытый ключ — для декодирования и создания цифровой подписи. Программа бесплатна и ее без труда можно найти в интернете.

Цифровая подпись – это особый реквизит документа, который позволяет установить отсутствие искажения информации в электронном документе с момента формирования цифровой подписи и подтверждению принадлежности цифровой подписи владельцу, в отличии от ручной подписи, цифровую подпись почти невозможно подделать.

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

PGP имеет 3 типа ключей:
  • RSA
  • RSA Legacy
  • GnuPG

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

После установки программы нам следует создать свою пару ключей:
Код:
gpg --gen-key
Screenshot_3.png


В процессе создания ключа нас попросят ввести кодовую фразу, которую вы должны будете запомнить. Далее создаем публичный ключ, где в --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
Для шифрование файла нам надо указать --encrypt, потом в --recipient получателя и далее сам файл:
Код:
sudo gpg --encrypt --recipient yahowa@hurify1.com file.txt
После выполнения команды появится зашифрованный файл с расширением .gpg. В итоге строка " Hi, Codeby ! " превратилась в набор символов:
Screenshot_5.png


Чтобы расшифровать файл используйте:
Код:
gpg --decrypt-files file.txt.gpg
Screenshot_6.png


При расшифровки мы должны ввести нашу секретную фразу и в итоге мы получим тот же текст, который мы зашифровали. Если вам нужно перенести ваш ключ на другую машину, то можно это сделать так:
Код:
gpg --output key.txt --armor  --export-secret-key THSamurai
--armor означает, что файл нужно передать в текстовом виде.
Если вам надо подписать ключ другого пользователя:
Код:
$gpg --edit-key Codeby DefWolf
$sign
$gpg --encrypt --output files.gpg --sign --armor --recipient defwolf@mail.com file.txt
--sign означает, что файл подпишется вашим приватным ключом.

Я думаю, мне удалось доступным языком объяснить принцип работы программы.
 

Вложения

Последнее редактирование:
Литиум

Литиум

Well-known member
13.12.2017
334
604
Статья хорошая , но таких статей море , статья является неактуальной. Не pgp | gpg , не принцип шифрования , а просто статья , мне кажется сейчас любой знает как шифровать подобным образом , где я таких статей не видел. Но если статья ориентирована на новичков , то тогда только + .
 
DefWolf

DefWolf

Mod. Cryptography
Red Team
24.10.2017
313
767
Ммм... я с тобой крайне не согласен. Я бы не хотел бы критиковать твои статьи и да статья ориентирована для новичков. Ты бы до конца дочитывал, цель была простым языком описать принцип алгоритма и как работать с данным инструментом.
 
  • Нравится
Реакции: PredatorGXG
Литиум

Литиум

Well-known member
13.12.2017
334
604
Ммм... я с тобой крайне не согласен. Я бы не хотел бы критиковать твои статьи и да статья ориентирована для новичков. Ты бы до конца дочитывал, цель была простым языком описать принцип алгоритма и как работать с данным инструментом.
Мне кажется с вашей стороны агрессия. Причем здесь мои статьи ? Прежде чем написать комментарий , я прочитал вашу статью.
 
  • Нравится
Реакции: DefWolf
Мы в соцсетях: