fc2ブログ

Rijn.dllの返り値

拙作ファイル暗号化DLL「ラインドール(rijn.dll)」の暗号化、
復号関数の戻り値(返り値)についてお問合せがありましたので、
ブログでも書いておきます:

  EncryptFile戻り値
  0  : 正常終了
  -1 : 暗号化元ファイルオープン時エラー
  -2 : 暗号化先ファイル作成時エラー
  -3 : 暗号化時エラー

  DecryptFile戻り値
  0  : 正常終了
  -1 : 復号元ファイルオープン時エラー
  -2 : 復号先ファイル作成時エラー
  -3 : 復号時エラー

 ※戻り値-3についてのご注意

  復号時、キーが違う場合は「復号時エラー」に
  ならないことがほとんどです。
  これはバグではなく、復号処理は
  完了しているのでのですが、キーが違うため復号結果が
  平文と一致しなくなっています(通常は意味を成さないデータになる)
  ですので、「キーの間違い」を検出するには、
  ハッシュやチェックサムなどを利用した、
  ベリファイ手段を別途実装する必要がございます。


戻り値については、以前のページには書いてあったのですが、
新しいページでは抜けていたようです。(^^;)

ご参考になれば幸いです(^^)。

コメント

No title

>「キーの間違い」を検出するには、ハッシュやチェックサムなどを利用
 キー自体をハッシュ&暗号化してヘッダに書き込んでおく。
 んで、復号時にはまず最初にヘッダを復号して、入力されたキーと比較・・・異なれば「キー間違い」とする。

 これだとヘッダサイズ分だけファイルサイズが大きくなっちゃうのがいやなんですよね。
 しかも「ヘッダを解析すれば暗号解読出来そうじゃん」と思われるのが腹立たしい。
 ヘッダ部分だけは別系列の暗号パラメータを使ったり、ワナを仕掛けたりしてるけど、やっぱり「ヘッダを解析すれば暗号解読出来そうじゃん」と思われることに変わりなく・・・悔しい(^^;

Re: No title

んーなるほど!確かにそうですね・・・。

ハッシュを使わないためには、平文に固定のヘッダを書き込んで
復号後にチェックするとかいう手もあるかと思いましたが、
それだとキー間違えでも復号時間が余分にかかってしまうんですよね・・・。

しかもやっぱりファイルサイズは増える・・・うーん悔しい(^^;;)

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)