暗号化されたメッセージをそのような秘密鍵のいずれかで復号化できるように、2つの異なる秘密鍵で機能する非対称暗号化アルゴリズムが存在するかどうか疑問に思っていますか?
4 に答える
非対称鍵は、メッセージの暗号化には使用されず(遅すぎる、サイズ制限があるなど)、メッセージの対称鍵のように小さなバッファーの暗号化にのみ使用されます。
asymm を使用してメッセージを暗号化する場合。実際には、メッセージを暗号化する対称鍵を暗号化しています。
同じ対称鍵を 2 つの異なる非対称キーで暗号化するだけです。両方ともメッセージの同じ対称鍵を含む 2 つの異なる暗号ブロックを取得するため、どちらでも復号化できます。
その上で対称暗号化と秘密共有スキームを使用して、「鍵を半分に分割する」ことができます。
秘密の共有の詳細: http://en.wikipedia.org/wiki/Secret_sharing
私がそれを見る方法のステップ:
- (疑似) ランダムに生成されたキーを使用してデータを暗号化します。
- Shamir のシークレット共有を使用してシークレットを配布します。これは 2 つの共有のキーであり、キーを取得するには 1 つの共有で十分です。
最終的に、データを取得するには 1 つ (または複数) の「キー」が必要になります。
私の知る限りそのようなアルゴリズムはありませんが、共通の解決策があります。暗号化されたテキストは、テキスト自体の暗号化に使用される対称キーの暗号文のセットと共に転送されます。このような鍵の各暗号文は、受信者の 1 人の公開鍵で元の鍵を暗号化した結果です。したがって、秘密鍵を知っているすべての受信者は、データの暗号化に使用された鍵を解読してから、メッセージ自体を解読できます。
通常、ハイブリッド暗号化スキームが使用されます。つまり、メッセージは対称鍵暗号システムで暗号化され、対称鍵は対象受信者それぞれの公開鍵で暗号化されます。