42、关联数据融入方法的创新与优化

关联数据融入方法的创新与优化

在密码学领域,认证加密(AE)方案中关联数据(A)的融入方式一直是研究的重点。本文将介绍几种新颖的构造方法,以及对现有方案的综合研究和参数设计选择。

新构造方法
  • 并发吸收方法 :这是一种海绵构造特有的新颖操作模式。其基本思想是在速率部分吸收消息 M 的同时,在容量部分并发地吸收关联数据 A。该方法能将置换调用次数从 (|A| + |M|)/r 改进为 max{|A|/c, |M|/r}。在许多协议中,|A| 通常较小,例如 160 位,此时成本仅为 |M|/r 次 f 调用。其伪代码如下:
1: function EK(N, A, M)
2:    L ← ⌈(|M| + 1)/r⌉
3:    [M[1], M[2], · · · , M[L]] ← M ∥ 10∗
4:    [A[1], A[2], · · · , A[L]] ← A ∥ 10∗
5:    [C[0], Y ′[0]] ← (N, K)
6:    for i = 1 to L do
7:        (X[i], Y [i]) ← f([C[i - 1], Y ′[i - 1]])
8:        C[i] ← X[i] ⊕ M[i]
9:        Y ′[i] ← Y [i] ⊕ A[i]
10:    end for
11:    L′ ← ⌈(|A| + 1)/c⌉
12:    if L′ ≤ L then
13:        (T, Y [L + 1]) ← f([C[L], 2Y ′[L]])
14:    else
15:        (X[L + 1], Y [L + 1]) ← f([C[L], Y ′[L]])
16:        for i = L + 1 to L′ - 1 do
17:            Y ′[i] ← Y [i] ⊕ A[i]
18:            (X[i + 1], Y [i + 1]) ← f([X[i], Y ′[i]])
19:        end for
20:        Y ′[L′ + 1] ← Y [L′] ⊕ A[L′]
21:        (T, Y [L′ + 1]) ← f([X[L′], 2Y ′[L′]])
22:    end if
23:    C ← [C[1] ∥ · · · ∥ C[L]]|M|
24:    return (C, T)
25: end function

1: function DK(N, A, C, T)
2:    L ← ⌈(|C| + 1)/r⌉
3:    [C[1], C[2], · · · , C[L]] ← C
4:    [A[1], A[2], · · · , A[L]] ← A ∥ 10∗
5:    [C[0], Y ′[0]] ← (N, K)
6:    for i = 1 to L do
7:        (X[i], Y [i]) ← f([C[i - 1], Y ′[i - 1]])
8:        M[i] ← X[i] ⊕ C[i]
9:        Y ′[i] ← Y [i] ⊕ A[i]
10:    end for
11:    L′ ← ⌈(|A| + 1)/c⌉
12:    if L′ ≤ L then
13:        (T ′, Y [L + 1]) ← f([C[L]∥X[L]]r−|C[L]|, 2Y ′[L])
14:    else
15:        (X[L + 1], Y [L + 1]) ← f([C[L]∥X[L]]r−|C[L]|, Y ′[L])
16:        for i = L + 1 to L′ - 1 do
17:            Y ′[i] ← Y [i] ⊕ A[i]
18:            (X[i + 1], Y [i + 1]) ← f([X[i], Y ′[i]])
19:        end for
20:        Y ′[L′ + 1] ← Y [L′] ⊕ A[L′]
21:        (T ′, Y [L′ + 1]) ← f([X[L′], 2Y ′[L′]])
22:    end if
23:    M ← [M[1] ∥ · · · ∥ M[L]]|C|
24:    if T ′ = T then
25:        return (C, T)
26:    else
27:        return ⊥
28:    end if
29: end function
  • 基于海绵的密文转换 :将 Rogaway 提出的密文转换技术具体化为海绵构造。基本思想是结合 SpongeWrap 和 donkeySponge,使用 donkeySponge 对关联数据 A 进行哈希处理,同时使用相同的密钥对 A 进行哈希和对消息 M 进行加密。通过使用初始值 0 对 A 进行哈希,使用非零随机数 N 对 M 进行加密来实现域分离。
  • donkeyHeaderTrailer 构造 :通过 donkeySponge 构造改进了 SpongeWrap 中处理头部和尾部的效率。关联数据 A 同时在速率和容量部分被吸收,将置换调用次数从 |A|/r 减少到 |A|/(r + c)。该构造的域分离较为复杂,需要特殊的填充 10∗1 来包装 A′ 和 A′′,并在加密 M 结束时对容量值进行乘以 2 的操作。
