关键字 |
密码学、FPGA硬件描述语言(VHDL)、安全、沟通。 |
介绍 |
网络技术导致的巨大发展潜力巨大改变我们的交流方式,在互联网上庞大的商业。但处理机密数据,成本效益和互联网提供的全球主义慢慢减少了公共网络的主要缺点。意味深长地增加在互联网上机密数据流量的增长使得安全问题的一个基本问题。这种日益增长的需求的安全通信通道,发展一个新的、简单、高效的硬件安全模块已成为主要的偏好。 |
品种繁多的作品已经完成在这个特定领域的RSA算法的硬件实现安全的到目前为止的数据在不同的格式而不是结束。RSA的硬件实现方案已经提出的哈尼族,等人,他们使用蒙哥马利算法。类似的方式已经被金,等。这个设计方案的目标实施的一个1024位的RSA加密处理器。但这些设计都有处理时间慢的缺点,虽然他们只使用更快的时钟和数据处理二进制和十六进制格式。一种改变的方法已经被克里斯,et al .,但它不提供使用的灵活性许多实际应用,因为它只能实现固定关键尺寸。Ibrahimy,等人提出了实现RSA算法与灵活的关键尺寸以及较低的时钟频率。但他们也处理数据以二进制或十六进制格式即没有实时输出实现的数量和盖茨还高,反过来增加能耗。 |
这项工作的方法使用RSA算法的硬件实现方案模幂运算操作。简单的嵌套循环加法和减法已被用于实现模幂运算操作。实现这个,只有移位寄存器、xor和附近地区。避免使用与非门电路的复杂性降低用人与xor的可重用性特征。这里,它支持多个RSA根据应用程序需求的关键尺寸。这种新方法有助于减少系统处理时间,门计数、频率要求和功耗。系统也可能需要的信息的形式声明说字格式(实时输入/输出)不早些时候在二进制或十六进制格式的方法处理。 |
设计概述 |
一个独特的功能,可以在RSA算法[6]是它承认大多数的一部分用于加密解密过程中重复使用,可减少由此产生的硬件领域。在RSA, M是一个明文块加密的密文块C: |
|
的明文块恢复: |
|
RSA加密和解密是互逆和交换见方程(1)和(2),由于对称模运算。的一个潜在应用RSA的这个设计有针对性的安全的数据通信。在这个应用程序中,数据输入可以是一个声明,直接送入FPGA板通过串行通信。负责安全的加密模块。这个过程在接收端是一样的过程,之后在发送端除了模块的顺序相反。RSA涵盖了加密和解密的操作。 |
答:基本RSA的过程 |
RSA算法模幂运算的需求评估,分为一系列的模块化的乘法的乘方查询的应用。RSA加密过程是数学运算,c =我mod n [6]。这个数学运算涉及几个模块化操作,比如模幂运算,乘法、加法和减法的过程在大整数[7]。详细算法硬件实现上述操作已经在以下部分中讨论。 |
b模幂运算过程 |
模幂运算的操作只是一个求幂运算乘法和平方操作模块。求幂操作为计算开发的Me适用于计算Me(mod n)。在硬件实现的问题,需要一个聪明的算法以更好的效率。因此,求幂获得通过平方数和乘法。 |
c .模块化增殖过程 |
模块化的乘法问题被定义为计算P = x (B) (mod n),考虑到整数A, B,和n。它通常认为A和B是正整数0≤,B < n。 |
分离后的模量乘法操作需要取幂成平方数和乘法。基本上有四个计算产品的一般方法。乘,然后除,减少交叉乘法和砖魔法的方法和蒙哥马利的方法。 |
所有上述方法有一个共同的缺点,它双打为每一个乘法的比特数。例如,当两个32位的数字相乘将花费一个64位的结果,因此需要大寄存器来存储这个结果。 |
修改后的算法设计,这将在稍后讨论。修改后的算法克服了问题通过分离乘法操作模块化的数字加法操作。 |
d模数加成法 |
模块化加法问题被定义为计算S = (A + B) (mod n)给定的整数,B和n。它通常认为A和B是正整数0≤,B < n。最常见的计算方法如下: |
1。计算S = A + B。 |
2。然后S = S - n。 |
3所示。如果S≥0,然后重复步骤2,否则=年代。 |
注意,模块化的加法是减法操作步骤2。 |
e .完整的算法 |
RSA加密/解密的困难部分位于c = m的模量计算emod n,加密的消息“c”。计算加密消息“c”,它涉及到求幂,需要大量的组合逻辑,从而增加指数的比特数相乘。 |
可能实现这个目标的方法是通过使用一个连续的电路,实现了求幂是一系列的乘法,乘法和也可以作为一系列的变化和实现条件增加[5]中讨论已部分B和C,一个求幂分为若干次乘法和平方。每个乘法可以实现一系列添加d .章节中讨论已减少硬件尺寸,模量(mod n)是作为一个数量的减少执行乘法内循环。即为每个循环此外,除数或模量减去从经营结果时进行结果变得比除数,和离开时的模量加密。然后,RSA的硬件描述语言(VHDL)代码设计了基于新和简单的技术。数据控制的硬件描述语言(VHDL)代码,UART和设备驱动程序也由FPGA的数据。 |
RSA算法实现的步骤 |
|
硬件描述语言(VHDL)建模 |
硬件描述语言(VHDL) (VHSIC硬件描述语言)是一种用于电子设计自动化硬件描述语言来描述数字和混合信号系统现场可编程门阵列和集成电路等。这种语言是完全基于IEEE 1164标准。在这里,整个系统设计与硬件描述语言(VHDL)的帮助。这种方法的RTL模型在图3和4所示。 |
答:整体在FPGA RSA RTL模型 |
在FPGA b UART RTL模型 |
模拟、合成和讨论 |
硬件描述语言(VHDL)是常用的写作文本模型描述逻辑电路。这样一个模型是由合成处理程序,只有逻辑设计的一部分。模拟程序用于测试使用仿真模型来表示逻辑电路逻辑设计,接口设计。这组仿真模型通常被称为一个试验台。硬件描述语言(VHDL)文件输入和输出功能,可以作为文本处理的通用语言,但文件更常用的模拟试验台的刺激或验证的数据。有一些硬件描述语言(VHDL)编译器构建可执行的二进制文件。硬件描述语言(VHDL)程序是用于RSA、数据控制、UART和设备驱动程序,编写一个试验台,验证设计的功能使用主机上的文件定义的刺激,与用户交互,并比较结果与预期。后一代的编码模拟成功,它可能不是合成到一个真实的设备或太大实用。 |
所以,设计了一步硬件的硬件描述语言(VHDL) IDE使用Xilinx FPGA实现伊势产生所需的电路的RTL示意图。之后,生成的原理可以使用仿真软件验证,显示电路的输入和输出的波形后生成相应的试验台。最后,硬件描述语言(VHDL)模型转化为盖茨和电线,被映射到可编程逻辑器件FPGA。因此它是实际的硬件配置为处理器芯片,而不是硬件描述语言(VHDL)的代码用于实现RSA算法。 |
合成结束后,输入消息的形式可以给FPGA作为输入数据从计算机通过超级终端或以太网在串行通信媒体。这个消息是搬到FPGA以二进制形式与选定位的值。现在,RSA算法在FPGA使用硬件描述语言(VHDL)项目实现过程这个消息并产生超级终端屏幕的加密数据作为输出。输出,可读的格式,可以保存在记事本。现在,加密解密过程文件可以发送原始消息。所有这些操作都进行了斯巴达3 e电子模块及其FPGA实时输出可以看到通过超级终端屏幕,而不是以二进制的形式或十六进制格式。因此,这个FPGA模块可以作为标准设备在安全的封闭的网络数据通信系统。 |
答:设备利用情况总结 |
|
从设备利用率的总结,很明显,总当量盖茨仅用于方法是951。除了片的数量,所有其他组件使用百分位数小于10包括xor,附近地区和移位寄存器。由于等效门总数非常低,导致非常低的频率要求执行这个操作,低功耗和低成本比早些时候的方法。 |
b .实时模拟的结果 |
|
上面的图中显示Xilinx FPGA斯巴达3 e的输出设备。首先输入美联储FPGA器件在正常模式。然后,相同的输入可以在加密方式加密的数据。这种加密的数据可以保存在记事本传输到接收机。现在,加密的数据可以在接收端解密模式下得到原始数据。 |
结论 |
这个研究项目的主要目标是开发RSA算法在FPGA可以提供一个重要的安全级别以及可以提供更快的处理时间。最大钻头长度为公共和私有密钥是1024位。旁边的安全问题,这个研究项目的另一个主要问题是处理数据或文件作为输入。硬件描述语言(VHDL)的实现表明,练习的语言提供了一个有用的工具算法没有图纸大量的逻辑门。尽管当前关键尺寸的RSA算法可以提供足够的安全,一个更大的关键尺寸可以确保更好的安全性。然而,这导致处理时间慢。 |
数据乍一看 |
|
|
图1 |
图2 |
|
|
引用 |
- 抗议哈尼族,T.S.林,n . Shaikh-Husin FPGA实现RSA公钥CryptographicCoprocessor, TENCON学报》,第3卷,页6尺11寸,吉隆坡,马来西亚,2000年。
- 至此,屈服应力,康崔jr”实现的1024位的RSA密码系统模块化的处理器”,ASIC Asia-Pasific研讨会论文集,页187 - 190,济州岛,韩国,2000年。
- 和j·m·尚德Vuillemin,“快速实现的RSA加密”,学报11日IEEESymposium计算机算术,页252 - 259,温莎,安大略,1993。
- c . Brueggen j·辛格·d·主,b .筛,d . Sullins“硬件RSA加密方法”,Departmentof电气和计算机工程去了密苏里大学罗拉分校,页1 - 14,引用网络来源;URL: http://www.mentor.com/partners/hep/HDLcontest.htm
- 穆罕默德Ibrahimy,马蒙恋Reaz, Khandaker Asaduzzaman和Sazzad Hussain“FPGAImplementation RSA加密引擎与灵活的关键尺寸”学报InternationalJournal交通问题3,第一卷,2007年版
- 里维斯特,R。,Shamir, A., and Adleman, L, “A Method for Obtaining Digital Signatures and Public KeyCryptosystems”, Communications of the ACM, 1978, vol.21, no. 2, pp. 120-126.
- c . k . Koc。,“RSA Hardware Implementation. Technical Report TR 801”, RSA Laboratories, 1996, pp. 1-24.
- 托马斯•Wollinger Jorge Guajardo Christof洼地”在fpga加密:先进的实现andAttacks”ACM学报》特刊安全性和嵌入式系统卷。。2003年3月
- 约翰•弗莱马丁·朗廷fpga“RSA和公钥密码术”,Pproceedings ALTERACorporation杂志
- Xilinx手册,“数据加密使用DES / 3 d功能Spartan-II fpga”on03/09/2000发布。
|