信息安全技术公钥基础设施远程口令鉴别与密钥建立规范(GB-T 32213-2015).pdf

上传人:wo****o 文档编号:96297310 上传时间:2023-10-18 格式:PDF 页数:47 大小:632.63KB
返回 下载 相关 举报
信息安全技术公钥基础设施远程口令鉴别与密钥建立规范(GB-T 32213-2015).pdf_第1页
第1页 / 共47页
信息安全技术公钥基础设施远程口令鉴别与密钥建立规范(GB-T 32213-2015).pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《信息安全技术公钥基础设施远程口令鉴别与密钥建立规范(GB-T 32213-2015).pdf》由会员分享,可在线阅读,更多相关《信息安全技术公钥基础设施远程口令鉴别与密钥建立规范(GB-T 32213-2015).pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、ICS 35.040L80中中 华华 人人 民民 共共 和和 国国 国国 家家 标标 准准GB/T XXXXXXXXX信息安全技术 公钥基础设施远程口令鉴别与密钥建立规范Information security technology Public key infrastructure Specification for remote password authentication and key establishment点击此处添加与国际标准一致性程度的标识(报批稿)本稿完成日期:2013 年 7 月 25 日)在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上XXXX-XX-XX

2、 发布XXXX-XX-XX 实施GB/T XXXXXXXXXI目次前言.III引言.IV1范围.12规范性引用文件.13术语和定义.14缩略语.25符号.36文档约定.46.1括号.46.2步骤与顺序.46.3方法参数.46.4参与方.47数学定义.47.1群运算.57.2离散对数体制.57.3椭圆曲线体制.58模型.68.1概述.68.2原语.68.3方案.78.4密码函数.89原语.89.1概述.89.2数据类型转换原语.89.3口令相关公开密钥生成原语.99.4公开密钥生成原语.119.5口令验证数据生成原语.129.6随机元素生成原语.149.7秘密值生成原语.169.8密钥检索原语.

3、2110口令鉴别密钥建立方案.2210.1BPKAS-1.2210.2BPKAS-2.24GB/T XXXXXXXXXII10.3BPKAS-3.2510.4APKAS-1.2710.5DLAPKAS-2,DLAPKAS-3.2910.6ECAPKAS-4.3010.7APKAS-5.3210.8APKAS-6.3410.9APKAS-7.3510.10PKRS-1.3711密码函数.3811.1散列函数.3811.2掩码生成函数.3811.3密钥证实函数.3911.4乘法元生成函数.40参考文献.41GB/T XXXXXXXXXIII前言本标准按照 GB/T 1.12009 给出的规则起草。

4、本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准起草单位:中国科学院软件研究所、中国科学院研究生院、中国电子技术标准化研究院。本标准主要起草人:张立武、冯登国、张振峰、高志刚、荆继武、张严、王鹏翩、李强、段美姣、高能、陈星。GB/T XXXXXXXXXIV引言目前,基于口令的实体鉴别技术是应用最广泛的鉴别技术,并且可以预见在未来的相当长时间内还将作为一种重要的鉴别技术存在。这一方面是由于口令容易记忆、不需要额外的载体,使用方便,另一方面也由于基于口令的鉴别协议简单高效,适用于用户量巨大的信息系统。然而,由于口令一般由可打印的 ASCII 字符组成,选择空间较小,所以

5、容易受到主动或是被动攻击。更为不利的因素是人通常会选择能方便记忆且易于使用的具有特定意义的单词或者词组作为口令,更容易遭受字典式攻击的影响。因此,在构建基于口令的鉴别系统时选择安全的口令鉴别协议变得尤为重要。非对称密码学的发展为基于口令的身份鉴别和密钥建立协议的构造提供了一个新的技术。结合使用非对称密码学和口令可以构造更安全的身份鉴别与密钥协商协议,并提供抵抗离线蛮力攻击、抵抗字典式攻击和前向安全性等更多安全性质。本标准选取了10个国际上经过广泛理论分析和应用验证的该类协议,定义了这些协议的数学基础、协议流程,为基于口令的鉴别系统的设计和开发提供了参考。GB/T XXXXXXXXX1信息安全技

6、术 公钥基础设施远程口令鉴别与密钥建立规范1范围本标准定义了11个采用非对称密码技术构造的安全远程口令鉴别和密钥建立协议的数学基础和具体构造。本标准适用于采用基于口令鉴别技术的鉴别系统的设计和开发。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 18238.3-2003 信息技术安全技术散列函数第3部分:专用散列函数GB/T 25069-2010 信息安全技术术语3术语和定义GB/T 25069-2010 界定的以及下列术语和定义适用于本文件。3.1口令穷举/

