-
公开(公告)号:CN104461449B
公开(公告)日:2018-02-27
申请号:CN201410645961.8
申请日:2014-11-14
Applicant: 中国科学院数据与通信保护研究教育中心
IPC: G06F7/523
Abstract: 一种基于向量指令的大整数乘法实现方法及装置,将大整数乘法的被乘数和乘数分别拆分为一个或多个向量长度整数,计算这些整数相乘,并对所有乘积求和;计算两个向量长度的整数相乘时,将所有向量乘法指令产生的积向量按照指定的次序组成两条加法进位链,利用带进位的向量加法指令,将每次向量相加产生的进位作为下一个向量加法指令的输入,消除链中所有加法进位,只产生两个加法进位,将其加回,得到两个向量长度整数的乘积。特别地,若被乘数和乘数的长度都小于向量长度的1/n,将n组整数相乘合并为一次向量长度整数相乘,计算吞吐量提升n倍。基于以上大整数乘法方法,还公开了一种基于Intel Xeon Phi协处理器的高速大整数乘法装置。本发明减少了大整数乘法需要的指令数,降低了计算延迟,提高了计算吞吐量。
-
公开(公告)号:CN105184154B
公开(公告)日:2017-06-20
申请号:CN201510586037.1
申请日:2015-09-15
Applicant: 中国科学院信息工程研究所 , 中国科学院数据与通信保护研究教育中心
IPC: G06F21/53
CPC classification number: G06F21/53 , G06F9/45558 , G06F2009/45591 , H04L9/0816 , H04L9/088 , H04L9/3242
Abstract: 本发明涉及一种在虚拟化环境中提供密码运算服务的系统和方法。该系统中,配置子系统为管理员和普通用户提供输入虚拟密码设备相关信息的接口;密钥文件存储子系统存储密钥文件,并使用保护口令进行保护;虚拟机运行子系统根据配置子系统的输入,从存储子系统中获取相应的密钥文件并为客户虚拟机创建虚拟密码设备,最后运行客户虚拟机,为客户虚拟机提供密码运算服务。采用本发明,管理员/普通用户可以通过相应的接口为客户虚拟机指定密钥文件和输入保护口令,以便创建虚拟的密码设备,能够友好地对虚拟密码设备进行集中化的管理;虚拟化管理平台中的客户虚拟机可以请求安全的密码运算服务,缓解了虚拟化环境中的密钥安全问题。
-
公开(公告)号:CN104580188A
公开(公告)日:2015-04-29
申请号:CN201410849125.1
申请日:2014-12-29
Applicant: 中国科学院信息工程研究所 , 中国科学院数据与通信保护研究教育中心
CPC classification number: H04L9/3263 , G06F9/45504 , G06F21/602 , G06F21/73 , H04L9/32 , H04L9/3268 , H04L29/06 , H04L63/062 , H04L63/0823 , H04L63/20
Abstract: 本发明涉及一种在虚拟化环境中保护根CA证书的方法和系统。该方法在宿主机上设置根CA证书安全管理器,其内存储根证书列表,并通过只读接口为客户虚拟机提供根证书服务;客户虚拟机进行证书验证时,向根CA证书安全管理器提出证书服务请求,根CA证书安全管理器响应该请求并向客户虚拟机提供证书服务。本发明的虚拟的根证书列表具有以下特点:通过只读的接口为客户虚拟机提供根证书服务;将根证书列表从客户虚拟机中隔离出来;客户虚拟机对根证书列表的访问只能以Read Only的方式进行,所有对根CA证书的配置修改只能在宿主机中通过操作接口访问根CA证书安全管理器来完成;客户虚拟机灵活选择验证证书的方式。
-
公开(公告)号:CN104461449A
公开(公告)日:2015-03-25
申请号:CN201410645961.8
申请日:2014-11-14
Applicant: 中国科学院数据与通信保护研究教育中心
IPC: G06F7/523
Abstract: 一种基于向量指令的大整数乘法实现方法及装置,将大整数乘法的被乘数和乘数分别拆分为一个或多个向量长度整数,计算这些整数相乘,并对所有乘积求和;计算两个向量长度的整数相乘时,将所有向量乘法指令产生的积向量按照指定的次序组成两条加法进位链,利用带进位的向量加法指令,将每次向量相加产生的进位作为下一个向量加法指令的输入,消除链中所有加法进位,只产生两个加法进位,将其加回,得到两个向量长度整数的乘积。特别地,若被乘数和乘数的长度都小于向量长度的1/n,将n组整数相乘合并为一次向量长度整数相乘,计算吞吐量提升n倍。基于以上大整数乘法方法,还公开了一种基于Intel Xeon Phi协处理器的高速大整数乘法装置。本发明减少了大整数乘法需要的指令数,降低了计算延迟,提高了计算吞吐量。
-
公开(公告)号:CN103546288A
公开(公告)日:2014-01-29
申请号:CN201310445395.1
申请日:2013-09-25
Applicant: 中国科学院数据与通信保护研究教育中心
Abstract: 一种SM2数字签名生成算法的实现方法及装置,本发明采用CPU和GPU协作方式进行SM2数字签名生成算法计算,将SM2数字签名生成算法中的计算椭圆曲线点步骤在GPU中进行预先计算得到结果并存储在设置的存储器中,将对用户私钥增1求逆计算在CPU中进行预先计算得到结果并存储在设置的存储器中,然后由CPU根据SM2数字签名生成算法计算步骤对待签名消息顺序计算时,调用存储器存储的预先计算得到的结果,从而节省了对待签名消息进行数字签名的计算时间,提高了SM2数字签名生成算法的计算效率。更进一步,在CPU中可以同时对多个不同用户私钥分别进行用户私钥增1后求逆并存储在存储器中,进一步提高计算效率。
-
公开(公告)号:CN103532710B
公开(公告)日:2016-11-30
申请号:CN201310459734.1
申请日:2013-09-26
Applicant: 中国科学院数据与通信保护研究教育中心
IPC: H04L9/30
Abstract: 本发明公开了一种基于GPU的SM2算法的实现方法及装置,本发明由CPU接收SM2算法计算请求,调用GPU,由GPU执行该SM2算法后得到SM2算法计算结果,反馈给CPU。在具体实现上,CPU可以接收多个SM2算法计算请求并按照计算类型分类后,分别调用执行不同计算类型的SM2算法计算请求的GPU线程组,由相应的GPU线程组完成对应计算类型的SM2算法计算,得到SM2算法计算结果,反馈给CPU。GPU在计算SM2算法的过程中,都是并行计算执行,提高了SM2算法的计算效率。
-
公开(公告)号:CN106130719A
公开(公告)日:2016-11-16
申请号:CN201610580036.0
申请日:2016-07-21
Applicant: 中国科学院信息工程研究所 , 中国科学院数据与通信保护研究教育中心
CPC classification number: H04L9/0631 , H04L9/0894 , H04L63/0428 , H04L63/1441
Abstract: 本发明涉及一种抵抗内存泄漏攻击的密码算法多核实现方法及装置。该方法将CPU所有核心能够使用的寄存器作为多核寄存器缓存来存储密码计算过程中的敏感信息,交换到内存中的数据都要进行加密,将密码算法能够并行的部分拆分到多个CPU核心上同时运行,各核心的寄存器缓存通过内存交换敏感数据的密文。该装置为抵抗内存泄露攻击的RSA高速计算装置,使用CPU两个核心的寄存器缓存分别计算两个蒙哥马利模幂,而后用其中一个CPU核心的寄存器缓存读取模幂结果并计算RSA结果。该装置在保证抵抗内存泄露攻击的同时,计算速度达到OpenSSL中算法实现的70%以上。
-
公开(公告)号:CN105743655A
公开(公告)日:2016-07-06
申请号:CN201610176957.0
申请日:2016-03-25
Applicant: 中国科学院信息工程研究所 , 中国科学院数据与通信保护研究教育中心
CPC classification number: H04L9/3236 , H04L9/3066 , H04L9/3252
Abstract: 本发明涉及一种哈希计算和签名验签计算分离的SM2签名验签实现方法,该方法在实现哈希计算接口时记录消息与哈希值之间的对应关系,在实现签名和验签计算接口时根据哈希值查询对应的原消息并通过原消息计算得到SM2签名或验签所需的哈希值。从而分离了SM2算法的哈希计算与签名/验签计算,达到了哈希计算接口可以单独使用的目的并且签名/验签的哈希值输入可以直接使用哈希计算的结果的目的;在原本使用其他密码算法并且相应接口符合国际通用API接口规范的系统中,可以不修改上层代码,直接替换接口实现部分以达到使用SM2算法替换原有密码算法的目的。
-
-
-
-
-
-
-