SM2
基于国密算法SM2_的云端协同签名模块研究

钥。
具体流程如图1所示。
图1密钥生成流程1)终端密码模块随机秘密选择A∈,计算:A=A*,发送给服务端。
其中,A为终端密码模块私钥分片,为终端密码模块公钥分片。
2)服务端随机秘密选择B∈,计算:B=B*,=A B-。
存储(,B,),将B发送给终端密码模块。
其中,服务端私钥分片,B为服务端公钥分片,为双方共同公钥。
3)终端密码模块计算:=A B-。
,A,B)。
图2协同签名流程(1)终端密码模块选择随机数A∈,计算:A=A*,A'=A*B,并发送至服务端。
(2)服务端接收消息并验证A=B*A',若验证失败则退出协议,若验证成功则选择随机数B∈,并计算:B=B*A,B'=B*,并发送至终端密码模块。
根据公钥得到的椭圆曲线上的点与签名得到的点是一致再把'与接收到的消息相加,若与签名因此,本协议的正确性可验证。
效率分析本协议中移动智能终端与云端之间将发生次报文,交互中间计算数据完成协同签名,模块需要2次模幂运算,服务端需要2次模幂运算。
此外移动智能终端与云端各有一次运算与对方的消息无关,通常可以提前计算,由此移动智能终端与云端实际需要运算的过程都减少了一次。
仅从计算量的角度进行分析,减少了运算次数,提高了协同签名效率,且网络资源、消耗较低。
图3模块整体架构各模块作用如下。
(1)终端密码模块:终端密码模块作为客户端,封装多种安全接口,提供密钥分片生成和存储等功能。
主要包括SM2同签名模块、SM2验签模块、SM3杂凑模块和身份认证模块,同时在底层调用Gmssl库,密码功能模块主要负责终端密码模块的私钥分配、密钥更新以及与云端密码模块协同产生数字签名(,)。
(2)云端密码模块:配合终端密码模块完成协同签名的服务器,响应终端密码模块协同签名的请求,返回终端密码模块完成签名和公钥。
主要包括SM2协同签名模块、SM3杂凑模块和身份认证模块,同时在底层调用Gmssl库,密钥管理模块包括密钥的生成、更新和存储。
密码学SM2,SM3,SM4加密标准

课外实践五SM2、SM3及SM4加密标准一、概述1.SM2椭圆曲线公钥密码算法加密标准SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。
SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。
SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
椭圆曲线算法公钥密码所基于的曲线性质:椭圆曲线多倍点运算构成一个单向函数。
在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。
对于一般椭圆曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。
与大数分解问题及有限域上离散对数问题相比,椭圆曲线离散对数问题的求解难度要大得多。
因此,在相同安全程度要求下,椭圆曲线密码较其他公钥密码所需的秘钥规模要小得多。
2.SM3哈希算法加密标准SM3是一种密码散列函数标准。
密码散列函数是散列函数的一种。
它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。
这种散列函数的输入数据,通常被称为消息,而它的输出结果,经常被称为消息摘要。
SM3适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
一个理想的密码散列函数应该有这些特性:对于任何一个给定的消息,它都很容易就能运算出散列数值;难以由一个已知的散列数值,去推算出原始的消息;在不更动散列数值的前提下,修改消息内容是不可行的;对于两个不同的消息,它不能给与相同的散列数值。
新加坡SM2项目

