同时实现RSA/ECC加解密算法的装置制造方法及图纸

技术编号:16473856 阅读:35 留言:0更新日期:2017-10-29 01:34
本发明专利技术实施例提供一种同时实现RSA/ECC加解密算法的装置,包括:CPU接口模块,用于接收配置参数并发送给主控模块,返回状态参数;主控模块,用于接收并存储配置参数,根据所述配置参数向复杂计算控制模块发送计算命令;将状态参数发送给所述CPU接口模块;接收读取命令并向基本计算模块发送计算参数;复杂计算控制模块,用于接收计算命令,根据所述计算命令,生成运算命令发送给基本计算模块;接收基本计算模块的完成信号;基本计算模块,用于接收运算命令,并向主控模块发送读取命令以获取计算参数,根据运算命令以及计算参数完成计算,向复杂计算控制模块发送完成信号,同时将计算结果发送给主控模块。

Device for implementing RSA/ECC encryption and decryption algorithm simultaneously

Including the embodiment of the invention provides a device at the same time, the realization of RSA/ECC encryption algorithm: CPU interface module, for receiving the configuration parameters and sent to the main control module, the return status parameter; the main control module is used for receiving and storing the configuration parameters, according to the configuration parameters to the complex calculation control module to send commands to calculate the state; the parameter is transmitted to the CPU interface module; receiving a read command and sent to the basic parameters calculation module; the control module is used for receiving the complicated calculation, calculation command, command according to the calculation, the generating operation command sent to the basic calculation module; signal receiving module to complete the basic calculation; the basic calculation module is used for receiving the operation command, and to the main control module sends a read command to obtain calculation parameters, calculated according to the operational commands and parameters, to complex The calculation control module sends the completed signal and sends the calculation result to the main control module.

