Linux(Ubuntu)を初めてインストールし、パッケージOpenSSLもダウンロードしました。コマンドラインも開いていくつかのコマンドを試しましたが、どれも機能しませんでした。
だから私が持っているのは初期ベクトルです:5a04ec902686fb05a6b7a338b6e07760
、暗号文もあります:14c4e6965fc2ed2cd358754494aceffa
および対応する平文:We're blown. Run
今、私はあなたが最初のベクトルと平文を入力するコマンドがなければならないと想像します、そして結果としてあなたは暗号文を得るべきです...?別の可能性:初期ベクトルと暗号文を入力し、平文を取得します。
しかし、コマンドラインでこれを行うにはどうすればよいですか?私はすでにコマンドを試しました:
openssl aes-256-cbc -e -nosalt -a -in input.txt -out output.txt -k key -iv ivkey
約 input.txt
:このファイルをデスクトップに作成し、プレーンテキストを書き込んだ。約 output.txt
、私もそれを作成してデスクトップに置きました、それは空です。このコマンドを使用した後、何も起こりません!
他に役立つコマンドはありますか?また、インターネットで役立つツールを見つけようとしましたが、何も機能していないようです。 :/
入力テキストを準備します。
echo "We're blown. Run" >input.txt
エンコード:
openssl enc -aes-256-cbc -nosalt -e \
-in input.txt -out input.txt.enc \
-K '2222233333232323' -iv '5a04ec902686fb05a6b7a338b6e07760'
元のテキストを標準出力にデコード:
openssl enc -aes-256-cbc -nosalt -d \
-in input.txt.enc \
-K '2222233333232323' -iv '5a04ec902686fb05a6b7a338b6e07760'
注1:for -K
および-iv
渡す必要があります 16進数のみで構成される文字列 。この文字列は、次のようなバイナリファイルから取得できます。
hexdump -e '16/1 "%02x"' FILE_WITH_KEY
注2:ここではAES-256のキーを取得するアルゴを使用しました256ビット長。しかし、-K
8バイト/ 16 hex/64ビットのみです。この場合、openssl
は秘密鍵にゼロを埋め込むため、上記の例では次の鍵を使用しました:'2222233333232323000000000000000000000000000000000000000000000000'
。これは重大な弱点です実際にはもっと強力なキーを使用してください。同じ話は-iv
、ただし長さは、選択したアルゴリズムのモードとブロック長によって異なります 関連する質問を参照 。