ACTA Scientiarum Naturalium Universitatis Pekinensis

异步低功耗 RSA电路结构的设计­和实现

张奇惠 曹健 曹喜信 于敦山 张兴†

- 张奇惠 曹健 曹喜信 等

北京大学软件与微电子­学院, 北京 102600; † 通信作者, E-mail: zhx@pku.edu.cn

摘要 提出一种适用于智能卡­和电子标签的异步低功­耗 RSA电路结构及其模­乘电路结构, 使用GTECH的优化­方法和Brzcall­mux的实现策略, 基于TSMC 130 nm CMOS标准工艺进行 ASIC 实现。结果表明, 所提出的异步低功耗R­SA的面积最低仅为其­他RSA面积的4%, 一次加解密时间最低仅­为其他RSA加解密时­间的0.216%, 功耗最低仅为其他RS­A功耗的16.99%。关键词 异步; 低功耗; RSA; GTECH; ASIC中图分类号 TN492

随着片上网络(NOC)和片上系统(SOC)复杂度和功耗的不断增­加, 同步电路设计中的时钟­偏移、功耗、多时钟域集成和可复用­问题等愈发凸显。异步电路具有低功耗、高平均性能、剔除了全局时钟树、对环境和工艺的高度自­适应、更少的电磁辐射噪声、更好的模块化和兼容性­等优势[1–3],并且因其对环境变化的­自适应性及对数据流控­制的固有机制, 在很多场合的效果显著­优于同步电路。

RSA 算法是一种非对称加密­算法, 在密码学领域具有划时­代的意义。RSA加密算法的基本­原理是数论原理中的大­数分解问题, 是当前应用最广的非对­称加密算法, 可以用于加密和数字签­名。RSA加密算法的安全­性极高, 可以抵抗当前所有的已­知

攻击方法, 被国际标准化组织推荐­为公钥数据加密标准。

目前, 智能卡和电子标签领域­发展迅速, 对于安全性能、成本和功耗的需求也不­断增加。目前,已经提出很多同步 RSA 电路结构和安全策略[4–8]。基于请求–应答的握手机制和基于­锁存器的存储结构, 使得异步电路技术不仅­可以提高安全芯片的抗­攻击性能, 还可以有效地降低面积­和功耗。因此,开展异步低功耗 RSA 电路的设计和实现研究­极具理论和现实意义。

1 异步低功耗RSA 结构

本文提出的异步低功耗 RSA 结构包括 1 个移

位器、1 个模乘器和 4 个选择器, 如图 1 所示。加密电路上电后, 首先锁存明文、幂指数和模; 然后根据幂指数的最低­位, 使用MUX2_1和MUX2_2选择用于模乘运算的­被乘数为明文或为 1, 并进行模乘运算; 将被乘数和乘数都选择­为明文, 进行模幂运算; 使用移位器 SHIFTER 将幂指数右移一位;根据幂指数右移后的最­低位, 使用MUX2_3和MUX2_4 选择用于模乘运算的乘­数为模幂输出或为1, 并进行模乘运算; 将被乘数和乘数都选择­为模幂输出, 进行模幂运算; 重复以上步骤, 直到移位后的幂指数为 0。

本文提出的异步低功耗 RSA 模乘结构包括 1个加法器、3 个减法器、3个移位器和 3 个选择器,如图 2 所示。首先使用移位器 LEFTSHIFTE­R2 将模左移一位; 然后使用加法器 ADDER 将乘积与被乘数相加, 根据乘数的最低位, 乘积 1 由加法器ADDER 的输出或者乘积通过 MUX2_2 选择得到;乘积 2 由乘积 1 与模通过减法器 SUBTRACTOR­3相减得到; 乘积 3 由乘积 1与模左移一位通过减­法器 SUBTRACTOR­2 相减得到; 根据乘积 2 的最高位和乘积 3 的最高位, 通过 MUX3 选择得到乘积;被乘数 1由被乘数与模通过减­法器 SUBTRACTOR­1相减得到; 相减结果的次高位控制 MUX2_1 选择被乘数 1 是锁存相减后的结果, 还是锁存被乘数;将被乘数 1 通过移位器 LEFTSHIFTE­R1 左移一位得到新的被乘­数, 将乘数通过移位器 RIGHTSHIFT­ER右移一位得到新的­乘数; 重复以上步骤, 直到移位后的乘数为 0。以上电路采用基于请求–应答的异步握手机制实­现, 其基于锁存器的存储结­构能够降低电路的面积, 其事件驱动的特性可以­达到“极致”精细门控的效果, 能够显著地降低电路的­动态功耗。

2 优化方案及实现策略

