GB/T 41389-2022 信息安全技术 SM9密码算法使用规范.pdf

GB/T 41389-2022 信息安全技术 SM9密码算法使用规范.pdf
仅供个人学习
反馈
标准编号:GB/T 41389-2022
文件类型:.pdf
资源大小:6.7 M
标准类别:电力标准
资源ID:353884
下载资源

GB/T 41389-2022标准规范下载简介

GB/T 41389-2022 信息安全技术 SM9密码算法使用规范.pdf

ICS35.030 CCSL 80

GB/T41389—2022

Informationsecuritytechnology SM9 cryptographic algorithm application specification

GB/T413892022

GB/T 29503-2020 铝合金预拉伸板本文件按照GB/T1.1一2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定 起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。 本文件起草单位:北京国脉信安科技有限公司、上海信息安全工程技术研究中心、深圳奥联信息安 全技术有限公司、无锡华正天网信息安全系统有限公司、国网区块链科技(北京)有限公司。 本文件主要起草人:袁峰、王晓春、封维端、张立圆、王学进、药乐、蒋楠、程朝辉、蔡先勇、王一曲、 王栋。

本文件按照GB/T1.1一2020《标准化工作导则第1部分:标准化文件的结构和起章规则》的规定 起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。 本文件起草单位:北京国脉信安科技有限公司、上海信息安全工程技术研究中心、深圳奥联信息安 全技术有限公司、无锡华正天网信息安全系统有限公司、国网区块链科技(北京)有限公司。 本文件主要起草人:袁峰、王晓春、封维端、张立圆、王学进、药乐、蒋楠、程朝辉、蔡先勇、王一曲、 王栋。

信息安全技术 SM9密码算法使用规范

信息安全技术 SM9密码算法使用规范

本文件规定了SM9密码算法的使用要求,描述了密钥、加密与签名的数据格式。 本文件适用于SM9密码算法的正确和规范使用,以及指导SM9密码算法的设备和系统的研发和 检测。

下列术语和定义适用于本文件。 3.1 SM9算法SM9algorithm 一种基于身份标识的椭圆曲线公钥密码算法。 3.2 签名主密钥signaturemasterkey 密钥管理基础设施的根签名密钥对。 注:包括签名主私钥和签名主公钥,用于进行数字签名、验签和为用户生成用户签名密钥。 3.3 加密主密钥 月encryptionmasterkey 密钥管理基础设施的根加密密钥对。 注:包括加密主私钥和加密主公钥,用于进行数据加密、解密和为用户生成用户加密密钥。 3.4 用户签名密钥 usersignaturekey 用户的签名密钥对。

注:包括用户签名私钥和签名公钥,其中私钥由密钥管理基础设施产生并下发给用户,用于数字签名和验签。 用户加密密钥 userencryptionkey 用户的加密密钥对。 注:包括用户加密私钥和加密公钥,其中私钥由密钥管理基础设施产生并下发给用户,用于加密、解密、密钥封装利 密钥交换。

G1上的生成元P1点,由横坐标和纵坐标两个分量来表示,记为(p,,yp,),其中工P,yP,的长度 都为256位,其值符合GB/T38635.1一2020中A.1的规定。 G2上的生成元P2点,由横坐标和纵坐标两个分量来表示,记为(P2,yp),其中P2,yPz是有限 域F。²中元素,p,的高维和低维分量记作X,和X2,yP,的高维和低维分量记作Y,和Y2,其中X,、X2、 Y,和Y,的长度都为256位,其值符合GB/T38635.1一2020中A.1的规定。

包括SM9签名主公钥Ppubs和加密主公钥Ppube。分别是G2和G1上的点,记为(pubs,ypubs) e,ypbe)。其中签名主公钥的横坐标pubs的高维和低维分量记作X和X2,纵坐标ypabs的高维 分量记作Y,和Y2,每个分量的长度为256位。加密主公钥pub和ypb坐标值长度都是256位

包括SM9用户签名私钥ds和用户加密私钥de,分别是G和G2上的点,记为(pris,ypris)和 prte,Yprie)。其中用户签名私钥的横坐标prts和纵坐标ypris的长度都是256位。用户加密私钥的 Cmi的高维和低维分量记作X和X,. Vi的高维和低维分量记作Y,和Y,,每个分量的长度为256位。

