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

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

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

1、I C S3 5.0 4 0L8 0中 华 人 民 共 和 国 国 家 标 准G B/T3 2 2 1 32 0 1 5信息安全技术 公钥基础设施远程口令鉴别与密钥建立规范I n f o r m a t i o ns e c u r i t y t e c h n o l o g yP u b l i ck e y i n f r a s t r u c t u r eS p e c i f i c a t i o nf o r r e m o t ep a s s w o r da u t h e n t i c a t i o na n dk e ye s t a b l i s h m

2、e n t2 0 1 5-1 2-1 0发布2 0 1 6-0 8-0 1实施中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会发 布目 次前言引言1 范围12 规范性引用文件13 术语和定义14 缩略语25 符号26 文档约定3 6.1 括号3 6.2 步骤与顺序4 6.3 方法参数4 6.4 参与方47 数学定义4 7.1 群运算4 7.2 离散对数体制4 7.3 椭圆曲线体制58 模型5 8.1 概述5 8.2 原语6 8.3 协议6 8.4 密码函数79 原语7 9.1 概述7 9.2 数据类型转换原语7 9.3 连带口令公钥生成原语8 9.4 公钥生

3、成原语1 0 9.5 口令验证数据生成原语1 1 9.6 随机元素导出原语1 2 9.7 秘密值导出原语1 4 9.8 密钥检索原语1 81 0 口令鉴别密钥建立协议1 9 1 0.1 B P KA-11 9 1 0.2 B P KA-22 0 1 0.3 B P KA-32 2 1 0.4 A P KA-12 4G B/T3 2 2 1 32 0 1 5 1 0.5 D LA P KA-2,32 6 1 0.6 E CA P KA-42 7 1 0.7 A P KA-52 9 1 0.8 P K R-13 11 1 密码函数3 2 1 1.1 散列函数3 2 1 1.2 掩码生成函数3 2

4、1 1.3 密钥证实函数3 3 1 1.4 乘法元生成函数3 3 1 1.5 密钥导出原语3 4参考文献3 6G B/T3 2 2 1 32 0 1 5前 言 本标准按照G B/T1.12 0 0 9给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(S A C/T C2 6 0)提出并归口。本标准起草单位:中国科学院软件研究所、中国科学院研究生院、中国电子技术标准化研究院。本标准主要起草人:张立武、冯登国、张振峰、高志刚、荆继武、张严、王鹏翩、李强、段美姣、高能、陈星。G B/T3 2 2 1 32 0 1 5引

5、 言 目前,基于口令的实体鉴别技术是应用最广泛的鉴别技术,并且可以预见在未来的相当长时间内还将作为一种重要的鉴别技术存在。这一方面是因为口令容易记忆、不需要额外的载体,使用方便;另一方面基于口令的鉴别协议通常简单高效,适用于用户量巨大的信息系统。然而,由于口令一般由可打印的A S C I I字符组成,选择空间较小,因此安全的基于口令的鉴别协议的设计和实现较为困难。更为不利的因素是用户通常会选择能方便记忆且易于使用的具有特定意义的单词或者词组作为口令,更容易遭受字典式攻击的影响。因此,在构建基于口令的鉴别系统时选择安全的口令鉴别协议变得尤为重要。非对称密码学的发展为基于口令的身份鉴别和密钥建立协

6、议的构造提供了一种新的方向。通过结合非对称密码学和口令可以构造更安全的口令鉴别密钥建立协议,并能提供抵抗离线蛮力攻击、抵抗字典式攻击、前向安全性等重要安全性质。本标准选取了数个经过广泛理论分析和应用验证的协议,定义了这些协议的数学基础、协议流程。本标准为基于口令鉴别系统的设计和开发提供了参考。G B/T3 2 2 1 32 0 1 5信息安全技术 公钥基础设施远程口令鉴别与密钥建立规范1 范围本标准定义了基于非对称密码技术实现远程口令鉴别与密钥建立的数学定义和协议构造。本标准适用于采用基于口令鉴别与密钥建立技术的鉴别系统的设计和开发。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是

7、注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。G B/T1 8 2 3 8.32 0 0 2 信息技术 安全技术 散列函数 第3部分:专用散列函数G B/T2 5 0 6 92 0 1 0 信息安全技术 术语3 术语和定义G B/T2 5 0 6 92 0 1 0界定的以及下列术语和定义适用于本文件。3.1 口令穷举/蛮力攻击 p a s s w o r de x h a u s t i v ea t t a c k/b r u t e-f o r c ea t t a c k通过尝试口令所有可能的值,以获取实际口令,并实施违

