高效广播加密与个性化消息及CCA安全公钥加密方案解析
在当今的信息时代,数据的安全传输和加密技术至关重要。本文将深入探讨高效广播加密与个性化消息传输方案,以及一种易于理解的实现选择密文安全(CCA)的公钥加密方案。
高效广播加密与个性化消息方案对比
在广播加密领域,有多种方案可供选择,不同方案在各方面表现存在差异。以下是日本数字广播的条件访问系统(CAS)、使用Boneh - Gentry - Waters方案的条件访问系统(BGW)以及我们提出的使用BEPM的条件访问系统的对比:
| 方案 | 低成本密钥管理 | 轻松访问控制 | 个性化消息传输 |
| — | — | — | — |
| CAS | ⋆ | ⋆⋆ | ⋆⋆⋆⋆ |
| BGW | ⋆⋆⋆ | ⋆⋆⋆ | ⋆⋆⋆ |
| 我们的方案 | ⋆⋆⋆ | ⋆⋆⋆ | ⋆⋆⋆ |
从表格中可以看出,我们的方案在低成本密钥管理和轻松访问控制方面表现出色,与BGW相当且优于CAS。在个性化消息传输方面,也有不错的表现。
在带宽方面,我们的方案和CAS传输个性化信息所需带宽均约为300 kbps。假设K每两秒更新一次,G的元素大小为160位,我们的方案传输头部所需带宽为160 bps,系统访问控制的总带宽约为300 kbps,与CAS的总带宽差异仅为128 bps,可忽略不计。
在密文大小方面,假设G的表示为160位,10,000个用户可解密一份内容(|S| = 10,000),BGW和我们系统的头部大小分别为1.6 Mbits和320 bits,我们的系统在密文大小上效率远高于BGW。
对于CCA安全,我们的BEPM方案在决策BDHE假设下是IND - CPA安全的。日本数字广播使用的CAS系统中,安全模块(智能卡)分发给每个用户并插入终端,广播者加密用户合同信息并传输,但个性化消息只能在安全模块中解密,不存在解密预言机,因此我们的方案无需考虑CCA安全。
实现选择密文安全的公钥加密方案
背景与动机
在实际通信系统中,选择密文(CCA)安全是公钥加密(PKE)方案的事实上的标准安全概念,但CCA安全PKE方案的基本机制通常只有专家容易理解,这使得开发者在实现新方案时有所顾虑。特别是Cramer - Shoup方案,其在决策Diffie - Hellman(DDH)假设下实现CCA安全的机制不够直观。因此,有必要以更易于理解的方式呈现处理CCA安全的基本机制。
我们的贡献
我们提出了一种新的PKE方案,旨在追求一种更易于理解的结构来处理DDH假设下的CCA安全。该方案基于Hanaoka等人的方案构建,将其修改为在DDH假设下可证明安全,这有助于理解现有基于DDH的PKE方案的基本机制。进一步修改后,该方案与Cramer - Shoup方案的无哈希变体非常相似,说明我们的方案很好地解释了现有基于DDH方案的基本机制。
相关工作
- 90年代初,Dolev、Dwork和Naor通过扩展Naor - Yung范式提出了第一个CCA安全的PKE方案。
- 七年后,Cramer和Shoup在DDH假设下提出了第一个实用的CCA安全方案。
- 又过了六年,Kurosawa和Desmedt发现了其显著改进的变体。
- 后来,Cash、Kiltz和Shoup引入了双Diffie - Hellman问题的概念,提出了Cramer - Shoup方案的变体,安全证明更简单。
- Hanaoka和Kurosawa提出了另一个方案,并通过拉格朗日插值解释其CCA安全。
- Hanaoka、Imai、Ogawa和Watanabe提出的PKE方案安全证明简短,但需要间隙Diffie - Hellman假设。
- 最近,Peikert和Waters提出了基于有损陷门函数构建CCA安全PKE方案的方法,Rosen和Segev、Kiltz、Mohassel和O’Neill进一步放松了要求。
定义
-
密钥封装机制(KEM)
:为简化起见,将PKE方案定义为KEM。一个KEM方案由以下三个算法组成:
- Setup(1k):输入安全参数1k,输出解密密钥dk和公钥PK。
- Encapsulate(PK):输入公钥PK,输出密文ψ和相应的会话密钥K ∈ K。
- Decapsulate(dk, ψ, PK):输入解密密钥dk、密文ψ和公钥PK,输出会话密钥K ∈ K或特殊符号“⊥”。
CCA安全的KEM方案通过以下游戏(IND - CCA游戏)定义:
graph LR
A[挑战者和攻击者输入1k] --> B[挑战者运行Setup(1k)得到dk和PK,给攻击者PK]
B --> C[挑战者运行Encapsulate得到挑战密文和会话密钥,设置K0 = K⋆,随机选K1,选b,给攻击者(ψ⋆, Kb)]
C --> D[攻击者自适应发出解密查询ψ1, ..., ψqD,挑战者用Decapsulate响应]
D --> E[攻击者输出猜测b′,若b = b′则获胜]
- 决策Diffie - Hellman假设 :设G是一个素数阶p的乘法群,决策Diffie - Hellman(DDH)问题是指对于算法A,若满足一定条件,则称A在解决G中的DDH问题时有优势ϵ。若没有τ时间算法在解决G中的DDH问题时有至少ϵ的优势,则称(τ, ϵ) - DDH假设在G中成立。
提出的方案
- 高层概述 :我们的方案与Hanaoka - Imai - Ogawa - Watanabe方案相似,但在密文中添加了更多冗余组件,消除了安全证明中对DDH预言机的需求,可在标准DDH假设下证明安全,类似于[5]中的孪生技术。
-
构造 :设G是素数阶p的乘法群,g是生成元,群元素为k位长。我们提出的KEM方案构造如下:
- Setup(1k):随机选择dk = ((xi, ¯xi, yi, ¯yi)1≤i≤k, z) ∈ Z4k + 1p,计算(Xi, ¯Xi, Yi, ¯Yi) = (gxi, g¯xi, gyi, g¯yi)和Z = gz,解密密钥为dk,公钥为PK = (G, g, (Xi, ¯Xi, Yi, ¯Yi)1≤i≤k, Z)。
- Encapsulate(PK):随机选择r ∈ Zp,计算ψ = (gr, (U r i, ¯Ui r)1≤i≤k),K = Zr,其中(Ui, ¯Ui)根据vi的值选择,vi是(gr)2的第i位。
- Decapsulate(dk, ψ, PK):对于密文ψ = (C0, (Ci, ¯Ci)1≤i≤k),检查是否满足一定条件,若不满足输出“⊥”,否则输出K = Cz 0。
-
安全 :定理表明,在G中(τ, ϵddh) - DDH假设成立的情况下,上述方案是(τ - o(τ), ϵddh + qD/p, qD) CCA安全的。安全证明的策略是构造一个算法B,对于给定的DDH实例,通过设置公钥和挑战密文,迫使攻击者A解决DDH问题。B通过设置冗余组件和测试函数来处理A的解密查询,区分有效和无效的密文。
综上所述,我们的高效广播加密与个性化消息方案在多个方面表现出色,而新的公钥加密方案为实现DDH假设下的CCA安全提供了更易于理解的结构,有助于相关领域的研究和应用。
高效广播加密与个性化消息及CCA安全公钥加密方案解析
安全证明详细过程
安全证明策略概述
为了证明方案的CCA安全性,我们构建了一个算法B,它的任务是针对给定的DDH实例(g, Z, gr⋆, R),判断R是Zr⋆还是G中的随机元素T。算法B会与试图破坏我们提出方案CCA安全性的攻击者A进行交互。通过将公钥设置为PK = (· · ·, Z),挑战密文设置为ψ⋆ = (gr⋆, · · ·),B可以迫使A去解决给定的DDH问题,因为ψ⋆对应的会话密钥是Zr⋆。然而,问题在于B在不知道z = logg Z的情况下,需要对A的解密查询做出响应。为了解决这个问题,B在PK中设置冗余组件Xi(或Yi)为Xi = Zc(或Yi = Zc),其中c是一个随机盲因子。这样一来,如果A的解密查询是有效的,它总是会形成ψ = (gr, · · ·, U r i, · · ·)的形式,因此B可以计算出正确答案Zr = (U r i) 1/c并响应给A。此外,通过引入测试函数,B能够区分有效和无效的解密查询。
算法B的具体实现步骤
- 初始化测试函数 :对于给定的DDH实例(g, Z, gr⋆, R),B随机选择(ai, bi, ci, di, ei)1≤i≤k ∈ Z5k p,并设置测试函数testi,使得testi(x, y) = xdiyei。同时,计算(gr⋆)2的第i位v⋆ i,其中1 ≤ i ≤ k。
-
设置公钥和挑战密文 :
- 根据v⋆ i的值,B设置Ti = testi(Zci, g),并确定(Xi, ¯Xi, Yi, ¯Yi)的值。如果v⋆ i = 0,则(Xi, ¯Xi, Yi, ¯Yi) = (gai, gbi, Zci, Ti);如果v⋆ i = 1,则(Xi, ¯Xi, Yi, ¯Yi) = (Zci, Ti, gai, gbi)。
-
然后,B将公钥PK = (G, g, (Xi, ¯Xi, Yi, ¯Yi)1≤i≤k, Z)、挑战密文ψ⋆ = (gr⋆, ((gr⋆)ai, (gr⋆)bi)1≤i≤k)以及真实/随机密钥R提供给A。公钥和挑战密文的结构如下表所示:
| 元素 | 结构 |
| — | — |
| PK | (G, g, (Xi, ¯Xi, Yi, ¯Yi)1≤i≤k, Z) |
| ψ⋆ | (gr⋆, ((gr⋆)ai, (gr⋆)bi)1≤i≤k) |
-
处理解密查询 :当A发起解密查询ψ = (C0, (Ci, ¯Ci)1≤i≤k) ∈ G2k + 1时(如果查询格式不符合要求,B直接拒绝),B会执行以下操作:
- 检查vi = v⋆ i的情况 :对于所有vi = v⋆ i的i,B检查是否有(Ci, ¯Ci) = (Cai 0, Cbi 0)。如果不满足该条件,B拒绝该查询。因为当vi = v⋆ i时,(Ui, ¯Ui) = (gai, gbi),所以有效的密文必然满足这个等式。
- 检查vi ≠ v⋆ i的情况 :对于所有vi ≠ v⋆ i的i,B检查是否有¯Ci = testi(Ci, C0)。如果不满足该条件,B拒绝该查询。因为当vi ≠ v⋆ i时,(Ui, ¯Ui) = (Zci, Ti),所以有效的密文一定满足这个等式。
- 计算并响应会话密钥 :如果查询没有被拒绝,B选择一个vi ≠ v⋆ i的i(因为如果ψ ≠ ψ⋆,这样的i总是存在的),计算K′ = C1/ci i,并将其作为响应返回给A。
-
输出猜测结果 :最后,当A输出猜测结果b′时,B也将b′作为自己的猜测结果输出。
优势估计与引理证明
设Win表示A在IND - CCA游戏中成功猜测b的事件,Invalid表示A提交一个满足等式(1)的无效密文的事件。如果Invalid事件不发生,B的模拟是完美的。B的优势估计如下:
1. 首先,根据概率的基本性质,有:
1/2|Pr[B(g, Z, gr⋆, Zr⋆) = 0] - Pr[B(g, Z, gr⋆, T ) = 0]| ≥ |Pr[Win ∧ Invalid] - 1/2|
2. 然后,利用概率的加法公式,得到:
|Pr[Win ∧ Invalid] - 1/2| ≥ |Pr[Win] - Pr[Invalid] - 1/2|
3. 最后,进一步推导可得:
|Pr[Win] - Pr[Invalid] - 1/2| ≥ |Pr[Win] - 1/2| - Pr[Invalid]
为了完成证明,我们需要证明以下引理:
引理1 :Pr[Invalid] ≤ qD/p。
证明 :由于最多有qD个解密查询,因此只需要证明对于一个查询,B未能拒绝无效密文的概率最多为1/p。不失一般性,对于一个无效的解密查询ψ = (C0, (Ci, ¯Ci)1≤i≤k),我们可以假设对于某个r和r′(r′ ≠ 0),存在索引j使得C0 = gr + r′且Cj = U r j。注意到testj(Cj, C0) = ¯Uj r · (gr′)ej。由于ej在信息论上对A是隐藏的,并且¯Uj r · (gr′)ej根据ej的p个不同值会取p个不同的值,所以A预测¯Uj r · (gr′)ej的值的概率最多为1/p。这意味着A无法有效地提交满足等式(1)的无效密文,从而证明了引理。
方案特点总结
- 高效广播加密与个性化消息方案 :在低成本密钥管理、轻松访问控制和个性化消息传输等方面表现出色,与传统方案相比具有明显优势。在带宽和密文大小方面也具有较高的效率,与日本数字广播的CAS系统相比,总带宽差异可忽略不计,且在密文大小上远优于BGW方案。
-
实现选择密文安全的公钥加密方案
:
- 易于理解 :结构和安全证明简单,非专家也能轻松理解,有助于开发者和初学者理解Cramer - Shoup密码系统及其变体的工作原理。
- 基于DDH假设 :在决策Diffie - Hellman(DDH)假设下可证明CCA安全,为处理CCA安全提供了一种新的、更直观的方法。
- 可扩展性 :基于Hanaoka等人的方案进行改进,通过添加冗余组件,消除了对DDH预言机的需求,具有一定的可扩展性。
实际应用展望
- 广播加密领域 :高效广播加密与个性化消息方案可应用于数字广播、视频流服务等领域,确保用户能够安全地接收个性化的内容,同时实现高效的密钥管理和访问控制。
- 通信安全领域 :实现选择密文安全的公钥加密方案为实际通信系统提供了一种更易于理解和实现的CCA安全解决方案,可应用于网络通信、电子商务等领域,保障数据的安全性和完整性。
综上所述,我们的方案在广播加密和公钥加密领域具有重要的理论和实际应用价值,为相关领域的研究和发展提供了新的思路和方法。未来,我们可以进一步探索这些方案的优化和扩展,以适应不断变化的安全需求。
graph LR
A[初始化测试函数] --> B[设置公钥和挑战密文]
B --> C[处理解密查询]
C --> D[输出猜测结果]
C1[检查vi = v⋆ i] --> C
C2[检查vi ≠ v⋆ i] --> C
C3[计算并响应会话密钥] --> C
以上流程图展示了算法B处理解密查询的主要步骤,从初始化到最终输出猜测结果,各个步骤紧密相连,确保了方案的安全性和有效性。
超级会员免费看
46

被折叠的 条评论
为什么被折叠?



