古典密码-多表密码体制
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"。
以上是关于古典密码-多表密码体制的主要内容,如果未能解决你的问题,请参考以下文章