新加坡SM2项目一、新加坡SM2项目介绍:新加坡SM2项目是新加坡教育部在1996年成立的全额奖学金计划,专门招生中国高二理科在读学生到新加坡公费留学的项目。
截止2019年,新加坡SM2项目考试已经成功举办23届,后面每一年的新加坡SM2项目考试依然会如期进行。
SM2学生的生活费为每年6000新币,不包括学费、住宿费及伙食费。
SM2学生在大学毕业后要为新加坡服务六年,即在新加坡的注册公司工作,工作地点不一定是新加坡。
有很多SM2学生想毕业后出国读研或读博,但无奈有合约限制。
合约期满前解除合约,学生家里需对奖学金提供方进行赔偿,最高为120万人民币以上,赔偿数额随合约还剩下的时限递减。
进入大学后,SM2学生只能从规定的理工类专业中选择,但可以双修或副修其它专业。
毕业后必须在新加坡注册公司工作6年,才可以为其它国家的公司工作. 当然,如果你所寻找到的新加坡注册的公司在其它国家有分公司,你也可以有权去其它国家的分公司工作。
其中当然也包括中国。
不过需要注意的是,因为此奖学金是企业奖学金,所以如果为你提供奖学金的那个公司点名让你去的话,那你就要优先去那间公司。
不过因为给新加坡SM2项目赞助的7个公司都非常好(相当于新加坡的国企,其实是很难进的),所以薪资待遇、工作环境都是非常好的。
目前有18个省参加了这个和新加坡的合作计划,包括江苏,江西,湖南,安徽,黑龙江,吉林,辽宁,河北,陕西,河南,湖北,四川,广东,重庆,浙江,山东,天津,福建,但每年各个省份的各学校或者新加坡SM2项目考试名额的数量是不同的。
二、新加坡SM2项目答疑:1、学生通过新加坡SM2四年本科后,能否读研、读博?如果想留在新加坡本地读研读博,只需要在新加坡银行提供大概两万新币,约合十万人民币左右的存款证明即可。
如果想到其他国家读研,则需要在新加坡银行提供二十四万新币存款证明。
该存款在研究生/博士毕业前不得动用。
提供一年期定期存款利息。
而且在新加坡的大学拿到本科学位后去申请海外(如美帝)大学的研究生/博士学位,比国内大学的本科学位要有力的多。
PCI-E 密码卡 SM2 算法侧信道攻击缓解技术设计与研究

近年来,随着市场对高安全性的愈发重视,国家密码管理局颁布了安全三级密码模块相关标准,增加了对物理安全、环境失效性检测、抗侧信道攻击3 个方面的要求。
其中,抗侧信道攻击涉及对国密算法的研究和改造,因而难度较大,而国密算法中,又以非对称算法SM2 的原理和实现最为复杂。
行业内典型设计架构的外设组件互联高速总线(Peripheral Component Interconnect Express,PCI-E)密码卡一般采用多芯片设计架构,即采用一颗专用安全一级算法芯片来负责SM2 算法加速,一颗主控芯片来负责任务调度和敏感数据管理。
该架构下,多数算法专用芯片没有针对侧信道攻击进行加固,且密码卡在进行密码算法运算时,存在关键安全参数在芯片间传输等问题。
因此,研究缓解侧信道攻击的典型架构PCI-E 密码卡的SM2 算法设计,可使得现存的典型架构的PCI-E 密码卡在未来的市场应用上继续发挥作用。
本文首先简要地介绍PCI-E 密码卡的典型设计架构以及架构面临侧信道攻击时可能存在的风险;其次分别从SM2 算法的攻击原理[2]、抗侧信道攻击的针对性改造方法、Inspetor 工具验证3 个方面详细说明缓解技术的设计。
通过本文的介绍,可以填补典型架构的PCI-E密码卡在抗侧信道攻击方面的设计空缺,也可以指导安全二级PCI-E 密码卡的升级改造,使其具有安全三级的实用价值,满足国密检测规范和市场需求。
1典型PCI-E 密码卡设计架构因此,典型PCI-E 密码卡在更高级别安全要求下存在架构上的缺陷,可能导致关键安全参数在跨芯片传输时存在泄露的风险。
2SM2 算法攻击原理分析标准SM2 数字签名算法流程如图3 所示。
在签名过程中,设待签名的消息为M,它的数字签名(r,s),签名者A 的公私钥分别为为长度为v 比特的密码杂凑算法,G 为椭圆曲线的一个基点,其阶为素数,k 为临时私钥。
同时,攻击者也可以通过计时攻击,构建不同比特序列的伪密钥k' 对相同的消息M 进行签名运算,由于点乘运算中的点加运算次数与k 中比特1的位数相关,所以可以通过统计k'p 与kp 运算的时间来推测k 中1 的比特位,进而推断出密钥k。
基于SM2密码算法的环签名方案的研究与设计