【技术实现步骤摘要】
同时实现RSA/ECC加解密算法的装置
本专利技术涉及公钥加解密技术,尤其涉及一种同时实现RSA/ECC加解密算法的装置。
技术介绍
RSA公钥加密算法是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被国际标准化组织(InternationalOrganizationforStandardization,ISO)推荐为公钥数据加密标准。RSA公钥加密算法的安全性是基于大素数因式分解的困难性,随着计算机处理速度与分布式计算等理论的飞速发展,较短的RSA密钥已不再安全。目前1024位长度的密钥也可以在较短的时间内被破解,因此,为了提高RSA加密的安全强度,需要采用更高位宽的密钥。但是,随着密钥长度的增加,RSA加解密的速度将大幅降低,严重影响使用效率。椭圆曲线密码学(Ellipticcurvecryptography,ECC)加密算法的安全性是基于解决椭圆曲线离散对数问题的困难性,目前已知的公钥加密体制中,ECC加密算法是对每比特所提供加密强度最高的一种体制,即在位宽相同的情况下,ECC加密算法具有最高的安全强度。因此,在对位宽,功耗,安全性等方面有更高要求的应用场景下,ECC加密算法具有极大的优势。公钥加密算法中密钥对的生成需要若干个随机的大素数,以及一系列复杂的计算;目前绝大部分的密钥对生成是通过软件实现的;但通过软件生成公钥密钥对耗时较长,且会有被第三方窃取素数或随机因子的风险。RSA加密算法的核心为大数模幂运算,ECC加密算法的核心为椭圆点乘运算;由于计算步骤非常复杂,目前大部分加解密装置只是单一实现其中一种加密算法,而可以同时实现两种加密算法的装置,又很难平衡运算速度、面积和功耗,不能适配于分别对速度或面积有较高要求的不同场景。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种同时实现RSA/ECC加解密算法的装置,以在一个装置中同时实现RSA/ECC两种加解密算法。本专利技术实施例的技术方案是这样实现的:一种同时实现RSA/ECC加解密算法的装置,所述装置包括:中央处理器CPU接口模块、主控模块、复杂计算控制模块和基本计算模块;其中,所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,根据所述配置参数向所述复杂计算控制模块发送计算命令;将所述状态参数发送给所述CPU接口模块;接收所述基本计算模块发送的读取命令,向所述基本计算模块发送计算参数;所述复杂计算控制模块,用于接收所述主控模块发送的计算命令,根据所述计算命令,生成运算命令发送给所述基本计算模块;接收所述基本计算模块的完成信号;所述基本计算模块,用于接收所述运算命令,并向所述主控模块发送读取命令以获取所述计算参数,根据所述运算命令以及获取的所述计算参数完成计算,向所述复杂计算控制模块发送完成信号,同时将计算结果发送给所述主控模块。如上所述的装置,其中,所述计算命令中包含RSA/ECC计算;所述复杂计算控制模块具体用于,将接收到的所述计算命令中的RSA/ECC计算分解成一系列模乘运算,并生成与各模乘运算对应的运算命令发送给所述基本计算模块。如上所述的装置,其中,所述装置还包括:从机接口和主机接口;所述从机接口,用于接收所述CPU接口模块发送的所述配置参数,并将所述配置参数发送给所述主控模块;所述主机接口,用于接收所述主控模块发送的所述配置参数,并进行存储。如上所述的装置,其中,所述装置还包括:存储模块,用于存储明文参数、密文参数、密钥参数和所述基本计算模块的计算中间结果。如上所述的装置,其中,所述配置参数用于配置所述装置运行的算法为RSA算法或ECC算法、密钥位宽以及工作模式,所述工作模式包括加密模式和解密模式。如上所述的装置,其中,所述CPU接口模块、所述从机接口和所述主机接口均支持外围总线APB协议、系统总线AHB协议、片内总线AXI协议和ACE_Lite总线协议。一种同时实现RSA/ECC加解密算法的装置,所述装置包括:中央处理器CPU接口模块、主控模块、复杂计算控制模块、基本计算模块、直接内存存取DMA控制器、密钥生成模块、真随机数发生模块和大数乘法处理模块;其中,所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,根据所述配置参数向所述密钥生成模块发送密钥生成命令;向所述复杂计算控制模块发送计算命令;将所述状态参数发送给所述CPU接口模块;接收所述基本计算模块发送的读取命令,向所述基本计算模块发送计算参数;所述复杂计算控制模块,用于接收所述主控模块发送的计算命令,根据所述计算命令,生成加减法运算命令发送给所述基本计算模块,生成模乘运算命令发送给所述大数乘法处理模块;接收所述基本计算模块和所述大数乘法处理模块的完成信号;所述基本计算模块,用于接收所述加减法运算命令,并向所述主控模块发送读取命令以获取所述计算参数,根据所述加减法运算命令以及获取的所述计算参数完成计算,向所述复杂计算控制模块发送所述完成信号,同时将计算结果发送给所述主控模块;所述密钥生成模块,用于接收所述密钥生成命令,并调用所述真随机数发生模块生成随机数生成密钥对,并发送给所述主控模块进行存储;所述真随机数发生模块,用于产生真随机数并发送给所述密钥生成模块;所述DMA控制器,用于接收并存储数据;所述大数乘法处理模块,用于接收所述模乘运算命令,并向所述DMA控制器发送读取命令以获取所述计算参数,根据所述模乘运算命令以及获取的所述计算参数完成计算,将计算的中间结果存储至存储器,向所述复杂计算控制模块发送所述完成信号。如上所述的装置,其中,所述计算命令中包含RSA/ECC计算;所述复杂计算控制模块具体用于,将接收到的所述计算命令中的RSA/ECC计算分解成一系列模乘运算和加减运算,并生成所述加减法运算命令发送给所述基本计算模块,生成所述模乘运算命令发送给所述大数乘法处理模块。如上所述的装置,其中,所述装置还包括:从机接口和主机接口;所述从机接口,用于接收所述CPU接口模块发送的所述配置参数,并将所述配置参数发送给所述主控模块;所述主机接口,用于接收所述主控模块发送的所述配置参数,并进行存储。如上所述的装置,其中,所述CPU接口模块、所述主机接口和所述从机接口均支持外围总线APB协议、系统总线AHB协议、片内总线AXI协议和ACE_Lite总线协议。如上所述的装置,其中,所述配置参数用于配置所述装置运行的算法为RSA算法或ECC算法、密钥位宽以及工作模式,所述工作模式包括加密模式和解密模式。如上所述的装置,其中,所述装置还包括:存储模块,用于存储明文参数、密文参数、密钥参数、所述基本计算模块的计算中间结果和所述大数乘法处理模块的计算中间结果。如上所述的装置,其中,所述存储模块采用双口随机存取存储器RAM。如上所述的装置,其中,所述大数乘法处理模块,具体用于调用可伸缩的循环脉动阵列完成任意位宽的大数模乘运算。本专利技术实施例提供的同时实现RSA/ECC加解密算法的装置,包括:所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,本文档来自技高网
...
同时实现RSA/ECC加解密算法的装置

