基于ecc芯片的数字签名系统设计

上传人:xzh****18 文档编号:44618931 上传时间:2018-06-14 格式:PDF 页数:4 大小:229.13KB
返回 下载 相关 举报
基于ecc芯片的数字签名系统设计_第1页
第1页 / 共4页
基于ecc芯片的数字签名系统设计_第2页
第2页 / 共4页
基于ecc芯片的数字签名系统设计_第3页
第3页 / 共4页
基于ecc芯片的数字签名系统设计_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于ecc芯片的数字签名系统设计》由会员分享,可在线阅读,更多相关《基于ecc芯片的数字签名系统设计(4页珍藏版)》请在金锄头文库上搜索。

1、中国集成电路2 0 0 5 1 2 h t t p : / / w w w . c i c ma g . c o m(总第 7 9 期)应用C h in a ln te g r a te d C ir c u ltC I C图 1E C C 芯片管芯图图 2T H E C C - 1 0 0 芯片的内部模块结构图1 . 引言电子签章 1 (又称电子签名) 是指在数据电文中所含用于识别签章人身份并表明签章人认可其中内容的程序或者声音、 符号等数据。 目前一些单位和研究团体已提出多种电子签名的方案,并开发出样品, 但它们大都采用软件或软硬件结合的方式。 本文基于椭圆曲线数字签名算法 2 , 3 (

2、 E C D S A ) , 提出了一种基于椭圆曲线密码 (E C C ) 芯片的数字签名系统方案, 设计了完全由硬件电路实现数据运算、 数据传输和逻辑控制的电子签章系统。2 . E C C 芯片的结构与功能椭圆曲线密码 E C C芯片是自主开发的数字签名算法芯片, 是整个数字签名系统的核心芯片。 E C C芯片实现了基于 K - 2 3 3 曲线的完整的椭圆曲线密码功能,具有两种类型的功能和四种工作状态。它们分别是实现基于曲线 K 2 3 3 的椭圆曲线数字签名算法 (E C D S A ) 功能; 完成曲线 K 2 3 3 上的多倍点运算, 包括密钥对的产生功能; 完成 E C D S A

3、签名的产生工作状态;完成 E C D S A签名的验证的工作状态; 产生椭圆曲线密码的密钥对的工作状态; 实现密钥交换的工作状态。E C C芯片的管芯图如图 1 所示。根据椭圆曲线密码算法的特性和 T H E C C - 1 0 0芯片所具有的密码功能, 设计 E C C芯片的内部模块由 7 部分功能模块组成( 如图 2 所示) 。图 2 中各个基于 E C C 芯片的数字签名系统设计*摘要: 本文完成一种基于椭圆曲线密码 E C C ( E l l i p t i cC u r v eC r y p t o s y s t e m s ) 芯片的数字签名系统的设计, 完全采用硬件电路实现电子

4、签章的逻辑控制运算、 数据传输和控制, 实现了签名产生、 签名验证、 密钥产生和密钥交换四项功能, 签名速度可达每秒 2 0 0 0 次以上。北京航空航天大学电子工程学院赵明夏宇闻清 华 大 学 微 电 子 所 设 计 室刘雷波白国强* 国家 8 6 3 计划信息安全技术课题6 9C I C中国集成电路 C h in a ln te g r a te d C ir c u lt应用h t t p : / / w w w . c i c ma g . c o m2 0 0 5 1 2 (总第 7 9 期)h t t p : / / w w w . c i c ma g . c o mh t t

5、p : / / w w w . c i c ma g . c o mh t t p : / / w w w . c i c ma g . c o mh t t p : / / w w w . c i c ma g . c o m模块的功能分别设定为: I N P U T模块用于输入接口及输入控制; E E P R O M模块用于存储曲线参数、 指令集和预留管理熵空间; C O N T R O L L E R模块用于主控制器, 根据工作状态选择从 E E P R O M中调用指令集,进行指令译码及执行指令; R N G模块用于随机数产生器, 初始值可从外部读入, 也可通过内置值启动; M O D

