活力密码是什么意思「活力宝贝是什么意思」( 四 )


1. 数据加密
【活力密码是什么意思「活力宝贝是什么意思」】数据加密总共进行16轮的迭代,如图所示 。具体描述为(将明文x分成32位的两部分:xL, xR)
for i = 1 to 16
{
xL = xL XOR Pi
xR = F(xL) XOR xR
if
{
交换xL和xR
}
}
xR = xR XOR P17
xL = xL XOR P18
合并xL 和xR
其中,P阵为18个32位子密钥P1,P2,…,P18 。
解密过程和加密过程完全一样,只是密钥P1,P2,…,P18以逆序使用 。
2. 函数F
把xL分成四个8位子分组:a, b, c 和d,分别送入四个S盒,每个S盒为8位输入,32位输出 。四个S盒的输出经过一定的运算组合出32位输出,运算为
F(xL) =((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod 232
其中,Si,x表示子分组x(x=a、b、c或d)经过Si (i=1、2、3或4)盒的输出 。
没有太多地方写了,不把整个过程列上面了,就简单介绍一下好了 。
GOST算法
GOST是前苏联设计的分组密码算法,为前苏联国家标准局所采用,标准号为:28147–89[5] 。
GOST的消息分组为64位,密钥长度为256位,此外还有一些附加密钥,采用32轮迭代 。
RC5算法
RC5是一种分组长度、密钥长度和加密迭代轮数都可变的分组密码体制 。RC5算法包括三部分:密钥扩展、加密算法和解密算法 。
PKZIP算法
PKZIP加密算法是一个一次加密一个字节的、密钥长度可变的序列密码算法,它被嵌入在PKZIP数据压缩程序中 。
该算法使用了三个32位变量key0、key1、key2和一个从key2派生出来的8位变量key3 。由密钥初始化key0、key1和key2并在加密过程中由明文更新这三个变量 。PKZIP序列密码的主函数为updata_keys() 。该函数根据输入字节(一般为明文),更新三个32位的变量并获得key3 。
重点:单向散列函数
MD5 算 法
md5的全称是message- digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来 。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一 个任意长度的字节串变换成一定长的大整数) 。不管是md2、md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要 。虽然这些 算法的结构或多或少有些相似,但md2的设计与md4和md5完全不同,那是因为md2是为8位机器做过设计优化的,而md4和md5却是面向32位的电 脑 。
rivest在1989年开发出md2算法 。在这个算法中,首先对信息进行数据补位,使信息的字节长度是16的倍数 。然后,以一个16位的检验和追加到 信息末尾 。并且根据这个新产生的信息计算出散列值 。后来,rogier和chauvaud发现如果忽略了检验和将产生md2冲突 。md2算法的加密后结果 是唯一的--既没有重复 。为了加强算法的安全性,rivest在1990年又开发出md4算法 。md4算法同样需要填补信息以确 保信息的字节长度加上448后能被512整除(信息字节长度mod 512 = 448) 。然后,一个以64位二进制表示的信息的最初长度被添加进来 。信息被处理成512位damg?rd/merkle迭代结构的区块,而且每个区块要 通过三个不同步骤的处理 。den boer和bosselaers以及其他人很快的发现了攻击md4版本中之一步和第三步的漏洞 。dobbertin向大家演示了如何利用一部普通的个人电 脑在几分钟内找到md4完整版本中的冲突(这个冲突实际上是一种漏洞,它将导致对不同的内容进行加密却可能得到相同的加密后结果) 。毫无疑问,md4就此 被淘汰掉了 。尽管md4算法在安全上有个这么大的漏洞,但它对在其后才被开发出来的好几种信息安全加密算法的出现却有着不可忽视的引导作用 。除了md5以外,其中比较有名的还有sha-1、ripe-md以及haval等 。
一年以后,即1991年,rivest开发出技术上更为趋近成熟的md5算法 。它在md4的基础上增加了"安全-带子"(safety-belts)的 概念 。虽然md5比md4稍微慢一些,但却更为安全 。这个算法很明显的由四个和md4设计有少许不同的步骤组成 。在md5算法中,信息-摘要的大小和填充 的必要条件与md4完全相同 。den boer和bosselaers曾发现md5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了 。van oorschot和wiener曾经考虑过一个在散列中暴力搜寻冲突的函数(brute-force hash function),而且他们猜测一个被设计专门用来搜索md5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一 个冲突 。但单从1991年到2001年这10年间,竟没有出现替代md5算法的md6或被叫做其他什么名字的新算法这一点,我们就可以看出这个瑕疵并没有 太多的影响md5的安全性 。上面所有这些都不足以成为md5的在实际应用中的问题 。并且,由于md5算法的使用不需要支付任何版权费用的,所以在一般的情 况下(非绝密应用领域 。但即便是应用在绝密领域内,md5也不失为一种非常优秀的中间技术),md5怎么都应该算得上是非常安全的了 。

推荐阅读