安全矩阵

 找回密码
 立即注册
搜索
查看: 7495|回复: 0

网络安全攻防:密码技术之古典密码

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-1-31 21:59:40 | 显示全部楼层 |阅读模式
原文链接:网络安全攻防:密码技术之古典密码

1. 置换密码

置换密码就是把明文中的字母或数字重新排列,字母或数字本身不变,但其位置发生了改变,示例如下。

明文:this is transposition cipher

密文:rehp ic noitisopsnart sisiht

显然,本例是一种直接将明文按倒序排列的简单置换加密算法,可被直接分析。因此,我们可进一步将明文按某一顺序排成一个矩阵,然后按置换规则的顺序选出矩阵中的字母序列,最后按固定长度读取字母即形成密文,示例如下。

原始明文:this is transposition cipher

置换规则:按列读取

形成密文:tiao ii rhsnsopitsinh srptce

由此可以看出,改变矩阵的大小和置换规则可以得到不同形式的密码。通常,我们先选定一个词语作为密钥,去掉重复字母然后按字典顺序给密钥字母一个数字编号,就可以得到一组与密钥对应的数字序列,最后以此数字序列作为置换规则选出密文。

明文:this is transposition cipher

词语密钥:password

根据上述,我们可以得到数字序列:4167352

排成矩阵:

根据数字序列的置换规则,得到密文:hath ts iiphtripsocin iessor

其实,置换密码是一种通过变换矩阵大小选出的顺序组合,而密钥仅仅是便于记忆。因此,置换密码比较简单,经不起穷举攻击(穷举攻击无视顺序),但值得注意的是,如果把它与其他密码技术混合应用,也是可以得到相对安全且高效的密码。

2. 替代密码

替代密码的原理是使用替代法进行加密,就是将明文中的字符用其他字符替代后形成密文。例如,明文字母a、b、c、d,用D、E、F、G做对应替换后形成密文。

替代密码包括多种类型,如单表替代密码、多明码替代密码、多字母替代密码、多表替代密码等。下面我们介绍一种典型的单表替代密码,凯撒(Caesar)密码,又叫循环移位密码。它的加密方法就是将明文中的每个字母用此字符在字母表中后面第k个字母替代。它的加密过程可以表示为:

E(m)=(m+k)modn

其中,m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应的位置数;modn为n的取模运算。

例如,对于明文字母 H,其在字母表中的位置数为 8,设k=4,则按照上式计算出来的密文为L。

E(8)=(m+k)modn=(8+4)mod 26=12=L

凯撒密码是一种典型的单表替代算法,由于对明文字母进行统一的偏移替代,因此密钥极易被穷举破解。为了提高破解难度,多表替代密码则是在加解密时使用了多个替换表,代表性算法有维吉尼亚密码(Virginia)、希尔(Hill)密码、一次一密钥密码、Playfair密码等。

下面简要介绍一下维吉尼亚密码。该密码体制有一个参数n,在加解密时,同样把英文字母映射为 0~25 的数字再进行运算,并按n个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合,加密体制描述如下。

加密变换定义为:设密钥k=(k1,k2,…,kn),明文m=(m1,m2,…,mn),密文c=(c1,c2,…,cn)。

加密变换为:Ek(m)=(c1,c2,…,cn),其中,ci=(mi+ki)mod26,i=1,2,…,n。

解密变换为:Dk(c)=(m1,m2,…,mn),其中,mi=(ci-ki)mod26,i=1,2,…,n。

例如,对明文this is substitution cipher 进行替代加密。若采用凯撒密码,密钥K=1,则密文为uijt jt tvctujuvujpo djqifs;若采用维吉尼亚密码,密钥K=cipher,即K=(3,9,16,8,5,18),则密文为vpxz mj ucqzxzvcipse eqeoii。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 17:40 , Processed in 0.012867 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表