安全定义
  • 对抗模型 :给予对手 A 对原语预言机 f(·)、f⁻¹(·) 以及加密预言机 EK(·, ·, ·) 和解密预言机 DK(·, ·, ·, ·) 的访问权限。分别用 qf、qE、qD 表示 A 对这些预言机的查询次数,用 σE、σD 表示对预言机查询的总复杂度。
  • 隐私性 :AE 方案 Π = (E, D) 的隐私性定义为真实世界和随机世界之间的不可区分性。真实预言机是加密算法 EK(·, ·, ·),随机预言机是 $(·, ·, ·),它在收到查询 (N, A, M) 时返回一个适当长度的新鲜随机字符串。定义 Advpriv_Π(A) := Pr[AEK,f,f⁻¹ = 1] - Pr[A$,f,f⁻¹ = 1]。
  • 真实性 :AE 方案 Π = (E, D) 的真实性定义为在上述对抗模型中的不可伪造性。定义 Advauth_Π(A) := Pr[AEK,DK,f,f⁻¹ 伪造],其中“伪造”指解密预言机 DK(·, ·, ·, ·) 返回非拒绝符号 ⊥ 的事件。
安全证明

以并发吸收方法为例进行安全证明。在理想模型中,将底层原语 f 视为随机置换。
- 并发吸收的隐私性
- 定理 1:设 Π = (E, D) 为并发吸收方案,则有 Advpriv_Π(A) ≤ 3(qf + σE)² / 2^(r + c + 1) + √(8eqfσE / 2^(r + c)) + (r + 1)qf + σE / 2^c,其中 e = 2.71… 是自然对数的底数。
- 证明思路:首先进行 PRP - PRF 切换,将随机置换 f 替换为独立随机函数 g 和 g⁻¹,此切换成本为 (qf + σE)² / 2^(r + c + 1)。定义“guess”和“hit”事件,若这些事件不发生,则 AE,g,g⁻¹ 和 A$,g,g⁻¹ 相同,因此 Advpriv_Π(A) ≤ Pr[guess ∨ hit]。通过引入“key”和“multi”事件,对 Pr[guess ∨ hit] 进行进一步界定,最终得到所需的安全边界。
- 并发吸收的真实性
- 定理 2:设 Π = (E, D) 为并发吸收方案,则有 Advauth_Π(A) ≤ (qf + σE + σD)² / 2^(r + c + 1) + √(8eqfσE / 2^(r + c)) + (r + 1)qf + σE + σD / 2^c + (qf + σE + σD)σD / 2^c + qD / 2^r。
- 证明思路:重新定义“guess”和“hit”事件,通过对这些事件的概率进行分析和界定,结合伪造成功的不同情况,最终完成证明。

现有方案调查