7、蛮力攻击 password exhaustive attack/brute-force attack通过尝试口令所有可能的值,以获取实际口令,并实施违反信息安全策略的行为。3.2口令破解 password crack成功的穷举/蛮力攻击口令及口令相关秘密数据或者成功攻击一个基于口令的密码系统。3.3交互式证明 interactive proof一种通过信息交换,证明者向验证者证明它拥有某个共享的秘密的协议。参与协议的两方共享输入值,通过交换信息最终验证者根据共享的输入值和交换的数据决定是否接受证明者的证明。3.4多重散列 iterated hash重复多次使用散列函数对输入进行散列计算的方法,

8、典型的应用是用来增加口令破解的计算难度。3.5低等级口令 low grade passwordGB/T XXXXXXXXX2易于受口令穷举/蛮力攻击的口令。3.6连带口令公开密钥 password-entangled public key从某一实体的口令和私有密钥计算得出的公开密钥。3.7口令限制私有密钥 password limited private key从某一实体的口令计算得到的私钥密钥,该私钥密钥的随机性完全来自于口令,并且其随机性受口令随机性的限制。3.8口令限制公开密钥 password-limited public key使用公开密钥生成方法从口令限制私有密钥生成的用于验证口令

9、正确性的数据。3.9口令验证者 password verifier在一个口令证明系统中作为验证者的参与方。4缩略语下列缩略语适用于本文件。APKAS扩展口令鉴别密钥协商方案(agumented password-authenticated key agreement)BPKAS平衡口令鉴别密钥协商方案(balance passwordauthenticated key agreement)CLIENT客户,一般指代在通信参与方的发起者DL离散对数(discrete logarithm)EC椭圆曲线(eclipse curve)GE2FEP群元素到域元素值转换原语(group element t

10、o field element conversion primitive)GE2OSP群元素到八位位组串转换原语(group element to octet string conversion primitive)FE2OSP域元素到八位位组串转换原语(field element to octet string conversion primitive)I2FEP整数到有限域元素转换原语(integer to field element conversion primitive)I2OSP整数到八位位组串转换原语(integer to octet string conversion prim

11、itive)KCF密钥证实函数(key confirmation function)KDF密钥导出函数(key derivation function)KRBP密钥检索盲化原语(key retrieval blinding primitive)KRPP密钥检索置换原语(key retrieval permutation primitive)KRUP密钥检索解盲化原语(key retrieval unblinding primitive)MGF掩码生成函数(mask generation function)MVCF多重值产生函数(multiplier value creation functio

12、n)OS2IP八位位组串到整数转换原语(octet string to integer conversion primitive)PEPKGP连带口令公开密钥导出原语(password-entangled PKGP)PKAS口令鉴别密钥协商方案(password-authenticated key agreement scheme)PKGP公开密钥生成原语(public key generation primitive)GB/T XXXXXXXXX3PKRS口令鉴别密钥检索方案(password-authenticated key retrieval scheme)PVDGP口令验证数据生成原

13、语(password verification data generation primitive)REDP随机元素导出原语(random element derivation primitive)SERVER服务器,一般指代在通信参与方中的响应者SRP安全远程口令(secure remote password)SVDP秘密值导出原语(secret value derivation primitive)5符号下列符号适用于本文件。a,b有限域GF(q)的元素,是定义椭圆曲线E的两个系数。E由a,b定义的,定义在有限域GF(q)上的椭圆曲线。e,e1,e2群或有限域上的元素。error出错。在本

14、标准中如果某个原语或者函数输出error,表示该原语或者函数执行过程中出错,不能得到预期结果。GF(q)一个阶为q的有限域。G椭圆曲线E上阶为r的点,该点可以生成一个阶为r的子群。g有限域GF(q)上的阶为r的乘法子群的一个生成元,用来定义离散对数域参数。hash散列函数。hex十六进制编码函数,把输入的八位位组串编码成十六进制串。K协议生成的由两个参与方共享的密钥。k在离散对数体制中等于(q-1)/r,用来定义离散对数域参数;在椭圆曲线体制中等于#E/r,用来定义椭圆曲线域参数。log对数运算符。M消息,一般为八位位组串。mod求余操作。N自然数,非负整数。P,Q一般指代椭圆曲线上的点。q正

