- PR -

AES ブロック長128bits 鍵長256bitsCBCモードにおける仕様確認

1
投稿者投稿内容
Kit
会議室デビュー日: 2005/08/19
投稿数: 12
投稿日時: 2005-12-21 19:35
私は、NISTで採択されたFIPS PUB 197のAES 固定ブロック長128bits 可変鍵長256bitsにおけるCBCモードの実装をJavaで行いました。
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

そして、FIPS PUB 197内にあるテストデータ(AES 鍵長256bits)をクリアしました。
しかし、私の処理結果が正しいことを確かめるためにさらなる検証を行いたいと考えています。
そこで、AESの鍵長256bitsにおけるCBCモードの検証を行いたいと考え、AESの実装とCBCモードの実装のあるopensslで検証を行っていますが、初期化ベクトルのファイルがどこにあるか分からず検証が行えないため困っています。
色々なサイトを回っていますが、勉強不足で分かりません。
初期化ベクトルは、どこに保存されているか教えていただきませんか?
またopensslで暗号化するとSaltedと表示されますがSaltedとは何を指しているのでしょうか?

宜しければ、皆様の知っている検証が行えるサイトを教えて頂きませんか。
一応、私が検索して調べたサイトは以下の通りです。
http://java.sun.com/products/jce/
AESをサポートしているJCEを使い、鍵長256bits ECBモードの検証を行っている最中です。
上記のサイトはこちらのサイトを参考にさせていただきました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20693&forum=12

こちらのサイトではRijndael仕様となっているようで検証が行えません。
理由として初期化ベクトルが256bits排出されるからです。
実際にAes_plus_C.javaをコンパイルしてKey.txtをみられると32bytes分、初期化ベクトルが排出されているのが分かると思います。
もしかしたら違っている可能性もあるかもしれませんのでその際はご指摘御願いします。
http://mars.elcom.nitech.ac.jp/Research/MM/security/aes/java.html

こちらのサイトもRijndael仕様のようです。
実際に試してみられると分かります。理由として鍵長ごとに対応するブロックをoutputするからです。
http://islab.oregonstate.edu/koc/ece575/02Project/Anu/AES/AESP.html

AESは固定ブロック長128bits 鍵長は、128、192、256bitsと可変長ブロックと理解しています。




[ メッセージ編集済み 編集者: Kit 編集日時 2005-12-21 23:23 ]
Kit
会議室デビュー日: 2005/08/19
投稿数: 12
投稿日時: 2005-12-27 20:13
自身が立てたスレッドでしたが、目的のサイトを見つけることができましたので、困ったかたに参考になるよう記載しておきます。

こちらの記事にCBCの検証のことが載っていました。
http://www.tatsuyababa.com/RFCJ/RFC3602JA.html

上記のサイトから、詳しくするとこちらからダウンロードできました。(C言語 etc.)
http://csrc.nist.gov/encryption/aes/rijndael/rijndael-unix-refc.tar


またこちらに各モードに対するテストベクトルが付録についています。
http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf

参考になれば幸いです。
失礼します。p(m_m)q


[ メッセージ編集済み 編集者: Kit 編集日時 2005-12-27 20:15 ]
1

スキルアップ/キャリアアップ(JOB@IT)