8、反信息安全策略的行为。3.2 口令破解 p a s s w o r dc r a c k成功的穷举/蛮力攻击口令及口令相关秘密数据或者成功攻击一个基于口令的密码系统。3.3 多重散列 i t e r a t e dh a s h重复多次使用散列函数对输入进行散列计算的方法。3.4 低等级口令 l o wg r a d ep a s s w o r d易于受口令穷举/蛮力攻击的口令。3.5 连带口令公钥 p a s s w o r d-e n t a n g l e dp u b l i ck e y从口令和私钥计算得出的公钥。3.6 口令限制私钥 p a s s w o r d-l i m i

9、 t e dp r i v a t ek e y从口令计算得到的私钥,该私钥的随机性完全来自于口令,并且其随机性受口令随机性的限制。3.7 口令限制公钥 p a s s w o r d-l i m i t e dp u b l i ck e y从口令限制私钥生成的用于验证口令正确性的数据。1G B/T3 2 2 1 32 0 1 54 缩略语下列缩略语适用于本文件。A P KA 增强型口令鉴别密钥协商(a u g m e n t e dp a s s w o r d-a u t h e n t i c a t e dk e ya g r e e m e n t)B P KA 平衡型口令鉴别密钥

10、协商(b a l a n c e dp a s s w o r d-a u t h e n t i c a t e dk e ya g r e e m e n t)C L I E NT 客户端(c l i e n t)D L 离散对数(d i s c r e t e l o g a r i t h m)E C 椭圆曲线(e l l i p s ec u r v e)G E 2 F E P 群元素到域元素值转换原语(g r o u pe l e m e n t t of i e l de l e m e n t c o n v e r s i o np r i m i t i v e)G E 2

11、 O S P 群元素到八位位组串转换原语(g r o u pe l e m e n t t oo c t e t s t r i n gc o n v e r s i o np r i m i t i v e)F E 2 O S P 域元素到八位位组串转换原语(f i e l de l e m e n t t oo c t e t s t r i n gc o n v e r s i o np r i m i t i v e)I 2 F E P 整数到域元素转换原语(i n t e g e r t of i e l de l e m e n t c o n v e r s i o np r i

12、 m i t i v e)I 2 O S P 整数到八位位组串转换原语(i n t e g e r t oo c t e t s t r i n gc o n v e r s i o np r i m i t i v e)K C F 密钥证实函数(k e yc o n f i r m a t i o nf u n c t i o n)K D F 密钥导出函数(k e yd e r i v a t i o nf u n c t i o n)K R B P 密钥检索盲化原语(k e yr e t r i e v a lb l i n d i n gp r i m i t i v e)K R P P

13、 密钥检索置换原语(k e yr e t r i e v a l p e r m u t a t i o np r i m i t i v e)K RU P 密钥检索解盲化原语(k e yr e t r i e v a lu n b l i n d i n gp r i m i t i v e)MG F 掩码生成函数(m a s kg e n e r a t i o nf u n c t i o n)MV C F 多重值产生函数(m u l t i p l i e rv a l u ec r e a t i o nf u n c t i o n)O S 2 I P 八位位组串到整数转换原语(o

14、 c t e t s t r i n gt o i n t e g e rc o n v e r s i o np r i m i t i v e)P E P K G P 连带口令公钥生成原语(p a s s w o r d-e n t a n g l e dP K G P)P KA 口令鉴别密钥协商(p a s s w o r d-a u t h e n t i c a t e dk e ya g r e e m e n t)P K G P 公钥生成原语(p u b l i ck e yg e n e r a t i o np r i m i t i v e)P K R 口令鉴别密钥检索(p

15、 a s s w o r d-a u t h e n t i c a t e dk e yr e t r i e v a l)P V D G P 口令验证数据生成原语(p a s s w o r dv e r i f i c a t i o nd a t ag e n e r a t i o np r i m i t i v e)R E D P 随机元素导出原语(r a n d o me l e m e n td e r i v a t i o np r i m i t i v e)S E R V E R 服务器(s e r v e r)S R P 安全远程口令(s e c u r er e

16、m o t ep a s s w o r d)S V D P 秘密值导出原语(s e c r e tv a l u ed e r i v a t i o np r i m i t i v e)5 符号下列符号适用于本文件。a,b 有限域G F(q)的元素,是定义椭圆曲线E的两个系数。E 由a,b定义的,定义在有限域G F(q)上的椭圆曲线。e,e1,e2 群或有限域上的元素。e r r o r 出错。在本标准中如果某个原语或者函数输出e r r o r,表示该原语或者函数执行过程中出错,不能得到预期结果。e x p 指数运算,e x p(g,a)=ga。G F(q)一个阶为q的有限域。G 椭圆

