集成电路设计:6 RSA公钥加密算法协处理器设计

上传人:努力****83 文档编号:190694955 上传时间:2023-02-28 格式:PPT 页数:53 大小:8.59MB
收藏 版权申诉 举报 下载
集成电路设计:6 RSA公钥加密算法协处理器设计_第1页
第1页 / 共53页
集成电路设计:6 RSA公钥加密算法协处理器设计_第2页
第2页 / 共53页
集成电路设计:6 RSA公钥加密算法协处理器设计_第3页
第3页 / 共53页
资源描述:

《集成电路设计:6 RSA公钥加密算法协处理器设计》由会员分享,可在线阅读,更多相关《集成电路设计:6 RSA公钥加密算法协处理器设计(53页珍藏版)》请在装配图网上搜索。

1、基本运算单元的应用:RSA公钥加密算法RSARSA公钥加密算法公钥加密算法如何实现大整数乘法如何实现大整数乘法p p*q q?x+Partial productsMultiplic a n dMultiplie rResult1 0 1 0 1 01 0 1 0 1 01 0 1 0 1 00 0 0 0 0 01 0 1 0 1 01 0 1 1部分和累加方法是否可以用来实现大整数除法?部分和累加方法是否可以用来实现大整数除法?如何实现如何实现10241024位大整数乘法位大整数乘法p p*q q?HAFAFAHAHAFAFAFAFAFAFAHACritical Path 1Critical

2、 Path 2对于对于N*N的乘法器有:的乘法器有:实现代价:实现代价:N(N-1)个)个FA逻辑级数:逻辑级数:3N-44*4乘法器:乘法器:实现代价实现代价4*(4-1)=12个个FA,逻辑级数,逻辑级数3*4-4=8级逻辑级逻辑64*64位乘法器:实现代价:位乘法器:实现代价:64*(64-1)=4032个个FA,逻辑级数:逻辑级数:3*64 -4=18864*64位乘法器,采用上述模式,延时不可忍受!位乘法器,采用上述模式,延时不可忍受!10241024*10241024位乘法器:位乘法器:实现代价:实现代价:10241024*10231023个个FAFA逻辑级数:逻辑级数:3 3*1

3、024-41024-4如何实现如何实现10241024位大整数乘法位大整数乘法p p*q q?想要在想要在1个时钟周期内获取乘法结果不可取!个时钟周期内获取乘法结果不可取!可以在时钟参与下实现可以在时钟参与下实现1024个部分积累加个部分积累加部分积累加需要时钟参与!部分积累加需要时钟参与!一拍一拍将数据保存在结果一拍一拍将数据保存在结果2048位寄存器位寄存器/存储器中存储器中那么如何实现那么如何实现1024位的加法?位的加法?如何实现如何实现10241024位大整数加法位大整数加法a+ba+b?CICICIA1023B1023S1023C1024COA1022B1022S1022C1023

4、COA1B1S1COA0B0S0C1COCIC0可以使用行波进位加法器吗?可以使用行波进位加法器吗?10241024*10241024位加法器:位加法器:实现代价:实现代价:10241024个个FAFA逻辑级数:逻辑级数:10241024个个FAFA级延时级延时如何实现如何实现10241024位大整数加法位大整数加法a+ba+b?1位位FA实现代价:实现代价:73m21024位位FA实现代价:实现代价:74937m2还不包括其它驱动逻辑、布线的面积还不包括其它驱动逻辑、布线的面积1位位FA延时:延时:0.3ns1024位位FA延时:延时:0.3ms还不包括其它逻辑的延时还不包括其它逻辑的延时无

