Если Вы при генерации ключа выбрали вариант 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: