一种基于混合加密方法的多媒体加密新思路外文翻译资料

 2022-08-09 09:08

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


一种基于混合加密方法的多媒体加密新思路

摘要——由于椭圆曲线密码算法体制对密钥大小的要求较低,它已经取代了目前流行的第一代公钥算法RSA和Diffie-Hellman算法。为了提高效率,这里提出了一种改进的椭圆曲线和RSA密码体制。通过在椭圆曲线密码体制中引入改进的蒙哥马利算法,大大改善了椭圆曲线密码体制中由于计算量大而带来的延时的缺点。通过仿真结果表明,这一改进算法在速度和功率方面都有明显的提高。

关键词:密码体制;RSA;ECC;模乘;蒙哥马利乘。

1.引言

随着数据通信的增加以及电子邮件、安全电话、移动互联网、电子商务、电子银行等互联网服务的扩展,网络上的安全问题变得越来越重要。而密码系统可以保证信息安全的保密性、数据源认证、数据完整性和不可否认性的要求。与对称密钥密码体制相比,公钥密码体制能够实现所有这些信息安全要求。密码学是提供安全通信的科学,是阻止所有恶意访问信息的尝试[1]。

授权访问由加密密钥标识。密码算法有两种:对称密钥算法和非对称密钥算法。对称密钥加密算法有一个用于加密的密钥和一个用于解密的密钥。非对称密钥密码算法包括一个私钥和一个公钥。加密是用公钥完成的,加密后的消息只能由相应的私钥解密。非对称密钥密码系统虽然速度慢、复杂度高,但具有巨大的优势。其主要优点是其算法核心是基于众所周知的问题,如整数分解和离散对数难解性问题。经过多年的研究,这些问题已经得到了广泛的研究,它们的复杂度也没有降低,因此安全性也得到了保证[2][3]。

公钥密码具有单向和陷阱门等属性。单向函数意味着在一个方向上容易计算,但在相反的方向上则很难计算。陷阱门函数意味着,如果已知某些陷阱门信息,则反函数实际上很容易实现。RSA加密使用给定的属性来确保安全性。RSA背后的思想是,乘法运算相对容易,但要将它们分解却困难得多。乘法是以多项式时间计算的,而分解因子时间与数字的大小成指数比例增长[4]。在公钥和私钥生成之后,RSA的加密和解密只是一个模幂运算。这个数学运算表示为C = Me mod n,其中C是密文,M是纯文本,e是公钥指数,n是模。

要使用RSA或Diffie-Hellman来保护128位AES密钥,则一共需要使用3072个参数,这一数字是在互联网上使用的参数的大小的三倍。而椭圆曲线密码的等价密钥大小仅为256位。从中我们可以看到,随着对称密钥位数的增加,RSA或Diffie-Hellman所需的密钥大小的增加速度远远快于椭圆曲线密码系统所需的密钥大小。因此,椭圆曲线密码系统比RSA或Diffie-Hellman公钥系统提供了更高的每比特密钥增加的安全性[5][6]。ECC加密算法定义在椭圆曲线的数学运算,

y2 = x3 ax b (1)

其中。a和b的每个值都确定不同的椭圆曲线。满足给定方程的所有点(x,y)加上无穷远处的一个点位于椭圆曲线上。公钥是曲线中的一个点,私钥是随机数。椭圆曲线离散对数问题的难度决定了椭圆曲线密码体制的安性。

2.问题建模

2.1模块化蒙哥马利乘法器

1985年,蒙哥马利提出了一种新的模乘方法。蒙哥马利的方法避免了耗时的

试除法,这一过程的开销是其他算法的共同瓶颈。蒙哥马利乘法定义如下:

Mont(x, y) = xy R—1mod N (2)

蒙哥马利算法是将两个整数x和y的模N相乘的方法,避免了模N的除法,

而除法是硬件中最昂贵的操作(运算量大)[7]。x和y中的每个元素之间都有一对一的对应关系。这种蒙哥马利算法表示有利于有效的模运算,特别是乘除法运算。输入有一个限制的x,ylt;N,输出T以Tlt;2N为界。因此,如果Tgt;N,则必须减去N,以便可以将输出用作下一乘法输入。

蒙哥马利乘法器结构有三个n位数据输入X、Y和n、一个开始指令输入、一个完成输出(表示操作已结束)指令输入和一个l位结果输出。数据通路由一

个脉动阵列、四个内部寄存器、一个计数器和一个比较器组成。它根据蒙哥马利算法来计算乘法[8]。

2.2改进的蒙哥马利倍增电路

