密码学基本原理和发展——古典密码学

 

目录

1 滚筒密码

2 棋盘密码

3 凯撒密码

4 单表代换与多表代换

4.1 单表代换

4.2 多表代换


        密码技术最早起源于公元前404年的希腊,此后密码大致经历了古典密码、近代密码和现代密码三个阶段。

        古典密码(公元前五世纪~19世纪末)代表性的是滚桶密码、棋盘密码凯撒密码。

滚筒密码

        滚筒密码原理为信息发送者在特定直径的木棒(斯巴达棒)上螺旋缠绕一条羊皮纸,然后在纸上横着写上信息,信息接收者需要将羊皮纸重新缠绕在相同直径的模板上才能读到初始信息,否者字母顺序错位,斯巴达棒利用置换(换位)的方法达到加密的目的。

 图1 滚筒密码示意图

       因为如果解密木棒直径与加密木棒直径不一致,那么读到的字母组合肯定是不具备特定行业的,所以针对这种情况的加密方法,可以通过不断尝试模板直径,直到出现的字母具有特定含义来破解。

棋盘密码

       棋盘密码原理为通过一个5*5的网格矩阵,将每个字母转换成两个数字,第一个数字是该字母的行数,第二个数字是该字母的列数。

\

1

2

3

4

5

1

M

W

C

X

E

2

F

A

Z

I/J

K

3

L

G

S

O

P

4

R

Q

N

T

U

5

V

B

Y

D

H

表1 Polybius矩阵

       

       基于Polybius矩阵的棋盘加密方法,应该是最早的对称加密算法的应用,在那个时代接收方不知道网格矩阵的前提下,想要破解密文还是非常困难的。这种加密方法需要加解密双方事先约定好网格矩阵,后面双方加解密都是基于这个网格矩阵的,如何保证网格矩阵不被泄露存在很大困难。

凯撒密码

        凯撒密码是一种替换加密的技术,其原理是将字母按字母表的顺序构成一个字母序列链,然后将最后一个字母与第一个字母相连成环,接着将明文中的每个字母对照序列链正向或者逆向偏移k个单位后,形成密文。这里的字母链可以是按照所有人都知道的adcdefg……xyz的方式构成字母序列链

        假设信息发送方以adcdefg……xyz序列链,k=+3进行信息加密,加密演示如下:

        明文:Intern,cancel the operation

        变换表及偏移量:abcdefg……xyz,K=+3

        密文:Lqwhuq,fdqfho wkh rthudwlrq

图2 字母序列链加密示意图

        序列链也可以按照加解密双方事先约定好的不具备特定规律的字母排序构成序列链,如sgidqpm……wzu等。

       凯撒密码其实也是利用对称加密原理进行信息加密的,这种加密方法同样存在着序列链易泄漏的问题,若窃听者拿到序列链通过枚举密钥k值(1-26)就十分容易破解。 

单表代换与多表代换

4.1 单表代换

       单表代换是加解密使用同一个固定的代换表进行代换,明文和密文的字母存在惟一对应关系,容易受到频率统计分析攻击。例如恺撒密码和棋盘密码等都属于单表代换。下表为单表代换的字母表,加解密双方持有共同的代换表即可对信息进行加解密。

表2 单表代换

4.2 多表代换

       多表代换是加解密使用两个及两个以上的代换表进行代换,例如经典的维吉尼亚密码就属于多表代换,直至二战时期,维吉尼亚密码在整个欧洲依旧有着广泛的应用,下图为维吉尼亚密码表,实际上维吉尼亚密码是由一系列凯撒密码(26个)组成的字母表(当密钥仅为一个字母时,则就是凯撒密码),属于多表密码的一种简单形式。

表3 维吉尼亚密码表

       若维吉尼亚密码表中我们使用第一行作为明文,则第一列作为密钥,加密情况如下所下所示。

       明文:intern

       密钥:khgvsk 

       密文:suykjx,

       明文中n出现2次,而根据密文无法推断出明文中某个字母出现的频次,因此维吉尼亚密码可以抗字频统计破译密码。