15、整数,一般用来表示有限域的阶。r在离散对数体制中为q-1的素因子,用来定义离散对数域参数;在椭圆曲线体制中为#E的素因子,用来定义椭圆曲线域参数。s,u,s,u某一实体的私有密钥组,一般是正整数。w,v,w,v某一实体的公开密钥组,一般为GF(q)上的元素。valid,invalid有效,无效。在本标准中表示输出结果是否是有效的,如果协议的输出是invalid,则表示协议执行出错,不能继续执行后续操作。xe椭圆曲线上的点对应的横坐标。ye椭圆曲线上的点对应的纵坐标。z,z1,z2共享秘密值,为GF(q)上的元素,由秘密值生成原语生成。(c,d)数字签名对,一对整数,通过一个签名原语产生。(s,

16、w),(u,v)椭圆曲线密钥对,其中s和u是私有密钥,w和v是公开密钥。+加法操作符。例如P+Q表示椭圆曲线上的点P和点Q相加。标量乘法操作符,表示一个域元素P和一个整数n的标量乘法。例如nP,也可以省略,记作nP。GB/T XXXXXXXXX4/除法操作符。*群或者域中的乘法操作符。例如e1*e2表示在群元素e1和e2间应用群运算。指数运算符,表示对*操作符的迭代。例如en表示对群元素e进行n次迭代操作e*e*e,其中n必须为正整数,也可省略,记做en。|八位位组串的连接操作符。求和操作符。比特向右移位操作符。x,y大于或等于x且小于或等于y的整数的集合。x 顶函数,大于或者等于x的最小整数

17、。6文档约定6.1括号a)描述了两个或者多个相关的但运行在不同的上下文环境中的方法,如下所示:1)DL,EC用来描述使用离散对数和椭圆曲线的方法;2)CLIENT,SERVER用来描述在两方客户/服务器方案中使用的成对方法;3)DL,ECPKAS-PAK-CLIENT,SERVER 相 当 于 DLPKAS-PAK-CLIENT,DLPKAS-PAK-SERVER,ECPKAS-PAK-CLIENT,ECPKAS-PAK-SERVER。b)使用方括号限定的方法表示仅使用于该情况,如DL表示仅适用于离散对数体制的方法。6.2步骤与顺序本标准中所描述的包含有序的步骤序列的方法,一般可以在保证结果相

18、同的情况下以任意的顺序执行。但包含子步骤的步骤,所有的子步骤必须在父步骤完成之前完成。“输出信息并停止”步骤用来限制敏感信息的泄露。这些步骤必须按照本标准指出的顺序执行并在输出信息后结束方法的执行。6.3方法参数本标准中的许多方法通过选择输入域参数,函数和相关的值进行初始化。这些参数通常认为是调用方案的选项。因此,两个参与方要使用一个方法成功交互,必须为该方法传入相同的方案选项或者参数。6.4参与方本标准中定义的远程口令鉴别密钥建立协议采用客户和服务器指代参与协议运行的两个实体,其中客户指代协议的发起者,服务器指代协议的响应者。客户和服务器仅是从逻辑上区分协议参与方。一个实体既可以作为客户参与

19、协议,也可以作为服务器参与协议。7数学定义注:本章中的群运算、离散对数体制和椭圆曲线体制定义是参照IEEE P1363-2000中第5章和IEEE P1363.a-2004中第5章定义,详见参考文献9,10。7.1群运算GB/T XXXXXXXXX5为了统一对工作在多种设置下的方法的描述,本标准提供了对可能工作在离散对数设置和椭圆曲线设置下方法的通用描述。在这些描述中,采用小写字母表示群中的元素。对于仅具有一种运算的群,尽管离散对数和椭圆曲线体制中群操作和群元素都不相同,但操作符“*”和“”被用来描述两种体制下相通的操作。7.2离散对数体制7.2.1离散对数域参数每个离散对数原语和方案都需要用

20、到离散对数域参数,它是每一个离散对数密钥隐含的组成部分。离散对数域应指定以下参数:a)一个有限域 GF(q),其中 q 可以取值为一个正的奇整数 p、2m(m 为正整数)、pm(p 为奇素数,m 为正整数且 m2);b)一个整除 q-1 的正素数 rc)有限域 GF(q)的一个 r 阶子群的生成元 g;若 q=2m,则应同时指定以下参数:d)一个有限域 GF(q)上元素的表示,用于 9.2 中数据类型转换原语中;e)余因子 k=(q-1)/r。7.2.2离散对数密钥对对于给定的离散对数域参数,一对离散对数密钥对包含一个离散对数私有密钥 s 和一个离散对数公开密钥 w,其中 s 为1,r-1之间