在IBC技术中,KGC的签名主密钥(加密主密钥)确定后,用户身份标识可唯一确定用户的签名公 钥(加密公钥),应用中以此代表公钥。用户签名公钥与签名主公钥结构相同,记为Qp。用户加密公钥 与加密主公钥结构相同,记为QE。 用户公钥的计算方法如下(按照GB/T38635.2一2020中6.4,7.2,8.2,9.2)。 输人:算法函数H1、ID、hid,主公钥Ppubs(或Ppube),生成元P1、P2。 输出:用户公钥QD、QE。 计算方法: Qp=[H,(IDlhid,N)]P2十Ppubs=(XQD,YQD),签名公钥用于数字签名验证; Q,=[H,(IDIlhid,N)1P,+Pml=(XosYos),加密公钥用于密钥交换、密钥封装、加密/解密

算法中的各项数据进行编 位串与8位字节串、整数与8位字节串的数据转换按照GB/T352762017的第6章。

6.1.2生成元数据格式

6.1.3密钥数据格式

6.1.4签名数据格式

6.1.5加密数据格式

SM9算法加密数据格式的ASN.1定义为: SM9Cipher::=SEQUENCE( EnTypeINTEGER, 加密方式

SM9算法加密数据格式的ASN.1定义为: SM9Cipher::=SEQUENCE( EnType INTEGER, 加密方式

GB/T41389—2022

C1 SM9KeyBlob1, 密文第一部分C,(符合GB/T38635.2一2020) C3 OCTETSTRING,一密文杂凑值 C2 OCTETSTRING—密文 A EnType为加密的方式,内容为0代表M④K1序列密码加密,内容为1、2、4、8分别代表ECB、 CBC、OFB、CFB分组密码算法工作模式,分组密码算法工作模式和初始值IV遵守GB/T17964的规定。 分组密码加密的算法按照GB/T32907。 C1在GB/T38635.2—2020的9.2中被称为C1。 C3在GB/T38635.2一2020的9.2中被称为C3,为按照GB/T32905算法对明文数据运算得到的 杂凑值,其长度固定为256位。 C2在GB/T38635.2一2020的9.2中被称为C2,为加密密文。

6.1.6密钥封装数据格式

用户A将个随机数封装成C后,并传递给用户B,以便计算出密钥K 密钥封装数据格式的ASN.1定义为: SM9KeyPackage::=SEQUENCE( K OCTETSTRING, 生成的密钥 c SM9KeyBlobl .封装的交换密文 ) K作为用户A保留的密钥。C作为交换密文传递给B用户,B用户利用C可以生成K

6.2.1预处理杂函数H

6.2.2预处理杂漆函数H

6.2.3预处理对运算1

预处理对运算1是指使用KGC的签名主公钥和G1的生成元P,点,计算Gr中的元素g1。该纠 果用于SM9数字签名。 预处理对运算1应按GB/T38635.1一2020附录A规定的双线性对进行计算

处理对运算1是指使用KGC的签名主公钥和G1的生成元P1点,计算GT中的元素g1。该结 SM9数字签名。 处理对运算1应按GB/T38635.1一2020附录A规定的双线性对进行计算

6.2.4预处理对运算2

预处理对运算2是指使用KGC的加密主公钥和G2的生成元P点,计算Gr中的元素g2。该结 果用于SM9密钥交换、密钥封装和加密。 预处理对运算2应按GB/T38635.1一2020附录A规定的双线性对进行计算。 输入: P2 SM9P2 生成元P2 Ppube SM9EncryptMasterPublicKey 加密主公钥 输出: g2 比特串 一一群GT中元素,长度为3072位 计算公式为: g2 =e(Ppube ,P2) 双线性对。的详细计管过理 38635.12020由C6

6.2.5预处理用户验签公钥Om

6.2.6预处理用户加密公钥Q

预处理用户加密公钥Qe是指将身份标识ID字符串变换为群GDB63T 2006-2021 公路钢筋混凝土装配式结构定额.pdf,上的点Qe,该结果用子 换、密钥封装和加密的计算过程中。 预处理用户加密公钥Qe应按GB/T38635.2—2020中7.2的B1(或GB/T38635.2—202 的 A1,或 GB/T 38635.2—2020中 9.2 的 A1)进行计算。

GB/T413892022

SM9签名验证是指使用预处理对运算 、1的结果、 、被签名数据,通过验签计异 确定签名是否通过验证的过程。 签名验证过程应为: 输人: ID 字节串 签名者标识 hid 整型 私钥生成函数标识符 N 整型 循环群G1、G²和G的阶 g1 比特串 预处理对运算1的结果 Qp SM9KeyBlob2 预处理用户验签公钥Qp的结果 M 比特串 被签名数据 sign SM9Signature 签名值 8

输出: 为“真”表示“验证通过”2021二建【法规】易考易错300题.pdf,为“假”表示“验证不通过” 详细的计算过程按照GB/T38635.2—2020中6.4

GB/T413892022

SM9密钥封装是指使用对方身份标识通过双线性对运算生成密钥,并产生基于对方加密公钥的 文即加密封装的密文。 密钥封装过程应为: 输入: KeyLen整型 一生成密钥的长度 ID 字节串 一对方身份标识 g2 比特串 一预处理对运算2的结果 Qe SM9KeyBlobl 一对方的预处理用户加密公钥QE的结果 输出: KeyC SM9KeyPackage 一封装密文 详细的计 算过程按照GB/T38635.22020中8.2。

©版权声明
相关文章