1基础知识1.1 SM2公钥密码算法SM2算法是一种椭圆曲线公钥密码算法。
椭圆曲线是基于素域的。
要想确保设计方案的安全性,需挑选可以抵御各种攻击的椭圆曲线,因此涉及选取安全椭圆曲线的问题。
用于建立密码体制的椭圆曲线的主要参数有和h。
其中:q是有限域F(q)中元素的数目;a、b是方程系数,F(q)在中取值;G是基点(生成元);n 是G点的阶;N 除以n的结果h 是椭圆曲线上点的个数,被称为余因子。
如需所设计的密码体系具有较好的安全性能,则选择的参数要达到以下条件:(1)q的取值越大越安全,但会减慢计算速度,160位尚可满足安全需求;(2)对于选定的有限域F(q),选取大素数n时要尽可能大,以预防Pohlig-Hellman算法的攻击;(3)只有无重复因子时,才能基于椭圆曲线定义群,所以要求;(4)要确保p 的阶n 足够大,以防止小步大步攻击,一般;(5)要防止MOV规约法,就不能选取超奇异或者异常椭圆曲线等特殊的曲线。
1.2 有限域上的椭圆曲线椭圆曲线密码学(Elliptic Curve Cryptography,ECC)是一种建立公开密钥加密的算法,也就是非对称加密。
类似的还有RSA、ElGamal算法等。
ECC被公认在给定密钥长度下最安全的加密算法。
比特币中的公私钥生成和签名算法ECDSA都是基于ECC的。
设存在大素数q,限域上的椭圆曲线是所有点构成的合集。
仿射坐标中,椭圆曲线中的点p(不是无穷远点)坐标为,此中的是符合特定方程的域元素,称为点P 的x 坐标和y 坐标。
为基域,q 为模数,在此基域存在椭圆曲线的方程为:式中,且。
假设点满足方程,则点为点P 的对称点,称为负点,即是。
椭圆曲线上的点构成的集合中只有一种运算——加法(常数与点的乘法可以看做多个加法)。
2个点可以进行加法运算得到第3个点,这里的加法不是简单的平面坐标系横纵坐标的相加,这样相加的结果得到的坐标很有可能不在曲线上。
假设椭圆曲线上点,且,直线过点与椭圆曲线交于点,E 关于x 轴对称的点为且。
新加坡留学奖学金计划之SM2介绍

这篇《新加坡留学奖学⾦计划之SM2介绍》是为⼤家整理的,希望对⼤家有所帮助。
以下信息仅供参考或许很多想要申请奖学⾦的同学听说了SM2,可是在没去新加坡留学之前也不是很了解,只是⼤概的知道是⼀个奖学⾦计划就对了。
下⾯⼩编就给⼤家详细介绍⼀下SM2。
SM2是⼀个新加坡教育部的奖学⾦的计划,特别针对中国⾼⼆理科毕业⽣。
SM2就是Senior Middle 2 的缩写。
SM2的招⽣考试也与SM1类似,分为笔试和⾯试。
其中笔试包括英⽂,数学,物理及IQ。
全部考试在⼀天内完成。
与SM1不同的是,SM2招⽣的笔试通常在⾯试前两个⽉进⾏,⽽且根据笔试成绩会在⾯试前刷掉⼀部分考⽣。
被录取的SM2学⽣将在当年的12⽉初⼊读新加坡(从2011年开始有部分实验省的学⽣在当年7⽉便直接赴新就读)。
在新加坡的初期还会有⼀个分流考试,极少数尖⼦并有着较英⽂基础的学⽣只需⼋个⽉的培训,来年8⽉即可进⼊⼤学学习,⽽⼤多数⼈则需要进⾏20个⽉的培训,晚⼀年⼊学。
前三到四个⽉⼀般是英⽂及计算机的培训,之后在3⽉左右,所有SM2的学⽣将被随机分配到各所初级学院体验⽣活,为期⼀个学期,到5⽉底结束。
在这之后,那部分快捷学⽣就即将准备⼤学事宜,⽽剩下的学⽣则会继续数学、理化等各科的学习,并按照考试成绩选择⼤学⾥所学专业。
(从2007年开始SM2的学⽣在初级学院体验⽣活的时间缩短为两周了,2011年起缩为1周)。
NTU和NUS的预科理念不太⼀样,NTU学期⽐较短,整个学期都会很忙,但也会越来越轻松;NUS学期则⽐较长,⼀开始⽐较闲,可以抓住机会,学⼀些感兴趣的东西⾃我增值,但会越来越忙。
另外MOE也会⿎励scholar预科时课外参加⼀些CC(社区)举办的课程(例如:舞蹈,⽻⽑球,乐器...),这些课程⼀般在周末上课,如果费⽤不超过100新币,且CC的地点和课程内容合理(即不会对学习造成很⼤影响),MOE会负担⼀半的费⽤。
其实这些课程⼤多都挺便宜的,还可以多认识些local Singaporean,很多新加坡⼈都很友善的。
安全的两方协作SM2签名算法