21、的整数,w 为有限域 GF(q)上的元素且 w=gs。为保证离散对数私有密钥的安全性,其生成应当是不可预测的,其存储应当不被敌手获取。离散对数密钥对与生成它的域参数密切相关,而且只能用于该域参数的上下文中。一个密钥对不应当用于除生成其的域参数之外的域参数环境中。一组域参数可能被多个密钥对共享。离散对数密钥对不一定由使用它的参与方生成,这取决于信任模型。密钥管理方案中参与方建立的离散对数密钥可能符合密钥的一般形式,但却并不满足密钥的定义,这取决于所采用的密钥管理技术。因此,本文件中“离散对数公开密钥”及“离散对数私有密钥”表示符合一般形式的密钥,而“有效离散对数公开密钥”及“有效离散对数私有密钥

22、”则表示满足定义的密钥。密钥确认是决定一个密钥是否为“有效”的过程。7.3椭圆曲线体制7.3.1椭圆曲线域参数每个椭圆曲线原语和方案都需要用到椭圆曲线域参数,它是每一个椭圆曲线密钥隐含的组成部分。椭圆曲线域应指定以下参数:a)一个有限域 GF(q),其中 q 是一个正奇素数 p,或者 2m(m 为正整数);b)两个有限域 GF(q)中的元素 a 和 b,它们是定义椭圆曲线 E 的系数;c)一个能整除椭圆曲线 E 上点数量的正素数 r;d)一个阶为 r 的点 G,该点也成为它生成的子群的生成元;若 q=2m,则应同时指定以下参数:e)一个有限域 GF(q)上元素的表示,用于 9.2 数据类型转换

23、原语中。同时,上述参数隐含定义了余因子 k=#E/r。7.3.2椭圆曲线密钥对GB/T XXXXXXXXX6对于给定的椭圆曲线域参数,一对椭圆曲线密钥对包含一个椭圆曲线私有密钥 s 和一个椭圆曲线公开密钥 W,其中 s 为1,r-1之间的整数,W 为椭圆曲线 E 上的点,且 W=sG。为保证椭圆曲线私有密钥的安全性,其生成应当是不可预测的,其存储应当不能被敌手获取。椭圆曲线密钥对与生成它的域参数密切相关,而且只能用于该域参数的上下文中。一个密钥对不应当用于其被生成的域参数之外的域参数环境中。一组域参数可能被多个密钥对共享。椭圆曲线密钥对不一定由使用它的参与方生成,这取决于信任模型。参与方建立椭

24、圆曲线密钥对是方案中密钥管理的一部分内容。可能会存在参与方建立的椭圆曲线密钥对符合密钥的一般形式,但却并不满足所希望的密钥定义,这取决于所采用的密钥管理技术。因此,本文件中“椭圆曲线公开密钥”及“椭圆曲线私有密钥”表示符合一般形式的密钥,而“有效椭圆曲线公开密钥”及“有效椭圆曲线私有密钥”则表示满足定义的密钥。密钥确认是决定一个密钥是否为“有效”的过程。8模型8.1概述本标准的目的在于为采用基于口令身份鉴别技术的鉴别系统提供一些安全的基于非对称密码技术的口令鉴别和密钥建立协议的选择。因此,在一个通用的、允许不同安全需求和不同应用需求的鉴别系统选择合适的协议的框架下描述这些安全协议是有意义的。本

25、标准中的安全协议可以抽象地理解为由原语、方案和密码函数构成。原语是具有原子性的方法,提供确定的功能,是构建方案的基础。部分原语具有基于数论上的困难问题的安全性。方案是由一系列原语、密码函数构成的集合,提供基于复杂性理论的安全性。密码函数提供特定密码学功能的函数,包括密钥产生函数、散列函数、密钥证实函数等。从实现的观点看,这里定义的原语可以看作是底层的实现,方案和密码函数可以看作中层实现,协议可以看作高层或者称为应用层的实现。8.2原语本标准中原语被描述成数学操作,它们本身并不提供安全上的保证。这样的安全性只有当使用这些原语和其他操作构成协议时才能提供。原语假设它们的输入符合某些假设,这些假设会

26、在描述原语时列出。只要输入不影响原语实现的进一步操作,原语的实现不强制约束输入必须符合假设;实现可以输出也可以不输出一个出错信息的情况。例如:一个公开密钥产生原语当输入不符合假设时,可以输出一个看起来像是公钥的输出,也可以拒绝输出。这需要原语的使用者来验证输入是否符合前提假设,例如,用户可以选择使用相关的密钥和域参数验证技术。一个标准的原语描述由以下几部分组成:a)原语的输入;b)原语执行操作的描述中关于输入的假设;c)原语的输出;d)原语执行的操作(操作用一系列的步骤进行描述);e)一致性建议。描述为了符合原语操作,实现应该操作的最小建议输入集合。原语规范是功能性规范,而不是接口规范。输入、

