今日の目標は、AESを使用して秘密のメッセージを解読することです。暗号文とキーを指定すると、メッセージを復号化して印刷します。
プログラムはどの言語でもかまいません。stdinの入力で実行され、stdoutの出力が正しいかどうかがチェックされます。
stdinの入力の最初の行は、16バイトでエンコードされた16バイトのキーになります。stdinの入力の2行目は、16バイトでエンコードされた16バイトの暗号文です。
プログラムの出力は、指定された鍵でAES-128を使用して暗号文を復号化した後の16バイトメッセージでなければなりません。ASCIIオクテットとして解釈された結果を出力する必要があります。解読後の結果はすべて有効なASCIIであると想定できます。
AESを実装するライブラリ/組み込み機能を使用することはできません。このような機能を使用して、hex / binary / ASCIIエンコーディング間で変換できます。
バイト単位の最短コードが優先されます。
入力と出力の例:
bd8ab53f10b3d38576a1b9a15cf03834
02c0ee126cae50ba938a8b16f0e04d23
明日攻撃する。
そしてもう一つ:
f4af804ad097ba832906db0deb7569e3
38794338dafcb09d6b32b04357f64d4d
おめでとう。
5
... AESとは
—
Alex A.
@AlexA。Advanced Encryption Standard。
—
orlp 2015年