• ベストアンサー

DES暗号について

DES暗号について疑問を持ったので質問します。 1.まず、初期転置と最終転置はなぜ行うのでしょうか?転置方法は公開されているということなので解読を 難しくすることに寄与しないと思うのですが。 2.また、シャッフルを16回も行うのはなぜでしょうか?一回だと入口と出口のデータ対がばれると簡単に解読 できそうなのでまずいでしょうが、せいぜい2回 やっとけば解読は十分難しくなると思うのですが。 3.あと、シャッフルの中で左右のデータをいれかえる のはなぜでしょうか?大して意味がないと思うので すが。 それでは回答願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • masudaya
  • ベストアンサー率47% (250/524)
回答No.1

1.については私もよくわかりません. 2.16回程度では,解読の危険があるので,今は,DESを3回通すトリプルDESなどが一般的なのではないかと思います."線形解読法 DES","差分解読法 DES"などのキーワードでサーチするといろいろ見つかると思います. 3.この構造はFeistel構造といわれるもので,暗号・復号を同一構造でできる.実際に暗号化するF関数の(DESではSBOX)設計自由度が大きいので,作りやすい.2.で述べた解読法の対処法が明確になっている.などの特徴を持っているので,この基本構造は多くの暗号で採用されています.

関連するQ&A

  • 暗号アルゴリズム(DES,AESなど)について

    研究室の課題で暗号アルゴリズム(DES,AESなど)の勉強中なのですが、 少し分からないことがあるのでお詳しい方いらっしゃいましたら教えてください。 まず、DES, 3DES, AESのECBモードで暗号するときを考えます。 入力データ長と出力データ長が同じで、カギを変えない場合に 入力データと出力データは1対1になるのでしょうか? カギを変えずに、異なる入力データから同じデータが出力されることがあるかどうか知りたいです。 また、ある固定バイトのデータを同じ長さのデータに暗号化するときに どのような暗号方式が考えられる(世間的に強力とされている)のでしょうか? たとえば、4バイトのデータを暗号化して4バイトのデータを生成するような場合です。 条件として異なる入力データからは同じ出力データが生成されることがないとします。 アドバイスでも良いです。お願いします。

  • 暗号のアルゴリズムについて

    公開鍵暗号方式・共通鍵暗号方式があるのはわかっているのですが、 共通鍵暗号方式では、送信者・受信者共に同じ鍵を使うため、同じアルゴリズムで暗号化・復号を行うのであろうと予想はつくのです。 (DESや3DESがあると思うのですが、多分共通鍵にDESを使うとかかいてある?) ・質問 公開鍵暗号の場合、 AがBにデータを送る際、Bの公開鍵でデータを暗号化すると思うのですが この時、Bの公開鍵(証明書?)に、RSAで変換 といったことが書かれているのでしょうか? 公開鍵暗号には、楕円曲線暗号、ElGamal暗号があると思うのですが、 もし、Bの公開鍵に、暗号方式が書いていないと、Bの秘密鍵がRSAだった場合復元できなくなってしまうと思うのですが・・・。 初歩的な質問ですみませんが、 どなたかご教授いただけないでしょうか?

  • 暗号化アルゴリズムについて教えて下さい

    ロボフォームで銀行のパスワード、口座番号など管理してますが、最近それらの暗号化アルゴリズムがAESでほごされてました。てっきり初期設定で3DESになっているかと思いましたが、3DES保護はプロフィールだけでした。3DESはクラックされにくいと説明されてましたが、それではなぜ暗号化アルゴリズムの選択にDES、3DES、AES、Blowfish、RC6などが選べるようになってるのでしょうか?ファイルのサイズも3DESとAESを比べると変わりなかったです。  重要なデータはAESから3DESに変えるべきでしょうか?アドバイスお願いします。

  • 銀行のパスワード等、AESで保護してましたが3DESに変えるべき?

    ロボフォームで銀行のパスワード、口座番号など管理してますが、最近それらの暗号化アルゴリズムがAESでほごされてました。てっきり初期設定で3DESになっているかと思いましたが、3DES保護はプロフィールだけでした。3DESはクラックされにくいと説明されてましたが、それではなぜ暗号化アルゴリズムの選択にDES、3DES、AES、Blowfish、RC6などが選べるようになってるのでしょうか?ファイルのサイズも3DESとAESを比べると変わりなかったです。  重要なデータはAESから3DESに変えるべきでしょうか?アドバイスお願いします。

  • DESの「キー」、「初期ベクタ」の保管について

    Triple DES の「キー」、「初期ベクタ」の保管方法は? Triple DES を使ってデータベースにセットするデータを暗号/復号化は可能になりました しかし、「キー」「初期ベクタ」の保管方法に困ってしまいました どうするのが、一般的なのでしょうか? 知識がないので、基本的なことから学べるHP、ブログ、書籍等あれはご紹介ください

  • 公開鍵暗号について

    失礼します。 公開鍵暗号についてです。 Linux系OSカテゴリで質問することではないかもしれませんが、 sshサーバーの設定の際に疑問になったことなのでここで質問させてください。 公開鍵暗号方式について無勉強だったので調べていると、 Wikipediaより、 1.通信を受ける者(受信者)は自分の公開鍵(暗号化のための鍵)P を全世界に公開する。 2.受信者に対して暗号通信をしたい者(送信者)は、公開鍵 P を使ってメッセージを暗号化してから送信する。 3.受信者は、公開鍵 P と対になる秘密鍵(復号のための鍵)S を密かに持っている。この S を使って受信内容を復号し、送信者からのメッセージを読む。 4.暗号通信を不正に傍受しようとする者(傍受者)が、送信者が送信した暗号化されたメッセージを傍受したとする。傍受者は、公開鍵 P は知っているが、秘密鍵 S は受信者だけが知っている情報であるので分からない。P から S を割り出すことは(計算時間的に)極めて難しい。そのため、暗号文を復号することはおよそできない。 とありました。 sshを使ってサーバーにアクセスする場合、秘密鍵はクライアント側が持つことになりますが、 そのとき、サーバーからクライアントへのデータは秘密鍵があるので解読できるのは理解できます。 しかし、その反対はサーバー側に秘密鍵がないので無理なのでは? 不勉強でここで悩んでいます。 どなたかご教授いただけないでしょうか? また、ssh用に作成した秘密鍵は「厳重に保管しておく」とよく書かれていますが、 具体的にどうするのかはっきりしません。 パスワード保護でもすればよいのでしょうか? これについても宜しくお願い致します。

  • 初級シスアド かぎ

    暗号化および復号する際のかぎの方式として、おもに「公開かぎ方式」と「共通かぎ方式」が使用されています。データを暗号化すると解読が困難になりますが、情報の漏えいおよびデータの破壊を防止することはできません。 と書かれていたのですが、どういうことでしょうか。 「データを暗号化すると解読が困難になりますが、情報の漏えいおよびデータの破壊を防止することはできます。」 とかではないのでしょうか。

  • 暗号化鍵と複合化鍵

    参考書に公開暗号化鍵は顧客対商店の通信に使用されていると書かれてあり、 H12年春の問題で ディジタル署名は「公開かぎ暗号方式」の応用で、送信側は送信情報の一部を「送信者の秘密かぎ」で作成した著名データと同時に送信し、受信側は「送信者の公開かぎ」で著名データが正しいかをチェックする。 という穴埋め問題があります。答えも入れて書きましたが、例えばgooとユーザーを例にとって考えると、 ここで言う送信側とはユーザーのことで、受信側とはgoo(商店)をあらわすのでしょうか? ユーザーも商店も認証手続きなどあるのでどちらも送信者、受信者になりえるような気がして混乱しています。どなたか教えてください。

  • 公開鍵方式とは

    公開鍵による暗号化についてメチャクチャ分かりやすく教えてください。 普通は鍵を公開しては意味が無いし、秘密鍵とセットなら秘密の鍵が1つあれば良い様に思えるのです。 ** 公開鍵方式  **** 対になる2つの鍵を使ってデータの暗号化・復号化を行なう暗号方式。  片方は他人に広く公開するため公開鍵と呼ばれ、もう片方は本人だけがわかるように厳重に管理されるため秘密鍵と呼ばれる。秘密鍵で暗号化されたデータは対応する公開鍵でしか復号できず、公開鍵で暗号化されたデータは対応する秘密鍵でしか復号できない。

  • 公開鍵方式の安全性が全く分からない

    公開鍵方式が暗号化方式として優れていたと30年も言われてきた理屈が分からないので教えてください。 下記のNTT PC COMMUNICATIONSのサイトを見ていると以下のように説明されていました。 <引用元URL> http://www.nttpc.co.jp/yougo/%E5%85%AC%E9%96%8B%E9%8D%B5.html ~~~~~~~~~<説明抜粋>~~~~~~~~~~~~~~~ 秘密鍵暗号化方式は、鍵を盗まれると解読されてしまうとか、 連絡を取り合う相手の数だけ鍵を持たないといけないといった管理上の問題がある。 そこで、公開鍵と秘密鍵を組み合わせた公開鍵暗号化方式という方法が考え出された。       <中略> 秘密鍵は、あなただけが持っていて誰にも渡さない。それに対して、あなたの公開鍵は、たくさんの人に配布しておく。 あるいは、誰でも簡単に入手できるようにしておく。 秘密鍵は、あなただけが持っていて誰にも渡さない。それに対して、あなたの公開鍵は、たくさんの人に配布しておく。 あるいは、誰でも簡単に入手できるようにしておく。 そして、あなたが秘密鍵で暗号化したデータは、あなたの公開鍵でのみ復元できる。 あなたの公開鍵で暗号化されたデータは、あなたの秘密鍵でのみ復元できる。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 他にもいろいろ記事を読んだのですがだいたい似たような説明になっています。 しかしこの説明から考えると下記のリスクが発生するから全く安全な方法とは思えず、 何を以て30年近くも安全な暗号方式として使われ続けてきたのかが さっぱり分かりません。 ~~~~~~~上URLの記事から私が思う公開鍵方式のリスク~~~~~~~ 例えばAさんからBさんにデータを送ったとする。 データはAさんの秘密鍵で暗号化されている。 しかしそのデータ通信が発生したことにCさん(Aさん、Bさんの敵)が気付いた。 Bさんの公開鍵は誰でも簡単に入手できるのだから当然Cさんも入手している。 そのためBさんに送られたデータはCさんにも解読されてしまう。 何らかの方法でAさんに送られたデータをCさんも入手してしまえば 公開鍵でCさんも解読することが可能になってしまう。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ すみませんが上記の私が思うリスクが発生しにくい理由を教えてください。