Главная » Шифруем с использованием GnuPG
В данном блоге мне хочется поделиться методикой шифрования и подписывания своих файлы с помощью средства шифрования и создания электронной цифровой подписи GnuPG. GnuPG (или GPG) является проектом, в рамках которого ведется разработка свободного программного обеспечения для шифрования и создания электронной подписи файлов. Проект находится под вниманием известных криптографов, использует известные сильные алгоритмы шифрования с открытым дизайном, соответствует спецификациям PGP и обеспечивает стойкую защиту ваших файлов.

Шифрование симметричным алгоритмом

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

-c, --symmetric (опция)
gpg -c /путь/name - зашифровать файл name симметричным алгоритмом, вы получите зашифрованный файл с расширение name.gpg
gpg -o /путь/name --decrypt /путь/name.gpg - расшифровать зашифрованный файл name.gpg

Для выполнения операций вам будет необходим пароль. Вы получите расшифрованный файл с именем name. Система сообщит, что целостность сообщения не защищена, это нормально, в данном случае имеется в виду, что при операциях шифрования/расшифрования не использовалась цифровая подпись. Для ввода пароля используйте клавиатуру в латинской раскладке. Регистр букв имеет значение.

Если после параметра -с вы поставите параметр -a (через пробел), то программа сделает зашифрованный файл в кодировке ASCII, расшифрование файла в этом случае производится той же командой, что и расшифрование файла name.gpg.

Вычисление хеш-функций

gpg --print-md sha256 /dev/sda3 - вычисление хеш-значения хеш-функции sha256 для раздела диска sda3
gpg --print-md sha1 /путь/name - вычисление хеш-значения хеш-функции sha1 для файла с именем name

Шифрование файла с помощью ключа

В данном случае нужно понимать, что вы можете зашифровать файл как для самого себя, так и для кого-либо, если укажете идентификатор (e-mail или ID ключа) другого человека. Вы можете одним разом зашифровать файлы для нескольких людей, в том числе и для себя.

-e, encrypt
gpg -e /путь/name

Программа попросит ввести текущих получателей, вы должны ввести ID ключа получателя файла (или просто e-mail получателя) и нажать Enter
Если после параметра -e вы поставите параметр -a, то программа сделает зашифрованный файл в кодировке ASCII, расшифрование файла в этом случае производится той же командой.

Расшифрование файла, зашифрованного с помощью ключа

gpg -o /путь/name --decrypt /путь/name.gpg

Программа попросит ввести пароль к вашему ключу и создаст файл с именем name

Создание электронной цифровой подписи

Для файлов удобнее всего использовать отделенную подпись

-b, --detach-sign
gpg -b /путь/name

вы получите файл подписи с расширением sig

Проверка цифровой подписи

gpg --verify /путь/name.sig /путь/name

где name.sig - файл подписи, name - подписанный файл.
Вы получите отчет о проверке цифровой подписи

Зашифровывание файла с автоматической постановкой цифровой подписи

-s, --sign (опция подписи)
gpg -e -s /путь/name

Расшифровка файла с автоматической проверкой цифровой подписи

gpg -o /путь/name --decrypt /путь/name.gpg

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

Зашифровывание файла с автоматической постановкой цифровой подписи в формате ASCII

gpg -e -s -a /путь/name

вы получите файл с именем name.asc

Расшифровка с автоматической проверкой цифровой подписи

gpg -o /путь/name --decrypt /путь/name.asc

Создание прозрачной подписи

В данном случае удобно подписывать текстовые документы. При этом вы получите новый файл с добавленным расширением asc, цифровая подпись в формате ASCII будет добавлена в конец текста подписываемого текста файла.

gpg --clearsign /путь/name

Проверка прозрачной подписи

gpg --verify /путь/name.asc

Обратите внимание, что файл, для которого осуществляется проверка ЭЦП, должен находится в том же каталоге, что и файл подписи с расширением sig

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

Посмотреть подписи ключей вы можете командой

gpg --list-sigs [e-mail или ID ключа]

Посмотреть параметры ключа с указанием параметров доверия вы можете командой

gpg --edit-key [e-mail или ID ключа]

выход из данного меню осуществляется командой q

Генерирование пароля

gpg -a --gen-random 2 15

Просмотр отпечатка одного из ключей, находящегося в вашей связке ключей

gpg --fingerprint [ID ключа]

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

Операции шифрования/подписания электронной почты можно полностью автоматизировать, используя почтовый клиент Thunderbird с установленным расширением Enigmail (есть русифицированный). При этом вам не нужно знать ни одной команды GnuPG, но одновременно вы получите мощный и удобный инструмент, обеспечивающий прозрачную и удобную работу с одновременным обеспечением приватности вашей почты как в пути, так и на вашем рабочем месте.

ссылки по теме:

http://www.gnupg.org/
http://www.mozilla-russia.org/products/thunderbird/
http://enigmail.mozdev.org/home/index.php

-

Категория: Интересные статьи | Просмотров: 449