Web渗透测试——密码学基础( 二 )


例子:
明文m:wearefamily,密钥k:25413
加密过程:
首先将明文m按照k的长度5,将明文划分为三组:weare || famil || y
根据密钥k更换文字顺序,25413 || 25413 || 2→eerwa || alifm || y
得到密文c:eerwaalifmy
栅栏密码
栅栏密码是一种规则特殊的移位密码,所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话,然后依次连接 。所以栅栏密码的密钥仅仅指示一个数字k,表示栅栏也就是分的每组的长度,栅栏密码的攻击方法也很简单,爆破或者分析出栅栏也就是分组的长度即可
例子:
明文m:wearefamily,密钥k:4
加密过程:
首先将明文m按照k的长度4,将明文进行分组:wear || efam || ily
依次取出每组第1个,第2个,第3个......
wei || efl || aay || rm
得到密文c:weieflaayrm
替代密码
是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。替代密码的攻击手段大部分是进行词频分析 。
如果秘钥为13,十分简单,所有的英文字母在26个顺序中向后移动13个即可,如果移动到z了,回来向a移动,大小写也是分开的,举个例子:
明文m:asdfgzASDFGZZ,密文c:nfqstmNFQSTMM 。
凯撒密码
通过把字母移动一定的位数来实现加密和解密 。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文 。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C 。由此可见,位数就是凯撒密码加密和解密的密钥 。凯撒密码的攻击方法是词频分析,但是非常可惜的是由于位数的可能性太小了,所以直接爆破也是可以的 。
例子:
明文m:wearefamily,密钥k:4 。
加密过程:
首先讲明文m中的每一位+4,然后得到密文c:aievijeqmpc 。
维吉尼亚密码
是在单一恺撒密码的基础上扩展出多表代换密码,根据密钥(当密钥长度小于明文长度时可以循环使用)来决定用哪一行的密表来进行替换,以此来对抗字频统计 。

Web渗透测试——密码学基础

文章插图
维吉尼亚密码
例子:
明文: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG,密钥(循环使用,密钥越长相对破解难度越大): CULTURE
加密过程:
如果第一行为明文字母,第一列为密钥字母,那么明文字母'T'列和密钥字母'C'行的交点就是密文字母'V',以此类推 。
密文: VBP JOZGM VCHQE JQR UNGGW QPPK NYI NUKR XFK
Hash
一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值 。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值 。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数 。
针对Hash的攻击也很多,一般不会直接爆破,而是通过其他手段获取到明文 。
在线解密网站:http://www.cmd5.com,如下图所示:
Web渗透测试——密码学基础

文章插图
CMD5
以上就是渗透测试常用到的密码学基础知识,感谢阅读,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯和知识 。




推荐阅读