图3 字母频次分布图

       以凯撒密码为例的单表代换破解:在英语中,每个字母/相邻双字母/相邻三字母出现还可以通过相邻双字母、三字母概率来增加破译概率),例如字母:E>T>A>O>I,如此在文本信息量较大的情况下,若密文中H出现的频次最多,那么大概率密文中的H对应的是明文中的E,这样下来很大概率能计算到偏移量k=3,若字母序列链为adcdefg……xyz,则可直接根据k=3得到如下字母表。

       若字母序列链为sgidqpm……wzu等无规律链时,通过密文中字母出现频次同样可以逆向推出对应明文字母,由此求得k值,对字频接近的字母还可以利用k值反馈校验,提高破译的准确度。

       以维吉尼亚为例的多表替换破解其实原理也是以字频分析,主要有以下三步。

       第一步:确定密钥的长度

       求密钥长度我们以Kasiski 实验的方法来求现实加密过程中,密钥长度明文长度,我们假定密钥长度为K,假定明文长度文l,那么根据维吉尼亚密码表我们知道,第X i,X i+k,X i+2k ······X i+nk (i=1,2,3,···,l)个字母加密方式其实用的同一个凯撒密码加密的,理解了这个后我们接下来看一个实例。

       根据维吉尼亚密码表要加密 “The Great Wall in Beijing, the Huangpu River in Shanghai, the Fifth Avenue in Tianjin, and the Presidential Palace in Nanjing.”这样一段信息,为了厘清加密过程中的对应关系,笔者画了下表帮助读者理解。

       如上表所示,明文的词组The一共出现了三次,分别对应密文中的dlc、dlc、xfo,这难道是巧合吗?我们分析得到这种对应关系与密钥的长度K以及两两相同词组之间的间距S有关。如明文中第1个The与第2个The间距S(1,The)=21=nK,第2个The与第3个The间距S(2,The)=25 ≠ n K。

       也就是说如果两个相同词组之间的间隔(S)正好等于密钥长度的整数倍(nK)时,那么这两个相同词组加密得到对应的密文也是一样的。

       以上例来讲,密文中第1个dlc与第2个dlc的间距为n K=21,得到K是21的约数(1或3或7或21),同理若发现密文中另外两个相同词组的间距为n K=6,则得到K是6的约数(1或2或3或6)……,最后取所有约数集合的交集即可求得K值。

       第二步:确定密钥的内容

       在第一步中假设求的的K=3,也就是说每逢3个字母就会用到同一套密码加密,所以只要知道钥匙的长度K,再分别对3套密码用频率分析法,维吉尼亚加密法就破解了。

       接下来就讲下如何利用K=3确定密钥内容,我们知道第X i,X i+k,X i+2k ······X i+nk 个字母加密方式是用的同一套凯撒密码加密的,在本文中第1、4、7、10、13······个字母用的同一套凯撒密码M1加密的,第2、5、8、11、14······个字母用的同一套凯撒密码M2加密的,第3、6、9、12、15······个字母用的同一套凯撒密码M3加密的,将密文中所有字母按照加密方式的不同进行分组,分组情况如下所示。

       这样我们就将原始密文拆解成K组密文,如下。

       M1组:dokksoskdrxefsrqsno

       M2组:lvxprmrrlykvirelex

       M3组:ccujzhebcyngpqlylf

       每组密文使用同一凯撒密码加密,因此针对每组采取前文讲的字频分析方法破解即可得到密文字母表,将密文字母表与维吉尼亚密码表的行进行对比,便可以得到每组的密钥。上例中分别对M1组、M2组、M3组进行破解得到三组密钥分别为:k、e、y,组合得到完整密钥为:key。

       第三步:根据密钥恢复明文

       知道密钥后,对照维吉尼亚密码本就可以知道明文了。

       小结分析:单表代换密码加密后的密文具有明文的字频特征,易通过字频统计破解,而多表代还后密文不具备字频特征,但是遇到二阶式频率分析时就显得无能为力了(周期分析根据密钥的重复使用情况进行频率分析),但是增加密钥长度可以大幅提升破解难度。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《现代密码学:原理与协议》是一本关于密码学的教材,作者是郭川多和欧阳明高。这本书系统地介绍了现代密码学基本原理和常见的密码协议。 密码学是研究如何保护通信和信息安全的科。在信息社会中,保护个人和机构的信息安全至关重要。密码学通过使用密码算法和协议来加密和解密信息,从而确保信息的机密性、完整性和可用性。 《现代密码学:原理与协议》主要涵盖了对称密码学、非对称密码学和散列函数等基本概念的讲解。对称密码学是一种加密方式,发送和接收方使用相同的密钥来加密和解密信息。非对称密码学使用两个密钥,一个用于加密,另一个用于解密。散列函数则用于将任意长度的消息转化为固定长度的哈希值,以验证信息的完整性。 除了基本原理,该书还介绍了一些具体的密码协议,如DES、AES和RSA等。这些协议经过多年的研究和实践,被广泛应用于各个领域。例如,DES是一种对称密码算法,常用于电子商务和金融领域。RSA是一种非对称密码算法,常用于数字签名和密钥交换。 本书旨在帮助读者深入理解现代密码学的原理和应用。每个章节都配有实例和练习题,以帮助读者加深对密码学的理解。此外,该书还介绍了一些密码学发展趋势和挑战,如量子密码学和侧信道攻击等。 总的来说,《现代密码学:原理与协议》是一本介绍密码学基本知识和应用的权威教材,适合密码学领域的生和从业人员阅读和习。读者通过阅读本书可以了解密码学的原理和应用,为信息安全做出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放点花椒~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值