OpenSSL
Шифрование отдельного файла
Естественно файл может быть и архивом.
Архивирование и шифрование директории
То-же самое, только тип архива tar.gz
- Используйте -k mysecretpassword после aes-128-cbc, что-бы не спрашивался пароль, но имейте в виду, это очень не безопасно.
- Используйте aes-256-cbc вместо aes-128-cbc для получения более устойчивого шифра, увеличивается потребление процессора.
GPG шифрование
Альтернатива PGP, распространяемая по лицензии GPL(GNU General Public License).
GnuPG очень известный способ шифрования и подписи электронных писем или других данных, кроме того gpg предоставляет расширенную систему управления ключами. В данных примерах рассматривается только шифрование файлов.
Самым простым является симметричный шифр. В этом случае файл шифруется с помощью пароля, соответственно расшифровать его может тот, кто знает этот пароль, никаких ключей не требуется. GPG добавляет расширение "*.gpg" к имени зашифрованного файла.
Шифрование с использованием пары ключей
Для более полной информации смотрите GPG Quick Start, GPG/PGP Basics и gnupg documentation.
Приватный ключ и публичный ключ, основа ассиметричной криптографии. О чем нужно помнить:
- Ваш публичный ключ используется другими для шифрования файлов, которые, как получатель, можете расшифровать только вы (даже не тот, кто его шифровал).
- Ваш приватный ключ зашифрован по паролю и используется для расшифровки файлов, зашифрованных Вашим публичным ключем. Приваиный ключ должен храниться в безопасном месте. Помните, если приватный ключ или пароль от него будут потеряны, вместе с ними пропадут и зашифрованные файлы.
- Ключевой файл, может содержать несколько ключей.
Сперва нужно сгенерировать пару ключей. Значения по-умолчанию вполне подойдут, однако вам нужно будет ввести имя, адрес электронной почты и комментарий (не обязательно). Комментарий полезен при создании более одного ключа для данного имени/e-mail. Так-же вам нужно будет задать ключевую фразу (именно фразу а не слово).
Ключи сохраняются в ~/.gnupg/ в Unix подобных операционных системах и в C:/Documents and Settings/%USERNAME%/Application Data/gnupg/. в Windows.
Некоторые часто используемые опции:
- -e Зашифровать данные
- -d Расшифровать данные
- -r ИМЯ зашифровать для получателя ИМЯ (или 'полное имя' или 'email@domain')
- -a Создать "ascii armored" вывод ключа
- -o Вывести в файл
Шифрование только для персонального использования
Не требует экспорта/импорта какого либо ключа, они у вас уже есть.
Шифрование - расшифровка с использованием ключей
Для начала вам нужно экспортировать ваш публичный ключ, что-бы им могли пользоваться для расшифровки данных. Так-же вы должны импортировать публичный ключ от Alice, что-бы шифровать файлы для нее. Ключи можно передать в обычном ascii файле.
Например Alice экспортирует ключ, вы его импортируете себе, теперь вы можете шифровать для нее файлы и расшифровать их сможет только она.
Управление ключами
http://vds-admin.ru/unix-toolbox/files-crypting
http://vds-admin.ru/unix-toolbox/partition-crypting
http://rus-linux.net/MyLDP/sec/openssl.html
http://www.nixp.ru/articles/12.html
http://habrahabr.ru/post/61670/
http://uzverss.livejournal.com/tag/gpg