安全的两方协作SM2签名算法SM2是一种基于椭圆曲线密码体制的数字签名算法,适用于安全的两方协作签名方案。
在SM2算法中,有两个主要参与者:密钥生成中心(KGC)和签名者。
KGC负责生成密钥对,并将公钥广播给所有签名者。
签名者使用自己的私钥和KGC的公钥来生成签名,而验证者则使用KGC的公钥和签名者的公钥来验证签名的有效性。
SM2算法的安全性主要基于椭圆曲线密码学的难解性和随机性。
在椭圆曲线密码体制中,找到一个合法的密钥对是计算上困难的,因此攻击者很难伪造签名者的私钥。
SM2算法还使用了随机数来增加签名的随机性和不可预测性,使得攻击者更难预测签名的结果。
与其他数字签名算法相比,SM2算法具有较高的安全性和效率。
SM2算法的签名长度固定,因此比RSA等算法更适合用于网络传输等场景。
SM2算法还具有良好的抗量子计算攻击能力,因此在未来量子计算环境下也具有较好的应用前景。
SM2是一种高效安全的两方协作数字签名算法,适用于需要数字签名的各种场景,特别是在需要保证数据完整性和安全性的网络传输中具有广泛的应用前景。
随着移动互联网的飞速发展,人们对于安全、便捷的数据传输和数字签名需求日益增长。
在这篇文章中,我们将探讨轻量级SM2两方协同签名的概念、特点、优点及应用场景,以此应对移动互联网环境下的安全挑战。
轻量级SM2两方协同签名是一种基于椭圆曲线密码学的数字签名技术,其安全性高、计算量小、部署方便等特点使其在移动互联网环境中备受。
轻量级SM2两方协同签名的优点主要表现在以下几个方面。
它采用了非对称加密算法,确保了消息的机密性和完整性。
由于其算法优化,计算量相对较小,能够在移动设备上快速处理,使得用户体验更加流畅。
该技术部署方便,对设备资源要求较低,适合在各种类型的移动设备上运行。
在移动互联网环境下,轻量级SM2两方协同签名有着广泛的应用场景。
例如,在安全电子邮件中,可以利用该技术确保邮件的来源和内容不被篡改,保护用户的隐私和安全。
SM2算法简介