27、输出的格式和实现的过程超出了本标准的范围。8.3方案GB/T XXXXXXXXX7口令鉴别与密钥建立方案和一般鉴别与密钥建立方案的主要不同在于证明参与方身份的秘密是一个或者多个预先分发的秘密是低等级口令。当口令用来进行双向鉴别时,通常被当作共享的秘密,而不是静态的公钥和私钥。在这些方案中代表一个基于口令的秘密值。本标准中的方案采用基于一定原语和密码函数的通用形式进行描述。例如一个口令鉴别密钥协商方案可以是基于一个公开密钥生成原语、一个秘密值生成原语和一个密钥生成原语。方案也包括密钥管理操作,例如选择一个私钥或者获取其它参与方的公钥。为了安全性,参与方应该保证密钥和域参数的有效性,其生成过程的正

28、确性也需要得到保证,因此合适的密钥管理可能是必须的,但是超出了本标准的范围。方案的规范描述由以下几部分组成:a)方案选项:方案中使用到的原语和密码函数等;b)操作:鉴别协议按照一定顺序执行的步骤;c)一致性建议:为了保证具体的实现和协议相符合而提供的建议。8.3.1口令鉴别密钥协商方案在口令鉴别密钥协商方案中,每一参与方使用他自己的基于口令的值和私钥与其他参与方的公开密钥一起产生一个或者多个密钥。其它参与方共享的信息则作为方案的密钥产生参数。如果参与方使用相关的口令,密钥和一致的密钥产生参数,并且方案正确的完成,则参与方就能得到相同的私有密钥。口令鉴别密钥协商方案允许参与方在仅仅共享基于口令值

29、的情况下产生相同的私有密钥,并且保证没有口令相关值的实体不能成功的参与该协议。协议参与方客户和服务器执行本标准定义的密钥协商操作服务器产生共享的私有密钥。每一个口令鉴别密钥协商方案也定义了密钥证实操作,协议参与方互相确认对方已经正确获得共享私有密钥。口令鉴别密钥协商协议提供以下安全属性:通过方案可以成功的产生一个共享密钥,并且不知道口令或者基于口令的值的实体无法成功执行方案;获得口令相关的公开密钥和交互中交换的任何信息不能使第三方可以验证对于口令或者口令相关值的猜测或者确定方案产生的共享密钥;一个不知道口令或者口令相关值的参与方在一次协议交互中最多只有一次机会猜测口令或者口令相关的值。本标准中

30、的口令鉴别密钥协商方案具有以下形式的操作序列:a)建立有效的域参数集;b)根据域参数建立一个或者多个口令及口令相关值;c)根据域参数为参与方选择一个有效的私有密钥;d)使用 PEPKG 或者 PKGP 操作根据步骤 c)产生的私钥建立一个或者多个公开密钥;e)分发公开密钥给协议的其他参与方;f)获取其他参与方的公开密钥;g)选择合适的方法验证域参数和其他参与方的公开密钥,如果无效则输出“invalid”并停止操作;h)应用密码操作根据自己的私钥和其他参与方的公钥产生一个共享秘密值;i)使用密钥产生函数根据步骤 h)产生的秘密值和域参数产生共享密钥。8.3.2口令鉴别密钥检索方案GB/T XXX

31、XXXXXX8一个PKRS方案通过拥有口令值的客户端与至少一个拥有与相关联的秘密值的服务器端交互,最终为客户端建立一个或多个长期密钥。因为客户端通常拥有所(重新)建立的长期密钥的先验知识,因此这些密钥可以由方案检索。为了成功的执行PKRS方案,客户端仅需要拥有口令值,服务器端也仅需要拥有与相关联的秘密值,而不需要知道客户端的口令值或者客户端最终获取的长期密钥。客户端通过与服务器端交互并执行密钥建立操作来检索与口令相关联的密钥。PKRS方案与PKAS方案主要有两个不同点:a)PKRS 方案建立长期密钥,而 PKAS 方案建立的是临时密钥;b)PKRS 方案为客户端建立的长期密钥对于服务器端可能是

32、无法获取的,而 PKAS 方案所建立的临时密钥对于客户端和服务器端是共享的。PKRS方案和PKAS方案同样可以在多服务器端的系统中使用,客户端使用口令获取存储在各个服务器端的密钥片段并最终检索出密钥。8.4密码函数在本标准中,在方案中还会用到散列函数、掩码生成函数和密钥证实函数。本标准建议在实现方案的过程中采用这些建议的附加函数为协议增加更多的安全属性。对于采用在本标准之外定义的这些函数的情况,用户应该对实现的安全性进行分析和评估。9原语9.1概述在本章中,列举在本标准中使用到的原语,包括:数据类型转换原语、口令相关公开密钥生成原语、公开密钥生成原语、口令验证数据生成原语、随机元素生成原语和秘

