Описание PGP

PGP представляет собой гибридную систему, которая включает в себя алгоритм с открытым ключом (асимметричный алгоритм) и обычный алгоритм с секретным ключом (симметричный алгоритм), что дает высокую скорость, характерную для симметричных алгоритмов и существенные удобства, характерные для криптографии с открытым ключом. С точки зрения пользователя PGP ведет себя как система с открытым ключом. В криптосистемах с открытым ключом генерируется с помощью специального математического алгоритма пара ключей - один открытый и один секретный. Сообщение шифруется с помощью одного ключа, и дешифруется с помощью другого (причем неважно каким именно из двух ключей производится шифрование). Сообщение нельзя расшифровать с помощью ключа шифрования. Обычно вы опубликовываете свой открытый ключ, делая его доступным любому, кто захочет послать вам зашифрованное сообщение. Такой человек зашифрует сообщение вашим открытым ключом, при этом ни он сам, ни кто другой не могут расшифровать шифрованное сообщение. Только вы можете расшифровать сообщение, то есть тот человек, который имеет секретный ключ, соответствующий открытому ключу. Очевидно, что секретный ключ должен храниться в секрете своим обладателем.

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

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

Шифрованный методом Ключ K шифруется  \
IDEA с ключом K     методом RSA        |
текст               с пом. открытого   |
            |       ключа E Алисы      |
            |                          |
            |         |                 \  Эту копию PGP использует Боб
            |         |                 /  он знает открытый ключ Алисы
            V         V                |
          Сообщение состоит            |
          из RSA-шифрованного          |
          ключа K и текста,            |
          зашифрованного по IDEA      /
                                      
                ||                    
                ||                    
                \/                    
            
         Сообщение по e-mail 
         отправляется к Алисе
         
                ||
                ||
                \/
                                       \
        Ключ IDEA расшифровывается      |
        секретным ключом RSA Алисы      |
                                        |
                ||                       \  Алиса использует свою копию 
                ||                       /  PGP и знает свой секретный ключ.
                \/                      |
                                        |
        Текст расшифровывается          |
        с пом. ключа IDEA              /

Контрольные вопросы.

  1. Как ведет себя PGP с точки зрения пользователя?
  2. Как выглядит алгоритм PGP?
  3. Приведите свой более подробный пример использования алгоритма PGP.
  4. В чем преимущества этого алгоритма?