在 CAESAR 中提出了几种基于海绵的 AE 方案,包括 Ascon、CBEAM、ICEPOLE、Keyak、NORX、PRIMATEs(GIBBON 和 HANUMAN)和 STRIBOB。这些方案的参数总结如下表:
| 方案 | b | r | c | r/c | |K| | |N| | 完整性 | 机密性 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| Ascon - 96 | 320 | 128 | 192 | 2/3 | 96 | 96 | 96 | 96 |
| Ascon - 128 | 320 | 64 | 256 | 1/4 | 128 | 128 | 128 | 128 |
| CBEAM | 256 | 66 | 190 | 1/3 | 128 | 64 | 63 | 127 |
| ICEPOLE - 128 | 1280 | 1026 | 254 | 4 | 128 | 128 | 128 | 128 |
| ICEPOLE - 128a | 1280 | 1026 | 254 | 4 | 128 | 96 | 128 | 128 |
| ICEPOLE - 256a | 1280 | 962 | 318 | 3 | 256 | 96 | 128 | 256 |
| RIVER Keyak | 800 | 548 | 252 | 2 | 128 - 224 | 128 | 128 | 128 |
| LAKE Keyak | 1600 | 1348 | 252 | 5 | 128 - 224 | 128 | 128 | 128 |
| NORX 32 | 512 | 320 | 192 | 5/3 | 128 | 64 | 128 | 128 |
| NORX 64 | 1024 | 640 | 384 | 5/3 | 256 | 128 | 256 | 256 |
| GIBBON/HANUMAN | 200/280 | 41 | 159/239 | 1/4/1/6 | 80/120 | 80/120 | 80/120 | 80/120 |
| STRIBOB | 512 | 256 | 254 | 1 | 192 | 128 | 127 | 191 |

这些方案中关联数据 A 的融入方式(包括域分离方式)和容量的利用情况总结如下表:
| 方案 | A 的位置 | 容量利用 |
| ---- | ---- | ---- |
| Ascon | 头部 | 容量初始化为 K||N,初始化后和最终化前异或 0∗∥K 和 K∥0∗,异或一位‘1’进行 A 和 M 的分离 |
| CBEAM | 头部 | 固定几位作为“多路填充”,是帧位的变体 |
| ICEPOLE | 头部 | 固定一位作为帧位 |
| Keyak | 头部/中间 | 固定两位作为帧位 |
| NORX | 头部/尾部 | 初始化时将参数信息异或到容量,所有块中异或两位到容量进行域分离 |
| GIBBON | 头部 | IV 初始化为 0∗∥K∥N,第一次和最后一次置换调用后异或 K∥0∗ |
| HANUMAN | 头部 | 容量不做处理 |
| STRIBOB | 头部 | 固定几位作为“多路填充” |

参数和设计选择
  • 选择 r 和 c 的最佳比例
    • 对于 donkeyHeaderTrailer 和基于海绵的密文转换,A 在每个块的整个 b 位中被吸收,因此 r 和 c 的比例不影响性能,可将容量大小 c 设置为安全参数 κ。
    • 对于并发吸收,需要仔细分析。当 |A| 远小于 |M| 时,最小化容量大小(c = κ)是最佳选择;当 |M| 和 |A| 大小相近时,使用较大的 c 可能更优。例如,在 Ascon - 96 中处理 |A| = |M| = 160 时,将 c 设置为 160 位比设置为 κ = 96 位更高效。一般来说,M 越长,r 可以越大。如果 |M| 至少是 |A| 的 6 倍,则可以将 c 设置为 κ;否则,需要特殊考虑。
  • 根据应用选择最佳构造
    • 资源受限环境 :如果方案设计用于资源受限的环境,最小化置换调用次数可能至关重要,例如为了最小化设备的能耗。在这种情况下,并发吸收方法最能满足需求。
    • 高端环境 :在具有足够内存的高端环境中,并发吸收方法中 A 和 M 需同时到达的问题可以通过存储先到达的 A 或 M 来解决,此时使用并发吸收方法最小化置换调用次数是最佳策略。
    • A 为固定值的协议 :如果 A 在协议中是固定值,通过存储和重用 A 之后的中间值可以提高性能。基于海绵的密文转换适合这种场景,因为它可以分别处理 A 和 M。

综上所述,这些新的构造方法和对现有方案的综合研究为认证加密方案中关联数据的融入提供了更高效、更安全的选择,同时在参数设计和构造选择上也提供了灵活的策略,以适应不同的应用场景。

关联数据融入方法的创新与优化

进一步优化处理关联数据的研究

