- PR -

JavaでTripleDESで復号したい場合

1
投稿者投稿内容
tibimika
会議室デビュー日: 2003/06/03
投稿数: 9
投稿日時: 2007-12-23 21:38
JavaでTripleDESのE-D-E方式で復号を行いたい場合の質問です。

今回秘密鍵を使用し、連携先にて暗号化された文字を復号したいです。
鍵のサイズが16バイトとなっています。
DESedeKeySpecでは、24バイト未満の鍵を指定するとWrong key sizeというExceptionが
発生します。
APIをみると、24バイト以上でなければできないようです。

上記の場合、どのように実装すれば復号が行えるのでしょうか。
ご教授よろしくお願い致します。
blunder
ベテラン
会議室デビュー日: 2003/09/11
投稿数: 65
投稿日時: 2007-12-24 10:51
トリプルDESでは、鍵K[1], K[2], K[3]を使うケースと鍵K[1], K[2], K[1]を使う
ケースがあります。
K[i]はDESの1個の鍵で8バイトです(ただし有効長はパリティビット分を差し
引いて56ビットです)。

与えられた鍵が16バイトだとしたら、後者の可能性があります。
その場合はK[1], K[2]の後ろにK[1]を連結して、24バイトに拡張すればOKのはず
です。

本ケースがそれに該当するかどうかははっきりしませんが、試す価値はあると
思います。
tibimika
会議室デビュー日: 2003/06/03
投稿数: 9
投稿日時: 2007-12-26 17:22
blunder様

ご回答ありがとうございます。

復号することができました。
ありがとうございました。
1

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