web-dev-qa-db-ja.com

暗号化されたテキストがランダムノイズのように見えるのはどの暗号システムですか?

攻撃者がデータを復号化するためのキーを知らない場合、2者がランダムなデータと区別できない暗号化されたメッセージ(目的のプロパティ)を生成する暗号化スキームを使用して通信する暗号化プロトコルをセットアップしたいとします。 。 (最終目標は、検出不能であり、もっともらしい否認可能性です)

選択した暗号システムのどのコンポーネントがこの特性を提供しますか?

対称鍵暗号化を使用するか、公開鍵暗号化を使用するかの選択ですか?

または、このプロパティを決定するのに使用するブロック暗号操作モードの選択ですか?

ステガノグラフィーに関するこの回答は、この特性を提供する対称鍵暗号化を選択することを意味するようです。これは、公開鍵暗号化を選択した場合、目的のプロパティを実現できないことを意味しますか? https://security.stackexchange.com/a/44295/26338

私の調査の結果、この特性が得られるのはブロック暗号操作モードの選択であると私に思わせました(たとえば、AES-GCMを選択すると、この特性が得られます)。

目的の特性を実現するために、どの設計を選択する必要がありますか?

10
dandroid

まず、「ランダムノイズ」について明確にしましょう。これは一般的に定義されていません。あなたが持っているかもしれないのは、特定のドメイン内のランダムな値のシーケンスです。たとえば、均一にランダムなビットと区別がつかない一連のビットが必要です。

疑似ランダムビットが必要な場合は、非対称暗号化よりも対称暗号化の方が便利です。非対称暗号化は、多くの構造を持つ数学的オブジェクトを使用します。これは、エンコードのバイアスとして現れる傾向があります。ランダムビットに「似ている」非対称暗号化を実行することもできますが、長期的には、これには多少の労力が必要です(例 Diffie-Hellman 楕円曲線を使用することにより、鍵交換を「偏りなく」することができます)両方が暗号化に適している、つまり十分に大きな素数の次数倍を持っていると仮定すると、そのねじれ)。

ブロック暗号で対称暗号化を使用すると、通常、ランダムに見える外観が得られます。つまり、出力が「ランダムに見えない」場合は、弱点と見なされます。確かに、古典的なペンギンの絵は、 ECBは弱い であることを示しています。良いモードは、あなたが望んでいるような性質を実現します。 ただし、それを失敗させる方法があります。たとえば、AES-GCMは、すべての手段で非常に細かい暗号化モードですが、 初期化ベクトル を使用します。これは、受信者に知られている必要があります。 IVは秘密ではないため、通常は送信者によって選択され、生のGCM出力とともにエンコードされます。連続するメッセージからのIVはバイアスされる可能性があります。実際、GCMの優れた点の1つは、ランダムでないIVを許容することです(連続したIVを互いに区別する必要があるだけです)。したがって、IVは出力データ内のノイズ以外の存在を裏切る可能性があります。

このような「非表示」プロパティは通常は望ましくありません(積極的に回避されることもありません)。そのため、既存のプロトコルはその方向に取り組みません。オブザーバーがsuspectさえしないようにデータを非表示にすることは、その存在が実際に steganography の重要なポイントであり、暗号化が役立ちますが、少し注意してのみ。

9
Thomas Pornin