预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

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

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

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 中国集成电路 应用CIC ChinalntegratedCircult 模块的功能分别设定为: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