Links For Fast Navigation
Шифрование файлов
OpenSSL шифрование
openssl aes-256-cbc -salt -in file.txt -out file.txt.aes # зашифровать файл
openssl aes-256-cbc -d -salt -in file.txt.aes -out file.txt # расшифровать файл
Архивирование и шифрование каталога
tar -cf - directory | openssl aes-256-cbc -salt -out directory.tar.aes # заархивировать и зашифровать директории
openssl aes-256-cbc -d -salt -in directory.tar.aes | tar -x -f - # расшифровать директории и распаковать архив
То-же самое, только тип архива tar.xz
tar -cJf - directory | openssl aes-256-cbc -salt -out directory.tar.xz.aes # заархивировать и зашифровать директории
openssl aes-256-cbc -d -salt -in directory.tar.xz.aes | tar -xJ -f - # расшифровать директории и распаковать архив
-e
- шифровть (можно не указывать)-d
- дешифровать-in <file>
- входящий файл-out <file>
- исходящий файл после процесса-k <text>
- это будет паролем (не безопасно)-kfile <file>
- первая строка в файле будет паролем
GPG шифрование
В этом примере файл шифруется с помощью пароля. GPG добавляет расширение “*.gpg” к имени зашифрованного файла.
gpg -c file # Зашифровать файл по паролю
gpg file.gpg # Расшифровать файл ( -o другой файл)
Шифрование с использованием пары ключей Для более полной информации смотрите GPG Quick Start, GPG/PGP Basics и gnupg documentation. Приватный ключ и публичный ключ, основа ассиметричной криптографии. О чем нужно помнить:
- Ваш публичный ключ используется другими для шифрования файлов, которые, как получатель, можете расшифровать только вы (даже не тот, кто его шифровал).
- Ваш приватный ключ зашифрован по паролю и используется для расшифровки файлов, зашифрованных Вашим публичным ключем. Приваиный ключ должен храниться в безопасном месте. Помните, если приватный ключ или пароль от него будут потеряны, вместе с ними пропадут и зашифрованные файлы.
- Ключевой файл, может содержать несколько ключей.
Сперва нужно сгенерировать пару ключей. Значения по-умолчанию вполне подойдут, однако вам нужно будет ввести имя, адрес электронной почты и комментарий (не обязательно). Комментарий полезен при создании более одного ключа для данного имени/e-mail. Так-же вам нужно будет задать ключевую фразу (именно фразу а не слово).
gpg --gen-key # Это может занять некоторое время
Ключи сохраняются в ~/.gnupg/ в Unix подобных операционных системах и в C:/Documents and Settings/%USERNAME%/Application Data/gnupg/. в Windows.
~/.gnupg/pubring.gpg # Содержит ваш публичный ключ а так-же импортируемые ключи
~/.gnupg/secring.gpg # Может содержать больше одного ключа
Некоторые часто используемые опции:
-e
Зашифровать данные-d
Расшифровать данные-r
ИМЯ зашифровать для получателя ИМЯ (или ‘полное имя’ или ‘email@domain’)-a
Создать “ascii armored” вывод ключа-o
Вывести в файл
Шифрование только для персонального использования Не требует экспорта/импорта какого либо ключа, они у вас уже есть.
gpg -e -r 'Your Name' file # Зашифровать с помощью публичного ключа
gpg -o file -d file.gpg # Расшифровать. Используется опция -o, иначе пойдкт в stdout
Шифрование - расшифровка с использованием ключей Для начала вам нужно экспортировать ваш публичный ключ, что-бы им могли пользоваться для расшифровки данных. Так-же вы должны импортировать публичный ключ от Alice, что-бы шифровать файлы для нее. Ключи можно передать в обычном ascii файле. Например Alice экспортирует ключ, вы его импортируете себе, теперь вы можете шифровать для нее файлы и расшифровать их сможет только она.
gpg -a -o alicekey.asc --export 'Alice' # Alice экспортирует ключ в ascii файл.
gpg --send-keys --keyserver subkeys.pgp.net KEYID # Alice кладет ключ на сервер.
gpg --import alicekey.asc # Вы импортируете ключ себе.
gpg --search-keys --keyserver subkeys.pgp.net 'Alice' # Или забираете его на сервере.
gpg -e -r 'Alice' file # Зашифровать файл для Alice.
gpg -d file.gpg -o file # Расшифровать файл, зашифрованный Alice для вас.
Управление ключами
gpg --list-keys # Список публичных ключей с KEYIDS
KEYID следует за ‘/’ например для: pub 1024D/D12B77CE - KEYID это D12B77CE
gpg --gen-revoke 'Your Name' # Сгенерировать CRL (certificate revocation list)
gpg --list-secret-keys # Список приватных ключей
gpg --delete-keys NAME # Удалмть публичный ключ с локальной "связки ключей"
gpg --delete-secret-key NAME # Удалить приватный ключ с локальной "связки ключей"
gpg --fingerprint KEYID # Показать отпечаток ключа
gpg --edit-key KEYID # Редактировать ключ (например подпись или добавить/удалить email)
Денис Валентинович