SM2算法简介SM2算法简单介绍2009年11月目录1SM2算法和RSA算法有什么关系? (1)2为什么要采用SM2算法替换RSA算法? (1)3SM2和椭圆曲线算法是什么关系? (3)4椭圆曲线算法是什么原理? (3)5SM2算法可以进行哪些密码应用? (4)6SM2算法速度快吗? (4)7SM2签名算法支持多大的数据量,签名结果为多少字节? (5)8SM2加密算法支持多大的数据量,加密结果增加多少字节? (5)9SM2相关算法有哪些? (5)国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。
关于算法标准,请参见《国家密码管理局公告(第21 号)》,网址为/。
SM2算法是一种什么样的加密算法,有什么特点,如何进行应用?本文整理在SM2应用实践中遇到的问题,供大家分享。
1 SM2算法和RSA算法有什么关系?SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
2 为什么要采用SM2算法替换RSA算法?随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。
SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。
表1 算法攻破时间表2 算法性能3 SM2和椭圆曲线算法是什么关系?一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:y2 = x3 + ax + b在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。
同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。
4 椭圆曲线算法是什么原理?本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。
请参见下图:图1 椭圆曲线算法原理上图为方程:y2 = x3–x的曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SM2是一个新加坡教育部的奖学金的计划,特别针对中国高二理科毕业生。
SM2就是Senior Middle 2 的缩写。
SM2的招生考试也与SM1类似,分为笔试和面试。
其中笔试包括英文,数学,物理及IQ。
全部考试在一天内完成。
与SM1不同的是,SM2招生的笔试通常在面试前两个月进行,而且根据笔试成绩会在面试前刷掉一部分考生。
(考试内容请参见SM2的申请全过程)。
被录取的SM2学生将在当年的12月初入读新加坡。
在新加坡的初期还会有一个分流考试,通过考试的英文基础好一些的学生只需八个月的培训,来年8月即可进入大学学习,而多数人则需要进行20个月的培训,晚一年入学。
前三到四个月一般是英文及计算机的培训,之后在3月左右,所有SM2的学生将被随机分配到各所初级学院体验生活,为期一个学期,到5月底结束。
在这之后,那部分快捷学生就即将准备大学事宜,而剩下的学生则会继续数学、理化等各科的学习,并按照考试成绩选择大学里所学专业。
(从2007年开始SM2的学生在初级学院体验生活的时间缩短为两周了)。
SM2学生的生活费为每年6000新币,同样不包括学费、住宿费及伙食费。
SM2学生在大学毕业后要为新加坡服务六年,即在新加坡的注册公司工作,工作地点不一定是新加坡。
有很多SM2学生想毕业后出国读研或读博,但无奈有合于限制。
合约期满前解除合约,学生家里需对奖学金提供方进行赔偿,最高为60w人民币左右,赔偿数额随合约还剩下的时限递减。
奖学金一般需通过笔试和面试二个环节.笔试分为数学,物理,英语和综合(即智商测试)四个部分,由南洋理工大学(不是学院),新加坡国立大学的教授和新加坡教育部官员对考生进行面试.只有部分省重点高中成绩优异的学生才有资格参加这个计划,有的学校为了选拔,还在校内进行笔试和面试.也有极少数学生可以直接从所在省份教育部申请名额。
笔试的时间一般在4月份末至五月初,面试的时间一般在6月中旬至七月初。
此奖学金将支付,所有在新加坡的学习和生活费用.上完20个月的预科后,可以进入南洋理工大学(NTU)或新加坡国立大学(NUS)(在不同的国际大学排行榜上,这两所大学都有不俗的成绩),并且有每年6000新币的生活费(若不够用则需自己支付超出部分),能力强的同学在驻新的第一个月内可参加AP考试(Accelerated Programme)以获得提前13个月进入大学的资格,即只有7个月的预科。
顺便说一句,到目前为止选拔考试,分配学校以及选拔AP考试的方法都是个谜……进入大学后,sm2学生只能从规定的理工类专业中选择,但可以副修其它科目.毕业后必须在新加坡注册公司工作6年,才可以为其它国家的公司工作. 当然,如果你所寻找到的新加坡注册的公司在其它国家有分公司,你也可以有权去其它国家的公公司工作。
其中当然也包括中国。
不过需要注意的是,因为此奖学金是企业奖学金,所以如果为你提供奖学金的那个公司点名让你去的话,那你就要优先去那间公司。
不过因为给咱们赞助的7个公司都非常好,所以也是很好的啦~ 目前有大约18个省参加了这个和新加坡的合作计划,包括江苏,江西,湖南,安徽,黑龙江,吉林,辽宁,河北,陕西,河南,湖北,四川,广东,重庆,浙江,山东,天津,福建,但每年名额分配有所不同. 到2010年,sm2项目已进行至第14届。
2011年进行第十五届。
第十五届招生情况以及学校录取都发生了一些变化。
具体请参考地方教育局下发的相关文件。