К сожалению, простого решения для обеспечения безопасности ваших вещей не существует. Подумайте о своем варианте использования, возможно, лучше подойдет что-то другое, кроме простого AES.
- Используйте менеджер паролей, например Брелок для ключей для паролей
- Зашифруйте свой домашний каталог (очень легко сделать с помощью установщика Ubuntu)
- Используйте GPG если вы хотите безопасно общаться по электронной почте
- OTR с помощью пиджина если вам нужен безопасный обмен мгновенными сообщениями
- Используйте Cryptocat для безопасного чата
Если вам нужно очень простое независимое от платформы шифрование, вы можете использовать openssl.
Пожалуйста, обратите внимание: Вы можете использовать это, чтобы скрыть birthday-gift-ideas.txt от вашего соседа по комнате, но не ожидайте, что он будет защищен от решительного злоумышленника!
- Как было указано в комментариях, этот метод использует наивную функцию получения ключа, поэтому ваш пароль должен быть превосходным, чтобы у вас был шанс быть в безопасности.
- Кроме того, этот метод не проверяет подлинность зашифрованного текста, что означает, что злоумышленник может изменить или повредить содержимое без вашего ведома.
- Для многих типов безопасности шифрования просто недостаточно (например, вы не можете просто использовать шифрование для безопасного обмена данными).
Если вы все еще хотите использовать 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
-закодируйте сообщение с помощью -a
включите как шифрование, так и дешифрование. Таким образом, вы можете вставить зашифрованный текст, например, в сообщение электронной почты. Это будет выглядеть примерно так:
stefano:~$ openssl aes-256-cbc -in attack-plan.txt -aenter aes-256-cbc encryption password:Verifying - enter aes-256-cbc encryption password:U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=
Обратите внимание, что у вас есть выбор шифров и режимов работы. Для обычного использования я рекомендую aes 256 в режиме CBC. Это доступные вам режимы шифрования (только с учетом AES).:
aes-128-cbc ← this is okayaes-128-ecbaes-192-cbcaes-192-ecbaes-256-cbc ← this is recommendedaes-256-ecb
Смотрите также:
- http://en.wikipedia.org/wiki/Symmetric-key_algorithm
- http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
Пожалуйста, обратите внимание:
OpenSSL запросит у вас пароль. Это не ключ шифрования, он не ограничен 32 байтами! Если вы собираетесь передавать файлы с кем-то другим, ваш общий секрет должен быть очень надежным. Вы можете использовать этот сайт, чтобы получить представление о том, насколько хорош ваш пароль:
- https://www.grc.com/haystack.htm (это не учитывает никаких атак по словарю!)
- http://howsecureismypassword.net (это, по крайней мере, проверка на наличие общих паролей)
Предупреждение: Я проверил, что эти сайты не отправляют ваш пароль на сервер, но он может измениться в любое время. Используйте эти сайты с помощью dev tools / inspector и проверьте, отправляют ли они что-нибудь, прежде чем вводить свой надежный пароль.