Вопрос немного неясен. Хотите вручную зашифровать и расшифровать файлы или на лету?
psusi
4
Вместо «самого популярного» может оказаться полезным подгонка решения под ваши требования (согласно вопросу psusi). Вы ищете комбинацию простого, надежного, собственного, безопасного, быстрого, открытого кода? Все или некоторые из них?
GnuPG (GPG) может использовать асимметричное и симметричное шифрование. Асимметричная криптография включает в себя два ключа: открытый ключ для шифрования и закрытый ключ для дешифрования. См. Djeikyb ответ на этой странице для использования асимметричного ключа.
Для симметричного шифрования ключи шифрования и дешифрования равны. Важно понимать, что большинство людей очень плохо выбирают надежные пароли. Таким образом, схема шифрования с использованием паролей должна использовать функцию получения ключа, которая требует больше ресурсов (времени, памяти) для замедления атак методом перебора.
Обратите внимание, что gpgпо умолчанию кешируется symkey (документированное поведение). Чтобы избежать этого, используйте --no-symkey-cacheопцию, как описано в соответствующем ответе .
старый ответ для пользователей, которые могут выбрать хорошие ключи, см. примечание ниже
Для отдельных файлов opensslэто очень полезно, особенно при отправке файла по незащищенному каналу (например, по электронной почте). Это бесплатно (в деньгах и в свободе), в отличие от Truecrypt, который только бесплатно в деньгах.
ПРИМЕЧАНИЕ : введенный здесь пароль будет обработан за одну итерацию MD5 1 . Если вы выбрали пароль «123456», то у вас будет очень мало безопасности.
1openssl enc использует функцию дайджеста, определенную -mdпараметром (по умолчанию md5), и вызывает функцию EVP_BytesToKey()с количеством итераций 1. Это можно найти в источнике openssl по адресу apps/enc.c.
@Assaf Lavie: OpenSSL не поддерживает ключевые файлы, если вы имели это в виду, хотя он может прочитать пароль из первой строки файла. Прочтите страницу руководства по openssl, раздел «Аргументы парольной фразы» .
Лекенштейн
Кроме того, вы можете использовать флаг «-a», который позволяет копировать зашифрованный текст, например: «openssl aes-256-cbc -a -salt -in unencrypted_file -out encrypted_file»
v2r
@ v2r Чтобы добавить для дальнейших читателей: -abase64-кодирует ввод (псевдоним -base64), чтобы расшифровать его, вы также должны добавить -aопцию.
Лекенстейн
1
@Lucio aes-256это псевдоним для aes-256-cbc, нет никакой разницы. CBC - это режим работы блочных шифров. Обратитесь к странице справочника enc(1)за списком поддерживаемых шифров.
Лекенштейн
30
Я использую Seahorse для этого. Это интерфейс Gnome для GnuPG и хорошо интегрируется с nautilus:
Чтобы получить интеграцию с nautilus, установите пакет seahorse-nautilusиз Центра программного обеспечения: seahorse-nautilus
«ПРЕДУПРЕЖДЕНИЕ. Использование TrueCrypt небезопасно» - TrueCrypt
user457015
16
Cli-метод - это GnuPG и, возможно, tar. Это краткое руководство для справки, вы действительно должны прочитать документацию.
Первый запуск gpg --gen-key. Следуйте инструкциям, чтобы сгенерировать вашу пару открытых / закрытых ключей. Теперь вы можете шифровать файлы: gpg -e foo.txt. Это создаст файл с именем foo.txt.gpg. GnuPG не удаляет исходный незашифрованный файл, это зависит от вас, хотите ли вы, чтобы он висел рядом. Чтобы расшифровать foo.txt.gpg, запустите gpg foo.txt.gpg. Расшифровка предложит вам перед перезаписью существующих файлов.
Если вам нужно зашифровать каталог, сначала смонтируйте его:
tar -cf foo.tar foo/
gpg -e foo.tar
Вы можете переименовать зашифрованный файл как хотите. При расшифровке исходное имя файла сохраняется.
Преимущества этого метода: во-первых, он не требует установки дополнительных пакетов; Во-вторых, он не требует root-доступа. Я бы добавил сжатие к команде tar (xz или gz).
Пантера
12
Также есть eCryptfs , который Ubuntu использует для шифрования домашних каталогов.
Вы можете выбрать шифрование домашнего каталога при установке или настроить отдельный каталог $HOME/Privateпо умолчанию с помощью утилиты ecryptfs-setup-private . Эту папку можно настроить для автоматического монтирования при входе в систему и размонтирования при выходе из системы. Каждый отдельный файл и папка внутри $HOME/Private, рекурсивно, будут зашифрованы.
К сожалению, eCryptfs ОЧЕНЬ медленный. Также есть несколько ошибок в последней версии
ruX
Наоборот, если что-нибудь eCryptfs быстрее, чем gpg; по умолчанию gpg пытается сжать перед шифрованием. И eCryptfs теперь также используется большинством Android
Xen2050
2
Вы также можете использовать «Академическую подпись» для использования криптографии на эллиптических кривых с графическим интерфейсом wxWidgets. Это открытый исходный код, но не в репозиториях. В основном это ECC асимметричное шифрование, подписи и временные метки. Но инструмент также имеет пункт меню для вызова Gnupg (RSA) и прямой доступ к симметричному шифрованию / дешифрованию файлов, предлагающих AES и другие алгоритмы. Его домашняя страница находится здесь: https://www.academic-signature.org
Я часто использую его для защиты файлов в пути и для цифровой подписи академических документов (стенограммы, рекомендательные письма, списки оценок и т. Д.)
хм, bash скрипт использует openssl aes-256-cbc ...Знаете, вместо того, чтобы использовать, if [ $? -ne 0 ] ; then... fiвы можете просто использовать ||? И есть некоторые люди, которые думают, что OpenSSL "* имел несколько серьезных недостатков безопасности в прошлом году [ Heartbleed ], в то время как документы Snowden показывают, что GPG является одной из немногих программ, которые могут ввести NSA в заблуждение при правильном использовании. Код OpenSSL также полная выгребная яма и ужасный тестовый охват. (Раскрытие: [он] работает над проектом "OpenSSL отстой; давайте исправим".) - jbarlow * "
Ответы:
GnuPG (GPG) может использовать асимметричное и симметричное шифрование. Асимметричная криптография включает в себя два ключа: открытый ключ для шифрования и закрытый ключ для дешифрования. См. Djeikyb ответ на этой странице для использования асимметричного ключа.
Для симметричного шифрования ключи шифрования и дешифрования равны. Важно понимать, что большинство людей очень плохо выбирают надежные пароли. Таким образом, схема шифрования с использованием паролей должна использовать функцию получения ключа, которая требует больше ресурсов (времени, памяти) для замедления атак методом перебора.
Описание KDF GnuPG см. В этом посте об обмене Crypto Stack Exchange . Пример использования симметричного шифрования:
Дешифрирование:
Обратите внимание, что
gpg
по умолчанию кешируется symkey (документированное поведение). Чтобы избежать этого, используйте--no-symkey-cache
опцию, как описано в соответствующем ответе .Страница руководства по gpg .
старый ответ для пользователей, которые могут выбрать хорошие ключи, см. примечание ниже
Для отдельных файлов
openssl
это очень полезно, особенно при отправке файла по незащищенному каналу (например, по электронной почте). Это бесплатно (в деньгах и в свободе), в отличие от Truecrypt, который только бесплатно в деньгах.ПРИМЕЧАНИЕ : введенный здесь пароль будет обработан за одну итерацию MD5 1 . Если вы выбрали пароль «123456», то у вас будет очень мало безопасности.
Шифрование:
Вам будет предложено ввести пароль, который вы должны ввести дважды.
Расшифровать:
Страница руководства для программы enc .
1
openssl enc
использует функцию дайджеста, определенную-md
параметром (по умолчанию md5), и вызывает функциюEVP_BytesToKey()
с количеством итераций 1. Это можно найти в источнике openssl по адресуapps/enc.c
.источник
-a
base64-кодирует ввод (псевдоним-base64
), чтобы расшифровать его, вы также должны добавить-a
опцию.aes-256
это псевдоним дляaes-256-cbc
, нет никакой разницы. CBC - это режим работы блочных шифров. Обратитесь к странице справочникаenc(1)
за списком поддерживаемых шифров.Я использую Seahorse для этого. Это интерфейс Gnome для GnuPG и хорошо интегрируется с nautilus:
Чтобы получить интеграцию с nautilus, установите пакет
seahorse-nautilus
из Центра программного обеспечения: seahorse-nautilusисточник
TrueCrypt : прекращено, небезопасное бесплатное программное обеспечение шифрования диска, доступное из исходного кода.
источник
Cli-метод - это GnuPG и, возможно, tar. Это краткое руководство для справки, вы действительно должны прочитать документацию.
Первый запуск
gpg --gen-key
. Следуйте инструкциям, чтобы сгенерировать вашу пару открытых / закрытых ключей. Теперь вы можете шифровать файлы:gpg -e foo.txt
. Это создаст файл с именемfoo.txt.gpg
. GnuPG не удаляет исходный незашифрованный файл, это зависит от вас, хотите ли вы, чтобы он висел рядом. Чтобы расшифровать foo.txt.gpg, запуститеgpg foo.txt.gpg
. Расшифровка предложит вам перед перезаписью существующих файлов.Если вам нужно зашифровать каталог, сначала смонтируйте его:
Вы можете переименовать зашифрованный файл как хотите. При расшифровке исходное имя файла сохраняется.
источник
Также есть eCryptfs , который Ubuntu использует для шифрования домашних каталогов.
Вы можете выбрать шифрование домашнего каталога при установке или настроить отдельный каталог
$HOME/Private
по умолчанию с помощью утилиты ecryptfs-setup-private . Эту папку можно настроить для автоматического монтирования при входе в систему и размонтирования при выходе из системы. Каждый отдельный файл и папка внутри$HOME/Private
, рекурсивно, будут зашифрованы.источник
Вы также можете использовать «Академическую подпись» для использования криптографии на эллиптических кривых с графическим интерфейсом wxWidgets. Это открытый исходный код, но не в репозиториях. В основном это ECC асимметричное шифрование, подписи и временные метки. Но инструмент также имеет пункт меню для вызова Gnupg (RSA) и прямой доступ к симметричному шифрованию / дешифрованию файлов, предлагающих AES и другие алгоритмы. Его домашняя страница находится здесь: https://www.academic-signature.org
Я часто использую его для защиты файлов в пути и для цифровой подписи академических документов (стенограммы, рекомендательные письма, списки оценок и т. Д.)
источник
Я взял некоторые другие предложения и создал простую оболочку сценария оболочки (для ленивых)
https://github.com/orionM/ssl-crypt-tools
наслаждаться
источник
openssl aes-256-cbc ...
Знаете, вместо того, чтобы использовать,if [ $? -ne 0 ] ; then... fi
вы можете просто использовать||
? И есть некоторые люди, которые думают, что OpenSSL "* имел несколько серьезных недостатков безопасности в прошлом году [ Heartbleed ], в то время как документы Snowden показывают, что GPG является одной из немногих программ, которые могут ввести NSA в заблуждение при правильном использовании. Код OpenSSL также полная выгребная яма и ужасный тестовый охват. (Раскрытие: [он] работает над проектом "OpenSSL отстой; давайте исправим".) - jbarlow * "