6、模块用于 m o d n 模运算器, 根据输入做各种模加, 模减, 模乘, 模逆等运算; K P模块用于完成椭圆曲线多倍点运算 K P , 输入 K和 P , 输出 K P ; O U T -P U T模块用于输出接口及输出控制, 包括暂存已计算好的输出值。3 . 基于 E C C 芯片的数字签名系统结构简介基于 E C C芯片的数字签名系统结构原理框图如图 3 所示。该系统由运算模块、控制模块和接口模块组成, 下文将对这三个模块功能分别进行介绍。3 . 1 运算模块运算模块是基于 E C C芯片的数字签名系统的核心部分, 而运算模块的核心即是上面所述的 E C C芯片。其是根据我国国密办制定

7、的数字签名标准算法规则,采用基于曲线 K - 2 3 3的椭圆曲线密码(E C C ) 算法和多倍点运算 1 完成了数字签名过程中签名产生、 签名验证、 密钥产生和密钥交换四项功能所需要的数据运算。目前, E C C芯片已通过国家E C C鉴定专家组的认证。3 . 2 控制模块控制模块包括 M C U 、 F L A S H 、 F P G A和 P R O M四个部分, 它对运算模块进行逻辑控制, 使其按照用户要求完成数字签名工作。下文将介绍这四个部分的功能设计。M C U是电子签章系统的控制中心, 用于控制着数字签名的工作方式, 调用 F L A S H中密钥和签名数据和传输 F P G

8、A和 U S B之间各种操作指令和数据。其控制方式被设定如下:当 M C U接收到签名产生的指令时,将会从F L A S H中调出密钥数据, 并把密钥数据和操作指令及从 P C机传来的数据按照一定次序传输给 F P G A ;当 M C U接收到签名验证、密钥交换和密钥产生三项操作指令的任一项指令时,把指令和数据直接送给 F P G A ,再由 F P G A送往 E C C进行运算处理;E C C运算结束后,数据结果会立即送给 F P -G A 。 M C U将实时的接收 F P G A中的数据结果。 如果此次操作是 “密钥产生” 时, M C U将密钥结果数据送给 F L A S H储存起

9、来,否则将结果数据传给 U S B ,最终通过 U S B传输给 P C机;假如系统中储存有用户的签名和资料, 当M C U通过 U S B接口接收到 P C机的指令是调用签名或资料时, M C U将直接从 F L A S H中调出数据, 并通过 U S B接口传输给 P C机。F L A S H用来储存密钥数据、 签名数据和其它资料, 由 M C U控制支配。M C U是异步工作逻辑, E C C是同步工作逻辑,两者无法直接通讯。因此在 E C C和 M C U之间加入F P G A实现异步逻辑和同步逻辑之间的转换。除此之外, F P G A还用于传输数据, 完成对 E C C芯片的逻辑控制

10、任务。图 4给出了 F P G A主程序流程图。F P G A 的程序代码储存在 P R O M中。3 . 3 接口模块基于 E C C芯片的数字签名系统选用 U S B接口与 P C机进行通讯, 具有即插即用的特点。图 3基于 E C C 芯片的数字签名系统结构框图7 0中国集成电路2 0 0 5 1 2 h t t p : / / w w w . c i c ma g . c o m(总第 7 9 期)应用C h in a ln te g r a te d C ir c u ltC I C在数字签名中, P C机发送各种操作指令和数据, 通过 U S B芯片传输给控制模块; 运算模块产生的

11、结果数据也将由 U S B传输给 P C机。4 .签名产生工作流程数字签名主要分签名产生、 签名验证、 密钥交换和密钥产生四种工作方式, 基于 E C C芯片的数字签名系统可以进行单次和多次连续数字签名,本文以单次 “签名产生” 工作方式为例对其工作流程进行简单介绍。电子签章系统与 P C机的 U S B接口连接;首先电子签章系统上电复位, F P G A从 P R O M中调出程序代码, 并检测 E C C状态; 签名用户在 P C机上的电子签章环境中发出 “签名产生” 指令, P C机将向电子签章系统发送 “签名产生” 指令 A 、 随机数种子数据 B和消息数 D , 三者依次被送给 M

