トリプルDESについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たろう

トリプルDESについて

#1

投稿記事 by たろう » 15年前

トリプルDESについて聞きたいのですが、暗号(1つめの鍵)=>復号(2つめの鍵)=>暗号(3つめの鍵)という流れはわかったのですが、
この復号は平文にすると言うことでよろしいのでしょうか?
また復号は平文にするという場合、どうやって、暗号化したやつから複合化するやつ(2つ目の鍵)を求めることができるのでしょうか?

sizuma

Re:トリプルDESについて

#2

投稿記事 by sizuma » 15年前

DESがどんな暗号化アルゴリズムをしていたか忘れましたが、3つの鍵はすべて別々ですよね。
平文とは暗号化される前の入力文のことを指します。

仮に、

入力前:あいうえお
↓鍵1で暗号化
入力後:えいうあお

となったならば、

入力前:えいうあお
↓鍵1で復号化
入力後:あいうえお

としなくてはいけません。
鍵2で復号処理をしても元には戻りません。
ここまではオッケーですかね?


なんで暗号化→暗号化→暗号化じゃなくて、
暗号化→復号→暗号化
ってしてるのかは、忘れました。
暗号化アルゴリズムが、繰り返すと強度が落ちるんだとは思うんですが。一周回って戻ってくるみたいな?
前のトピックでsofutoyaさんが紹介されてた本を読んだ後は分かってた気がするんで、読んでみてください。
分かりやすくて僕はおもしろいと感じました。 画像

たいちう

Re:トリプルDESについて

#3

投稿記事 by たいちう » 15年前

私もアリスを読んだ後は理解していたようなんだけど、図書館で借りた本だしな。
買おうかな。とりあえず調べてみました。

http://www.sophia-it.com/content/%E3%83 ... 3%83%ABDES
2回の暗号化では、暗号強度が逆に弱まることが証明されている。

http://e-words.jp/w/Triple20DES.html
第2段階を復号とすることによって、3つの鍵をすべて同一にした場合にDESと同じ結果が得られるようになっている。

http://en.wikipedia.org/wiki/Triple_DES
In each case the middle operation is the reverse of the first and last.
This improves the strength of the algorithm when using keying option 2,
and provides backward compatibility with DES with keying option 3.

テキトーに意訳してみると、
Key1 = Key2 = Key3 の場合は、DESと一緒。後方互換性。
Key1 = Key3 != Key2 の場合は、鍵2つでDESよりも強くなる。

たろう

Re:トリプルDESについて

#4

投稿記事 by たろう » 15年前

回答ありがとうございます。
復号化=平文というわけではないのですね。
わかりました。
と言うことは、二つ目の鍵は自分で考えても良いと言うことでしょうか?
それとなぜ暗号→復号→暗号なのでしょうか?わかるかたいらしたら説明よろしくお願いします。

たろう

Re:トリプルDESについて

#5

投稿記事 by たろう » 15年前

たいちうさん回答ありがとうございます。
softyaさんの参考の本は明日図書館で借りてくる予定です。
サイト参考にさせていただきました。
納得しました。
ありがとうございました。

たろう

Re:トリプルDESについて

#6

投稿記事 by たろう » 15年前

すみません。DES一つ気になったのですが、あるサイトで、鍵のサイズは56ビットとのっていたのですが、
これはサブキーが56ビットと解釈していいのでしょうか?またなぜ、64ビット中左の32ビットサブ
キーと右とで暗号化するのに、56ビット必要なのでしょうか?

閉鎖

“C言語何でも質問掲示板” へ戻る