5、法实现!无法实现!SMIC0.18m工艺库工艺库如何实现如何实现10241024位大整数加法位大整数加法a+ba+b?A1023 B1023A1022 B1022A1 B1A0 B00FAFAFAFAG1023 P1023 S1023G1022 P1022 S1022G1 P1 S1G0 P0 S0超前进位电路(超前进位电路(CLA)C0C1C1022C1023可以使用超前进位加法器吗?可以使用超前进位加法器吗?如何实现如何实现10241024位大整数加法位大整数加法a+ba+b?超前进位逻辑代价:逻辑复杂度:O(N2)=O(10242);逻辑延时级数:log2N+3=13实现代价太大,无法实

6、现!如何实现如何实现10241024位大整数加法位大整数加法a+ba+b?缩减加法器位数,如采用基本的缩减加法器位数,如采用基本的32位加法器位加法器时钟参与下,逐个相加时钟参与下,逐个相加每次相加得到累加和以及进位每次相加得到累加和以及进位缺点:需要多个时钟,缺点:需要多个时钟,1024位加法需要位加法需要32个时钟才能产生最终结果个时钟才能产生最终结果优点:可使用优点:可使用32位超前进位加法器、减少时延、增加主频、降低功耗位超前进位加法器、减少时延、增加主频、降低功耗如何实现如何实现10241024位大整数乘法位大整数乘法p p*q q?回到刚才讲的乘法器回到刚才讲的乘法器1024位加法

7、器得到较好的实现位加法器得到较好的实现然而然而1024个部分和累加需要个部分和累加需要1024次加法操作次加法操作每个每个1024位加法需要位加法需要32个时钟个时钟总共需要总共需要1024*32=32768个时钟个时钟时间代价太大!时间代价太大!如何实现大整数乘法如何实现大整数乘法p p*q q?采用多个时钟策略采用多个时钟策略每个时钟处理每个时钟处理w位的乘法器,可以取位的乘法器,可以取w=3232位乘法器可以采用基于位乘法器可以采用基于booth编码和编码和CSA加法器的乘法器加法器的乘法器对于对于1024位乘法器,所需时钟为位乘法器,所需时钟为i*j=32*32=1024个时钟个时钟R

8、SARSA公钥加密算法公钥加密算法如何存储大数如何存储大数p、q、进位、进位C、中间结果、中间结果t以及乘法结果?以及乘法结果?p:1024bitq:1024bit乘法结果:乘法结果:2048bitC:32bitt:32bit答案:寄存器组答案:寄存器组&RAM用reg型变量生成触发器举例:module rw2(clk,d,out1,out2);input clk,d;output out1,out2;reg out1;wire out2;assign out2=d&out1;always(posedge clk)begin out1=d;endendmodule过程赋值语句连续赋值语句dou

9、t2AND2i1clkout1D QDFF沿沿触发寄存器的使用寄存器的使用寄存大整数可以使用寄存大整数可以使用memorymemory型变量吗?型变量吗?含义不同reg 31:0 rega;/一个32位的寄存器reg 31:0 mema 31:0;/由32个32位寄存器组成的1024bit存储器 必须指明存储单元的地址地址!0n-10n-1n-2地址 赋值方式不同赋值方式不同 一个一个n位的寄存器可用一条赋值语句赋值;位的寄存器可用一条赋值语句赋值;一个完整一个完整的存储器则不行!若要对某存储器中的存储单元进行的存储器则不行!若要对某存储器中的存储单元进行读写操作,读写操作,必须指明该单元在存

10、储器中的必须指明该单元在存储器中的地址地址!例 rega=0;/合法赋值语句 mema=0;/非法赋值语句 mema8=1;/合法赋值语句 mema1023:0=0;/合法赋值语句memory型变量型变量与与reg型变量型变量的区别的区别寄存大整数使用寄存大整数使用SRAMSRAM1位寄存器实现代价:位寄存器实现代价:70m21024位寄存器实现代价:位寄存器实现代价:71531m2还不包括组合逻辑、布线的面积还不包括组合逻辑、布线的面积1位寄存器功耗:位寄存器功耗:0.6W15MHz1024位寄存器功耗:位寄存器功耗:0.3mA还不包括组合逻辑的功耗还不包括组合逻辑的功耗SMIC0.18m工

11、艺库工艺库寄存大整数使用寄存大整数使用SRAMSRAM1024位位RAM面积:面积:28352 m2包括组合逻辑、布线的面积包括组合逻辑、布线的面积功耗:功耗:0.15mA15MHz其它优点:方便其它优点:方便floorplan布局布线布局布线结论:大整数的寄存要使用结论:大整数的寄存要使用RAM面积小、功耗小面积小、功耗小SMIC0.18m工艺库工艺库SRAMSRAM存储器存储器一、组成:一、组成:存储矩阵存储矩阵(n行行m列)列)行列地址行列地址译码电路译码电路片选和读写片选和读写控制电路控制电路RAM:可以在任意时刻,对任意选中的存储单元进行信息的存入(写)或:可以在任意时刻,对任意选中