12、C U ; M C U接收到“签名产生” 的操作指令 A和数据 B 、 D后, 立即从 F L A S H中调取密钥数据 C , 并把密钥数据 C与前三者按 “A B C D ” 次序发送给 F P G A , 之后 M C U处于等待状态; F P G A接到操作指令 A和数据 B C D , 一旦检测 E C C状态位为可写入时,立刻把指令和数据B 、 C 、 D按照与 E C C的通讯协议传输给运算模块E C C ,然后等待接收数据; E C C接到数据和指令, 将按照指令要求对数据进行运算处理,运算结束后向F P G A发出传输数据请求; F P G A接受请求后开始接收结果签名数据

13、R和 S ,同时发送给 M C U ; M C U又把数据 R和 S 通过 U S B传输给 P C机。单次 “签名产生” 工作完成。4 . 1 基于 E C C 芯片的数字签名系统的性能分析用 1 0 0 万门的 X C V 1 0 0 0 - 6 B G 5 6 0 对 E C C进行初步综合,结果为:资源占用率近 9 0 %,频率2 5 M H z 。对 T H E C C - 1 0 0 芯片进行电路仿真, 以签名的产生为例,结果表明, T H E C C - 1 0 0 每产生一次签名所需时钟数最坏不超过 3 万次,在 1 0 0 M H z 的工作频率的条件下签名速度每秒可以达到

14、4 0 0 0 次以上( 完成一次签名约需要 0 . 2 5 毫秒) 。对 E C C芯片与国内同类产品做一比较, 如表 1所示。基于 E C C芯片的数字签名系统还开发一个电子签名应用程序界面。该签名软件 ( D e m o )采用V B A + d l l(C + + )的开发模式, 自动侦测 O f f i c e 版本图 4控制模块中的 F P G A 程序主流程图表 1E C C 芯片与国内同类产品的比较7 1C I C中国集成电路 C h in a ln te g r a te d C ir c u lt应用h t t p : / / w w w . c i c ma g . c

15、o m2 0 0 5 1 2 (总第 7 9 期)h t t p : / / w w w . c i c ma g . c o mh t t p : / / w w w . c i c ma g . c o mh t t p : / / w w w . c i c ma g . c o mh t t p : / / w w w . c i c ma g . c o m(目前仅支持 O f f i c e 2 0 0 0 / X P / 2 0 0 3 ) 文件。以 w o r d 为例, 安装签名软件后, 打开 w o r d 文档, 在 w o r d 文档的工具栏就会出现签名图标。用户点击

16、加密图标就可以操作电子签章的四项功能。根据 E C C芯片的性能要求, 在输入数据不超过2 3 3 位的情况下对本签章系统做测试,先进行密钥产生功能操作,然后再利用已生成的密钥数据作为原始数据来测试签名产生、 密钥交换和密钥验证三项功能,最后四项功能的结果数据均与理论数据相一致。签名速度超过 2 0 0 0 次 / 秒,验证速度超过1 0 0 0 次 / 秒。5 、 结论本文基于椭圆曲线数字签名算法和多倍点运算,以 E C C芯片为设计核心,以 M C U 、 F P G A等芯片为辅助, 运用硬件电路实现数据运算、 传输和逻辑控制的电子签章系统, 具有高速度、 高安全性等特点。参考文献 1 董思良, 电子签章应用中的安全问题, 信息安全与通讯保密, 2 0 0 4 年 0 8 期 1 2 白国强等, 圆曲线数字签名算法中的快速验证算法. 清华电子学报( 自然科学版) , 2 0 0 3 年 0 4 期 2 3 3 I E E ES t d P 1 3 6 3 2 2 0 0 0 . I E E ES t d a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号