- 締切済み
暗号アルゴリズム(DES,AESなど)について
研究室の課題で暗号アルゴリズム(DES,AESなど)の勉強中なのですが、 少し分からないことがあるのでお詳しい方いらっしゃいましたら教えてください。 まず、DES, 3DES, AESのECBモードで暗号するときを考えます。 入力データ長と出力データ長が同じで、カギを変えない場合に 入力データと出力データは1対1になるのでしょうか? カギを変えずに、異なる入力データから同じデータが出力されることがあるかどうか知りたいです。 また、ある固定バイトのデータを同じ長さのデータに暗号化するときに どのような暗号方式が考えられる(世間的に強力とされている)のでしょうか? たとえば、4バイトのデータを暗号化して4バイトのデータを生成するような場合です。 条件として異なる入力データからは同じ出力データが生成されることがないとします。 アドバイスでも良いです。お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kakudaikyo
- ベストアンサー率66% (2/3)
*ECBモードは暗号文に平文の特徴が現れるので危険だそうです。 最強の暗号は、ワンタイムパッドを利用した平文と鍵が同じ長さの場合です。部外者には解読不能で、符号化を工夫すれば平文と暗号文で情報量の増減はありません。そのほか量子暗号、第二次大戦のナヴァホ族の通信要員のパターンも同様です。現実性にこだわるなら、自分勝手な仕様で暗号化すると思いのほか強力です。 情報量の増減なしが目標なら、ごく単純にスクランブルをかけるか、既存の方法で暗号化してから圧縮して帳尻を合わせることになると思います。お勧めは、仕様が公開されて今でも現役の暗号です。 ちなみに、偶然コリジョンが発生しても良いのはハッシュ関数です。暗号文でコリジョンが発生するような暗号は、入力を計算可能なハッシュ関数となります。
- jx-word
- ベストアンサー率40% (38/94)
課題丸投げっぽいから#1のような回答が付くんですが、でもどんなプログラムを作ればこれを検証できるのやら・・・ で、異なるデータを暗号化して同じデータになることがあるとすれば、そのデータを復号したら一体なにがでてくるんでしょう? 少し考えれば結果は簡単です。 暗号方式については星の数ほどあるので、別途調べてください。
- junkUser
- ベストアンサー率56% (218/384)
研究室の課題の趣旨は何ですか? 「楽して回答が得られるか」の実験ですか? プログラムを実際に作成して実行してみてはいかがでしょうか。
補足
コメントありがとうございます。 研究の趣旨とまではいかず、勉強中の内容についての疑問点でしょうか。 実際にプログラムを作成するに越したことはないですけどね。 それを言っては(笑)。。。なんだってそうですよね。 研究とは本質は別で、既存技術についての興味なのでココで質問させていただいています。 まずサイトの趣旨を見失わないでくださいね♪
お礼
アドバイスありがとうございます。 >異なるデータを暗号化して同じデータになることがあるとすれば、そのデータを復号したら一体なにがでてくるんでしょう? なるほど、そのように考えればDES, AESなどの暗号アルゴリズムは 同じデータになることはありえないということですね。 少しバカば質問だったかもしれません。。。 ありがとうございます。