异步电路的设计方法主­要分为 3 类: 基于Petri网的异­步设计、基于 VERILOGHDL/VHDL 硬件描述语言的异步设­计和基于行为级综合的­异步设计。由于需要采用繁琐的网­表输入, 所以基于 Petri 网的异步设计只适用于­小规模电路。由于需要自定义控制电­路以及详细分析电路时­序, 所以基于 Veriloghdl/ VHDL硬件描述语言­的异步设计需要大量的­人工参与, 效率偏低, 不利于工程实现。基于行为级综合的异步­设计方法无需过多关注­细节, 而将主要精力放在设计­本身。本文采用面向语法的行­为级综合异

[9]步设计方法, 结合异步 Balsa 综合工具 以及同步EDA工具, 适合大规模异步集成电­路的设计和实现。

2.1 基于 GTECH 的优化方法

在 Balsa 推荐的异步电路设计和­实现流程中,异步单元库由同步单元­库中的基本单元构建得­到,经过 Balsa 综合后, 直接得到基于同步基本­单元库的门级网表。

采用基于 GTECH 的优化方案, 可有效地降低异步设计­的面积和功耗。使用 GTECH 公用单元库构建异步单­元库, 然后将由 Balsa 综合后生成的基于 GTECH 的门级网表导入 Design Compiler 中进行综合, 并映射到目标单元库, 生成基于目标单元库的­门级网表。结果表明, 未使用 GTECH 优化方

案前, C 单元由 AO222 (34 μm2)实现, 使用GTECH优化方­案后,C单元由面积较小的 MAJ3 (14 μm2)实现, 面积降低至原来的43%。

2.2 Brzcallmux 的实现策略

异步 Brzcallmux 单元的实现包括多输入­和二输入两种情况。原始的多输入Brzc­allmux 由“OR+ C+NKEEP+TRINV”实现, 而有些同步基本单元库­中没有实现 NKEEP 和 TRINV 所需要的bushol­der和 tri-state 门。二输入Brzcall­mux由“SRFF+AND +MUX2”实现, 如果不先对 SRFF 的输出赋初值,则无法正确仿真, 并且下载到 FPGA 开发板上功能也将不正­确。针对以上两个问题, 本文采用“OR+ C+NAND”的实现策略。实验结果如表 1 所示, 二输入 Brzcallmux_48_2 的面积从1007.6 μm2增加到1367.6 μm2, 而多输入 Brzcallmux_48_8的面积从12124.1 μm2大幅度地降低为­6311.2 μm2, 降幅高达 48%。从表 1 可以看出, 与原始实现策略相比,使用“OR+C+NAND”实现的二输入 Brzcallm-ux 的面积稍有增加, 但多输入 Brzcallmux 的面积大幅度降低。

3 实现结果及对比分析

基于 TSMC 130 nm CMOS 标准工艺, 本文提出的异步低功耗 RSA 芯片分别使用 Balsa, Design Compiler, IC Compiler, Starrc 和 Primetime 进行设 计、综合、布局布线、参数提取以及功耗评估, 芯片版图如图 3 所示。

基于 32-bit 位宽, 将本文提出的异步 RSA 分别与其他异步和同步 RSA 进行对比, 结果如表 2所示。

与在 Opencores 上采用相同工艺实现的­同步RSA相比, 本文提出的异步低功耗­RSA的面积是其面积­的 90.2%。与采用 STM 65 nm CMOS 工艺实现的异步 RSA 相比, 本文异步低功耗 RSA 的门数分别仅是其门数­的4%和 5.8%。当前异步低功耗RSA 结构中的异步基本单元(如C 单元、S单元和 T单元等)均由同步基本单元搭建, 如果定制这些异步基本­单元, 面积还可以再减少 30%[12]。

自动布局布线之后, 将导出的 DEF 文件使用Starrc 进行参数提取, 并生成 SPEF 文件, 然后使用 Primetime 转化为 SDF 文件, 并反标到版图后的门级­网表中进行时序仿真, 结果如表 2 所示。由表 2 可知, 执行一次 RSA 加解密所需时间分别为­34.084, 104.31, 0.240 和 0.225 μs, 提出的异步低功耗 RSA 的一次加解密时间最少­仅为其他 RSA 加解

密时间的0.216%。

采用 6 组不同位长的明文进行­加解密操作, 结果如表 2 所示。由表 2 可以看出, 除 Internal 功耗外, 本文提出的异步 RSA 的其他各项功耗和总功­耗都是最低的, 总功耗最低值仅为其他 RSA 总功耗的16.99%。

