GB/T35275-2017

信息安全技术SM2密码算法加密签名消息语法规范

Informationsecuritytechnology—SM2cryptographicalgorithmencryptedsignaturemessagesyntaxspecification

本文分享国家标准信息安全技术SM2密码算法加密签名消息语法规范的全文阅读和高清PDF的下载,信息安全技术SM2密码算法加密签名消息语法规范的编号:GB/T35275-2017。信息安全技术SM2密码算法加密签名消息语法规范共有12页,发布于2018-07-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.040
  • 实施日期2018-07-01
  • 文件格式PDF
  • 文本页数12页
  • 文件大小625.57KB

信息安全技术SM2密码算法加密签名消息语法规范


国家标准 GB/T35275一2017 信息安全技术SM12密码算法 加密签名消息语法规范 nformationseeurityteehnology一SM2cryptographicalgorithm lsignaturemessagesyntaxspeeification merypted 2017-12-29发布 2018-07-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/35275一2017 目 次 前言 范围 2 规范性引用文件 术语和定义 缩略语 OID定义 基本类型定义 6.1CertificateRevocationLists 6.2 gorithmldentifier Conten 63 Digest 6.4DigestEncr IgOrthmldentller 6.5 ExtendedC ert1licate 6.6ExtendedC IcateSAndCert1tlcateS 6,7 ISSue1 ndSer1alNumber lgorithmldentifier 6.8KeyEncr 6.9 Version 6.10 ontentlnfo 数据类型(Data 签名数据类型(signedData signedData类型 8. 8.2signerlnfo类型 数字信封数据类型(envelopedData 9.1envelopedData类型 " 9.2reeipientInfo类型 0签名及数字信封数据类型(signedAndEnvelopedData) 加密数据类型(eneryptedData 1 密钥协商类型(keyAgreermentlnfo) 12 13 SM2密钥格式
GB/35275一2017 前 言 本标准按照GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标准起草单位:上海格尔软件股份有限公司、上海市数字证书认证中心有限公司,北京数字认证 股份有限公司、无锡江南信息安全工程技术中心,成都卫士通信息产业股份有限公司、北京海泰方圆科 技有限公司兴唐通信科技有限公司,山东得安信息技术有限公司国家信息安全工程技术研究中心 本标准主要起草人:刘平、郑强、杨文山、韩玮、傅大鹏、李元正、蒋红宇、徐明翼、王妮娜、孔凡玉、 袁锋
GB/35275一2017 信息安全技术SM2密码算法 加密签名消息语法规范 范围 本标准定义了使用sM2密码算法的加密签名消息语法 本标准适用于使用sM2密码算法进行加密和签名操作时对操作结果的标准化封装 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 信息安会技术sM密码杂凑算法 GB/T32905 GB/T32918(所有部分信息安全技术sM2椭圆曲线公钥密码算法 GB/T35276信息安全技术SM2密码算法使用规范 GB/T33560信息安全技术密码应用标识规范 PKCS#6扩展证书语法(Extendedcertificatesyntax 术语和定义 下列术语和定义适用于本文件 算法标识algorithmidentifier 用于标明算法机制的数字化信息 3.2 SM2 algorithm" SMM12密码算法 crpueraphe 由GB/T32918定义的一种算法 3.3 SM13密码算法SM3cryptographicalgorithm 由GB/T32905定义的一种算法 缩略语 下列缩略语适用于本文件 cA;证书认证机构(CertificationAuthority) Ecc;椭圆曲线密码(EliptiecCurveCryptography) OID;对象标识(Objectldentity) 5 oID定义 本标准对6个对象data、signedData,envelopedData、signedAndEnvelopedData,eneryptedData和
GB/T35275一2017 keyAgreementlnfo的标识符进行了定义,详见表1 表1对象标识符 对象标识符oD 对象标识符定义 2密码算法加密签名消息语法规范 SM2 1.2.156.10197.6.l.4.2 1.2.156.1o197.6.1.4.2.1 数据类型 1.2.156,10197.6,1.4.2.2 签名数据类型 1.2.156.10197.6.1.4.2.3 数字信封数据类型 1.2.156.10197.6.1.4,2.4 签名及数字信封数据类型 加密数据类型 1.2.156.10197.6.l.4.2.5 1.2.156.10197.6.l.4.2.6 密钥协商类型 6 基本类型定义 6.1certifieateRe0eationL.ists C, CertifcateRevocationLists类型标明一个证书撤销列表的集合 CertificateRevoeationLists:=sETOFCertifieateRevocationList 6.2 ContentEneryptionAgorithmldentifier Content tEneryptionAlgorithmldentifer类型标明一个数据加密算法 其OID见GB/T33560 ldentiier Al gorithmm nldentifier contentEneryptionAlgorithml :; 6.3 ;tAlgorithmldentifier DigestAle" DigestAlgorithmldentifier类型标明一个消息摘要算法,本标准为SM3算法,其OID见 GB/T33560 lgorthmldentifer Algorithmdentifer DigestAl = 6.4DigestEneryptionAlgorithmldentifier DigestEne tionAlgorithmldentifier类型标明一个签名算法,本标准为SM2密码算法,其OID见 ncrypt GB/T33560 DigestEncryptionAlgorithmldentifier:;=Algorithmldentifer 6.5ExtendedCertificateOrCertificate ExtendedCertifieateOrCertifieate类型指定一个PKCS#6扩展证书或者一个X.509证书 这一 类型见PKCS#6第6节推荐的语法 ExtendedCertificateOrCertificate:: CHOICE certificateCertificate X.509 extendedCertificate[oIMPLICITExtendedCertifcate
GB/35275一2017 6.6ExtendedCertifieatesAndCertifeates ExtendedCertificatesAndCertificates 类型指定一个扩展证书和X.509证书的集合 它表示集合足 以包含从可识别的“根”或“顶级CA”到所有签名者的证书链 ExtendedCertificatesAndCertificates;;=SETOF ExtendedCertificate(OrCertificate 6.7 IsserAndSeriaINumber ssuerAndSerialINumber类型标明一个证书颁发者可识别名和颁发者确定的证书序列号,可据此 确定一份证书和与此证书对应的实体及公钥 ssuerAndSerialNumber::=SEQUENCE issuerNamme, serialNumberCertificateSerialNumber 6.8KeyEneryptionAlgorithmldentifier KeyEneryptionAlgorithmldentifier类型标明加密对称密钥的加密算法 KeyEneryptionAlgorithmldentifier::=Algorithmldentifier 6.9Version Version类型标明语法版本号 INTEGER(1 Version::= 6.10Contentlnfo Contentlnfo类型标明内容交换通用语法结构,内容交换的通用语法结构定义如下 Contentlnfo::=SEQUENCE contentTypeContentType content[o]EXPLICITANYDEFINEDBYcontentTypeOPTIONAI ContentType;;=OBEC'TlIDENTIFIER 其中: ContentType内容类型是一个对象标识符,其定义见第5章 ontent内容,可选 数据类型(Data) 数据类型Data结构定义如下 D OcTETSTRING )ata;;一 数据类型Data表示任意的字节串
GB/T35275一2017 8 签名数据类型(signedData) 8.1 sgnedDta类型 sgnedData数据类型由任意类型的数据和至少一个签名者的签名值组成 任意类型的数据能够同 时被任意数量的签名者签名 sgnedlData数据类型结构定义如下 SignedData:; SEQUENCE versionVersion, digestAlgorithmsDigestAlgorithmldentifiers, contentlnfoContentlnfo. certifieates[O0]IMPLIcIExtendedCertifcatesAndCertifcatesOPTIONAL crls[1]IMPLICITCertifcateRevocationListsOPTIONAL signerlnfosSignerlnfos DigestAlgorithmldenifers;=sETOFDigestAlgorithmldenifier Signerlnfos::=SETOFSignerlnfo 结构中各项含义见表2 表2signedData数据类型 含义 字段名称 数据类型 版本号,此处取值为1 Version version digestAgorithms DigestAlgorithmldentifiers 消息摘要算法标识符的集合 ontentlnfo Contentlnfo 数据内容 ertificates ExtendedCertifieatesandCertificates PKCS井6扩展证书和X.509证书的集合 crls CertificateRevocationlists 证书撤销列表的集合 每个签名者信息的集合 signlnfos Signerlnfos 8.2signerlnfo类型 signerlnfo类型结构定义如下 Signerlnfo: SEQUENCE versionVersion, iissuerAndSerialNumberIssuerAndSerialNumber, digestAlgorithmDigestAlgorithmldentifier, thenticatedAttributes[o]IMPLICITAttributesOPTONAL aut digestEneryptionAlgorithmDigestEncryptionAlgorithmdentifier. encryptedDigestEneryptedDigest, unauthenticatedAttributes[1]IMPLICITAttributesOPTIONAI =OCTETSTRING EneryptedDigest1= 结构中各项含义见表3
GB/35275一2017 表3Signerlnfo数据类型 数据类型 字段名称 含义 版本号,此处取值为1 version Version issuerAndSerial 个证书颁发者可识别名和颁发者确定的证书序列号,可 ssuerAndSeriaINumber Number 据此确定一份证书和与此证书对应的实体及公钥 对内容进行摘要计算的消息摘要算法,本标准采用SM3 digestAlgorithm DigestAlgorithmidentifier 算法 是经由签名者签名的属性的集合,该域可选 如果该域存 authenticatedAt Attributes 在,该域中摘要的计算方法是对原文进行摘要计算结果 tributes digestEncryptionAl Ae DigestEncryptionAlgorithmlden SM2椭圆曲线数字签名算法标识符 tifier gorithm 值是SM2Signature,用签名者私钥进行签名的结果,其定 eeneryptedDigest 0CTETSTRING 义见(GB/T35276 ta 数字信封数据类型(envelupedDat mepelDaa类型 数字信封envelopedData数据类型由加密数据和至少一个接收者的数据加密密钥的密文组成 其 中,加密数据是用数据加密密钥加密的,数据加密密钥是用接收者的公钥加密的 stedData或 ss 该类型用于为接收者的data.dige nedData三种类型的数据做数字信封 sIgne envelopedData数据类型结构定义如下: EnvelopedData::=SEQUENCE versionVersion, recipientlnfosReeipientlnfos, encryptedContentlnfoEncryptedContentlnfo Reeipientnfos:;=sETOFReeipientInfo 结构中各项含义见表4 表 EnveopedData数据类型 4 字段名称 数据类型 Version 版本号,此处取值为1 version rreeipientlnfos Reeipientlnfos 每个接收者信息的集合,至少要有一个接收者 neryptedContentlnfo EneryptedContentlnfo 加了密的内容信息 EneryptedContentlnfo;;一 SEQUENCE contentIypeContentType. ontenutEnerypion.AlgorithmContentEneryption.ANlgorithmldentifer OPTIONAL eneryptedContent[O]IMPLICITEnerypte edContent sharednfol[1]IMPLICITOcTETSTRINGOPTIONAL
GB/T35275一2017 sharednfo2[2]IMPLICITOCTETsTRINGOPTIONAL OCTETSTRING EneryptedContent;1= 结构中各项含义见表5 表5EneryptedContentlnfo数据类型 字段名称 数据类型 含义 contenType ContentType 内容的类型 contentEneryptionAlgorithm ContentEncryptionAlgorithmldentifier 内容加密算法和相应的参数 encryptedContent EncryptedContent 内容加密的结果,可选 sharedlnfol 0CTETSTRING 协商好的共享信息,可选 协商好的共享信息,可选 sharedlnfo2 0CTETSTRING g.2reeipientlnto类型 每个接收者信息用recipientlnfo类型表示 ecipientlnfo类型结构定义如下 ::=SEQUENCE Reeipiennfo versionVersion issuerAndSerialNumberIssuerAndSerialNumber, oionAlgorithmldentifer keyEneryptionAlgorithmKeyEnt 1crypt tedKeyOCTETSTRING encryPt 结构中各项含义见表6 表6ReeipientInfo数据类型 字段名称 数据类型 Version 版本号,此处取值为1 version issuerAndSerial lssuerAndSerialNumber 颁发者可辨别名和颁发序列号 Nummber keyEneryptionAlgo KeyEneryptionAlgorithmldenti 用接收者公钥加密数据加密密钥的算法,为SM2椭圆曲线 fier 加密算法 rithm eneryptedKey 0CTETSTRING 数据加密密钥密文SM2cipher,其定义见GB/T35276 10 签名及数字信封数据类型(signedAndEnveopeData ignedAndEnvelopedData数据类型由任意类型的加密数据,至少一个接收者的数据加密密钥和至 个签名者的签名组成 sgnedAndEnvelopedata数据类型结构定义如下 S edAndEn SEQUENCE snveopedDat Signed ata;;一 versionVersion,
GB/35275一2017 reeipientllnfosRecipientnfos, digetAlgoilhnmsDigetAlgorithmldentfers entInfo tedContentlnfo. eneryptedlcomte ,Enesrypte certificates[0]IMPLICITExtendedCertificatesAndCertificatesOPTIONAL erls[1]IMPLICITCertificateRevocationListsOPTIONAL signerlnfosSignerlnfos 结构中各项含义见表7 表7signedAndEnvelopedData数据类型 字段名称 数据类型 ersion Version 版本号,此处取值为1 reeipientlnfos Reeipientlnfos 每个接受者信息的集合,至少一个元素 消息摘要算法标识符的集合 digestAlgorithms DigestAlgorithmldentifiers Encryptedcontennfo 加了密的内容,可以是任何定义的数据类型 encryptedContentlnfo ExtendedCertificatesAndCertif certifieates PKCS井6扩展证书和X.509证书的集合,是可选的 icates CertificateRevocationLists 证书撤销列表的集合 crls signerlnfos 每个签名者的集合,至少要有一个元素 Signerlnfos 加密数据类型(encryptedData) 11 encryptedData数据类型由任意类型的加了密的数据组成,数据类型既没有接收者也没有加密的数 据加密密钥 encryptedData数据类型定义如下: EneryptedData:;=sEQUENCE versionVersion, anerypredcomtcenm ntlnfoEneryptedContentInfo 结构中各项含义见表8 表8 neryptedData数据类型 字段名称 数据类型 含义 Version 版本号,此处取值为1 version encryptedContenlnfo EneryptedlContentlnfo 已加密的内容信息 密钥协商类型(keyAgreementInfo 12 密钥协商keyAgreementlnfo数据类型标明两个用户之间建立一个共享秘密密钥的结构,通过这种 方式能够确定一个共享秘密密钥的值
GB/T35275一2017 该类型用于两个用户为产生共享秘密密钥进行的公共参数交换 KeyArememnfo1-sEQUuENcE: Version Version, sM2PublieKey empPublicKeyR userCertificate Certificate userlID OCTETSTRING 结构中各项含义见表9 表9 keyAgree eementlnfo数据类型 字段名称 数据类型 版本号,此处取值为1 version Version tempPubliekKeyR SM2PublicKey 临时公钥,结构定义见GB/T33560 userCertifieate Certifieate 用户证书 userID 0CTETSTRING 用户标识 13sM12密钥格式 13.1椭圆曲线参数语法 椭圆曲线参数的表达采用与ANsX9.62相同的AsN.1定义,其定义如下: Parameters::=CHOcCE eParametersECParameters, namedCurveObjectldentifier. inmplieitlyCANULL 在用于SM2密码算法表达时,只使用namedCurve这一种表达方法,SM2密码算法曲线定义的 OID 见GB/T33560 13.2公钥语法 椭圆曲线公钥的表达采用与X9.62相同的ASN.1定义,其定义如下 SubjectPublieKeylnfo;;=SEQUENCE lgorihmAlgorihmdentifer(ECPKANlgorilhms)) subjeetPubickeySM2Publickey 其中 dlgorithm定义了公钥的类型 subjectPubliekey定义了公钥的实际值 Algorithmldentifier是对象标识与参数的绑定,其定义如下 Algorithmdentifer :;=SEQUENCE《 algorithmOBECTIDENTIFIER. parametersANYDEFINEDBYalgorithmOPTIONAl
GB/35275一2017 对于SM2密码算法,其OID(algorithm)定义见GB/T33560. 3.3私钥语法 椭圆曲线私钥的表达采用与X9.62相同的ASN.1定义,其定义如下 ECPrivatekey(cURVES;IOSet};;=SEQUENCE" ecPrivke versionINTEGER syVerl(1ecPrivkeyVerl). vateKey SM2PrivateKey priva [0]Parameters(IOSet}OPTIONAL. parameters pwubieKey[1]sM2PawbieKey 其中 rsion指定了私钥的版本号,这里使用整数1来表示SM2私钥的版本号 ve1

信息安全技术SM2密码算法加密签名消息语法规范GB/T35275-2017详解

随着互联网应用场景的不断增加,数据的安全性和可靠性越来越受到重视。为了保障网络信息安全,加密技术成为了一种非常重要的安全手段。在加密技术中,密码算法是最基本、最核心的部分之一。

作为我国自主研发的密码算法,SM2密码算法是目前被广泛应用的一种密码算法。它不仅具有高强度的安全性,而且还能够支持数字签名、加密等多种功能,因此备受关注。

为了规范SM2密码算法的应用,中国国家标准化管理委员会于2017年发布了《信息安全技术 SM2密码算法加密签名消息语法规范》(以下简称《规范》)。本文旨在对该规范进行详细解读和阐述。

1.规范背景与目的

《规范》是为了规定SM2密码算法在加密、签名等方面的消息格式,进一步促进SM2密码算法的推广应用。它适用于各种基于SM2密码算法的应用场景,包括公钥证书、数字证书、电子邮件、电子数据交换等。

2. 消息语法规范

《规范》中对SM2密码算法的消息格式进行了具体规定,包括了加密、签名的具体格式和要求。其中,重点关注以下几个方面:

2.1 SM2公钥证书

SM2公钥证书是基于SM2密码算法的公钥证书,能够确保证书的机密性、完整性和可信度,可以被广泛地应用于各种网络安全场景中。《规范》中详细规定了SM2公钥证书的格式和内容。

2.2 数字签名

数字签名是保证信息传输过程中机密性、完整性和可信度的一种重要手段。《规范》详细规定了SM2数字签名的格式和要求,包括签名算法、签名值的长度等。

2.3 数据加密

数据加密是保障信息机密性的一种有效手段。《规范》中对SM2数据加密的具体格式和要求进行了详细规定,包括明文长度、密文长度等。

3.重要性与应用

SM2密码算法作为我国自主研发的密码算法,具有高度的安全性和可靠性,在保障网络信息安全方面具有广泛的应用前景。而《规范》的发布将进一步推动SM2密码算法的应用,并能够更好地规范各种基于SM2密码算法的应用场景,提高SM2密码算法的安全性。

总之,中国国家标准GB/T35275-2017《信息安全技术 SM2密码算法加密签名消息语法规范》是规范SM2密码算法应用的一项重要标准。它对加强网络信息安全、促进密码算法的发展具有重要意义。我们相信,在标准的指导下,SM2密码算法将在未来得到更广泛的应用和推广。

信息安全技术SM2密码算法加密签名消息语法规范的相关资料

和信息安全技术SM2密码算法加密签名消息语法规范类似的标准

信息安全技术术语

加密重力测量规范

信息安全技术大数据服务安全能力要求
上一篇 本文分享国家标准信息安全技术大数据服务安全能力要求的全文阅读和高清PDF的下载,信息安全技术大数据服务安全能力要求的编号:GB/T35274-2017。信息安全技术大数据服务安全能力要求共有28页,发布于2018-07-01
信息安全技术SM2密码算法使用规范
本文分享国家标准信息安全技术SM2密码算法使用规范的全文阅读和高清PDF的下载,信息安全技术SM2密码算法使用规范的编号:GB/T35276-2017。信息安全技术SM2密码算法使用规范共有11页,发布于2018-07-01 下一篇
相关推荐