基于ECC芯片的数字签名系统设计.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:229KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于ECC芯片的数字签名系统设计.pdf

基于ECC芯片的数字签名系统设计.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

中国集成电路CIC应用ChinalntegratedCircult基于ECC芯片的数字签名系统设计*北京航空航天大学电子工程学院赵明夏宇闻清华大学微电子所设计室刘雷波白国强摘要:本文完成一种基于椭圆曲线密码ECC(EllipticCurveCryptosystems)芯片的数字签名系统的设计,完全采用硬件电路实现电子签章的逻辑控制运算、数据传输和控制,实现了签名产生、签名验证、密钥产生和密钥交换四项功能,签名速度可达每秒2000次以上。1.引言密钥交换的工作状态。ECC芯片的管芯图如图1所示。电子签章[1](又称电子签名)是指在数据电文中所含用于识别签章人身份并表明签章人认可其中内容的程序或者声音、符号等数据。目前一些单位和研究团体已提出多种电子签名的方案,并开发出样品,但它们大都采用软件或软硬件结合的方式。本文基于椭圆曲线数字签名算法[2,3](ECDSA),提出了一种基于椭圆曲线密码(ECC)芯片的数字签名系统方案,设计了完全由硬件电路实现数据运算、数据传输和逻辑控制的电子签章系统。图1ECC芯片管芯图2.ECC芯片的结构与功能椭圆曲线密码ECC芯片是自主开发的数字签名算法芯片,是整个数字签名系统的核心芯片。ECC芯片实现了基于K-233曲线的完整的椭圆曲线密码功能,具有两种类型的功能和四种工作状态。它们分别是实现基于曲线K—233的椭圆曲线数字签图2THECC-100芯片的内部模块结构图名算法(ECDSA)功能;完成曲线K—233上的多倍根据椭圆曲线密码算法的特性和THECC-100点运算,包括密钥对的产生功能;完成ECDSA签名芯片所具有的密码功能,设计ECC芯片的内部模块的产生工作状态;完成ECDSA签名的验证的工作由7部分功能模块组成(如图2所示)。图2中各个状态;产生椭圆曲线密码的密钥对的工作状态;实现*国家863计划信息安全技术课题http://www.cicmag.com2005·12·(总第79期)69中国集成电路应用CICChinalntegratedCircult模块的功能分别设定为:INPUT模块用于输入接口3.2控制模块及输入控制;EEPROM模块用于存储曲线参数、指控制模块包括MCU、FLASH、FPGA和PROM令集和预留管理熵空间;CONTROLLER模块用于主四个部分,它对运算模块进行逻辑控制,使其按照用控制器,根据工作状态选择从EEPROM中调用指令户要求完成数字签名工作。下文将介绍这四个部分集,进行指令译码及执行指令;RNG模块用于随机的功能设计。数产生器,初始值可从外部读入,也可通过内置值启MCU是电子签章系统的控制中心,用于控制着动;MOD模块用于modn模运算器,根据输入做各种数字签名的工作方式,调用FLASH中密钥和签名数模加,模减,模乘,模逆等运算;KP模块用于完成椭据和传输FPGA和USB之间各种操作指令和数据。圆曲线多倍点运算KP,输入K和P,输出KP;OUT-其控制方式被设定如下:PUT模块用于输出接口及输出控制,包括暂存已计①当MCU接收到签名产生的指令时,将会从算好的输出值。FLASH中调出密钥数据,并把密钥数据和操作指令及从PC机传来的数据按照一定次序传输给FPGA;3.基于ECC芯片的②当MCU接收到签名验证、密钥交换和密钥数字签名系统结构简介产生三项操作指令的任一项指令时,把指令和数据直接送给FPGA,再由FPGA送往ECC进行运算处理;基于ECC芯片的数字签名系统结构原理框图如③ECC运算结束后,数据结果会立即送给FP-图3所示。该系统由运算模块、控制模块和接口模GA。MCU将实时的接收FPGA中的数据结果。如果块组成,下文将对这三个模块功能分别进行介绍。此次操作是“密钥产生”时,MCU将密钥结果数据送给FLASH储存起来,否则将结果数据传给USB,最终通过USB传输给PC机;④假如系统中储存有用户的签名和资料,当MCU通过USB接口接收到PC机的指令是调用签名或资料时,MCU将直接从FLASH中调出数据,并通过USB接口传输给PC机。图3基于ECC芯片的数字签名系统结构框图FLASH用来储存密钥数据、签名数据和其它资料,由MCU控制支配。3.1运算模块MCU是异步工作逻辑,ECC是同步工作逻辑,运算模块是基于ECC芯片的数字签名系统的两者无法直接通讯。因此在ECC和MCU之间加入核心部分,而运算模块的核心即是上面所述的ECCFPGA实现异步逻辑和同步逻辑之间的转换。除此芯片。其是根据我国国密办制定的数字签名标准算之外,FPGA还用于传输数据,完成对ECC芯片的逻法规则,采用基于曲线K-2