密码算法也叫密码,基于密钥的算法通常有对称密钥密码算法(或私钥密码)和公钥算法(或公钥密码)两类。如果一个密码体制的Ke=Kd,即加密密钥能够从解密密钥中推算出来,反过来也成立,我们称为对称密钥密码算法(Symmetric Encryption Algorithms)。对称密钥密码算法也可称为对称算法或传统算法,包括换位加密、代替加密、乘积加密和综合加密等。在大多数对称密钥密码算法中,加密密钥和解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接受者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄露密钥就意味着任何人都能对消息进行加密和解密。只要通信需要保密,密钥就必须保密。对称加密算法的发送方和接收方使用相同的密钥,通常密钥长度40~168bit。常用的对称加密算法有DES、IDEA、RC2/4/5/6、CAST等。
对称密钥密码算法的加密和解密表示为:
E(M,K)=C
D(C,K)=M
对称密钥密码算法可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法(Stream Algorithm)或序列密码(Stream Cipher)。另一类算法是对明文的一组位进行运算,这些位组称为分组(Block),相应的算法称为分组算法(Block Algorithm)或分组密码(Block Cipher)。现代计算机密码算法的典型分组长度为64位,这个长度大到足以防止分析破译,但又小到足以方便使用(在计算机出现前,算法每次只对明文的一个字符运算,可认为是序列密码对字符序列的运算)。
对称加密算法的特征如下:(www.xing528.com)
(1)通常计算速度非常快。
(2)基于简单的数学计算,所以可以通过硬件加速。
(3)密钥管理比较麻烦。
(4)通常用来做整段数据加密、块加密(Block Cipher)、流加密(Stream Cipher)、消息完整性验证(Message Authentication Code)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。