
dea
1.消息摘要算法
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络相同上使用。
现在,消息摘要算法主要应用在“数字签名”领域,作为对明文的摘要算法。著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。
特点:
1.无论输入的消息有多长,计算出来的消息摘要的长度总是固定的
2.用相同的算法对相同的消息求两次摘要,其结果必然相同???
2.加密算法
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
对称式加密就是加密和解密使用同一个 密钥,通常称之为“Session Key ”这种 加密技术现在被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式” 加密法,它的Session Key长度为56bits。
非对称式加密就是加密和解密所使用的不是同一个 密钥,通常有两个密钥,称为“ 公钥”和“ 私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“ 公钥”是指可以对外公布的,“ 私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把 密钥告诉对方,不管用什么方法都有可能被别 窃听到。而非对称式的加密方法有两个 密钥,且其中的“ 公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的 私钥即可以,这样就很好地避免了密钥的传输安全性问题。
DES(Data Encryption Standard): 对称算法, 数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES的 对称算法,对一块数据用三个不同的 密钥进行三次加密,强度更高; RC2和 RC4: 对称算法,用变长 密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption Algorithm) 国际数据加密算法,使用 128 位 密钥提供非常强的安全性; RSA:由 RSA 公司发明,是一个支持变长 密钥的公共密钥 算法,需要加密的文件块的长度也是可变的, 非对称算法; 加密算法有一下几个共同的要点:
1.密钥的长度
2.密钥的模式
3.块加密算法里的填充方式分区
des加密:
1.密钥模式
在des加密算法中有多种加密模式,如ecb,cbc,cfb,ofb等,在各种不同的程序语言中,des加密算法默认的加密方式是不同的。
一般而言,cbc算法较安全,所以采用的最多
2.填充模式
明文会以64bit为一组,划分若干组,而最后一组正好满64bit的概率很低,为了加密方便,padding就是来解决这个问题的
Byte Padding中的zero Padding,PKCS7 Padding,PKCS5 Padding
在php中mcrypt默认的填充值为 zero Padding
java和c#中,默认的填充方式是 PKCS7 Padding
3.初始化向量
对于des算法的各种模式,初始化向量也是不同的
cfb和ofb模式中,必须要向量初始化
cbc模式可以使用向量初始化
ecb模式不需要iv向量初始化,相对而言是不安全的
向量初始化的值在加解密时必须是独一无二的,同时也要保持相同。当加密后的资料输出时,也可同时输出密码钥匙 (例如存在文件中);或者也可以将向量初始化的值与加密后的资料一起输
本文标签:
DEA
发表评论