Cryptography-with-python-one-time-pad-cipher

提供:Dev Guides
移動先:案内検索

ワンタイムパッド暗号

ワンタイムパッド暗号は、次の機能を含むVignere暗号の一種です-

  • これは壊れない暗号です。
  • キーは、暗号化されるメッセージの長さとまったく同じです。
  • キーはランダムなシンボルで構成されています。
  • 名前が示すように、キーは1回だけ使用され、暗号化される他のメッセージに再び使用されることはありません。

このため、暗号化されたメッセージは、暗号解読者に対する攻撃に対して脆弱になります。 ワンタイムパッド暗号に使用されるキーは、 pad と呼ばれ、紙のパッドに印刷されます。

なぜ壊れないのですか?

キーは、次の機能のために壊れないです-

  • キーは、指定されたメッセージと同じ長さです。
  • キーは本当にランダムで、特別に自動生成されます。
  • モジュロ10/26/2として計算されたキーおよびプレーンテキスト。
  • 各キーは1回使用し、送信者と受信者の両方で破棄する必要があります。
  • キーのコピーが2つあるはずです。1つは送信者に、もう1つは受信者にあります。

暗号化

手紙を暗号化するには、ユーザーは平文の下に鍵を書く必要があります。 平文の文字が上部に、キーの文字が左側に配置されます。 2つの文字間で達成される断面はプレーンテキストです。 以下の例で説明されています-

OTP

復号化

レターを解読するには、ユーザーは左側のキーレターを取得し、その行で暗号テキストレターを見つけます。 プレーンテキストの文字は、ユーザーが暗号テキストの文字を見つけることができる列の上部に配置されます。