12、的存储单元进行信息的存入(写)或取出(读)的信息操作。取出(读)的信息操作。分类:根据内容结构不同可分为:分类:根据内容结构不同可分为:SRAM(静态随机存取)、(静态随机存取)、DRAM(动态随机存取)。(动态随机存取)。优点:读写方便,使用灵活。优点:读写方便,使用灵活。缺点:掉电丢失信息。缺点:掉电丢失信息。SRAMSRAM存储器存储器当给定行和列的地址时,行和列的地址译码器分别选中相应的行线和列线,当给定行和列的地址时,行和列的地址译码器分别选中相应的行线和列线,这两种输出线(行与列)的交点处的存储单元便被选中(注:选中的存储这两种输出线(行与列)的交点处的存储单元便被选中(注:选中的

13、存储器可能是一位也可能是多位)。器可能是一位也可能是多位)。工作过程:工作过程:第一步:选中存储信息第一步:选中存储信息如果此时读写控制电路有相应的有效信号,则实现对选中存储单元的信息进如果此时读写控制电路有相应的有效信号,则实现对选中存储单元的信息进行读写操作。行读写操作。二、各组成的结构与工作原理二、各组成的结构与工作原理1.1.存储矩阵存储矩阵 用于存储信息的主体电路。它由若干存储单元以矩阵的形式构成。有若干行用于存储信息的主体电路。它由若干存储单元以矩阵的形式构成。有若干行和若干列。和若干列。如:存储容量为如:存储容量为256X4=1K256X4=1K的存储器,它由的存储器,它由102

14、41024个存储单元以个存储单元以3232行和行和32 32 列矩阵列矩阵的形式构成的。它的一个字由的形式构成的。它的一个字由4 4位二进制数组成。位二进制数组成。第二步:进行读写操作第二步:进行读写操作列线列线行行线线字字当给定行和列的地址时,行和列的地址译码器分别选中相应的行线和列线,当给定行和列的地址时,行和列的地址译码器分别选中相应的行线和列线,这两种输出线(行与列)的交点处的存储单元便被选中(注:选中的存储这两种输出线(行与列)的交点处的存储单元便被选中(注:选中的存储器可能是一位也可能是多位)。器可能是一位也可能是多位)。存储器信息(字)位置的确定:存储器信息(字)位置的确定:32

15、行行32列矩阵列矩阵存储器容量:存储器容量:(字数)(字数)(位数)(位数)=2564 字数:字数:32 X 8=25632根根行行线线8根列线根列线字字 存储器有存储器有32条行线、条行线、8条列线;条列线;存储器的容量计算:存储器的容量计算:该该RAM存储矩阵共需要存储矩阵共需要32根行选择线根行选择线X0X31和和8根列选择线根列选择线Y0Y72RAM的存储单元的存储单元按结构不同可分为按结构不同可分为:静态存储单元静态存储单元SRAM、动态存储单元、动态存储单元DRAM利用利用CMOS构成的基本构成的基本RS触发器来存储信息。保存的信息不易丢失,可长触发器来存储信息。保存的信息不易丢失

16、,可长期保存。典型的期保存。典型的SRAM的存储单元需要六个晶体管(三极管)构成。用于小的存储单元需要六个晶体管(三极管)构成。用于小容量、高速存储器。容量、高速存储器。利用利用MOS管的栅极电容管的栅极电容C存储电荷来储存信息,电容是会漏电的,所以必须存储电荷来储存信息,电容是会漏电的,所以必须通过不停的给电容充电来维持信息,这个充电的过程叫再生或刷新通过不停的给电容充电来维持信息,这个充电的过程叫再生或刷新(REFRESH)。由于电容的充放电是需要相对较长的时间的,)。由于电容的充放电是需要相对较长的时间的,DRAM的速的速度要慢于度要慢于SRAM。DRAM的一个存储单元只需要一个晶体管和

17、一个电容。因的一个存储单元只需要一个晶体管和一个电容。因此,此,DRAM的成本、集成度、功耗等明显优于的成本、集成度、功耗等明显优于SRAM。静态存储单元静态存储单元(SRAM)动态存储单元(动态存储单元(DRAM)3地址译码电路地址译码电路 地址号:地址号:存放在同一个字中的存储单元编为一组所赋予的号码。每个字赋存放在同一个字中的存储单元编为一组所赋予的号码。每个字赋予一个地址号,地址号的位数予一个地址号,地址号的位数n应满足:应满足:2n=256(字数)。地址号由行地址字数)。地址号由行地址码与列地址码两部分组成。码与列地址码两部分组成。行地址加列地址共行地址加列地址共8位二进数位二进数A

18、0A7,可对,可对256个字单元进行编码,这样每个个字单元进行编码,这样每个字就有一个地址号了。字就有一个地址号了。此存储矩阵有行此存储矩阵有行32个,可用个,可用5位二进数进行编码,行地址码位二进数进行编码,行地址码A0A4从从0000011111。此存储器有列此存储器有列8个,可用个,可用3位进制数进行编码,列地址码位进制数进行编码,列地址码A5A7从从000111。思考:思考:地址号为:地址号为:11100010的数据位置。多少行?多少列?的数据位置。多少行?多少列?1 0 0列地址码列地址码 地址号:地址号:00111111地址译码电路:地址译码电路:用于将地址号转换为寻找所需存储数据

