十分に強力な量子コンピューターの出現により、多くの暗号化アルゴリズムは脆弱になり、必要なデータの機密性を提供しなくなります。ポストクォンタム時代に機能するアルゴリズムが1つあります。それは、バーナム暗号またはワンタイム暗号パッドです。ただし、これには重大な欠点があります。キーの長さは、暗号化されたデータの量と等しくなければなりません。
前書き
暗号化されたメモは通信にはほとんど役に立ちません。大量のランダムデータを保存し、使い果たされた暗号化されたメモを更新する必要があります。今日では、いくつかの外交使節団が数ペタバイトのキーを備えたストレージを持つことは問題ではありませんが、ストレージの保護を整理する煩わしさは、キーが不足する問題を取り除くことはできません。ストレージ新しい暗号化方式では、乱数ジェネレーターを使用して、事前に生成されたキーの使用期間を長くすることができます。理想的な条件では、2ビットでも無限に使用できます。
定義
暗号パッド-事前に生成されたランダムデータ。
メッセージストリームは、対話者間で順次または並行して送信される暗号化されたデータです。
基本キーは、ストリームの最初のメッセージを暗号化するために使用される暗号パッドの別の部分です。
セッションキー-ストリーム内の次のメッセージの暗号化キー。必要に応じてPRNGを使用して作成されます。
データフィールドは、前のセッションのキーで暗号化されたペイロードです。
アルゴリズム
送信される情報の最小量は、メッセージ内のデータブロックによって決定されます。これは、1ビット、バイト、またはギガバイトの場合があり、特定の実装によって異なります。キーは2ブロックの長さである必要があります。これは、データブロックと次のキーの最初の部分を暗号化するため、キーの2番目の部分は前のキーの最初の部分で暗号化されるためです。キーにはランダムデータが使用されているため、考えられるすべての組み合わせが同じ確率であるため、実際のキーを復号化することはできません。
アリスとボブは共通の暗号パッドを作成します。
, , , . .
, , . .
, , , . , .
.
(. . ), , .
, , , .
.
, [10]
[1]. [00]. .
101 xor 100 => 001
[001] .
( , ) .
101 xor 001 => 100, 00
[1]. [01]. , .
000 xor 101 => 101
.
. habr. ASCII.
h = 68, a = 61, b = 62, r = 72
[01 23]
[B6]
, [5C E4]
...
012301 xor b65ce4 => b77fe5
, [b4 cd], .
5CE45C xor 68B4CD => 345091
, [A4 E8]
B4CDB4 xor 61A4E8 => D5695C
[E0 9A] [B0 51]. .
B77FE5345091D5695CC6083EC26382
最初の2バイトを削除するだけで十分であり、暗号ブロックにアクセスできても、各キーが前のキーによって暗号化されているため、元のメッセージを復号化することはできません。
そして、これはベースキー[ 7BD0 ]と同じ方法で暗号化された興味深いメッセージです。
33A7C016D2519BF4EBDF241ACED9541CCEDCD77108B6BD7858475C19B9475A4D5B85415DEE28A02F1F5250C04C55398F6CB561469291654E74BA19D98C104440913755