1、书 书 书犐 犆犛 犆犆犛犔 中华人民共和国密码行业标准犌犕犜 犛犕密码算法使用规范犛犕犮 狉 狔 狆 狋 狅 犵 狉 犪 狆 犺 犻 犮犪 犾 犵 狅 狉 犻 狋 犺犿犪 狆 狆 犾 犻 犮 犪 狋 犻 狅 狀狊 狆 犲 犮 犻 犳 犻 犮 犪 狋 犻 狅 狀 发布 实施国家密码管理局发 布目次前言引言范围规范性引用文件术语和定义缩略语的密钥对 生成元 主私钥 主公钥 用户私钥 用户公钥数据格式 密钥数据结构 签名数据结构 加密数据结构 密钥封装数据格式预处理 预处理杂凑函数犎 预处理杂凑函数犎 预处理对运算犲 预处理用户验签 预处理用户加密计算过程 生成密钥 数字签名 签名验证 密钥封装
2、密钥解封 加密 解密 密钥协商犌犕犜 前言本文件按照 标准化工作导则第部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由密码行业标准化技术委员会提出并归口。本文件起草单位:上海信息安全工程技术研究中心、北京国脉信安科技有限公司、深圳奥联信息安全技术有限公司、无锡华正天网信息安全系统有限公司。本文件主要起草人:袁峰、王晓春、封维端、张立圆、王学进、药乐、蒋楠、程朝辉、蔡先勇、王一曲。犌犕犜 引言本文件是()基于标识的密码技术系列标准之一,及依托于 信息安全技术标识密码算法第部分:算法。本文件的目标是保证密码算法使用的正确
3、性,为密码算法的使用制定统一的数据格式和使用方法。本文件从算法应用的角度给出密码算法的使用说明。犌犕犜 犛犕密码算法使用规范范围本文件定义了密码算法的使用方法,以及密钥、加密与签名等的数据格式。本文件适用于密码算法的使用,以及支持密码算法的设备和系统的研发和检测。规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。信息安全技术密码杂凑算法 信息安全技术分组密码算法 (所有部分)信息安全技术椭圆曲线公钥密码算法 信息安全技术标识密码算法第部分:总则 信
4、息安全技术标识密码算法第部分:算法术语和定义下列术语和定义适用于本文件。算法标识犪 犾 犵 狅 狉 犻 狋 犺犿犻 犱 犲 狀 狋 犻 犳 犻 犲 狉用于标明算法机制的数字化信息。犛犕密码算法犛犕犪 犾 犵 狅 狉 犻 狋 犺犿一种采用双线性对的椭圆曲线公钥密码算法。签名主密钥狊 犻 犵 狀 犪 狋 狌 狉 犲犿犪 狊 狋 犲 狉犽 犲 狔密钥管理基础设施的根签名密钥对,包括签名主私钥和签名主公钥,用于进行数字签名、验签和为用户生成用户签名密钥。加密主密钥犲 狀 犮 狉 狔 狆 狋 犻 狅 狀犿犪 狊 狋 犲 狉犽 犲 狔密钥管理基础设施的根加密密钥对,包括加密主私钥和加密主公钥,用于进行数字
5、加密、解密和为用户生成用户加密密钥。用户签名密钥狊 犻 犵 狀 犪 狋 狌 狉 犲犽 犲 狔其中私钥由密钥管理基础设施产生并下发给用户。该类密钥包括用户签名私钥和签名公钥,用于数字签名和验签。犌犕犜 用户加密密钥犲 狀 犮 狉 狔 狆 狋 犻 狅 狀犽 犲 狔其中私钥由密钥管理基础设施产生并下发给用户。该类密钥包括用户加密私钥和加密公钥,用于加密、解密和密钥协商。公开参数服务狆 狌 犫 犾 犻 犮狆 犪 狉 犪犿犲 狋 犲 狉狊 犲 狉 狏 犻 犮 犲用于发布基于标识的密码技术中公开参数、私钥生成策略、用户标识信息和状态等数据的应用服务。缩略语下列缩略语适用于本文件。:电子密码本方式():椭圆
6、曲线密码算法():基于标识的密码技术():用户身份标识():密钥生成中心():公开参数服务()犛犕的密钥对 生成元犌上的生成元犘点,记为(,),数据格式的 定义为:,类型为 ,其内容是:,其中,和分别标识点的分量和分量,每个分量长度为 。犌上的生成元犘点,记为(,),数据格式的 定义为:,类型为 ,其内容是:,其中,、和、分别标识公钥的各个分量和分量,每个分量长度为 ,或,其中,、分别标识公钥的各个分量,每个分量长度为 。选取解压后的根值()中最右边 位为的那个值。还原后根值最右那个比特应用为,否则基域狇根,基域狇根。或,其中,、分别标识公钥的个分量,每个分量长度为 。选取解压后的根值()中最右边 位为的选项值。还原后根值取最右一比特为的选项值,否则基域狇根,基域狇根。犛犕主私钥包括签名主私钥和加密主私钥,都是一个大于或等于且小于的整数(是循环群犌、犌和犌犜的阶,其值见 的附录),简记为,长度为 。犛犕主公钥包括签名主公钥犘狆狌 犫和加密主公钥犘狆狌 犫。分别是犌和犌上的点,坐标表示为(,)和(,)。其中签名主公钥的,坐标还分别包含两个分量即分量和分量,分量和犌犕犜 分量,每个分量的长