19、的信息电路。即;用于将地址号转换为寻找所需存储数据的信息电路。即;通过所给的地址号可查找到所要信息。通过所给的地址号可查找到所要信息。行行地地址址译译码码器器A4A3A2A1A0列地址译码器列地址译码器A5 A6 A711111行行地地址址码码4读读/写与片选控制电路写与片选控制电路CSCSCSCSWRWR/CS=1时:所有的时:所有的I/O 端均被禁止,不能读或写操作;端均被禁止,不能读或写操作;=0时:相应片存储器被选中,可读或写操作。时:相应片存储器被选中,可读或写操作。CS片选控制片选控制:=1,执行读操作,存储单元中数据送输出端;,执行读操作,存储单元中数据送输出端;=0,执行写操作

20、,执行写操作,I/O端数据写入存储单元中。端数据写入存储单元中。WR/读读/写控制写控制:WR/片选与读写控制电路:片选与读写控制电路:C.=1,G3导通,导通,G1、G2高高阻态截止。若地址阻态截止。若地址A7A0为为00011111,于是位于于是位于31,0的存储单元所存储的存储单元所存储的信息送出到的信息送出到I/O端,存储器执行读端,存储器执行读操作操作;WR/CSA.=1时,时,G1,G2,G3均为高均为高阻态,芯片未选中阻态,芯片未选中;CSB.=0时,芯片被选中时,芯片被选中;D.=0,G1、G2导通,导通,G3高阻态截止,高阻态截止,I/O端的数据以互补的形端的数据以互补的形式

21、出现在数据线式出现在数据线D、上,并被存入上,并被存入31,0存储单元,存储器执行写操作存储单元,存储器执行写操作WR/写操作写操作读操作读操作 D如何实现大整数乘法如何实现大整数乘法p p*q q?C:32位寄存器位寄存器t:32位寄存器位寄存器a:32*32 SRAMb:32*32 SRAM乘法结果:乘法结果:64*32 SRAMRSARSA公钥加密算法公钥加密算法如何求?如何求?a*b mod n=(a mod n)*(b mod n)mod n利用求模运算的性质利用求模运算的性质bba mod n=(a mod n)mod na mod na*b mod n 转化成求:转化成求:RSA

22、RSA公钥加密算法公钥加密算法RSARSA公钥加密算法公钥加密算法RSARSA公钥加密算法公钥加密算法如何求?如何求?a*b mod n Ra bmodnmodaa rnmodbb rnr=2k1modRa b rn11modrrnRSARSA公钥加密算法公钥加密算法RSARSA公钥加密算法公钥加密算法RSARSA公钥加密算法公钥加密算法如何求?如何求?时间复杂度:O(2s2)时间复杂度:O(s2)二进制乘法器Y0Y1X3X2X1X0X3HAX2FAX1FAX0HAY2X3FAX2FAX1FAX0HAZ1Z3Z6Z7Z5Z4Y3X3FAX2FAX1FAX0HAZ2Z04*4阵列乘法器硬件结构C

23、SA压缩器M*N二进制乘法器实现代价:M(N-1)个全加器逻辑延时:2M+N-4N*N的CSA乘法器逻辑延时:2N-1需要N-1级CSA压缩器以及N级串行加法器实现代价:N2个全加器基于CSA的4:2压缩器18个部分积以及符号扩展处理n-2ii-1ii 1i 0iYYYY2+,是偶数()n-2ii-1ii 1i 0iX YYYYX 2+,是偶数()i-1ii 1PPi(YYY)X+Yi-1YiYi+1000001010011100101110111X0+X+X+2X-2X-X-X0Wallace树Booth2编码RSARSA公钥加密算法公钥加密算法关键路径优化关键路径优化关键路径时序关键路径时序低功耗优化低功耗优化现有现有RSA电路功耗电路功耗5-10mA运行运行RSA时芯片读写距离短时芯片读写距离短低功耗优化低功耗优化低功耗低功耗SRAM低功耗优化低功耗优化门控时钟门控时钟低功耗优化低功耗优化门控时钟门控时钟低功耗优化低功耗优化门控时钟门控时钟低功耗优化低功耗优化低功耗全加器低功耗全加器低功耗优化低功耗优化低电压设计低电压设计RSARSA公钥加密算法公钥加密算法低电压设计低电压设计RSARSA公钥加密算法公钥加密算法谢谢!谢谢!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!