除了上述的新构造方法和参数设计选择,还可以通过一些技术进一步优化关联数据 A 的处理。
- 应用非ce stealing 技术 :将 nonce stealing 技术应用于基于海绵的 AE 方案。由于基于置换的 AE 方案中 IV 的大小通常比基于块密码的 AE 方案大,因此 nonce stealing 技术在基于海绵的 AE 方案中能更有效地工作。具体操作是在一定条件下,重复使用 nonce 来减少对随机数生成的依赖,从而提高处理效率。
- 提出“key translation”技术 :提出一种名为“key translation”的新技术,用于在初始化阶段处理更多的关联数据 A。该技术的核心思想是通过对密钥进行转换,使得在初始化过程中能够吸收更多的 A 数据,从而减少后续处理阶段的工作量。

对现有方案的影响分析

通过应用上述新方法和技术,对现有的基于海绵的 AE 方案产生了不同程度的影响。
- 性能提升 :对于一些原本处理关联数据效率较低的方案,如在处理 A 时需要较多置换调用的方案,并发吸收方法和 donkeyHeaderTrailer 构造能够显著减少置换调用次数,从而提高整体性能。例如,在某些方案中,使用并发吸收方法后,置换调用次数从原来的 (|A| + |M|)/r 降低到 max{|A|/c, |M|/r},性能提升明显。
- 安全性保障 :所有新构造方法都证明了与之前工作相同的安全边界,确保了在提高性能的同时不牺牲安全性。例如,在并发吸收方法的安全证明中,通过严格的数学推导,证明了其隐私性和真实性的安全边界与原海绵方案相近。
- 适应性增强 :不同的构造方法适用于不同的应用场景,使得现有方案能够更好地适应多样化的需求。如基于海绵的密文转换适合处理关联数据为固定值的协议,而并发吸收方法在资源受限环境或高端环境中都有较好的表现。

mermaid 流程图示例

以下是并发吸收方法的加密流程 mermaid 流程图:

graph TD;
    A[开始] --> B[初始化 L, M 分块, A 分块, C[0], Y'[0]];
    B --> C{循环 i = 1 to L};
    C -- 是 --> D[计算 (X[i], Y [i]) = f([C[i - 1], Y ′[i - 1]])];
    D --> E[计算 C[i] = X[i] ⊕ M[i]];
    E --> F[计算 Y ′[i] = Y [i] ⊕ A[i]];
    F --> C;
    C -- 否 --> G[计算 L'];
    G --> H{判断 L' ≤ L};
    H -- 是 --> I[(T, Y [L + 1]) = f([C[L], 2Y ′[L]])];
    H -- 否 --> J[(X[L + 1], Y [L + 1]) = f([C[L], Y ′[L]])];
    J --> K{循环 i = L + 1 to L' - 1};
    K -- 是 --> L[计算 Y ′[i] = Y [i] ⊕ A[i]];
    L --> M[(X[i + 1], Y [i + 1]) = f([X[i], Y ′[i]])];
    M --> K;
    K -- 否 --> N[计算 Y ′[L′ + 1] = Y [L′] ⊕ A[L′]];
    N --> O[(T, Y [L′ + 1]) = f([X[L′], 2Y ′[L′]])];
    I --> P[拼接 C];
    O --> P;
    P --> Q[返回 (C, T)];
    Q --> R[结束];
总结与展望

本文介绍了几种新的构造方法,包括并发吸收方法、基于海绵的密文转换和 donkeyHeaderTrailer 构造,这些方法有效地提高了认证加密方案中关联数据的处理效率。同时,通过对现有基于海绵的 AE 方案的调查和分析,给出了参数设计和构造选择的建议,以适应不同的应用场景。此外,还提出了 nonce stealing 和 key translation 等优化技术,进一步提升了关联数据处理的性能。

未来的研究方向可以集中在以下几个方面:
- 探索更高效的构造方法 :继续研究和开发新的构造方法,以进一步减少置换调用次数和提高处理效率。
- 优化安全证明方法 :寻找更简洁、更严格的安全证明方法,确保新方案的安全性得到充分保障。
- 拓展应用场景 :将这些新方法和技术应用到更多的实际场景中,如物联网、云计算等领域,以满足不同领域对认证加密的需求。

通过不断的研究和创新,相信在认证加密方案中关联数据的融入问题将得到更完美的解决,为信息安全提供更坚实的保障。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值