OpenSSLでAES-CTR(カウンタモード)暗号化

OpenSSLがいつのまにかAES-CTRに対応してました。

以前、1.0.0aを使ったときにはAES-CTRは入ってませんでした。いえ、実は、1.0.1aにもlibleayにはAES-CTRアルゴリズムは入ってたんです。でも、それがOpenSSLのコマンドとしては実装されていなかった。

それが、最近ふと1.0.1eのencコマンドを見てみたらAES-CTRがあるじゃないですか!

例えば、
AES Test vectors のAES CTR 128-bit encryption modeを試してみるのであれば、こんな感じです。

openssl enc -aes-128-ctr -e -K 2b7e151628aed2a6abf7158809cf4f3c -iv f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff -in tb.bin -out tb.enc.bin

もちろん、tb.binは上記ページのTest vectorをバイナリ化したものです。tb.enc.binとCipher textが等しくなることを確認できれば、使い方はOKです。