标准模型下安全的高效单轮三方密钥交换方法
【技术领域】
[0001] 本发明涉及计算机领域,尤其涉及一种新型标准模型下安全的高效单轮三方密钥 交换方法。
【背景技术】
[0002] 单轮三方密钥交换算法(One-round tripartite key exchange-ORTKE)是一种 为三个以内的用户仅用单轮通信建立共享密钥的密码学原语。每个参与者可以在密钥协商 过程中可以同时发送并且仅仅发送一个消息。ORTKE作为一个密码学组件,可以通过一定的 方法扩展成为安全的群组(超过三方)的密钥交换算法。因此,ORTKE在多用户机密通信 的相关应用中有非常大的实际需求,例如机密的在线视频会议和消息广播等应用。在安全 性方面,本发明设计的单轮三方密钥交换算法具有较强的安全目标,能够防御大多数已知 的密码学攻击,包括:选择消息攻击,长期密钥泄露的模仿攻击,已知会话密钥攻击,未知密 钥共享攻击,临时密钥泄露攻击,以及弱完善的前向安全攻击等。本发明通常把能模拟以上 安全攻击的安全模型称为强安全模型,包括以下类型:
[0003] 标准模型(Standard Model):标准模型更接近真实协议的实现,并不假定理想随 机函数或者理想加密函数的存在,而是使用密码学性质较好的安全的抗碰撞哈希函数或者 伪随机置换。
[0004] 随机预言模型(Random Oracle Model,ROM):该模型将一个密码学原语假定为理 想化的随机均勾函数(随机预言),所有的协议参与者,都可以通过查询(Query)来访问,对 于任意长度的输入,在输出域中均勾选择一个确定性长度的值作为对查询的回答。算法的 安全性证明在这种理想假定下完成。
[0005] 在文南犬[1、Mark Manulis,Koutarou Suzuki,and Berkant Ustaoglu. Modeling leakage of ephemeral secrets in tripartite/group key exchange. ICISC 2009, volume5984of Lecture Notes in Computer Science,pages 16-33. Springer, DeCember2009]中提出了一个强安全的模型g-eCK,该模型能模拟以上提到的安全攻击和 属性。作者同时提出了一个在g-eCK模型下安全的单轮三方密钥交换算法(以下简称MSU 算法)。但是该算法仅仅能在随机预言模型下被证明安全,因此不能反映其在真实环境下的 安全性。
[0006] 还有一种强安全的单轮三方密钥交换算法(简称为LY算法),LY算法是第一个能 在标准模型下(即不基于随机预言模型)被证明强安全的三方密钥交换算法。但是LY算 法的执行效率比较低下,如何提高该算法的执行效率,是一个需要解决的主要问题。
【发明内容】
[0007] 本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种标准模 型下能证明强安全的单轮三方密钥交换方法。
[0008] 为了实现本发明的上述目的,本发明提供了一种标准模型下安全的高效单轮三方 密钥交换方法,其包括如下步骤:
[0009] 步骤1,设置多接收者密钥封装输入的安全参数,根据系统初始化模块产生双线性 群,从所述双线性群中选取元素,生成系统参数;
[0010] 步骤2,根据生成的系统参数,从正整数乘法群中选取每个接收者的私钥,根据选 取的私钥计算公钥;
[0011] 步骤3,根据生成的系统参数,每个用户生成临时公钥对和私钥对,并且将临时公 钥对发送给其它两个用户;
[0012] 步骤4,每个接收者使用自己的长期和临时私钥,并根据接收到的临时公钥计算最 终的会话密钥。
[0013] 所述的标准模型下安全的高效单轮三方密钥交换方法,优选的,所述步骤1包括:
[0014] 生成系统参数的步骤为:
[0015] 输入安全参数Γ,其中,Γ表示μ个连续的1,所述μ为正整数;
[0016] 产生双线性群〇=(6^,61,?,6),其中,其中?是一个足够大的素数,(6,61)为以 P为秩的群,g为群G的生成元素,e为对称双线性运算e :GXG - Gt,所述下标T为目标的 缩写;
[0017] 从群 G 中随机选取元素(u。,U1, u2, u3) e RG,并计算(U。,U1, U2, U3) := (e(u。,g), e (U1, g),e (u2, g),e (u3, g),e (g,g)),所述 Uq-U3S双线性映射运算值;
[0018] 生成伪随机函数PRF( ·,·):GTX {0, lK- Kake,其中Kake为会话密钥分布空间;
[0019] 随机产生一个抗目标冲突的哈希函数的公钥hk e R KTeRHF,其中所述下 标R为均匀随机选取,Ktcrhf为一个哈希密钥分布空间;抗目标冲突的哈希函数为 TCRHFQik, ·) :KTCRHFXG - Zp,其中Zp为正整数乘法群;返回系统参数pmssys:= (Q,hk,u。, Ul,U2,U3,U〇,Ui,U2,U3) O
[0020] 所述的标准模型下安全的高效单轮三方密钥交换方法,优选的,所述步骤2包括:
[0021] 输入系统参数pmssys;
[0022] 每一个用户ID e UD1, ID2,1?},从不包含0的正整数乘法群中选取一个随机 的长期私钥
[0023] 计算长期公钥
[0024]
[0025] 其中其中 hID为 pk ID,^哈希值 h ID:= TCRHF(pk IDa)。
[0026] 所述的标准模型下安全的高效单轮三方密钥交换方法,优选的,所述步骤3还包 括:
[0027] 输入系统参数pmssys,
[0028] 步骤3-1,选取一个随机临时私钥数M
[0029] 步骤3-2,计算临时公钥为
[0030]
heID:= TCRHF (epk ID>1);
[0031] 步骤3-3,设置密文CID:= (ID,pk ID,印kID),并将该密文广播给其它两个用户。
[0032] 所述的标准模型下安全的高效单轮三方密钥交换方法,优选的,所述步骤4包括:
[0033] 给定系统参数,密文 CID: = (ID,pk ID,epkID)
[0034] 步骤 4-1,计算 hID:= TCRHF(pk IDa)和 heID:= TCRHF(epk m),如果
止运算;
[0035] 步骤4-2,计算会话密钥
[0036]
为会话标识符,它由所有参与者的身份标识符ID和相关长期和临时公钥组成,即 [0039]
[0040] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0041] 本发明的密钥生成算法效率最高,对于使用者来说,在特定群体环境中能够保证 该特定群体通信和交流的安全性,防止外界攻击和破解该特定群体的通信交流活动。
[0042] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0043] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0044] 图1是本发明标准模型下安全的高效单轮三方密钥交换方法流程图。
【具体实施方式】
[0045] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0046] 在本发明的描述中,需要理解的是,术语"纵向"、"横向"、"上"、"下"、"前"、"后"、 "左"、"右"、"竖直"、"水平"、"顶"、"底" "内"、"外"等指示的方位或位置关系为基于附图所 示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装 置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限 制。
[0047] 在本发明的描述中,除非另有规定和限定,需要说明的是,术语"安装"、"相连"、 "连接"应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可 以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据 具体情况理解上述术语的具体含义。
[0048] 如图1所示,本发明提供了一种标准模型下安全的高效单轮三方密钥交换方法, 其关键在于,包括如下步骤:
[0049] 步骤1,设置多接收者密钥封装输入的安全参数,根据系统初始化模块产生双线性 群,从所述双线性群中选取元素,生成系统参数;
[0050] 步骤2,根据生成的系统参数,从正整数乘法群中选取每个接收者的长期私钥,根 据选取的长期私钥计算长期公钥;
[0051] 步骤3,根据系统参数,计算临时公钥私钥对;
[0052] 步骤4,每个接收者使用自己的长期和临时私钥,对收到的临时公钥进行密码学运 算,从而计算最终的会话密钥。
[0053] 一、符号说明。
[0054] 本发明首先简要介绍一下必要的基本概念。本发明用正整数μ表示安全参数以 及Γ表示由μ个连续的1。本发明用[η] = {1,...,η}来表示1到η之间所有的正整数。 假设S为一个集合,那么本发明用公式a e R S来表示从集合S