Работа с GPG, PGP — различия между версиями
Budnyjj (обсуждение | вклад) |
Budnyjj (обсуждение | вклад) |
||
Строка 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: | ||
Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами. | Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами. | ||
− | |||
− | |||
− | |||
− | === | + | ===Шифрование файлов=== |
− | + | ||
− | === | + | 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 может использовать следующие алгоритмы:
- Блочные симметричные шифры: CAST5, #Camellia, Triple DES, AES, Blowfish, and Twofish.
- Ассиметричные шифры: ElGamal and RSA
- Криптографические хэши: RIPEMD-160, MD5, SHA-1, SHA-2, Tiger
- Цифровые подписи: DSA and RSA
Создание ключей
gpg --gen-key
В ходе диалога потребуется ввести:
- тип ключа, его размер
- длина
- ваше реальное имя и e-mail
- пароль
Пароль нужно ЗАПОМНИТЬ! Если сомневаетесь, то пользуйтесь стандартными вариантами.
Шифрование файлов
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 --list-key
- после импортируем сгенерированный ключ деактивации gpg --import revoke.asc
- И заключительное действие... отправляем наш деактивированный ключ на сервак:
gpg --keyserver pgp.mit.edu --send-keys 158480C3