OTP(one time password) 又称动态密码或单次有效密码。它仅是在维吉尼亚加密法上增加以下条件:
密钥要和加密的消息同样长
密钥由真正的随机符号组成
密钥只能使用一次,永远不对其它消息重复使用
设明文字母序列为m,与其等长的真随机字母序列为k,在模26的基础上将明文中的每个字母mi与密钥中对应的字母ki进行和(或差或积)等运算,得到新的密文序列c。即c = ( m + k )mod 26 .由此得到的密文c是不可破译的。
1.为什么它是不可破的?
2.为什么密钥只能使用一次?
1。OTP牢不可破,是因为每个明文m中的字母都可以被等等可能地加密成任何一个字母,即明文中的每个字母都有26种可能性。假设明文字母序列的长度为n,则破译成功的概率为1/26^n。
2。假设有两条消息m1和m2,经过key一次一密加密为c1和c2 : m1 ⊕ key = e1,m2 ⊕ key = e2
那么我们仅由e1 和e2就可以得出 e1 ⊕ e2 = m1 ⊕ key ⊕ m2 ⊕ key = m1 ⊕ m2
由此可以获得明文的相关信息。为了更加生动地描述,
设m1=
设m2=
密钥key=
e1 = c1 ⊕ key =
e2 = c2 ⊕ key =
而e1 ⊕ e2 = m1 ⊕ key ⊕ m2 ⊕ key = m1 ⊕ m2 =
由此造成了明文信息的泄漏。因此,密钥key只能使用一次,不能重复使用。
(侵删)