as3crypto の AES CBC モードの実装が正確であることを確認する手段
Google Code Archive - Long-term storage for Google Code Project Hosting..
as3crypto に限るわけではない.NIST Special Publication 800-38A の27ページから始まるテストデータをクリアしていたらいい.
as3crpto のデモ の UnitTest タブでは各種テストが実行される.次のメッセージが出力されている.
- CBC AES-128 Test Vectors... Ok. - CBC AES-192 Test Vectors... Ok. - CBC AES-256 Test Vectors... Ok. - CFB AES-128 Test Vectors... Ok. - CFB AES-192 Test Vectors... Ok. - CFB AES-256 Test Vectors... Ok.
これら Test Vectors が,さっき挙げた NIST 文書のテストデータと一致しているか確認する.
さて,UnitTest タブのテストコードは Crypto.zip の com\hurlant\crypto\tests 以下のファイルで構成されている.今回,CBC モードについて調べているから,CBCModeTest.as をテキストエディタで開く.最新版が 1.3 だから,Google Code の Source から brunch,v1.3 から辿ってもいい.
あ,32 行目からのコメント部で,さっき挙げた NIST 文書のアドレスが書いてあるな.テストデータをどこから持ってきたかを明示しているわけだ.まあ,一致しているかどうかは sp800-38a.pdf と CBCModeTest.as とを比較することで確認できる.