版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中华人民共和国密码行业标准国家密码管理局发布IGM/T0009—2023 Ⅲ 1 1 1 1 1 2 3 4 5 7Ⅲ本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。本文件代替GM/T0009—2012《SM2密码算法使用规范》,与GM/T0009—2012相比,除结构调整和编辑性改动外,主要技术变化如下:a)更改了SM2私钥(见5.1,2012年版的5.1);b)更改了SM2公钥(见5.2,2012年版的5.2);c)更改了SM2公钥格式(见7.1,2012年版的7.1);d)更改了密钥对保护数据格式(见7.4,2012年版的7.4);e)更改了预处理1(见8.1,2012年版的8.1)。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由密码行业标准化技术委员会提出并归口。本文件起草单位:北京海泰方圆科技股份在限公训北京信安世纪科技股份有限公司北京小雷科技有限公司、中电科网络安全科度股份有限公司。京国脉信安租皮有限公司选锡江南信思安全工程技术中心、兴唐通信科技有限公可、正东得要信息技米有限公司、格东软件股份在限公司、山暴大学。本文件善要起草人:刘平除红宁柳增寿波李元正家徐强、理武征、孔凡玉、王妮娜、本文件及其所代替文件的所次版本发布情完为:——2012年首次发布为GME10009—20121SM2密码算法使用规范本文件定义了SM2密码算法的使用方法,也定义了相关的数据格式。本文件适用于SM2密码算法的使用,也适用于支持SM2密码算法的设备和系统的研发和检测。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T32905-2016信息安全技术SM3密码杂凑算法GB/T32918.1-2016信息安全技术SM2箱圆通线公例密码算法第1部分:总则GB/T32018.2-2016信息安全技水SM2雕预面线公硼密吗算决第要部分数字签名算法GB/T32918.3-2016信息变全段水=SM2椭圆典线公铒密码算法第3部分:密钥交换协议GB/T32918.5—2017信息安全技术圆曲钥密码算法第5部分:参数定义GM/T0006密码应用标识规范GM/Z4001密码术语3术语和定义GM/Z4001界定的术语和定义适用于本文件。4缩略语下列缩略语适用于本文件。ECB电码本模式(ElectronieCodebook)ECC椭圆曲线密码算法(EllipticCurveGryptography)ID用户身份标识(Identity)SM2私钥是大于或等于1且小于n-1的整数(n为SM2算法的阶,其值见GB/T32918.5-2017),简记为d。SM2公钥是SM2曲线上的一个点,由横坐标和纵坐标两个分量来表示,记为(x,y),简记为Q。公2钥值由其对应的私钥d与G进行点乘计算得到(G为SM2椭圆曲线的基点,G的取值见6数据转换6.1位串到8位字节串的转换位串长度若不是8的整数倍,应先在它的左边补0,以保证它的长度为8的倍数,然后构造8位字动作:将位串B=B₀B₁…Bbcn-1转换到8位字节串M=M₀M₁…Mme-1采用如下方法:对于M。,最左边8-blen%8位设置为0,右边设置为B₀B₁…B₇+ble-8mlm,其中%表示模运算。输出M。6.28位字节串到位串的转换8位字节串到位串转换过程如下:输入:一个长度为mlen的8位字节串M。动作:将8位字节串M=M₀M₁…Mmlen-1转换到位串B=B₀B₁…Bbien-1采用如下方法:输出B。6.3整数到8位字节串的转换一个整数转换为8位字节串,基本方法是将其先使用二进制表达,然后把结果位串再转换为8位字输出:一个长度为mlen的8位字节串M。字节串M=M₀M₁…Mmlen-1采用如下方法:输出M。6.48位字节串到整数的转换可把8位字节串看成以256为基表示的整数,转换过程如下:动作:将一个8位字节串M=M₀M₁…Mmc-1转换为整数x方法如下:输出x。3SM2PublicKey为BITSTRING类型,内容为04|xCoordinateINTEGER,yCoordinateINTEGER,hash}rINTEGER,--签名值的第1部分sINTEGER--签名值的第2部分}4}-SM2私钥密文其中对称密码算法标识为SGD_SM4_ECB,应符合GM/T0006中的规定。8.1预处理1预处理1是指使用签名方的用户身份标识和签名方公钥,通过运算得到Z值的过程。Z值用于预处理2,也用于SM2密钥协商协议。QSM2PubhcKey用户的公钥输出:Z字节串预处理1的输出Z=SM3(L||Smllal|bllxcllycllxAL—用户身份标识的长度(比特)Sp—用户身份标识;a—-SM2椭圆曲线参数xg—基原的横坐标yo一基点的纵坐标:xA—用户公钥的横坐标yA——用户公钥的纵坐标其整数值的二进制形式进行高比特补0至256比特后转换得到。详细的计算过程应符合GB/T32918.2—2016中5.5和GB/T32905—2016中第5章的规定。8.2预处理2预处理2是指使用Z值和待签各消息,通过SM3运算得到杂凑值H的过程。杂凑值H用于SM2输入:Z字节串预处理1的输出H——杂凑值;Z——预处理1的输出;M——带签名的消息。详细的计算过程应符合GB/T32905—2016中第5章的规定。5SM2密钥生成是指生成SM2算法的密钥对的过程,该密钥对包括私钥和与之对应的公钥。其表示方法见7.1。输入:无详细的计算过程应符合GB/T32918.1—2016中第6章的规定。SM2加密是指使用指定公开密钥对明文进行m字节串待加密的明文数据输出参数c的格式应符合7.2中定义;输出参数c的xCoordinate、yCoordinate为随机产生的公钥的x分量和y分量;输出参数c中的HASH的计算公式为:其中,Qx、Q,分别为Q的x分量和y分量的长度为32字节的8位字节串表示;详细的计算过程应符合GB/T32918.4—2016中第6章的规定。m为SM2Cipher经过解密运算得到的明文,该明文的长度与输入参数c中CipherText的长度详细的计算过程应符合GB/T32918.4—2016中第7章的规定。SM2签名是指使用预处理2的结果和签名者私钥,通过签名计算得到签名结果的过程。H字节串预处理2的结果详细的计算过程应符合GB/T32918.2—2016中第6章的规定。6SM2签名验证是指使用预处理2的结果、签名值和签名者的公钥,通过验签计算确定签名是否通QPublicKey详细的计算过程应符合GB/T32918.2—2016中第7章的规定。密钥协商是在两个用户之间建应一个共享秘密密钥的协商过程,通过这设密钥协商双方为A、B,其密钥对分别为(dA,QA)和(dg,QB),双方应获得的密钥数据的比特长度为klen。密钥协商协议分为两个阶段。用户A;用户B调用生成密钥算法严下隔通密钥对),将和第二阶段计算共享秘密密钥IbOCTETSTRING用户A的用户身份标识IDBOCTETSTRING用户B的用户身份标识dASM2PrASM2PrivateklenINTEGER需要输出的密钥数据的比特长度(比特)K
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度产品代理合同(含代理区域与销售目标)
- 2024年度版权许可使用合同履约保证金规定
- 2024年度城市道路照明设施安装合同
- 2024年度物流服务外包合同(含冷链)
- 04版城市基础设施建设项目合同
- 身份鉴别用安全编码卡项目评价分析报告
- 2024年度商业物业租赁与管理合同
- 2024年度展览展示合同
- 贴纸书市场需求与消费特点分析
- 2024年度担保合同
- a320飞机刹车系统原理及故障分析
- LD 52-1994气瓶防震圈
- GB/T 70.1-2008内六角圆柱头螺钉
- GB/T 16475-2008变形铝及铝合金状态代号
- 系统解剖学-脑神经
- 细胞通过分化产生不同类型的细胞【知识精讲+备课精研】 高一生物 课件(浙科版2019必修1)
- 医用弹力袜的使用课件
- 传播学概论课件新版
- 消防水池拉森钢板桩支护专项施工方案
- 第1章女性生殖系统解剖及生理课件
- 《脑小血管病》课件
评论
0/150
提交评论