Вы находитесь на странице: 1из 3

Изучение утилиты GNU Privacy Guard (GPG)

GPG - свободная программа для шифрования информации и создания электронных


цифровых подписей. Программа, которая работает почти на всех операционных системах:
от Microsoft Windows и GNU/Linux до Mac OS X, FreeBSD, OpenBSD, NetBSD и т. д.

 -h - вывести справку по утилите;


 -s, --sign - создать цифровую подпись, эта опция используется вместе с другими
опциями для шифрования;
 --clearsign - подписать незашифрованный текст;
 -e, --encrypt - зашифровать данные, с помощью ключа;
 -с, --symmetric - зашифровать данные, с помощью пароля;
 -d, --decrypt - расшифровать данные, зашифрованные с помощью ключа или
пароля;
 --verify - проверить подпись;
 -k, --list-keys - вывести доступные ключи;
 --list-sigs - вывести доступные подписи;
 --fingerprint - вывести все ключи вместе с их отпечатками;
 --delete-key - удалить ключ;
 --delete-secret-key - удалить секретный ключ;
 --export - экспортировать все ключи;
 --export-secret-keys - экспортировать все секретные ключи;
 --import - импортировать ключи;
 --send-keys - отправить ключи на сервер, должен быть указан сервер ключей;
 --recv-keys - получить ключи от сервера ключей;
 --keyserver - указать сервер ключей;
 --fetch-keys - скачать ключи;
 --gen-key - создать ключ;
 --sign-key - подписать ключ;
 --passwd - изменить пароль для ключа.

Симметричное шифрование
Симметричное шифрование — это способ шифрования данных, при котором один и тот
же ключ используется и для кодирования, и для восстановления информации.

Примеры алгоритмов:
 AES 256
 DES
 Blowfish

Пример 1 – вывод в виде байтов

1) Создаем файл «test.txt» с любым текстом


2) Выполняем команду: gpg -c test.txt
3) Исследуем выходной файл test.txt.gpg с помощью hex редактора
4) Расшифровываем обратно с помощью команды: gpg -d test.txt.gpg

Пример 2 – вывод в виде ASCII


1) Создаем файл «test.txt» с любым текстом
2) Выполняем команду: gpg --armor -c test.txt
3) Исследуем выходной файл test.txt.asc
4) Расшифровываем обратно с помощью команды: gpg test.txt.asc

Пример 3 – выбор алгоритма шифрования


1) Создаем файл «test.txt» с любым текстом
2) Выполняем команду: gpg --cipher-algo AES128 -c test.txt
3) Исследуем выходной файл test.txt.gpg с помощью hex редактора
4) Расшифровываем обратно с помощью команды: gpg test.txt.gpg

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

Асимметричное шифрование используется для защиты информации при ее передаче,


также на его принципах построена работа электронных подписей.

Пример 1 – Создание ключей


1) Выполните команду: gpg --gen-key
2) Заполнить поля
3) Придумать пароль для приватного ключа
4) Проверить публичный ключ: gpg -k
5) Проверить приватный ключ: gpg --list-secret-keys

Пример 2 – Удаление ключей


1) gpg --delete-key <ID>
2) gpg –delete-secret-key <ID>
3) Проверить публичный ключ: gpg -k
4) Проверить приватный ключ: gpg --list-secret-keys

Пример 3 – Шифрование
1) Создаем файл «test.txt» с любым текстом
2) Выполняем команду: gpg -e test.txt
3) Исследуем выходной файл test.txt.gpg с помощью hex редактора
4) Расшифровываем обратно с помощью команды: gpg -d test.txt.gpg

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

Пример 1 – Подпись зашитая в файл


1) Создаем файл «test.txt» с любым текстом
2) Выполняем команду: gpg --armor -e --sign test.txt
3) Проверяем подпись и расшифровываем файл: gpg -d --verify test.txt.asc

Пример 2 – Подпись в отдельном файле без шифрования


1) Создаем файл «test.txt» с любым текстом
2) Выполняем команду: gpg -b q.txt
3) Проверяем подпись и расшифровываем файл: gpg --verify test.txt

Экспорт/импорт ключей
1) Выполните команду: gpg --gen-key
2) Заполнить поля
3) Придумать пароль для приватного ключа
4) Выполняем команду: gpg --export-secret-keys --armor > private.key
5) Выполняем команду: gpg –export --armor > pub.key
6)

Вам также может понравиться