Cryptography With Python 简明教程

One Time Pad Cipher

一次性密文是一种韦格纳密码,它包括以下功能:

  1. 它是无法破解的密码。

  2. 密匙与已加密消息的长度完全相同。

  3. 密匙由随机符号组成。

  4. 顾名思义,密匙仅使用一次,且绝不会再次用于要加密的其他消息。

因此,加密消息对于密码分析员而言容易受到攻击。用于一次性密文的密匙称为 pad ,因为它被印在纸张上。

Why is it Unbreakable?

密匙无法破解,原因是以下特性:

  1. 密匙与给定消息一样长。

  2. 密钥为真随机且特殊自动生成。

  3. 密钥和纯文本计算为模型 10/26/2。

  4. 每个密钥均应使用一次,且销毁于发送者和接收者。

  5. 应有两个密钥副本:一个在发送方处,另一个在接收方处。

Encryption

要加密一封信件,用户需要在纯文本下方书写密钥。纯文本信件放置在顶部,密钥信件放置在左侧。这两个信件之间的横截面为纯文本。如下例中所述:

otp

Decryption

要解密一封信件,用户在左侧取得密钥信件,并在该行中查找密文信件。纯文本信件放置在该列的顶部,用户可以在顶部找到密文信件。