Как быстро зашифровать файл с помощью AES?

65

Я хочу зашифровать файл с помощью AES-256. Как я могу сделать это быстро и легко, и как я могу - или кто-то еще - снова исправить его?

    
задан Stefano Palazzo 09.09.2011 в 17:46
источник

5 ответов

76

К сожалению, нет простого решения для защиты ваших вещей. Подумайте о своем прецеденте, возможно, что-то, отличное от простого AES, лучше подходит.

Если вы хотите очень простое независимое от платформы шифрование, вы можете использовать openssl .

Обратите внимание: вы можете использовать это, чтобы скрыть свой день рождения-gift-ideas.txt от своего соседа по комнате, но не ожидайте, что он будет защищен от определенного атакующего!

  1. Как отмечалось в комментариях, этот метод использует наивную функцию деривации ключей, поэтому ваш пароль должен быть превосходно хорошим, чтобы у вас была возможность быть в безопасности.
  2. Кроме того, этот метод не аутентифицирует зашифрованный текст, что означает, что злоумышленник может изменять или искажать содержимое без вашего уведомления.
  3. Для многих типов безопасности шифрование просто недостаточно (например, вы не можете просто использовать шифрование для безопасного обмена сообщениями)

Если вы все еще хотите использовать openssl:

  • Шифрование:

    openssl aes-256-cbc -in attack-plan.txt -out message.enc

  • дешифрование:

    openssl aes-256-cbc -d -in message.enc -out plain-text.txt

Вы можете открыть openssl для base64 -encode сообщения, используя переключатель -a для шифрования и дешифрования. Таким образом, вы можете вставить зашифрованный текст в сообщение электронной почты, например. Это будет выглядеть так:

stefano:~$ openssl aes-256-cbc -in attack-plan.txt -a
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=

Обратите внимание, что у вас есть выбор шифров и режимов работы. Для нормального использования я рекомендую aes 256 в режиме CBC. Это режимы шифров, которые доступны (только для AES):

aes-128-cbc ← this is okay
aes-128-ecb
aes-192-cbc
aes-192-ecb
aes-256-cbc ← this is recommended
aes-256-ecb

См. также:

Обратите внимание:

OpenSSL запросит у вас пароль. Это не ключ шифрования, он не ограничен 32 байтами! Если вы собираетесь передавать файлы кому-то другому, ваш общий секрет должен быть очень сильным. Вы можете использовать этот сайт, чтобы понять, насколько хорош ваш пароль:

  • Ссылка (это не учитывает любые словарные атаки!)
  • Ссылка (это, по крайней мере, проверка общих паролей)

Предупреждение. Я проверил, что эти сайты не отправляют ваш пароль на сервер, но это может измениться в любое время. Используйте эти сайты с помощью dev tools / inspector и проверьте, не отправили ли они что-либо, прежде чем вводить свой надежный пароль.

    
ответ дан Stefano Palazzo 09.09.2011 в 17:49
источник
14

7z (при использовании опции пароль ) используется 256-битное шифрование AES (с растяжением клавиш SHA256 ).

Установите его ( p7zip-full ), щелкните правой кнопкой мыши файл или каталог, который вы хотите зашифровать, и выберите Сжатие , .7z и Другие параметры / Пароль .

Для дешифрования щелкните правой кнопкой мыши файл .7z и выберите Извлечь здесь .

    
ответ дан arrange 09.09.2011 в 18:30
14

Мне нравится использовать команду gpg :

Шифрование:

gpg --cipher-algo AES256 --symmetric filename.tar.gz

Стенография:

gpg --cipher-algo AES256 -c filename.tar.gz

Это потребует парольной фразы.

Расшифровать:

gpg --output filename.tar.gz --decrypt filename.tar.gz.gpg

Стенография:

gpg -o filename.tar.gz -d filename.tar.gz.gpg

Вы также можете добавить cipher-algo AES256 в ~/.gnupg/gpg.conf , чтобы сделать AES256 по умолчанию. (Согласно manpage CAST5 )

    
ответ дан scrrr 18.04.2014 в 13:44
3

aescrypt

Связанный веб-сайт содержит 256-битный шифрованный / дешифрованный инструмент с открытым исходным кодом и является многоплатформенным - MacO, Windows, Linux и другие через Java.

Шифрование: aescrypt -e <file>

Расшифровать: aescrypt -d <file>

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

tar -cvf - /home/<home_folder> | aescrypt -e -p <password_message> - > backup.tar.aes

Установка ubuntu

Загрузка и извлечение источника

make
sudo make install

другие платформы

Загрузите двоичные файлы или исходный код с веб-сайта.

    
ответ дан fossfreedom 10.09.2011 в 22:21
2

Многие предложения, которые я сделал бы, уже были изложены в этой теме. В принципе, openssl - это самый простой способ шифрования файла или скрипта. Однако я бы предостерег от использования AES-256 только потому, что он недоступен во всех версиях openssl на платформах some . Большинство новых ОС ... т. Е. У Linux есть это. Но другие, такие как AIX 5.3, не работают (я думаю, HP-UX тоже). Если вы намерены использовать свой файл или скрипт на разных платформах, я настоятельно рекомендую использовать AES-128 , потому что это доступно везде.

Как вы можете «быстро и легко» шифровать файл с помощью AES-128?

Сайт типа www.ShellScrypt.com использует openssl AES-128 довольно интенсивно для шифрования сценариев оболочки и затем зашифровывает копии исполняемых скриптов. Все, что вам нужно сделать, - вставить скрипт на сайт, и для вас будет создан zip-файл. Этот zip-файл будет содержать зашифрованную (и исполняемую, если это скрипт) версию вашего файла. Это позволяет « легко » и « удобно » шифровать файл / скрипт, не удовлетворяя требованиям пакета или модуля для каждой системы, на которой вы собираетесь использовать сценарий, или запустить несколько сложных и запутывающих заклинаний команд openssl.

Ниже приведена основная команда encrypt / decrypt openssl , использующая AES-128:

[email protected]:~$ 
[email protected]:~$ echo precious-content | openssl aes-128-cbc -a -salt -k mypassword
U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z
[email protected]:~$
[email protected]:~$ echo U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z | openssl aes-128-cbc -a -d -salt -k mypassword
precious-content
[email protected]:~$ 
[email protected]:~$
    
ответ дан SimplifiedWorkings 31.05.2016 в 07:17