33、密值生成原语。本条目采用一种通用的方式对原语进行描述,而忽略它们所依赖的体制是 DL 还是 EC,除非特别指明原语的应用环境。9.2数据类型转换原语本条目定义数据类型转换原语,这些原语在整数、八位位组串和群元素之间进行转换。9.2.1OS2IP对于给定的长度为 k 的八位位组串 M,应通过以下步骤或者相当的过程转换成整数 i:a)把 M 按字节分解为 Mk-1|Mk-2|M0,其中 Mk-1是最左侧的字节,M0是最右侧字节;b)对于所有的 j 0,k-1,计算 i=28jMj;c)输出 i。9.2.2I2OSP对于给定的非负整数 i 和目标八位位组串长度 l,应通过以下步骤或者相当的过程转换成

34、八位位组串 M:a)如果 i 256l,则输出“整数过大”;b)对于所有的 j0,l-1计算 mj=i mod(256j)(8 j);c)设 Mj是 mj对应的字节表示,则 M=Ml-1|Ml-2|M0;d)输出 M。9.2.3I2FEPGB/T XXXXXXXXX9执行非负整数到有限域元素的操作的原语称为整数到域元素转换原语(I2FEP)。对于给定的整数 i0,q-1应该通过以下步骤或者相当的过程转换成有限域 GF(q)中的元素 j:a)应用 I2OSP 转换 i 到log256(q)长度的八位位组串;b)应用 OS2FEP 转换结果八位位组串到域元素 j;c)输出 j。9.2.4GE2FE

35、P原语 GE2FEP 转换群元素 e 到有限域上的一个元素。在离散对数体制中,由于离散对数体制中,群元素就是域元素,直接输出域元素 e;在椭圆曲线体制中:1)如果 e 是无穷远点,则输出域元素 0 并停止;2)否则设置域元素 xe=e 的 x 坐标;3)输出域元素 xe。9.2.5FE2OSPFE2OSP转换有限域GF(q)中的元素e到八位位组串。如果 q 为奇素数,则e是区间1,q-1中的整数,则应用 I2OSP 转换 e 到八位位组串;如果 q 为 2m 的形式,则 e 即是长度为/8t的八位位组串,其中 t=2logq。9.2.6GE2OSP在离散对数体制中,由于在离散对数体制中,群元素

36、就是对于域中的域元素,因此输出oe=FE2OSP(e);在椭圆曲线体制中:1)计算 ex=GE2FEP(e);2)输出 FE2OSP(ex)。9.3口令相关公开密钥生成原语9.3.1PEPKGP-1DL,ECPEPKGP-1 原语使用DL,EC域参数、用户私钥和口令生成一个口令相关的公开密钥。输入:a)参与方自己的私钥;b)基于口令的群元素m;c)与密钥 s 和群元素m相关的域参数(包括 g,r)。假设:私钥 s 和域参数是有效的,群元素m生成需要的 r 阶群。输出:口令相关的公开密钥 w。操作:a)计算一个群元素 w=(gs)*m;b)输出 w 作为口令相关的公开密钥。9.3.2PEPKGP

37、-2DL,ECPEPKGP-2 原语使用DL,EC域参数和用户私钥和口令生成一个口令相关的公开密钥。GB/T XXXXXXXXX10输入:a)一个私有密钥 s;b)一个口令生成的群的生成元 g;c)与密钥 s 和群元素 g相关的DL,EC域参数。假设:私钥 s 和域参数是有效的,群元素 g生成需要的 r 阶群输出:口令相关的公开密钥 w操作:a)计算一个群元素 w=gs;b)输出 w 作为口令相关的公开密钥。9.3.3PEPKGP-3-SERVER,PEPKGP-4-SERVERDLPEPKGP-3,4-SERVER 原语使用 DL 域参数和服务器的私钥和口令验证数据生成一个口令相关的公开密钥

38、。PEPKGP-4-SERVER 需要一个幂值建立函数,可选项为 MVCF-1。客户应该使用和服务器相同的Mvcf 和相关的参数。输入:a)服务器的私有密钥 s;b)一个口令验证数据 v,受限于口令的公开密钥;c)与密钥 s 相关的 DL 域参数(包括 gq-1和 q),验证数据 v。假设:私钥 s、验证数据 v和域参数是有效的,gq-1的阶为 q-1输出:口令相关的公开密钥 ws,ws是域 GF(q)的元素。操作:a)计算域元素 x=exp(gq-1,s);b)如下方法计算域元素 mv;1)PEPKGP-3:mv=12)PEPKGP-4:mv=Mvcf()c)计算 ws=(vmv+x);d)