17、曲线E上阶为r的点,该点可以生成一个阶为r的子群。2G B/T3 2 2 1 32 0 1 5g 有限域G F(q)上的阶为r的乘法子群的一个生成元,用来定义离散对数域参数。h a s h 散列函数。h e x 十六进制编码函数,把输入的八位位组串编码成十六进制串。K 协议生成的由两个参与方共享的密钥。k 在离散对数体制中等于(q-1)/r,用来定义离散对数域参数;在椭圆曲线体制中等于#E/r,用来定义椭圆曲线域参数,其中#E为E上点的数量。l o g 对数运算符。M 消息,一般为八位位组串。m o d 求余操作。N 自然数,非负整数。P,Q 一般指代椭圆曲线上的点。q 正整数,一般用来表示有

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

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

20、大于或者等于x的最小整数。x 小于或者等于x的最大整数。6 文档约定6.1 括号包括以下两种:3G B/T3 2 2 1 32 0 1 5a)描述了两个或者多个相关的但运行在不同的上下文环境中的方法,如下所示:1)D L,E C 用来描述使用离散对数和椭圆曲线的方法;2)C L I E NT,S E R V E R 用来描述在协议中两个参与方客户端/服务器使用的成对方法;3)D L,E CP KA-1-C L I E NT,S E R V E R相 当 于 D L P KA-1-C L I E NT,D L P KA-1-S E R V E R,E C P KA-1-C L I E NT,E

21、C P KA-1-S E R V E R。b)使用方括号限定的方法表示仅使用于该情况。例如D L 表示仅适用于离散对数体制的方法。6.2 步骤与顺序本标准中所描述的包含有序的步骤序列的方法,一般可以在保证结果相同的情况下以任意的顺序执行。但包含子步骤的步骤,所有的子步骤必须在父步骤完成之前完成。“输出信息并停止”步骤用来限制敏感信息的泄露。这些步骤必须按照本标准指出的顺序执行并在输出信息后结束方法的执行。6.3 方法参数本标准中的协议、原语通过选择输入域参数,函数和相关的值进行初始化。这些参数通常认为是协议、原语的选项。因此,两个参与方要使用一个方法成功交互,必须使用相同的选项或者参数。6.4

22、 参与方本标准中定义的远程口令鉴别密钥建立协议采用客户端和服务器指代参与协议运行的两个实体,其中客户端指代协议的发起者,服务器指代协议的响应者。客户端和服务器仅是从逻辑上区分协议参与方。一个实体既可以作为客户端参与协议,也可以作为服务器参与协议。7 数学定义7.1 群运算在本标准中,采用小写字母表示群/有限域中的元素。操作符“*”和“”被用来描述离散对数密码/椭圆曲线密码体制中的乘法和指数运算。注:本章中的群运算、离散对数体制和椭圆曲线体制定义是参照I E E E1 3 6 3-2 0 0 0中第5章和I E E E1 3 6 3 a-2 0 0 4中第5章定义,详见参考文献9,1 0。7.2

23、 离散对数体制7.2.1 离散对数域参数每个离散对数原语和协议都需要离散对数域参数,离散对数域参数也是每一个离散对数密钥隐含的组成部分。离散对数域应指定以下参数:a)一个有限域G F(q),其中q可以取值为一个正的奇素数p、2m(m为正整数)、pm(p为奇素数,m为正整数且m2);b)一个整除q-1的正素数r;c)有限域G F(q)的一个r阶子群的生成元g。若q=2m,则应同时指定以下参数:a)有限域G F(q)上元素的记法,用于9.2数据类型转换原语中;4G B/T3 2 2 1 32 0 1 5b)余因子k=(q-1)/r。7.2.2 离散对数密钥对对于给定的离散对数域参数,一对离散对数密

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

