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です。