39、输出 ws。9.3.4PEPKGP-5-SERVERPEPKGP-5-SERVER 原语根据椭圆曲线域参数使用服务器拥有的私钥和口令验证数据生成口令相关的公开密钥,该原语在ECAPKAS-4-SERVER 中使用。该原语需要一个随机元素生成函数作为参数,该参数的可选函数为ECREDP-1 和ECREDP-2,并应该保证该函数与客户端的 SVDP-6-CLIENT 中使用的随机元素生成函数相同。输入:a)服务器的私有密钥 s;b)一个口令验证数据 v,受限于口令的公开密钥;c)与密钥 s 相关的 EC 域参数(包括 g)和公开密钥 v。假设:私钥 s、公开密钥 v和域参数是有效的。输出:口令相关

40、的公开密钥 ws。GB/T XXXXXXXXX11操作:a)计算八位位组串 o1=GE2OSP(v);b)计算群元素 e1=Redp(o1);c)计算群元素 ws=(gs)*e1;d)输出 ws。9.3.5PEPKGP-6-SERVERPEPKGP-6-SERVER 原语使用DL,EC域参数和服务器私钥和客户公钥和口令验证数据生成一个口令相关的公开密钥。输入:a)服务器的私有密钥 s;b)一个口令验证数据 v,受限于口令的公开密钥;c)客户公钥 wc;d)与密钥 s,v,wc相关的 EC 域参数。假设:私钥 s、公开密钥 v和域参数是有效的。输出:口令相关的公开密钥 ws。操作:a)计算八位位

41、组串 oc=GE2OSP(wc);b)计算群元素 o1=hashWC(oc|oID);c)计算 i1=OS2IP(o1);d)计算群元素 ws=(wsi1)*v)s;e)输出 ws。9.4公开密钥生成原语9.4.1PKGP-1DL,ECPKGP-1 是离散对数,椭圆曲线公开密钥生成原语使用实体的私钥和域变量来生成该实体的公钥。输入:a)实体自己的私钥整数 s;b)与该私钥 s 相关的域变量 g 和 r(其中 r 为素数,g 为 r 的本原根)。假设:私钥和相应的域参数有效。输出:该实体的公钥 w。操作:公钥 w 的计算要执行以下两步:a)计算公钥组元素 w=gs;b)输出 w 作为实体公钥。9

42、.4.2DLPKGP-2-CLIENTGB/T XXXXXXXXX12DLPKGP-2-CLIENT 是离散对数公开密钥生成原语,该原语根据 DL 域参数和客户的私钥生成客户的公开密钥,该原语应用在DLAPKAS-2,3-CLIENT。输入:a)客户的私钥(整数)s;b)与密钥 s 相关的 DL 域参数(包括 gq-1和 q)。假设:私钥 s、验证数据 v和域参数是有效的,gq-1的阶为 q-1。输出:公开密钥 wc,其中 wc是 GF(q)中的非零元素。操作:a)计算域元素 wc=exp(gq-1,s);b)输出 wc。9.5口令验证数据生成原语9.5.1PVDGP-1DL,ECPVDGP-

43、1 原 语 根 据 域 参 数 和 参 与 方 的 口 令 生 成 口 令 验 证 数 据,该 原 语 在DL,ECAPKAS-1-CLIENT 和DL,ECAPKAS-5-CLIENT 中 用 来 生 产 口 令 限 制 的 私 钥,在DL,ECAPKAS-1-SERVER 和 DL,ECAPKAS-5-SERVER 中用来生成口令验证数据。该原语需要一个随机元素生成函数和一个散列函数作为参数,其中随机元素生成函数的可选项为DL,ECREDP-1 和DL,ECREDP-2,散列函数的选择项为 11.1 中定义的散列函数和 MGF1。输入:a)八位位组串口令;b)DL,EC域参数。输出:口令限

44、制的私钥 u和口令验证数据,口令验证数据包括阶为 r 的生成元g和口令限制的公钥v。操作:a)计算八位位组串 o=hash();b)计算私钥(整数)u=OS2IP(o)mod r;c)计算元素g=Redp(o);d)计算群元素 v=gu;e)输出 u和口令验证数据(g,v)。9.5.2DLPVDGP-2,PVDGP-3DLPVDGP-1 原语根据 DL 域参数和参与方的口令生成口令验证数据和其它相关值,该原语在DLAPKAS-2,3-CLIENT 中用来生产口令限制的私钥,在DLAPKAS-2,3-SERVER 中用来生成口令验证数据。在原有DLPVDGP-3 中需要一个散列函数作为参数,其中