25、密钥,而“有效离散对数公钥”及“有效离散对数私钥”则表示满足定义的密钥。密钥确认是确定一个密钥是否为“有效”的过程。7.3 椭圆曲线体制7.3.1 椭圆曲线域参数每个椭圆曲线原语和协议都需要椭圆曲线域参数,椭圆曲线域参数是每一个椭圆曲线密钥隐含的组成部分。椭圆曲线域应指定以下参数:a)一个有限域G F(q),其中q是一个正奇素数p,或者2m(m为正整数);b)两个有限域G F(q)中的元素a和b,它们是定义椭圆曲线E的系数;c)一个能整除椭圆曲线E上点数量的正素数r;d)一个阶为r的点G,该点也是它所生成的子群的生成元。若q=2m,则应同时指定以下参数:有限域G F(q)上元素的记法,用于9.

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

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

28、意义的。本标准中的安全协议可以抽象地理解为由原语、协议和密码函数构成。原语是具有原子性的方法,提供确定的功能,是构建协议的基础。部分原语具有基于数论上的困难问题的安全性。协议是由一系列原语、密码函数构成的集合,提供基于复杂性理论的安全性。密码函数是提供特定密码学功能的函数,包括密钥产生函数、散列函数、密钥证实函数等。口令鉴别与密钥建立协议和一般鉴别与密钥建立协议的主要不同在于证明参与方身份的秘密是一个或者多个预先分发的低等级口令。当使用口令进行相互鉴别时,口令通常被当作共享的秘密,而不是静态的公钥和私钥。协议包括部分密钥管理操作,例如生成一个私钥或者获取其他参与方的公钥。参与方应该保证密钥和域

29、参数的有效性,也应该保证密钥和域参数生成过程的正确性。因此参与方应采用适当的密钥管理方案,但密钥管理方案超出了本标准的范围。协议的规范描述由以下几部分组成:a)协议选项:协议中使用到的原语和密码函数等;b)操作:协议按照一定顺序执行的步骤。从实现的观点看,这里定义的原语可以看作是底层的实现,密码函数可以看作中层实现,协议可以看作高层或者称为应用层的实现。8.2 原语本标准中原语并不提供安全上的保证,只有当使用这些原语和其他操作构成协议时才能提供基于计算复杂性理论的安全性。原语假设它们的输入符合某些假设,这些假设会在描述原语时列出。只要输入不影响原语实现的进一步操作,原语的实现不强制约束输入必须

30、符合假设。在原语的实现中,出现错误时可以自主决定是否输出错误信息。例如,一个公钥生成原语实现当输入不符合假设时,可以输出一个看起来像是公钥的输出,也可以拒绝输出。这需要原语的使用者来验证输入是否符合前提假设。例如,用户可以选择使用相关的密钥和域参数验证技术。原语规范是功能性规范,而不是接口规范。输入、输出的格式和实现超出了本标准的范围。8.3 协议8.3.1 口令鉴别密钥协商在口令鉴别密钥协商协议中,参与方使用口令(口令相关数据)和私钥与另一参与方的公钥一起产生一个或者多个会话密钥。如果参与方使用相关的口令、密钥和一致的域参数,并且协议正确地完成,则所有参与方能得到相同的会话密钥。同时,口令鉴

31、别与密钥协商协议定义了密钥证实操作,协议参与方互相确认对方已经正确获得会话密钥。口令鉴别密钥协商协议提供以下安全属性:通过协议可以成功的产生一个共享会话密钥,并且不知道口令或者基于口令秘密的实体无法成功执行协议;获得口令相关的公钥和协议中交换的任何信息不能使第三方可以验证对于口令或者口令相关值的猜测或者确定协议产生的共享会话密钥;不知道口令或者口令相关值的参与方在一次协议执行中最多只有一次机会猜测口令或者口令相关的值。6G B/T3 2 2 1 32 0 1 5本标准中的口令鉴别密钥协商协议具有以下形式的操作序列:a)建立有效的域参数;b)根据域参数建立一个或者多个口令及口令相关值;c)根据域

32、参数为参与方选择一个有效的私钥;d)使用P E P K G P或者P K G P操作根据步骤c)产生的私钥建立一个或者多个公钥;e)分发公钥给协议的其他参与方;f)获取其他参与方的公钥;g)选择合适的方法验证域参数和其他参与方的公钥,如果无效则输出“i n v a l i d”并停止操作;h)根据自己的私钥和其他参与方的公钥产生一个共享秘密值;i)使用密钥产生函数根据步骤h)产生的秘密值和域参数产生会话密钥。8.3.2 口令鉴别密钥检索在口令鉴别密钥检索协议中,拥有口令的客户端与至少一个拥有与口令相关的秘密值的服务器交互,最终建立一个或多个长期密钥。为了成功的执行口令鉴别密钥检索协议,客户端仅

