Работа с GPG, PGP — различия между версиями

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск
Строка 9: Строка 9:
  
 
==Использование==
 
==Использование==
 +
 +
===Алгоритмы шифрования===
 +
 +
GPG может использовать следующие алгоритмы:
 +
 +
#Блочные симметричные шифры: CAST5, #Camellia, Triple DES, AES, Blowfish, and Twofish.
 +
#Ассиметричные шифры: ElGamal and RSA
 +
#Криптографические хэши: RIPEMD-160, MD5, SHA-1, SHA-2, Tiger
 +
#Цифровые подписи: DSA and RSA
 +
 
===Создание ключей===
 
===Создание ключей===
  
Строка 21: Строка 31:
 
Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами.
 
Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами.
  
===Работа с ключами===
 
# openPGP/key management  позволяет работать с открытыми ключами
 
# openPGP/preferences позволяет настраивать шифрование сообщений
 
  
===Добавление ключей на сервер===
+
===Шифрование файлов===
Добавляем открытые ключи на сервер pgp.mit.edu
+
  
===Алгоритмы шифрования===
+
gpg --encrypt --recipient 'Recipient Name' foo.txt
 +
 
 +
где Recipient Name - идентификатор ключа принимающей стороны
 +
 
 +
===Расшифровка файлов===
 +
 
 +
Расшифровка файла foo.txt.gpg в foo.txt:
 +
 
 +
gpg --output foo.txt --decrypt foo.txt.gpg
 +
 
 +
 
===Подписи===
 
===Подписи===
===Обмен ключами===
+
 
 +
Цифровая подпись позволяет удостовериться в неизменности переданного файла. Для этого требуется перед отправкой добавить вашу подпись к файлу:
 +
 
 +
gpg --armor --detach-sign your-file.zip
 +
 
 +
Тогда реципиент вашего файла сможет проверить подпись (имея ваш публичный ключ):
 +
 
 +
gpg --verify your-file.zip.asc your-file.zip
 +
 
 +
==Обмен ключами==
 +
 
 +
===Добавление ключей на сервер===
 +
 
 +
Добавляем открытые ключи на сервер pgp.mit.edu:
 +
 
 +
gpg --send-keys 'Your Name' --keyserver http://pgp.mit.edu
 +
 
 +
где 'Your Name' используется как идентификатор вашего ключа.
 +
 
 +
==Импорт ключей==
 +
 
 +
Импортируем ключ того, с кем планируем обмениваться зашифрованной информацией:
 +
 
 +
gpg --import key.asc
 +
 
 +
где key.asc - файл ключа реципиента
 +
 
 +
Также можно поискать ключи на публичном сервере:
 +
 
 +
gpg --search-keys 'myfriend@his.isp.com' --keyserver hkp://subkeys.pgp.net
 +
 
 
===Удаление ключа с сервера===
 
===Удаление ключа с сервера===
 +
 
#gpg --gen-revoke 158480C3 > revoke.asc , где 158480C3 - идентификатор вашего ключа
 
#gpg --gen-revoke 158480C3 > revoke.asc , где 158480C3 - идентификатор вашего ключа
 
#если вы не знаете какой у вас идентификатор можете ввести команду gpg --list-key
 
#если вы не знаете какой у вас идентификатор можете ввести команду gpg --list-key
 
#после импортируем сгенерированный ключ деактивации gpg --import revoke.asc
 
#после импортируем сгенерированный ключ деактивации gpg --import revoke.asc
#И заключительное действие...
+
#И заключительное действие... отправляем наш деактивированный ключ на сервак:
отправляем наш деактивированный ключ на сервак gpg --keyserver pgp.mit.edu --send-keys 158480C3
+
 
 +
gpg --keyserver pgp.mit.edu --send-keys 158480C3
 +
 
 
#[http://pgp.mit.edu:11371/pks/lookup?search=fannrm%40gmail.com&op=index Пример результата]
 
#[http://pgp.mit.edu:11371/pks/lookup?search=fannrm%40gmail.com&op=index Пример результата]

Версия 20:03, 15 февраля 2013

Установка

Win

http://www.gpg4win.org/download.html

Ubuntu Linux

sudo apt-get install gpg

Использование

Алгоритмы шифрования

GPG может использовать следующие алгоритмы:

  1. Блочные симметричные шифры: CAST5, #Camellia, Triple DES, AES, Blowfish, and Twofish.
  2. Ассиметричные шифры: ElGamal and RSA
  3. Криптографические хэши: RIPEMD-160, MD5, SHA-1, SHA-2, Tiger
  4. Цифровые подписи: DSA and RSA

Создание ключей

gpg --gen-key

В ходе диалога потребуется ввести:

  1. тип ключа, его размер
  2. длина
  3. ваше реальное имя и e-mail
  4. пароль

Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами.


Шифрование файлов

gpg --encrypt --recipient 'Recipient Name' foo.txt

где Recipient Name - идентификатор ключа принимающей стороны

Расшифровка файлов

Расшифровка файла foo.txt.gpg в foo.txt:

gpg --output foo.txt --decrypt foo.txt.gpg


Подписи

Цифровая подпись позволяет удостовериться в неизменности переданного файла. Для этого требуется перед отправкой добавить вашу подпись к файлу:

gpg --armor --detach-sign your-file.zip

Тогда реципиент вашего файла сможет проверить подпись (имея ваш публичный ключ):

gpg --verify your-file.zip.asc your-file.zip

Обмен ключами

Добавление ключей на сервер

Добавляем открытые ключи на сервер pgp.mit.edu:

gpg --send-keys 'Your Name' --keyserver http://pgp.mit.edu

где 'Your Name' используется как идентификатор вашего ключа.

Импорт ключей

Импортируем ключ того, с кем планируем обмениваться зашифрованной информацией:

gpg --import key.asc

где key.asc - файл ключа реципиента

Также можно поискать ключи на публичном сервере:

gpg --search-keys 'myfriend@his.isp.com' --keyserver hkp://subkeys.pgp.net

Удаление ключа с сервера

  1. gpg --gen-revoke 158480C3 > revoke.asc , где 158480C3 - идентификатор вашего ключа
  2. если вы не знаете какой у вас идентификатор можете ввести команду gpg --list-key
  3. после импортируем сгенерированный ключ деактивации gpg --import revoke.asc
  4. И заключительное действие... отправляем наш деактивированный ключ на сервак:
gpg --keyserver pgp.mit.edu --send-keys 158480C3
  1. Пример результата