45、散列的选择项为 11.1 中定义的散列函数和 MGF1。输入:a)八位位组串口令;b)与口令相关的 DL 域参数(包括 gq-1和 q)。GB/T XXXXXXXXX13输出:口令限制的私钥 u和口令验证数据,口令验证数据包括口令限制的公钥 v。操作:a)计算八位位组串 o:1)PVDGP-2:o=SHA-1();2)PVDGP-3:o=hash();b)计算 DL 私钥(整数)u=OS2IP(o)mod r;c)计算口令限制公开密钥 v=exp(gq-1,u);d)输出 u和口令验证数据 v。9.5.3ECPVDGP-4ECPVDGP-4 原语根据域参数和参与方的口令生成口令验证数据,该原语

46、在ECAPKAS-4-CLIENT中用来生产口令限制的私钥,在ECAPKAS-4-CLIENT 中用来生成口令验证数据。该原语需要一个随机元素生成函数和一个散列函数作为参数,其中随机元素生成函数的可选项为DL,ECREDP-1 和DL,ECREDP-2,散列函数的选择项为 11.1 中定义的散列函数和 MGF1。输入:a)八位位组串口令;b)与口令相关的椭圆曲线域参数(包括 g 和 r)。输出:口令限制的私钥 u和口令验证数据,口令验证数据包括口令限制的公钥 v。操作:a)计算八位位组串 o=hash();b)计算私钥(整数)u=OS2IP(o)mod r;c)计算元素g=Redp(o);d)

47、计算群元素 v=gu;e)输出 u和口令验证数据 v。9.5.4PVDGP-5PVDGP-5 原语根据域参数和参与方的口令生成口令验证数据,该原语在 APKAS-6-CLIENT 中用来生成口令限制的私钥,在 APKAS-6-SERVER 中用来生成口令验证数据。该原语需要一个散列函数作为参数,散列函数的选择项为 11.1 中定义的散列函数和 MGF1。输入:a)八位位组串口令;b)与口令相关的椭圆曲线域参数(包括 g 和 r)。输出:口令限制的私钥 u和口令验证数据,口令验证数据包括口令限制的公钥 v。操作:a)计算八位位组串 o=hashPVD();b)计算私钥(整数)u=OS2IP(o)

48、mod r;c)计算群元素 v=gu;d)输出 u和口令验证数据 v。9.5.5PVDGP-6GB/T XXXXXXXXX14PVDGP-6 原语根据域参数和参与方的口令生成口令验证数据,该原语在 APKAS-7-SERVER 中用来生成口令验证数据。该原语需要一个随机元素生成函数和一个散列函数作为参数,其中随机元素生成函数的可选项为DL,ECREDP-1 和DL,ECREDP-2,散列函数的选择项为 11.1 中定义的散列函数和 MGF1。该原语还需要一个与私钥u和公钥v相关的签名方案 Ss;输入:a)八位位组串口令;b)与口令相关的椭圆曲线域参数。输出:基于口令的群元素m,签名方案 Ss

49、的公钥v,与v相关的八位位组串 U,八位位组串的私钥散列值 Hu。操作:a)计算m=Redp(hex(01)|);b)计算八位位组串 o1=hex(02)|;c)计算八位位组串 o2=MGF1(o1,uLen);d)为签名方案 Ss 生成私钥u和公钥v;e)计算代表私钥u的八位位组串 ou;f)计算 U=ouo2;g)计算 Hu=hashSK(ou);h)输出(m,v,U,Hu)。9.6随机元素生成原语9.6.1DLREDP-1DLREDP-1 是离散对数随机元素生成原语版本 1,该原语采用一个散列函数根据一个口令输入选取一个伪随机群元素,该元素属于离散对数口令鉴别密钥协商方案所选择的群,并防

50、止冲突,随机化输出元素的指数。该原语可以用在 DLBPKAS-3,DLAPKAS-1,DLAPKAS-5 中产生生成元元素,也可以用在DLBPKAS-1,DLBPKAS-2 生成一个掩码元素。该原语需要一个散列函数作为参数,其中散列的选择项为 11.1 中定义的散列函数和 MGF1。输入:a)随机选择器值 o,该八位位组串根据口令生成;b)DL 域参数(包括 g 和 k)。输出:选择的 r 阶的群元素 e,或者“invalid”。操作:a)计算八位位组串o1=hash();b)计算域元素 x=I2FEP(OS2IP(o1)mod q);1)如果 x=0,则输出“invalid”并终止;c)计算

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 国家标准

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