AES-256を使用してファイルを暗号化します。どうすればそれをすばやく簡単に行うことができますか?
残念ながら、あなたのものを保護する簡単な解決策はありません。ユースケースについて考えてみてください。おそらく、単純なAES以外のものが適しています。
プラットフォームに依存しない非常に単純な暗号化が必要な場合は、opensslを使用できます。
まだopensslを使用したい場合:
暗号化:
openssl aes-256-cbc -in attack-plan.txt -out message.enc
復号化:
openssl aes-256-cbc -d -in message.enc -out plain-text.txt
暗号化と復号化の両方でbase64
スイッチを使用して、opensslで-a
- encodeにメッセージをエンコードできます。このようにして、たとえば、暗号文を電子メールメッセージに貼り付けることができます。次のようになります。
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=
暗号と動作モードを選択できることに注意してください。通常の使用では、CBCモードのaes 256をお勧めします。使用可能な暗号モードは次のとおりです(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バイトに制限されていません!他の人とファイルを転送する場合、共有秘密は非常に強力なはずです。このサイトを使用して、パスワードがどれだけ優れているかを把握できます。
警告:これらのサイトがパスワードをサーバーに送信しないことを確認しましたが、いつでも変更できます。これらのサイトを開発ツール/インスペクターで使用し、強力なパスワードを入力する前にそれらが送信するかどうかを確認します。
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をデフォルトにすることもできます。 (マンページによると CAST5 )
7z(passwordオプションを使用する場合)256ビットAES暗号化を使用します(SHA256キーストレッチング )。
インストール(p7Zip-full
)して、暗号化するファイルまたはディレクトリを右クリックし、Compress、。7zおよびその他のオプション/パスワード。
復号化するには、。7zファイルを右クリックして、Extract hereを選択します。
リンクされたWebサイトには、オープンソースの256ビットaes暗号化/復号化ツールが含まれており、Javaを介したMacO、Windows、Linuxなどのマルチプラットフォームです。
暗号化:aescrypt -e <file>
復号化:aescrypt -d <file>
次の構文を使用して、ホームフォルダーをバックアップおよび暗号化できます。
tar -cvf - /home/<home_folder> | aescrypt -e -p <password_message> - > backup.tar.aes
make
Sudo make install
Webサイトからバイナリまたはソースコードをダウンロードします。
私がしたであろう多くの提案は、このスレッドですでに出されています。基本的に、opensslはファイルまたはスクリプトを暗号化する最も簡単な方法です。ただし、AES-256の使用には注意してください。これは、someプラットフォーム。最も新しいOS ...すなわちLinuxにあります。しかし、AIX 5.3などのその他のものはそうではありません(HP-UXも同様だと思います)。異なるプラットフォームでファイルまたはスクリプトを使用する場合は、AES-128を使用することを強くお勧めします。これはどこでも利用できるためです。
AES-128を使用してファイルを「迅速かつ簡単に」暗号化するにはどうすればよいですか?
www.ShellScrypt.com のようなサイトは、openssl AES-128を非常に強力に使用してシェルスクリプトを暗号化し、暗号化されたコピーを作成します実行可能スクリプトの。スクリプトをサイトに貼り付けるだけで、Zipファイルが生成されます。そのZipファイルには、暗号化された(およびスクリプトの場合は実行可能)バージョンのファイルが含まれます。これにより、ファイルを「easily」および「conveniently」で暗号化できます。/scriptは、スクリプトを使用したり、opensslコマンドの複雑で混乱した呪文を実行したりするすべてのシステムで、パッケージまたはモジュールの要件を満たす必要はありません。
以下に示すのは、AES-を使用する基本的なencrypt/decryptopensslコマンドです128:
test@test-VirtualBox:~$
test@test-VirtualBox:~$ echo precious-content | openssl aes-128-cbc -a -salt -k mypassword
U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z
test@test-VirtualBox:~$
test@test-VirtualBox:~$ echo U2FsdGVkX1+K6tvItr9eEI4yC4nZPK8b6o4fc0DR/Vzh7HqpE96se8Fu/BhM314z | openssl aes-128-cbc -a -d -salt -k mypassword
precious-content
test@test-VirtualBox:~$
test@test-VirtualBox:~$
Stefano Palazzoの答えに加えて、base64コマンドと同様に機能する小さなbash関数を作成しました。
ファイルをaes256暗号化してから、base64でエンコードします。逆にすると、元のプレーンテキストをbase64でデコード、解読、および吐き出します。
aes256() {
decodeMe=""
isPipe="$([ ! -t 0 ] && echo "true" || echo "false")"
if [ "$1" = '-d' ] || [ "$1" = '--decode' ]; then
decodeMe="-d"
shift
fi
if [ "$isPipe" = "true" ]; then
read input
printf '%s\n' "$input" | openssl aes-256-cbc -a $decodeMe
exitCode="$?"
else
openssl aes-256-cbc -a $decodeMe -in "$*"
exitCode="$?"
fi
unset isPipe decodeMe input
return "$exitCode"
}
使用法:
echo "my string" | aes256
# enter aes-256-cbc encryption password
# Returns: U2FsdGVkX1++e/BhBGlNOzNvarqq7zI13S/hbiKVzXQ=
echo "U2FsdGVkX1++e/BhBGlNOzNvarqq7zI13S/hbiKVzXQ=" | aes256 -d
# enter aes-256-cbc decryption password
# Returns: my string
aes256 file.plain > file.crypt
# enter aes-256-cbc encryption password
aes256 -d file.crypt
# enter aes-256-cbc decryption password
# Spits out original unencrypted file.