【技术保护点】
一种同时实现RSA/ECC加解密算法的装置,其特征在于,所述装置包括:中央处理器CPU接口模块、主控模块、复杂计算控制模块和基本计算模块;其中,所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,根据所述配置参数向所述复杂计算控制模块发送计算命令;将所述状态参数发送给所述CPU接口模块;接收所述基本计算模块发送的读取命令,向所述基本计算模块发送计算参数;所述复杂计算控制模块,用于接收所述主控模块发送的计算命令,根据所述计算命令,生成运算命令发送给所述基本计算模块;接收所述基本计算模块的完成信号;所述基本计算模块,用于接收所述运算命令,并向所述主控模块发送读取命令以获取所述计算参数,根据所述运算命令以及获取的所述计算参数完成计算,向所述复杂计算控制模块发送完成信号,同时将计算结果发送给所述主控模块。

【技术特征摘要】
1.一种同时实现RSA/ECC加解密算法的装置,其特征在于,所述装置包括:中央处理器CPU接口模块、主控模块、复杂计算控制模块和基本计算模块;其中,所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,根据所述配置参数向所述复杂计算控制模块发送计算命令;将所述状态参数发送给所述CPU接口模块;接收所述基本计算模块发送的读取命令,向所述基本计算模块发送计算参数;所述复杂计算控制模块,用于接收所述主控模块发送的计算命令,根据所述计算命令,生成运算命令发送给所述基本计算模块;接收所述基本计算模块的完成信号;所述基本计算模块,用于接收所述运算命令,并向所述主控模块发送读取命令以获取所述计算参数,根据所述运算命令以及获取的所述计算参数完成计算,向所述复杂计算控制模块发送完成信号,同时将计算结果发送给所述主控模块。2.根据权利要求1所述的装置,其特征在于,所述计算命令中包含RSA/ECC计算;所述复杂计算控制模块具体用于,将接收到的所述计算命令中的RSA/ECC计算分解成一系列模乘运算,并生成与各模乘运算对应的运算命令发送给所述基本计算模块。3.根据权利要求2所述的装置,其特征在于,所述装置还包括:从机接口和主机接口;所述从机接口,用于接收所述CPU接口模块发送的所述配置参数,并将所述配置参数发送给所述主控模块;所述主机接口,用于接收所述主控模块发送的所述配置参数,并进行存储。4.根据权利要求3所述的装置,其特征在于,所述装置还包括:存储模块,用于存储明文参数、密文参数、密钥参数和所述基本计算模块的计算中间结果。5.根据权利要求4所述的装置,其特征在于,所述配置参数用于配置所述装置运行的算法为RSA算法或ECC算法、密钥位宽以及工作模式,所述工作模式包括加密模式和解密模式。6.根据权利要求5所述的装置,其特征在于,所述CPU接口模块、所述从机接口和所述主机接口均支持外围总线APB协议、系统总线AHB协议、片内总线AXI协议和ACE_Lite总线协议。7.一种同时实现RSA/ECC加解密算法的装置,其特征在于,所述装置包括:中央处理器CPU接口模块、主控模块、复杂计算控制模块、基本计算模块、直接内存存取DMA控制器、密钥生成模块、真随机数发生模块和大数乘法处理模块;其中,所述CPU接口模块,用于接收配置参数并发送给所述主控模块,返回所述主控模块中的状态参数;所述主控模块,用于接收并存储配置参数,根据所述配置参数向所述密钥生成模块发送密钥生成命令;向所述复杂计算控制模块发送计算命令;将所述状态参数发送给所述CPU接口模块;接收所...

【专利技术属性】
技术研发人员:林先萌王永
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1