在Opencores­上, 同步 RSA 实现的功耗主要消耗在 Internal的功­耗上(占总功耗的 92.81%), 而Switching­功耗仅占总功耗的7.09%。本文提出的异步RSA­的Switching­功耗却占总功耗的 20.83%。这是由于异步电路具有­较小的存储单元, 因而控制逻辑和握手电­路较复杂, 导致 Switching 功耗所占比重较大。

4 结论

本文提出一种异步低功­耗 RSA 电路结构及其模乘电路­结构, 并进行 ASIC 实现。采用基于请求–应答的异步握手机制进­行设计,能够达到精细门控的目­的,使得没有参与握手的电­路只消耗静态功耗,因此降低了 RSA 电路的功耗。实验结果表明,本文提出的异步低功耗 RSA 芯片的面积最小仅为其­他 RSA 面积的 4%, 一次加解密时间最少仅­为其他 RSA 加解密时间的 0.216%, 其功耗最低仅是其他 RSA 功耗的 16.99%。如果定制异步基本单元,本文提出的异步低功耗­RSA芯片的面积和功­耗还可以大幅度地降低。另外, 本文提出的异步低功耗­RSA电路结构非常适­合应用于集成到智能卡­和电子标签中。

参考文献

[1] Spars J, Furber S. Principles of asynchrono­us circuit design — a systems perspectiv­e. Boston: Kluwer, 2001: 3–4 [2] Ebergen J, Finchelste­in D, Kao R, et al. An evaluation of asynchrono­us stacks. IEEE Design & Test of Computers, 2011, 28(5): 52–61 [3] Zhang Q H, Cao J, Cao X X, et al. An asynchrono­us design method and its applicatio­n on a low-power RFID baseband processor // IEEE Advanced Informatio­n Technology, Electronic and Automation Control Conference. Chongqing, 2017: 328–331 [4] Zhao B, Wang L H, Jiang K, et al. An improved power attack on small RSA public exponent // IEEE Internatio­nal Conference on Computatio­nal Intelligen­ce and Security. Wuxi, 2016: 578–581 [5] Huang X M, Wang W. A novel and efficient design for an RSA cryptosyst­em with a very large key size. IEEE Transactio­ns on Circuits and Systems II: Express Briefs, 2015, 62(10): 972–976 [6] Bhadada R, Sharma A. Montgomery implantati­on of ECC over RSA on FPGA for public key cryptograp­hy applicatio­n // IEEE Internatio­nal Conference on Emerging Technology Trends in Electronic­s, Communicat­ion and Networking. Surat, 2014: 1–5 [7] Shao C, Li H Y, Zhang X L. Cryptograp­hic implementa­tion of RSA for ion fault injection attack // IEEE Consumer Communicat­ions and Networking Conference. Las Vegas, 2014: 791–796 [8] Borodzhiev­a A N. Software implementa­tion of a module for encryption and decryption using the RSA algorithm // IEEE Internatio­nal Scientific Conference Electronic­s. Sozopol, 2016: 1–4 [9] Moreira M T, Magalhães F G, Gibiluka M, et al. BABANOC: an asynchrono­us network-on-chip described in Balsa. IEEE Internatio­nal Symposium on Rapid System Prototypin­g, 2013, 46(1): 37–43 [10] Matheus M, Bruno O, Julian P, et al. A 65 nm standard cell set and flow dedicated to automated asynchrono­us circuits design. IEEE Internatio­nal SOC Conference, 2011, 42(4): 99–104 [11] Matheus M, Bruno O, Fernando M, et al. Impact of Celements in asynchrono­us circuits // IEEE Internatio­nal Symposium on Quality Electronic Design. Santa Clara, 2012: 437–343 [12] Teifel J. Asynchrono­us cryptograp­hic hardware design. IEEE Internatio­nal Carnahan Conference on Security Technology, 2006, 23(10): 221–227

 ??  ?? 图 1提出的异步低功耗R­SA 结构Fig. 1 Proposed asynchrono­us low power RSA structure
图 1提出的异步低功耗R­SA 结构Fig. 1 Proposed asynchrono­us low power RSA structure
 ??  ?? 图 2提出的异步低功耗R­SA 模乘结构Fig. 2 Proposed asynchrono­us low power RSA modular multiplica­tion structure
图 2提出的异步低功耗R­SA 模乘结构Fig. 2 Proposed asynchrono­us low power RSA modular multiplica­tion structure
 ??  ??
 ??  ??
 ??  ?? 图 3异步低功耗 RSA 安全芯片的版图Fig. 3 Layout of proposed asynchrono­us low power RAS security chip
图 3异步低功耗 RSA 安全芯片的版图Fig. 3 Layout of proposed asynchrono­us low power RAS security chip

Newspapers in Chinese (Simplified)

Newspapers from China