脉动阵列一次使用一行单元格进行计算,以此获得线性流水线模块乘法器。蒙哥马利结构的设计采用了算法状态机方法。该电路由控制器和数据通路组成。

数据路径由一个脉动阵列、四个存储x、y、N和T值的内部寄存器、一个计数

器以及一个比较器组成。

在一开始,控制器处于空闲状态,等待启动指令。当设置开始输入时,x、y和N寄存器载入输入值,T寄存器和计数器复位。在迭代的第一阶段,脉动阵列单元的输出被写入T寄存器,控制器进入下一个状态。当控制器在迭代的第二阶段,计数器递增1。当计数器值达到(l-1)时,比较器设置计数结束信号。然后控制器进入输出状态,在该状态下,T寄存器的值被写入结果输出并设置完成的确认信号。在第二种状态下,x寄存器移位一位x寄存器的右边和最高有效位(MSB)为0。这确保在蒙哥马利算法的最后一次迭代中,x(0)的值将为0。

图1 蒙哥马利模乘电路

椭圆曲线密码系统中所有迭代的基础都是点乘法运算。在点对点乘法器中植入蒙哥马利算法可以提高整个系统的效率。由于蒙哥马利算法中没有试除法算法,因此速度自然提高。蒙哥马利乘法器体系结构中的脉动阵列是紧密耦合的数据处理单元的同构网络。每个节点或数据处理单元根据从其上游单位接收到的数据独立地计算部分结果,将结果存储在其内部并将其传递到下游。

蒙哥马利算法的方程式交给脉动阵列执行。提供给脉动阵列的数据会在每个时钟信号处不断更新,直到执行所需的迭代次数为止。蒙哥马利算法中给出的方程主要是加法运算。因此,为了加快计算速度,可以使用高效的加法器代替常规的纹波进位加法器。

一个进位选择加法器被划分为多个扇区,每个扇区并行执行两次加法,一个假设进位为零,另一个假定进位为一。四位进位选择加法器通常由两个纹波进位加法器和一个多路复用器组成。在第一阶段,将添加三个输入数字,其中两个是不断更新的值。这些值在MSB中附加了一个额外的位。进位被附加到LSB。在下一阶段,将以位大小添加新值和N值。输出由第一级加法的最低位确定。如果该值为零,则选择第一级相加总和和进位,并选择从MSB到1的位,而忽略最后一位。如果第一阶段总和的最低位的值为1,则第二阶段总和和进位从MSB取到1。相应地,所选的总和和进位将用于下一次迭代。

2.3 RSA算法的实现

RSA公钥密码的重要组成部分是模幂运算。模块操作所需的模N除法是结构中最昂贵的部分。在RSA中实现Montgomery乘法器体系结构可以避免耗时的试除法。蒙哥马利乘子结构的优点是避免了模运算中的除法环节,加快了迭代过程。同时,蒙哥马利的植入减少了整个结构的面积和功率,使其在面积、功率和速度上的实施效率更高。实现RSA算法的第一步是密钥生成。

2.3.1 密钥生成

bull;选择两个数字p和q。

bull;计算n=p.q,其中n是公开的数字。

bull;选择一个相对素数的大整数d,使得gcd(d,(p-1)(q-1))=1。

bull;整数e由p、q和d计算,并满足关系式eddivide;1(mod(p-1).(q-1))。

bull;公钥=(n,e)私钥=(d)。

生成公钥和私钥后,用传统的模幂平方乘法来对明文进行加密,在C=M mod n的情况下,实体B对消息M进行加密,并通过M=C mod n将其转换为实体a的密码文本。模幂运算简化为一系列模乘和平方运算。

2.4 ECC算法的实现

椭圆曲线算法由于难以解决的离散对数问题而被大多数人证明是更安全的算法。这个算法比运行RSA模幂运算的算法安全得多。因此,对于相同的安全性,ECC只需要163位密钥大小,而RSA则需要1024位密钥大小。实现椭圆曲线密码的基本步骤是点乘法、点加法和点倍乘。

2.4.1.点乘法

在点乘法中,用椭圆曲线方程将椭圆曲线上的点P与标量k相乘,得到同一椭圆曲线上的另一点Q。即kP=Q。点乘法与另外两个基本的椭圆曲线运算结合起来形成椭圆曲线密码。

bull;点加法,将两个点J和K相加,得到另一个点L,即L=J K。

bull;点倍乘,将一个点J添加到自身以获得另一个点L,即L=2J。

2.4.2.点加法

