对称加密算法与非对称加密算法
对称加密算法
现代加密技术所用的基本手段仍然是易位法和置换法但它与古典方法的重点不同在古典法中通常采用的算法较简单而密钥则较长现代加密技术则采用十分复杂的算法将易位法和置换法交替使用多次而形成乘积密码最有代表性的对称加密算法是数据加密标准DES(Data Eneryption Standard)该算法原来是IBM公司于~年研制成功的它旨在保护本公司的机密产品后被美国国家标准局选为数据加密标准并于年颁布使用ISO现在已将DES作为数据加密标准随着VLSI的发展现在可利用VLSI芯片来实现DES算法并用它做成数据加密处理器DEP在DES中所使用的密钥长度为位它由两部分组成一部分是实际密钥占位另一部分是位奇偶校验码DES属于分组加密算法它将明文按位一组分成若干个明文组每次利用位密钥对位的二进制明文数据进行加密产生位密文数据DES算法的总框图如图(a)所示整个加密处理过程可分为四个阶段(共步)见图(b)所示
第一阶段先将明文分出位的明文段然后对位明文段做初始易位处理得到X将其左移位记为L右移位记为R
第二阶段对初始易位结果X进行次迭代处理(相应于第~步)每一次使用位加密密钥Ki第~步的迭代过程如图(b)所示由图可以看出输出的左位Li是输入右位R i的拷贝而输出的右位Ri则是在密钥Ki的控制下对输入右位R i做函数f的变换后的结果再与输入左位L i进行异或运算而形成的即
第三阶段把经过次迭代处理的结果(位)的左位与右位互易位置
第四阶段进行初始易位的逆变换
非对称加密算法
DES加密算法属于对称加密算法加密和解密所使用的密钥是相同的DES的保密性主要取决于对密钥的保密程度加密者必须用非常安全的方法(如通过个人信使)将密钥送给接收者(解密者)如果通过计算机网络传送密钥则必须先对密钥本身予以加密后再传送通常把这种算法称为对称保密密钥算法
年美国的Diffie和Hallman提出了一个新的非对称密码体制其最主要的特点是在对数据进行加密和解密时使用不同的密钥每个用户都保存着一对密钥每个人的公开密钥都对外公开假如某用户要与另一用户通信他可用公开密钥对数据进行加密而收信者则用自己的私用密钥进行解密这样就可以保证信息不会外洩
公开密钥算法的特点如下
() 设加密算法为E加密密钥为Ke可利用它们对明文P进行加密 得到EKe(P)密文设解密算法为D解密密钥为Kd可利用它们将密文恢复为明文即
DKd(EKe(P))=P
() 要保证从Ke推出Kd是极为困难的或者说从Ke推出Kd实际上是不可能的
() 在计算机上很容易产生成对的Ke和Kd
() 加密和解密运算可以对调即利用DKd对明文进行加密形成密文然后用EKe对密文进行解密即
在此情况下解密密钥或加密密钥公开也无妨因而这种加密方法称为公开密钥法(Publie Key)在公开密钥体制中最着名的是RSA体制它已被ISO推荐为公开密钥数据加密标准
由于对称加密算法和非对称加密算法各有优缺点即非对称加密算法要比对称加密算法处理速度慢但密钥管理简单因而在当前新推出的许多新的安全协议中都同时应用了这两种加密技术一种常用的方法是利用公开密钥技术传递对称密码而用对称密钥技术来对实际传输的数据进行加密和解密例如由发送者先产生一个随机数此即对称密钥用它来对欲传送的数据进行加密然后再由接收者的公开密钥对对称密钥进行加密接收者收到数据后先用私用密钥对对称密钥进行解密然后再用对称密钥对所收到的数据进行解密
——返回教材目录
了解更多计算机相关基础课程视频