The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Безопасность" / Оглавление документа

Шифрование

Генерация подключа.

Если Вы при генерации ключа выбрали вариант 2 (DSA) или 5 (RSA), то имеющийся у Вас ключ может использоваться только для подписи. Для того, чтобы Ваши корреспонденты могли зашифровывать направляемые Вам сообщения, необходимо создать дополнительный ключ, который может использоваться для шифрования. Генерация дополнительного ключа осуществляется в режиме редактирования.

alice%gpg --edit-key alice@wonderland.uk
Secret key is available.

pub  1024R/B115BDB6  created: 2002-05-01 expires: never      trust: u/u
(1). Alice (test key) <alice@wonderland.uk>

Command> addkey
Key is protected.

You need a passphrase to unlock the secret key for
user: "Alice (test key) <alice@wonderland.uk>"
1024-bit RSA key, ID B115BDB6, created 2002-05-01

Please select what kind of key you want:
   (2) DSA (sign only)
   (3) ElGamal (encrypt only)
   (5) RSA (sign only)
   (6) RSA (encrypt only)
Your selection?

Если Вы намерены использовать подключ для шифрования, то следует выбрать вариант 3 или 6.

Your selection? 6
What keysize do you want? (1024) 
Requested keysize is 1024 bits   
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct (y/n)? y
Really create? y        
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++
..+++++

pub  1024R/B115BDB6  created: 2002-05-01 expires: never      trust: u/u
sub  1024R/89D3ED33  created: 2002-05-03 expires: never     
(1). Alice (test key) <alice@wonderland.uk>

Command> save

Нетрудно заметить, что в списке ключей появился второй ключ. Для того, чтобы выйти из режима редактирования, сохранив изменения, воспользуйтесь командой save.

Зашифрование и расшифрование документов

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

Если Вы хотите послать сообщение другу, то зашифровываете его при помощи открытого ключа друга, а тот расшифровывает его при помощи своего секретного ключа. Если друг захочет Вам ответить, то он зашифрует ответ при помощи Вашего открытого ключа, а Вы расшифруете его своим секретным.

Для зашифрования документа используется команда --encrypt. Вы должны иметь открытые ключи предполагаемых получателей. Программа ожидает в качестве параметра имя шифруемого документа или, в случае его отсутствия, шифрует стандартный ввод. Зашифрованный результат помещается в стандартный вывод, если не указана опция --output. Для повышения защиты документ дополнительно сжимается.

alice% gpg --output message.gpg --encrypt --recipient blake@anywhere.ru message.txt

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

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

blake% gpg --output message.txt --decrypt message.gpg

You need a passphrase to unlock the secret key for
user: "Blake (dumb) <blake@anywhere.ru>"
1024-bit RSA key, ID 526C7F7F, created 2002-05-01 (main key ID 01A1FE63)

Enter passphrase: 

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

alice% gpg --output message.gpg --symmetric message.txt
Enter passphrase: 

  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor