全网唯一标准王
ICS 35.040 GM CCS L 80 中华人民共和国密码行业标准 GM/T 0080—2020 SM9密码算法使用规范 SM9 cryptographic algorithm application specification 2021-07-01实施 2020-12-28 发布 国家密码管理局 发布 刮涂层查真伪 GM/T 0080—2020 目 次 前言 引言 范围 2 规范性引用文件 3 术语和定义 缩略语 SM9的密钥对 5.1 生成元 5.2 SM9主私钥 5.3 SM9主公钥 5.4 SM9用户私钥 5.5 SM9用户公钥 6 数据格式 6.1 密钥数据结构 6.2 签名数据结构 6.3 加密数据结构 6.4 密钥封装数据格式 预处理 7.1 预处理杂凑函数H1 7.2 预处理杂凑函数H2 7.3 预处理对运算e 7.4 预处理用户验签QD 7.5 预处理用户加密QE 8 计算过程 8.1 生成密钥 8.2 数字签名 8.3 签名验证 8.4 密钥封装 8.5 密钥解封 8.6 加密 8.7 解密 8.8 密钥协商 GM/T 0080—2020 前言 本文件按照GB/T1.1一2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定 起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由密码行业标准化技术委员会提出并归口。 本文件起草单位:上海信息安全工程技术研究中心、北京国脉信安科技有限公司、深圳奥联信息安 全技术有限公司、无锡华正天网信息安全系统有限公司。 本文件主要起草人:袁峰、王晓春、封维端、张立圆、王学进、药乐、蒋楠、程朝辉、蔡先勇、王一曲。 GM/T 0080—2020 引言 本文件是IBC(Identity-BasedCryptography)基于标识的密码技术系列标准之一,及依托于 GB/T38635.2《信息安全技术SM9标识密码算法第2部分:算法》。 本文件的目标是保证SM9密码算法使用的正确性,为SM9密码算法的使用制定统一的数据格式 和使用方法。 本文件从算法应用的角度给出SM9密码算法的使用说明。 GM/T 0080—2020 SM9密码算法使用规范 1范围 本文件定义了SM9密码算法的使用方法,以及密钥、加密与签名等的数据格式。 2规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文 件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单适用于 本文件。 GB/T32905信息安全技术SM3密码杂凑算法 GB/T32907信息安全技术SM4分组密码算法 GB/T32918(所有部分)信息安全技术SM2椭圆曲线公钥密码算法 GB/T38635.1一2020信息安全技术SM9标识密码算法第1部分:总则 GB/T38635.2一2020信息安全技术SM9标识密码算法第2部分:算法 3术语和定义 下列术语和定义适用于本文件。 3.1 算法标识algorithmidentifier 用于标明算法机制的数字化信息 3.2 SM9密码算法 SM9algorithm 种采用双线性对的椭圆曲线公钥密码算法 3.3 签名主密钥 signature masterkey 密钥管理基础设施的根签名密钥对,包括签名主私钥和签名主公钥,用于进行数字签名、验签和为 用户生成用户签名密钥。 3.4 加密主密钥 encryption masterkey 密钥管理基础设施的根加密密钥对,包括加密主私钥和加密主公钥,用于进行数字加密、解密和为 用户生成用户加密密钥。 3.5 用户签名密钥 signaturekey 数字签名和验签。 1 GM/T 0080—2020 3.6 用户加密密钥 encryptionkey 其中私钥由密钥管理基础设施产生并下发给用户。该类密钥包括用户加密私钥和加密公钥,用于 加密、解密和密钥协商 3.7 公开参数服务 publicparameterservice 用于发布基于标识的密码技术中公开参数、私钥生成策略、用户标识信息和状态等数据的应用 服务。 4缩略语 下列缩略语适用于本文件 ECB:电子密码本方式(ElectronicCipherBook) ECC:椭圆曲线密码算法(EllipticCurveCryptography) IBC:基于标识的密码技术(Identity-Based Cryptography) ID:用户身份标识(Identity) KGC密钥生成中心(Key Generating Center) PPS:公开参数服务(PublicParameterSer 5SM9的密钥对 5.1 生成元 G上的生成元PI点记为yp),数据格式的ASN1定义为SM9P1::BITSTRING,类型为 BIT STRING,其内容是 ,其中,X,和Y分别标识点的分量和y分量,每个分量长度为256bit。 G2上的生成元, P2点,记为(Xp2,yp2),数据格式的ASN.1定义为SM9P2::=BITSTRING,类型为 BIT STRING,其内容是: 04IIX,IIX,YY2,其中,X、X,和Yi、Y分别标识公钥的各个x分量和y分量,每个分量长度 为256bit,或 03IlX,lX,其中,XX2分别标识公钥的各个x分量,每个分量长度为256bit。选取解压后的 Y根值(Y,IlY2)中最右边bit位为1的那个值。还原后Y根值最右那个比特应用为1,否则Y,=基域 q-根Yi,Y2基域q一根Y2。或 02IIX,IX2,其中,X、X2分别标识公钥的2个x分量,每个分量长度为256bit。选取解压后的 Y根值(Y,IIY,)中最右边bit位为O的选项值。还原后Y根值取最右一比特为O的选项值,否则Y= 基域q一根YI,Y2=基域q一根Y2。 5.2SM9主私钥 包括SM9签名主私钥和加密主私钥,都是一个大于或等于1且小于N一1的整数(N是循环群G1、 G2和Gr的阶,其值见GB/T38635.2一2020的附录A.1),简记为s,长度为256bit。 5.3SM9主公钥 包括SM9签名主公钥Ppub2和加密主公钥Ppub1。分别是G2和G上的点,坐标表示为(xsPub, ysPub)和(xEPub,yEPub)。其中签名主公钥的x,y坐标还分别包含两个分量即xi分量和x2分量,yi分量和 2 GM/T 0080—2020 y2分量,每个分量的长度为256bit。而加密主公钥x,y坐标值长度都是256bit。 5.4SM9用户私钥 包括SM9用户签名私钥和用户加密私钥,分别是G,和G2上的点,坐标表示为(xsPri,yspri)和(XEPri yEpri)。其中用户签名钥x,y坐标值长度都是256bit。而用户加密私钥的x,y坐标还分别包含两个分 量即xi分量和x2分量,yi分量和y2分量,每个分量的长度为256bit。 5.5SM9用户公钥 在IBC技术中,用户标识ID可唯一确定用户的公钥,应用中以此代表公钥。基于双线性对ID坐 标的表示可分为用户签名公钥坐标和用户加密公钥坐标,用户签名公钥坐标与签名主公钥坐标结构相 同,x,y坐标上还有各自的两个分量,记为Qs,用户加密公钥与加密主公钥坐标结构相同,记为QE。 注:这里给出用户公钥坐标的生成方法 输人:算法函数H,useriD,hid,主公钥Ppub;,生成元P:i=12。 输出:用户公钥QA 计算方法: QAs=[H(DAd,N)]P2十Ppub2=(XQA2,YQA2),签名公钥坐标用于签名/验签 QAE=[H(IDA 6数据格式 6.13 密钥数据结构 密钥类型分为签名、加密主密钥和签名:加密用户密销: a) SM9算法签名主私钥数据格式的ASN.1定义为: SM9SignMasterPFivateKey SM9MasterPrivatekey SM9MasterPrivateKe INTERGER b) SM9算法签名主公钥数据格式的ASN.1定义为: SM9SignMasterPublicKey: : =BIT STRING SM9SignMasterPublicKey为BITSTRING类型,内容为: 04IX,X2 IYY其中,XI、X,和Yi、Y2分别标识公钥的各个x分量和y分量,每个分量长度 为256bit。或 03lX,IlX2,其中,Xl、X分别标识公钥的各个x分量,每个分量长度为256bit。选取解压后的 Y根值(Y,IlY)中最右边bit位为1的那个值。还原后Y根值取最右那个比特为O的值,否则Y,= 基域q-根YI,Y2=基域q一根Y2。或 02IX,X2,其中,X1、X2分别标识公钥的2个x分量,每个分量长度为256bit。选取解压后的 Y根值(YⅡY2)中最右边bit位为O的选项值。还原后Y根值取最右一比特为0的选项值,否则 Y,=基域g一根Y1,Y2=基域g-根Y2。 c)SM9算法加密主私钥数据格式的ASN.1定义为: SM9EncryptMasterPrivateKey::=SM9MasterPrivateKey d)SM9算法加密主公钥数据格式的ASN.1定义为: SM9EncryptMasterPublicKey: :=BIT STRING SM9EncryptMasterPublicKey为BITSTRING类型,内容为: 04IlXIY,其中,X和Y标识公钥的各个x分量和y分量,每个分量长度为256bit。 03IlX,其中,X标识公钥的x分量,每个分量长度为256bit。选取解压后的Y根值

.pdf文档 GM-T 0080-2020 SM9密码算法使用规范

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
GM-T 0080-2020 SM9密码算法使用规范 第 1 页 GM-T 0080-2020 SM9密码算法使用规范 第 2 页 GM-T 0080-2020 SM9密码算法使用规范 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2025-08-02 12:45:08上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。