希尔密码

王朝百科·作者佚名  2010-01-29
窄屏简体版  字體: |||超大  

希尔密码是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。

每个字母当作26进制数字:A=0, B=1, C=2... 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得出的结果模26。

注意用作加密的矩阵(即密匙)在<math>mathbb_^n</math>必须是可逆的,否则就不可能译码。只有矩阵的行列式和26互质,才是可逆的。

三、Hill cipher(希尔密码)

Hill cipher是1929年提出的一种密码体制。

设d是一正整数,定义 。Hill cipher的主要思想是利用线性变换方法,不同的是这种变换是在 上运算。

例如:设d=2,每个明文单元使用 来表示,同样密文单元用 表示,具

体的加密中, 将被表示为 的线性组合。

如:

利用线性代数的知识,可得

这个运算在 上进行,即mod26,密钥K一般取一个m*m的矩阵,记为 。对明文 ,以 ,则加密算法为:

也可表示成 。

例:对明文attack,利用密钥 进行加密。

第一步:将明文分为两两一组:at ta ck

第二步:计算:

同理,

因此,密文为VBDEKQ

解密算法:因为 ,由于K必须可逆,即 ,所以 ,如何计算K的逆,有两种算法:一种是利用伴随矩阵,另一种是利用初等变换,无论采用何种算法都可以。

例;设 ,求K的逆。

解法一、因为 ,因此K的逆存在。显然在mod26下 的余为1,即337/26=1

或337=x mod26,显然x=1。所以

,即:

注意: , , 在mod26下是7。由此我们有在 在mod26下的逆分别是: , , , , 。

例:密文为:YIFZMA 设密钥为 ,找出它的明文。

解: ,所以

因此明文为cureka。

例子:

原文:Mr Hill made this code.

abcdefghijklmnopqrstuvwxyz

01234567890123456789012345

_______m___r___h___i___l___l___m___a___d___e___t___h___i___s___c___o___d___e

______12__17___7___8__11__11__12___0___3___4__19___7___8__18___2__14___3___4

m_12_144_204__88__96_132_132_144___0__36__48_228__98__96_216__24_168__36__48

r_17_204_289_119_136_187_187_204___0__51__68_323_119_136_306__34_238__51__68

h__7__88_119__49__56__77__77__84___0__21__28_133__49__49_126__14__98__21__28

i__8__96_136__56__64__88__88__96___0__24__32_154__56__56_144__16_112__24__32

l_11_132_187__77__88_121_121_132___0__33__44_209__77__88_198__22_154__33__44

l_11_132_187__77__88_121_121_132___0__33__44_209__77__88_198__22_154__33__44

m_12_144_204__84__96_132_132_144___0__36__48_228__84__96_216__24_168__36__48

a__0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0___0

d__3__36__51__21__24__33__33__36___0___9__12__57__21__24__54___6__52___9__12

e__4__48__68__28__32__44__44__48___0__12__16__76__28__32__72___8__56__12__16

t_19_228_323_133_152_209_209_228___0__57__76_361_133_152_342__38_266__57__76

h__7__98_119__49__56__77__77__98___0__21__28_133__49__56_126__14__98__21__28

i__8__96_136__56__64__88__88__96___0__24__32_152__56__56_144__16_112__24__32

s_18_216_306_126_144_198_198_216___0__54__72_342_126_144_324__36_252__54__72

c__2__24__34__14__16__22__22__24___0___6___8__38__14__16__36___4__28___6___8

o_14_168_238__98_112_154_154_168___0__42__56_266__98_112_252__28_169__42__56

d__3__36__51__21__24__33__33__36___0___9__12__57__21__24__54___6__52___9__12

e__4__48__68__28__32__44__44__48___0__12__16__76__28__32__72___8__56__12__16

用其中的一行作为密文既可

例子:

密文:l 11 242 44 121 22 154 132 44 209 154 154 220 187 22 121 220 11

解答:全部除以11,按a=0 …… z=25,列出字母 WELCOME TO OUR CLUB

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航