古典密码-多表密码体制

Posted 没有梦想的小灰灰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了古典密码-多表密码体制相关的知识,希望对你有一定的参考价值。

如果明文中不同的位置的同一明文字母在密文中对应的密文字母不同,则称为多表密码体制。

 

代表性的多表密码:

1.Vigenere密码

2.Beaufort密码

3.running-key密码

4.Vernam密码

5.Hill密码

 

例子:

1.Vigenere密码加密:

设明文   m=m1m2...mn

密钥      k = k1k2...kn

则密文   c=Ek(m)=c1c2...cn

其中      ci=(mi+ki)(mod 26),(i=1,2,...,n)

 

Vigenere密码解密:

设明文   m=m1m2...mn

密钥      k = k1k2...kn

则明文   m=Dk(m)=m1m2...mn

其中      mi=(ci-ki)(mod 26),(i=1,2,...,n)

 

假设密钥是hold,生成的加密解密移位密码表为:

  +h +o +l +d
a h o l d
b i p m e
c j q n f
d k r o g

.

.

.

.

.

.

.

.

.

.

x a l i a
y b m j b
z c n k c

 

 

 

 

 

 

 

 

 

2.Beaufort密码

与Vigenere密码相似

设明文   m=m1m2...mn

密钥      k = k1k2...kn

则密文   c=Ek(m)=c1c2...cn

其中      ci=(ki+25-mi)(mod 26),(i=1,2,...,n)

 

3.running-key密码

对于周期代换密码,保密随周期的加大而增加,当周期的长度和明文一样长时,就成了running-key密码。

 

4.Vernam密码

加密:Ci=Pi⊕Ki

解密:Pi=Ci⊕Ki

(⊕表示模2加法)

设明文为101,密钥是110

则加密101⊕110=011

   解密011⊕110=101

要求构造和消息一样长的随机密钥

 

5.Hill密码

加密:c=m K mod n

解密:m=c K-1mod n(注意这里的K-1是K的逆元)

设K=[11     8]

   [ 3      7]          (Ps.这是一个矩阵)

|K|=11*7-3*8=53≡1(mod 26)

K*=[ 7      -8]

  [-3      11]

  =[ 7      18]

      [23     11]

K-1=|K|-1 *   K*=[ 7     18]

         [23     11]

加密:

明文字符为“hi“,m=(7,8)

(7,8) *  [11     8]

        [ 3      7]

 

= (23,8)

对应密文字符"xi"

 

解密:

(23,8) *  [ 7     18]

      [23     11]

=(7,8)

对应明文字符"hi"。

 

以上是关于古典密码-多表密码体制的主要内容,如果未能解决你的问题,请参考以下文章

网络安全课 02 (古典加密体制)

古典密码-单表密码体制

密码学复习(上)

密码学补充学习简记之古典密码

密码学(杨义先)- 古典密码

古典密码简介