大学论文

您当前的位置:学术堂 > 毕业论文 > 大学论文 >

浅析密码学中对称和非对称密码算法的区别

来源:办公自动化 作者:王依婷 殷旭东
发布于:2021-04-16 共3325字

  摘要:密码学是网络安全中的一个重要领域,介绍对称密码算法机制和非对称密码机制的区别,分析DES、AES、D-H和RSA四种重要算法的实现过程,指出各自特点和适用范围。

  关键词:对称密码算法; 非对称密码算法; DES算法; AES算法; D-H算法; RSA算法;

  The Symmetric Cryptography and Asymmetric Cryptography System

  WANG Yiting YING Xudong

  College of Computer Science and Engineering,Changshu Institute of Technology

  Abstract:Cryptography is an important field in network security. This paper introduces the differences between symmetric cryptography and asymmetric cryptography,and analyzes the implementation process of DES algorithm,AES algorithm,D-H algorithm and RSA algorithm,and points out their respective characteristics and applicable scope.

  0 引言

  密码学是个很广阔的知识领域,它是研究编制密码和破译密码的技术科学。在文献[1]中提及的密码学的一个密码系统,包含五大要素其分别为:消息空间(M),密文空间(C),密钥空间(K),加密算法(E)和解密算法(D)。密钥密码学的密码算法众多,有古典密码和现代密码、对称密码和非对称密码,分组密码和序列密码等。本文就对称密码和非对称密码的基本内容算法体系进行进一步的介绍和分析。

  1 对称密码

  对称密码算法又称传统密码算法、秘密密钥密码算法。在对称密码算法中,发送方将明文和加密密钥一起经过一系列的加密算法进行加密处理后,使其变成密文发送给接收方,接收方收到密文后,则需用加密之后的密钥和已知的逆算法进行解密得出相应的明文。在对称密码算法中,对称密码加密和解密用相同的密钥Ke=Kd。对称密码算法加密速度快,加密效率高,算法公开,便于硬件实现和大规模生产;同时对称密码算法密钥必须通过保密信道,无法用来签名和抗抵赖,无法获得第三方公证,安全性得不到保证。对称密码常用的算法有DES算法,AES算法,SM4算法,IDEA算法,Blowfish算法,RC2算法等。下面对几种对称密码算法进行简要介绍。

  1.1 DES算法

  DES算法是由IBM公司于20世纪70年代初提出,并成为美国国家标准的一种对称密钥算法,密钥长度为56bits(加上奇偶校验通常为64bits)。它以64bits划分为一个分组,是一种分组加密算法。基本算法思想为混乱和扩散,使用标准的算术和逻辑运算。DES算法加密首先将明文分成以64bits为一组的模块m,对于每个m进行

  初始运算,逆运算以及进行16轮迭代。

  DES算法流程图如图1所示。

 

  图1 DES算法流程图   

  将输入数据按照IP置换表以每部分32位将其分为L0,R0部分输出,经过16次迭代运算得到L16,R16,将此作为数据输入进行逆置换,得到密文输出。函数f(Ri-1,Ki)将32位的Ri-1和48位的Ki输入,如图2所示。

  E变换是将Ri-1 32中将其中某一位按照E位扩展表扩展为48位,将E变换结果与Ki进行异或操作得到48位输出结果。将48位输出分成8组,每组6位,每组作为一个S盒,每个S盒输出4位,一共为32位,将32位数据进行P变换,P变化的功能是对输入进行相应的P换位表进行置换。

  

  图2 函数F算法流程图  

  DES算法解密:

  DES算法虽然安全系数高,加密速度快,适合对大量数据进行加密。但随着现代技术的发展和对其研究的深入,它也存在一些缺陷:一是56位的密钥长度相对较短;二是密钥的空间容量为256,密钥空间相对较小;三是它还存在4个弱密钥和12个半弱密钥[2]。

  针对此现象,目前,DES算法有了一定程度的优化,其主要针对IP置换表的改进。对此潘建生,孔苏鹏,程实[4]提出了一种优化策略:将一组64比特的明文输入,得到0,1,2……63的次序,将1到8行替换原来的1,3,5,7和2,4,6,8列,然后将其翻转180°,从而得出明文的初始换位表IP(64)。反之可以得出IP-1(64)换位表。通过此方法可以加计算速度使DES算法的实现有很高的效益。

  1.2 AES算法

  AES算法分组长度为128bits或者192bits或者256bits,密钥长度为128bits或192bits或256bits,变换轮数10轮或12轮或14轮,算法流程图如图3所示。

  图3 AES算法流程图   

  AES加密循环进行轮密钥加运算,矩阵中的每个字节都与该次轮密钥做XOR运算,每个子密钥由密钥生成方案产生。字节代换,通过一个非线性的替代函数,用查找表的方式把每个字节替换成对应的字节。行位移变换,将矩阵中的每个横列进行循环式移位。列混合变换,为了充分混合矩阵中各个直行的操作。这个步骤用线性转换来混合每内联的四个字节。AES加密算法是替代DES的新密码算法,能提供很好的安全性。在文献[5]中又通过对AES算法进行改进,利用FPGA,实现硬件电路。通过仿真测试,反应出用AES改进算法加密和解密的速度显着提高。

  2 非对称密码算法

  非对称密码算法有又叫公开密钥密码算法,在非对称密码算法中,接收方生成一对密钥(公钥和私钥)并将公钥公开,发送方使用接收方的公钥对明文进行加密,将加密后的明文发送给接收方,接收方通过使用私钥进行解密得到明文。非对称密码算法加密和解密使用不同的密钥(Kp,Ks),加密密钥公开,解密密钥保密:c=Ekp(m),m=Dks(c)。非对称密码密钥分配不必保持信道的保密性,算法强度复杂,安全性大,可用来签名和抗抵赖;同时非对称密码加密速度慢,不便于硬件实现和大规模生产,其主要用于短消息和对称密钥的加密,如SSL,PGP,S/MIME等。非对称密码常用的算法有D-H算法,RSA算法,SM2算法,DSA,背包算法,椭圆曲线等。下面对几种非对称密码算法进行简要介绍。

  2.1 D-H算法

  D-H算法不是一种加密算法,而是一种密钥交换算法,只用于密钥交换。D-H算法基于离散对数计算的困难性,主要是模幂运算apmod n,取全局公开的两个参数q,a(a为素数q的本原根[3]),q为一个素数,a<q(a是q的一个素根)即a mod q,a2 mod q,…,aq-1 mod q是1到q-1的排列。对于任意小于q的整数b和q的本原根a,能够找到唯一的指数i,使得b=aimod q(0≤i≤(p-1)),称指数i是b的基为a模为q的离散对数。把这个值记作dloga,q(b)[3]。

  A选择一个私有的XA,XA<q,YA=a XA mod q,计算出YA并公开。B选择一个私有的XB,XB<q,YB=a XB mod q,计算出YB并公开。将YA,YB进行交换。A计算会话密钥KA=(YB)XAmod q,B计算会话密钥KB=(YA)XBmod q,得到结Ek(m)=KA=KB=K。

  对于攻击者需要求得离散对数才能取得密钥,但当大素数时,计算离散对数非常困难,从而取得密钥也就很困难,D-H密钥交换的安全性[3]就在于此。

  2.2 RSA算法

  RSA算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA算法的安全性基于大数分解的难度。RSA密钥的产生先任意取两个大素数p,q,计算n=pq,将n公开,计算欧拉函数φ(n)=(p-1)(q-1),任意取一个与φ(n)互素的小整数e,gcd(e,φ(n))=1,e作为公钥公开,通过公式ed=1modφ(n),ed=kφ(n)+1求出d,d作为私钥进行保密。生成密钥对(KU,KR),KU={e,n},KR={d,n},通过C=Me mod n式进行加密,通过M=Cd mod n进行解密,C位密文,M为明文。RSA算法在目前具有巨大的影响力,它能抵抗大多数的密码攻击,因此它被ISO推荐为公钥数据加密标准[2],但RSA算法也存在缺陷,其速度软件实现比DES算法慢100倍,硬件实现比DES算法慢1000倍,速度慢,生成大素数困难,因此只适合少量数据加密。

  3 结语

  对称密码机制与非对称密码机制是密码学中的一小部分,但影响深远。对称密码算法加解密速度快,密钥较短,不能实现数字签名,安全系数不高;非对称密钥算法加解密速度慢,密钥较长,能实现数字签名,安全系数高,但算法复杂只适合小规模数据的加、解密。

  随着互联网的发展、网络安全事故的频发、国家的重视,密码学已成为网络安全领域不可或缺的一部分,网络安全正在崛起,越来越多的人士开始研究此学科,使得密码学促进了计算机技术并具有巨大的发展前景。

  参考文献

  [1]蒋泽宇.浅谈密码学及其在计算机网络安全中的作用[J].价值工程,2020,39(16):189-191.

  [2]包伟.对称密码体制与非对称密码体制比较与分析[J].硅谷,2014,7(10):138-139.

  [3]威廉·斯托林斯.网络安全基础:应用与标准[M].第6版.北京:清华大学出版社,2014:67-70.

  [4]潘建生,孔苏鹏,程实.实现DES加密算法安全性的分析与研究[J].网络空间安全,2020,11(04):104-107.

  [5]柴绍杰,张彩珍.AES加密算法的改进及FPGA实现[J].兰州交通大学学报,2020,39(03):47-53.

作者单位:常熟理工学院计算机科学与工程学院
原文出处:王依婷,殷旭东.对称密码与非对称密码体制[J].办公自动化,2021,26(06):16-17+42.
相关内容推荐
相关标签:密码学论文
返回:大学论文