33、需要拥有口令值,服务器也仅需要拥有与相关联的秘密值,而不需要知道客户端的口令值或者客户端最终获取的长期密钥。客户端通过与服务器交互并执行密钥检索操作来检索与口令相关联的密钥。口令鉴别密钥检索与口令鉴别密钥协商主要有两个不同点:a)口令鉴别密钥检索建立长期密钥,而口令鉴别密钥协商建立的是临时会话密钥;b)口令鉴别密钥检索为客户端建立的长期密钥对于服务器可能是无法获取的,而口令鉴别密钥协商所建立的临时密钥对于客户端和服务器是共享的。口令鉴别密钥检索和口令鉴别密钥协商同样可以在多服务器的系统中使用,客户端使用口令获取存储在各个服务器的密钥片段并最终检索出密钥。8.4 密码函数本标准定义了适用于口令鉴

34、别与密钥建立协议的散列函数、掩码生成函数、密钥证实函数、乘法元生成函数和密钥导出函数。若在协议中采用本标准之外的函数,用户应对实现的安全性进行分析和评估。9 原语9.1 概述本标准中定义了数据类型转换原语、连带口令公钥生成原语、公钥生成原语、口令验证数据生成原语、随机元素导出原语、秘密值导出原语和密钥检索原语。原语采用通用的方式进行描述,除非特别指明,忽略原语所依赖的密码体制。9.2 数据类型转换原语9.2.1 O S 2 I P对于给定的长度为k的八位位组串M,通过以下步骤或者相当的过程转换成整数i:a)把M按字节分解为Mk-1|Mk-2|M0,其中Mk-1是最左侧的字节,M0是最右侧字节;

35、b)对于所有的j0,k-1,计算i=28jMj;c)输出i。7G B/T3 2 2 1 32 0 1 59.2.2 I 2 O S P对于给定的非负整数i和目标八位位组串长度l,应通过以下步骤或者相当的过程转换成八位位组串M:a)如果i2 5 6l,则输出“整数过大”;b)对于所有的j0,l-1,计算mj=im o d(2 5 6j)(8j);c)设Mj是mj对应的字节表示,则M=Ml-1|Ml-2|M0;d)输出M。9.2.3 I 2 F E P对于给定的整数i0,q-1,应通过以下步骤或者相当的过程转换成有限域G F(q)中的元素j:a)应用I 2 O S P转换i到l o g2 5 6q

36、长度的八位位组串;b)应用O S 2 F E P转换结果八位位组串到域元素j;c)输出j。9.2.4 G E 2 F E P对于给定的群元素e:在离散对数体制中,群元素就是域元素,直接输出域元素e;在椭圆曲线体制中:a)如果e是无穷远点,则输出域元素“0”并停止;b)否则设置域元素xe=e的x坐标;c)输出域元素xe。9.2.5 F E 2 O S P对于给定的有限域G F(q)中的元素e:如果q为奇素数,则e是区间1,q-1 中的整数,则应用I 2 O S P转换e到八位位组串;如果q为2m的形式,则e即是长度为t/8的八位位组串,其中t=l o g2q。9.2.6 O S 2 F E P对

37、于给定的长度为t的八位位组串m:如果q为奇素数,应用O S 2 I P转换m为整数i。若i1,q-1,则输出i;否则输出“e r r o r”;如果q为2m的形式,则把m表示成长度为8t的比特串i。若8tm,则输出i;否则输出“e r r o r”。9.2.7 G E 2 O S P对于给定的有限域G F(q)中的元素e:在离散对数体制中,群元素即是对应域中的域元素,因此输出F E 2 O S P(e);在椭圆曲线体制中:a)计算ex=G E 2 F E P(e);b)输出F E 2 O S P(ex)。9.3 连带口令公钥生成原语9.3.1 P E P K G P-1D L,E CP E P

