goo blog サービス終了のお知らせ 

EverQuestできない日記

EverQuestの研究の一環として、活動記録から研究成果や攻略法、ネタばれ情報までいろいろ書いてました。

JoyCrypt.DLL の評価

2008年01月26日 | 暗号
[ AES 暗号ライブラリ JoyCrypt.DLL 2007.03.05 (ジェイティ エンジニアリグ株式会社) ]


仕様:非公開
 暗号アルゴリズムは Rijndael (ブロック・サイズ 128bit、鍵サイズ 128~256bit) です。利用モードは ECB / CBC / OFB / CFB / CTRモードで、IV は内蔵されてる Mersenne Twister 乱数で作れます。暗号鍵はバイナリ値で与える必要がありますが、ハッシュ関数 (SHA-1 と SHA-2) が内蔵されてるので、それでパスワードから暗号鍵を作れます。


評価、鍵強度:最大256bit、実装上の安全性:○、処理速度:◎


 関数の作りがプリミティブで、初心者が簡単に使うのではなく、ある程度熟達したプログラマーが自由に使いこなせるようになってます。個人的にはこういう開発者の腕の見せ所が残ってるライブラリーは好きです。実際に VB6 から呼び出して CBCモードの暗号化をやってみましたが、きちんと暗号化できました。データの暗号化という基礎的なことしかできないので、実装上の安全性に関しては開発者の使い方次第です。ちなみに、説明書には OFBモードや CFBモードでもブロック・サイズの倍数で入力するようにと書かれてますが、実際にはブロック・サイズの倍数でなくても普通に動作するので、これは説明書を書く時にコピペしたときの修正忘れだと思われます。


 あえて難を言うならば、材料を自分で組み立てる必要があるので、初心者では簡単には使えないということでしょう。メモリー上のデータの暗号化にしか使えないので、ファイルの暗号化がしたいのなら、ファイル・アクセスは自前でやらないといけません。CBCモードではパディング処理を自前で実装する必要がありますし、IV を使うモードでは IV を自分で作って指定してやる必要があります。こういうことは手順を知らない人にはとっつきにくそうです。ただ、ハッシュ関数 (SHA-1 / SHA-2) を内蔵してたり、擬似乱数も生成できたりと、鍵や IV の生成方法で特に問題が起きることはないだろうと思われます。暗号の使い方がわかる人にとっては最低限必要な品がそろったよいライブラリーです。


 むしろ問題は、ライセンス条項で自由な配布や商用利用が禁止されていることでしょう。いかにいいライブラリーでも禁止事項が多くて法律が絡んでくると気軽に使えません。これはまあ会社の名前で公開してる以上は仕方の無いことで、無償で公開されてるものの、使える場面は限られてきます。しかしまあ、こういうライブラリーを公開することで、自社の他の暗号関連の製品を宣伝する効果はあります。お試し版は無料で公開するが、できれば製品版を買って欲しいということでしょう。


最新の画像もっと見る