点加法是将椭圆曲线上的两个点P1和P2相加,得到同一椭圆曲线上的另一个点P3。考虑椭圆曲线上的两点P1和P2。如果P1P2,则通过点P1和P2绘制的线将恰好在另一点P3处与椭圆曲线相交。点P3的映射给出点P4,这是点P1和P2相加的结果。因此,在椭圆曲线在P4=P1 P2。

2.4.3.点倍乘

点倍乘是把椭圆曲线上的一个点P与自身相加,得到同一椭圆曲线上的另一个点2P。要使点P加倍以得到2P,即使L=2P,对于椭圆曲线上的点P。如果点P的y坐标不为零,则P处的切线将恰好在另一点L处与椭圆曲线相交。点L相在x轴上的映射为点L,这就是点P倍乘的结果。因此L=2P。

为了提高椭圆曲线密码系统的计算效率,采用了爱德华曲线变换。二元场上的每一条椭圆曲线都是双有理等价于扩展场上的爱德华兹形式的曲线,并且在许多情况下都是原场上的。最近,数学文献[9][10]增加了一种新的椭圆曲线形式。爱德华兹表明,所有的椭圆曲线在数域上都可以变换成x y=c(1 xy)的形状,其中(0,c)是中性元素,且具有令人惊讶的简单对称加法律

(3)

类似地,二元有限域上的所有椭圆曲线都可以变换成爱德华兹形式。下面提供了明确的公式(序列加、减和乘的运算)

bull;使用10M 1S计算加法(X1:Y1:Z1),(X2:Y2:Z2)(X1:Y1:Z1) (X2:Y2:Z2)。

bull;使用6M 4S计算倍乘(X1:Y1:Z1)2(X1:Y1:Z1)。

爱德华曲线公式适用于曲线上的所有输入点对,倍乘和加法运算也不例外。

椭圆曲线密码的主要障碍是计算量大。在各种的迭代过程中,点乘法、点加法和倍乘都要消耗时间。椭圆曲线方程从点乘法开始运算到数列乘法。数列乘法中使用的加法器是进位保存加法器,它计算与数据相同位数的和和及进位,进位前瞻加法器计算时钟信号前面的数据。进位保存加法器将3个数的加法减少为2个数的加法。不管比特数多少,传播延迟都是由三个逻辑门构成的。进位保存单元由n个全加器组成,每个全加器仅基于三个输入数的对应位来计算一个和及和一个进位。然后,通过将进位序列左移一个位置并将0附加到部分和序列的前面(最有效位)来计算整个和,并将该序列与RCA相加产生结果n 1位值。这个过程可以无限期地继续,为全加器的每个阶段添加一个输入,而不需要任何中间进位传播。

进位先行加法器是为了克服进位的波纹效应所带来的延迟而设计的。进位先行加法器可以消除并行加法器中出现的传播延迟。这个加法器的原理是,如果产生一个高阶进位,就要看加数和被加数的低阶位。进位先行加法器的基本运算是点乘。将改进的蒙哥马利乘法器算法植入乘法运算中,提高了运算速度。

3.仿真结果分析

图2给出了传统RSA加密的仿真结果。通过使用64位数据来加密256位数据,这样就得到了256位的密码文本。在加密过程中采用了模幂法。

图2 从RSA常规密码中获得的密码文本

图3给出了Montgomery乘法器算法输出的仿真结果:

图3 蒙哥马利乘数结构的输出

椭圆曲线密码的模拟输出波形如图4所示:

图4 最终椭圆曲线密码的输出

对RSA密码体制和椭圆曲线密码体制的传统乘法器和蒙哥马利乘法器及其改进方案进行了详细的比较研究。蒙哥马利修正法在速度、面积和功率方面更为有效。首先,对蒙哥马利常规方法和改进方法在面积、功率和速度方面进行了比较,如表1所示。其次,表2显示了RSA密码在传统和植入蒙哥马利乘法方法中的比较。

表1 蒙哥马利乘法器与改进结构的功率延迟比较

乘法器

蒙哥马利乘

改进后的蒙哥马利乘

延迟(每分钟)(ns)

6.513

4.832

功率损耗(W)

0.070

0.069

面积(片数)

35

41

表2 植入蒙哥马利乘法的RSA算法与常规RSA算法的功率延迟比较

<t

剩余内容已隐藏,支付完成后下载完整资料</t


资料编号:[239991],资料为PDF文档或Word文档,PDF文档可免费转换为Word

RSA公钥密码算法

传统方式

植入蒙哥马利乘法的方式

延迟(每分钟)(ns)

8.869

6.219

功率损耗(W)

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。