38、 K G P-1原语使用D L,E C 域参数、参与方私钥和口令生成一个连带口令公钥。8G B/T3 2 2 1 32 0 1 5输入:a)参与方的私钥(整数)s;b)基于口令生成的群元素m;c)与密钥s和群元素m相关的域参数(包括g,r)。假设:私钥s和域参数是有效的,群元素m可以生成r阶群。输出:连带口令公钥w。操作:a)计算一个群元素w=(gs)*m;b)输出w作为连带口令公钥。9.3.2 P E P K G P-2D L,E CP E P K G P-2原语使用D L,E C 域参数、参与方私钥和口令生成一个连带口令公钥。输入:a)参与方的私钥(整数)s;b)基于口令生成的群生成元g;

39、c)与密钥s和群元素g相关的D L,E C 域参数。假设:私钥s和域参数是有效的,群元素g可以生成r阶群。输出:连带口令公钥w。操作:a)计算一个群元素w=gs;b)输出w作为连带口令公钥。9.3.3 D LP E P K G P-3,4-S E R V E RD LP E P K G P-3,4-S E R V E R原语使用D L域参数、服务器私钥和口令验证数据生成一个连带口令公钥。P E P K G P-4-S E R V E R需要一个乘法元生成函数,可选项为MV C F-1。客户端应该使用和服务器相同的MV C F和相关的参数。输入:a)服务器的私钥(整数)s;b)口令验证数据v,其

40、中v是口令限制公钥;c)与密钥s和验证数据v相关的D L域参数(包括gq-1和q)。假设:私钥s、验证数据v和域参数是有效的,gq-1的阶为q-1。输出:连带口令公钥ws,其中ws是域G F(q)的元素。操作:a)计算域元素x=e x p(gq-1,s);b)如下方法计算域元素mv:1)P E P K G P-3:mv=1;2)P E P K G P-4:mv=MV C F();c)计算ws=(vmv+x);d)输出ws。9.3.4 E CP E P K G P-5-S E R V E RE CP E P K G P-5-S E R V E R原语使用E C域参数、服务器私钥和口令验证数据生成

41、连带口令公钥,9G B/T3 2 2 1 32 0 1 5该原语在E CA P KA-4-S E R V E R中使用。该原语需要一个随机元素生成函数作为参数,该参数的可选函数为E CR E D P-1和E CR E D P-2,并应该保证该函数与客户端使用的随机元素生成函数相同。输入:a)服务器的私钥(整数)s;b)口令验证数据v,其中v是口令限制公钥;c)与密钥s和公钥v相关的E C域参数(包括g)。假设:私钥s、公钥v和域参数是有效的。输出:连带口令公钥ws。操作:a)计算八位位组串o1=G E 2 O S P(v);b)计算群元素e1=R E D P(o1);c)计算群元素ws=(gs

42、)*e1;d)输出ws。9.4 公钥生成原语9.4.1 P K G P-1D L,E CP K G P-1使用私钥和域参数来生成公钥。输入:a)私钥(整数)s;b)私钥s相关的域参数(包括g和r)。假设:私钥和相应的域参数有效。输出:与私钥对应的公钥w。操作:公钥w的计算应执行以下两步:a)计算公钥组元素w=gs;b)输出w作为公钥。9.4.2 D LP K G P-2-C L I E N TD LP K G P-2-C L I E NT是离散对数公钥生成原语,该原语根据D L域参数和客户端的私钥生成客户端的公钥,该原语应用在D LA P KA-2,3-C L I E NT。输入:a)客户端的

43、私钥(整数)s;b)与密钥s相关的D L域参数(包括gq-1和q)。假设:私钥s、验证数据v和域参数是有效的,gq-1的阶为q-1。输出:公钥wc,其中wc是G F(q)中的非零元素。操作:a)计算域元素wc=e x p(gq-1,s);b)输出wc。01G B/T3 2 2 1 32 0 1 59.5 口令验证数据生成原语9.5.1 P V D G P-1D L,E CP V D G P-1原语根据域参数和参与方的口令生成口令验证数据,该原语在D L,E CA P KA-1-C L I E NT和 D L,E CA P KA-5-C L I E NT中用来生成口令限制私钥,在D L,E CA

44、 P KA-1-S E R V E R和 D L,E CA P KA-5-S E R V E R中用来生成口令验证数据。该原语需要一个随机元素生成函数和一个散列函数作为参数,其中随机元素生成函数的可选项为D L,E CR E D P-1和D L,E CR E D P-2,散列函数的选择项为1 1.1中定义的散列函数和MG F 1。输入:a)八位位组串口令;b)D L,E C 域参数。输出:口令限制私钥u和口令验证数据,口令验证数据包括阶为r的生成元g和口令限制公钥v。操作:a)计算八位位组串o=h a s h();b)计算私钥(整数)u=O S 2 I P(o)m o dr;c)计算元素g=R

45、 E D P(o);d)计算群元素v=gu;e)输出u和口令验证数据(g,v)。9.5.2 D LP V D G P-2D LP V D G P-2原语根据D L域参数和参与方的口令生成口令验证数据和其他相关值,该原语在D LA P KA-2,3-C L I E NT中用来生产口令限制私钥,在D LA P KA-2,3-S E R V E R中用来生成口令验证数据。D LP V D G P-3需要一个散列函数作为参 数,散列函数的 选择项为1 1.1中 定义的散列 函数和MG F 1。输入:a)八位位组串口令;b)与口令相关的D L域参数(包括gq-1和q)。输出:口令限制私钥u和口令验证数据

46、,口令验证数据包括口令限制公钥v。假设:口令和D L域参数是有效的,gq-1的阶为q-1。操作:a)计算八位位组串o=h a s h();b)计算私钥u=O S 2 I P(o)m o d(q-1);c)计算口令限制公钥v=e x p(gq-1,u);d)输出u和口令验证数据v。9.5.3 E CP V D G P-3E CP V D G P-3原语根据域参数和参与方的口令生成口令验证数据,该原语在E CA P KA-4-C L I-E NT中用来生产口令限制私钥,在E CA P KA-4-S E R V E R中用来生成口令验证数据。11G B/T3 2 2 1 32 0 1 5该原语需要一

47、个散列函数作为参数,散列函数的选择项为1 1.1中定义的散列函数和MG F 1。输入:a)八位位组串口令;b)与口令相关的椭圆曲线域参数(包括g和r)。输出:口令限制私钥u和口令验证数据,口令验证数据v。操作:a)计算八位位组串o=h a s h();b)计算私钥u=O S 2 I P(o)m o dr;c)计算群元素v=gu;d)输出u和口令验证数据v。9.6 随机元素导出原语9.6.1 D LR E D P-1D LR E D P-1是离散对数随机元素生成原语,该原语采用一个散列函数根据一个口令输入选取一个伪随机群元素。该原语可以用在D LB P KA-3,D LA P KA-1,D LA

48、 P KA-5中产生生成元元素,也可以用在D LB P KA-1,D LB P KA-2生成一个掩码元素。该原语需要一个散列函数作为参数,其中散列函数的选择项为1 1.1中定义的散列函数和MG F 1。输入:a)基于口令生成的八位位组串o;b)D L域参数(包括q和k)。输出:选择的r阶的群元素e。操作:a)计算八位位组串o1=h a s h(o);b)计算域元素x=I 2 F E P(O S 2 I P(o1)m o dq);如果x=0,则输出“i n v a l i d”并终止;c)计算域元素e=e x p(x,k);如果e=1,则输出“i n v a l i d”并终止;d)输出e。9.

49、6.2 E CR E D P-1E CR E D P-1原语基于D LR E D P 1,该原语采用一个散列函数根据一个口令输入选取一个伪随机群元素,该元素属于椭圆曲线口令鉴别密钥协商方案所选择的群。该原语可以用在E CB P KA-3,E CA P KA-1,E CA P KA-5中产生生成元元素,也可以用在E CB P KA-1 1,E CB P KA-2生成一个掩码元素。该原语需要一个输出长度为o L e n的散列函数作为参数,其中散列的选择项为1 1.1中定义的散列函数和MG F 1。输入:a)基于口令生成的八位位组串o;b)与o有关的椭圆曲线域参数(包括q,p,m,a,b和k)。输出

50、:选择的有效的r阶的群元素e,或者“i n v a l i d”。操作:a)计算o1=h a s h(o);b)计算i1=O S 2 I P(o1);21G B/T3 2 2 1 32 0 1 5c)计算o L e n长度的八位位组串o2=I 2 O S P(i1);d)计算o3=h a s h(o2);e)计算一个域元素x=I 2 F E P(O S 2 I P(o3)m o dq);如果x=0,输出“i n v a l i d”并终止;f)计算=i1m o d2;g)如果q是偶数,则跳转到第i)步;h)如果q是奇数则:1)设置:如果(p3),则设置=e x p(x,3)+ax+b;如果(p

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

当前位置:首页 > 标准材料 > 电力电气

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

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