可加同态环-LWE掩码方案:保障环-LWE解密安全的新途径
1. 引言
如今广泛应用的多数公钥密码体制,难以抵御量子计算机的攻击。Shor算法能利用量子计算机在多项式时间内破解RSA、离散对数和椭圆曲线密码体制。美国国家安全局(NSA)已宣布量子计算对现有公钥基础设施构成威胁,并建议向抗量子公钥算法过渡。
近年来,基于计算问题的公钥密码系统取得显著进展,这些问题即使在强大的量子计算机面前也能保持安全。Regev的学习误差(LWE)问题及其环变体,即环-LWE问题,在公钥加密、密钥交换、数字签名和同态加密方案的设计中变得非常流行。与椭圆曲线密码学(ECC)算法相比,基于环-LWE的加密和数字签名方案速度更快,实现相对容易。
然而,基于环-LWE的密码学对侧信道攻击缺乏内在保护。侧信道攻击,如差分功耗分析(DPA),可以通过观察设备的瞬时功耗、电磁辐射或时序信息来提取秘密信息。掩码是一种有效的对抗DPA的方法,但会带来面积、时间和能量开销。在公钥密码系统中,解密操作通常是DPA保护的主要目标。
此前有一种CHES 2015方法,通过将秘密密钥拆分为两个份额并使用定制的掩码解码器来保护环-LWE解密。而本文提出了一种新的掩码方案,利用现有环-LWE加密的可加同态性质,通过加密随机消息来计算掩码,以保护环-LWE解密操作中的秘密密钥。
2. 背景
2.1 环-LWE加密方案概述
文献中有多种基于环-LWE问题的加密方案,本文选用Lyubashevsky、Peikert和Regev(LPR)提出的方案。该方案的主要操作包括密钥生成、加密和解密,涉及消息编码、离散高斯采样、多项式加减乘和译码等基本操作。
- 密钥生成 :从离散高斯分布中采样生成两个多项式r和s,计算p = r - g * s,其中g是全局已知的基多项式。输出s作为秘密密钥,p作为公钥。
- 加密 :将n位输入明文编码为环元素¯m,生成三个误差多项式e1、e2和e3作为噪声。密文是一对多项式(c1, c2),其中c1 = g * e1 + e2,c2 = p * e1 + e3 + ¯m。
- 解密 :使用秘密密钥s计算中间消息˜m = c1 * s + c2,然后进行译码操作以恢复原始明文位。最简单的译码器将˜m的每个系数与q/2进行比较,若距离小于q/4则返回1,否则返回0。
多数实现使用数论变换(NTT)来加速多项式乘法。在某些实现中,密文保持在NTT域以减少NTT和逆NTT(INTT)的次数。
2.2 CHES 2015方法回顾
该方法通过将秘密密钥s拆分为两个份额s′和s′′,进行掩码解密。具体步骤如下:
1. 计算a′ = INTT(c1 · s′ + c2)
2. 计算a′′ = INTT(c1 · s′′)
3. 输出掩码位和掩码消息位对(m′, m′′) = masked - decoder(a′, a′′)
随机拆分s可以在系数乘法期间对抗DPA,但掩码解码器块是主要难点。该块在掩码域中执行阈值计算,需要使用查找表检查规则是否满足,若不满足则刷新份额。为了实现高成功率的恒定时间译码,需要进行16次刷新操作。
3. 可加同态环-LWE掩码方案
3.1 核心思想
LPR加密方案具有可加同态性,即对于任意两个对应于相同公钥下m和m′加密的密文(c1, c2)和(c′1, c′2),(c1 + c′1, c2 + c′2)将是(m ⊕ m′)的加密。可以得到等式:decryption(c1, c2) ⊕ decryption(c′1, c′2) = decryption(c1 + c′1, c2 + c′2)
这种可加同态性可用于随机化解密操作的计算。
3.2 随机化解密步骤
为了对(c1, c2)进行随机化解密,实现步骤如下:
1. 内部生成一个对手未知的随机消息m′。
2. 将m′加密为(c′1, c′2)。
3. 执行decryption(c1 + c′1, c2 + c′2)以恢复m ⊕ m′。
得到的掩码恢复消息是元组(m′, m ⊕ m′)。这种方法的优点是不需要额外的硬件或软件来进行最终的译码操作,适用于硬件和软件实现。但缺点是需要额外的加密操作,并且会增加解密失败率。
4. 讨论
4.1 分析
- 一阶DPA :该对策可以看作是密文盲化。由于没有攻击者已知或控制的输入与秘密密钥s混合,直接的一阶DPA攻击并不适用,但更精细的一阶DPA攻击仍然可能有效。
- 一阶攻击 :密钥未被掩码,因此不声称具有理论上的一阶安全性。随机化使得攻击者更难建模功耗,但仍存在一定的熵损失风险。不过,由于s在NTT域中处理,s[i] = 0的概率为1/q,通常影响较小。但在乘法内部的中间结果可能会带来更严重的后果,因此需要底层硬件确保中间结果足够嘈杂,难以被利用。
4.2 与以往工作的比较
| 比较项 | 本文方案 | CHES 2015方法 |
|---|---|---|
| 离线预计算 | 允许预计算m′的加密,减少对运行时间的影响 | 不允许预计算 |
| 实现复杂度 | 实现复杂度低,处理中间结果时可避免意外干扰 | 需要仔细实现掩码解码器块,易出现泄漏问题 |
| 是否需要掩码解码器 | 不需要 | 需要 |
在本文的可加同态掩码方案中,解码器的输入是相对于秘密密钥s的正确解密结果的系数,分布在0或q/2附近;而CHES 2015方法中的共享系数不是有效消息的正确解密结果,均匀分布在(Fq, Fq)中,因此需要定制的解码器。
4.3 错误率
LPR加密方案具有概率性,解密可能会失败。在本文的可加掩码方案中,两个密文相加会增加噪声,从而提高解密失败率。通过实验,对于参数集(n, q, σ) = (256, 7681, 4.51),未使用掩码时解密失败率为3.6×10⁻⁵每比特,使用掩码时增加到3.3×10⁻³每比特。
可以通过以下方法补偿解密失败率的增加:
- 将模数q增加一位,由于底层处理器架构为32位,不会减慢软件实现速度。
- 减小离散高斯分布的标准差σ,因为最终噪声与σ²成正比。
5. 实现结果
本文提出的掩码方案适用于硬件和软件实现。使用C99编写了参考实现,其开销包括随机消息生成、额外的加密和系数加法。加密操作是最耗时的,但可以在知道待解密密文之前进行预计算。
6. 实验结果
6.1 实验设置
将参考实现编译后烧录到STM32F407VGT6微控制器上,该控制器具有ARM Cortex - M4核心,运行频率为168 MHz。使用Langer LF - R 400磁场探头收集非接触式功耗测量数据,通过GPIO引脚同步轨迹。
6.2 方法论
首先在关闭随机源的情况下攻击实现,此时计算是确定性的,相当于关闭对策,成功的攻击可以验证实验设置的正确性。然后打开随机源,观察对策带来的安全性提升。
假设攻击者在对某些密钥系数进行假设时,知道其他所有密钥系数,以便预测计算中的深层中间结果。
6.3 实验结果分析
- 掩码关闭 :将32位寄存器的功耗建模为连续值之间的汉明距离,并应用标准CPA攻击。当随机化关闭时,CPA攻击成功,攻击者可以学习到“随机”值并预测中间结果,验证了实验设置的正确性。
- 掩码打开 :重复相同的过程,当随机化打开时,相当于激活对策。目前的实验结果表明,该对策能够有效提高安全性。
下面是环-LWE加密方案主要操作的流程图:
graph TD;
A[密钥生成] --> B[采样r和s];
B --> C[计算p = r - g * s];
C --> D[输出s和p];
E[加密] --> F[编码明文¯m];
F --> G[生成e1, e2, e3];
G --> H[计算c1 = g * e1 + e2];
G --> I[计算c2 = p * e1 + e3 + ¯m];
J[解密] --> K[计算˜m = c1 * s + c2];
K --> L[译码˜m];
L --> M[输出明文];
总之,本文提出的可加同态环-LWE掩码方案为环-LWE解密提供了一种新的安全保护方法,在一定程度上平衡了安全性和实现复杂度,但仍需要进一步优化以降低解密失败率。
可加同态环-LWE掩码方案:保障环-LWE解密安全的新途径
7. 技术细节深入剖析
7.1 可加同态性的数学原理
环-LWE加密方案的可加同态性是本方案的核心基础。从数学角度来看,对于环 $R = F_q[x]/(f(x))$ 上的多项式运算,密文的加法对应着明文的异或操作。设 $m$ 和 $m’$ 是两个明文消息,其对应的密文分别为 $(c_1, c_2)$ 和 $(c’_1, c’_2)$。根据加密算法的定义,密文的生成过程涉及到多项式的加法、乘法以及离散高斯噪声的引入。而可加同态性保证了 $(c_1 + c’_1, c_2 + c’_2)$ 所对应的明文就是 $m \oplus m’$。
这种同态性的存在使得我们可以通过对随机消息 $m’$ 进行加密得到 $(c’_1, c’_2)$,并将其与待解密密文 $(c_1, c_2)$ 相加,从而实现对解密过程的随机化。在数学推导上,我们可以将解密过程表示为多项式的运算,通过同态性可以证明等式 $decryption(c_1, c_2) \oplus decryption(c’_1, c’_2) = decryption(c_1 + c’_1, c_2 + c’_2)$ 的成立。
7.2 掩码方案的安全性分析
在安全性方面,虽然本方案不能提供理论上的一阶安全性,但通过随机化的方式增加了攻击者建模功耗的难度。对于一阶DPA攻击,攻击者通常试图通过观察功耗与密钥系数之间的关系来提取密钥信息。然而,在本方案中,由于引入了随机消息的加密和密文的加法,使得功耗与密钥系数之间的关系变得更加复杂。
攻击者需要对随机消息 $m’$ 以及加密过程中的噪声进行建模,这大大增加了攻击的难度。同时,由于底层硬件需要确保乘法内部的中间结果足够嘈杂,使得攻击者难以利用这些中间结果进行攻击。从信息论的角度来看,随机化过程增加了系统的熵,减少了攻击者能够获取的有效信息。
8. 实际应用场景与挑战
8.1 实际应用场景
环-LWE密码体制在量子抗性公钥基础设施中具有广泛的应用前景。例如,在云计算环境中,用户可以使用基于环-LWE的加密方案对数据进行加密后上传到云端,云服务器在不解密数据的情况下进行一些同态计算,最后将计算结果返回给用户。本方案的可加同态环-LWE掩码方案可以为这种应用场景提供更好的侧信道攻击防护,确保用户数据的安全性。
在物联网设备中,由于设备资源有限,需要一种高效且安全的加密方案。环-LWE加密方案相对容易实现,而本掩码方案可以在不增加过多资源开销的情况下,提高设备的安全性。例如,智能电表、智能家居设备等可以使用该方案保护通信和数据的安全。
8.2 面临的挑战
尽管本方案具有一定的优势,但在实际应用中仍然面临一些挑战。首先,解密失败率的增加是一个需要解决的问题。虽然可以通过增加模数 $q$ 或减小标准差 $\sigma$ 来补偿,但这可能会影响系统的性能和安全性。例如,增加模数 $q$ 可能会增加计算复杂度,而减小标准差 $\sigma$ 可能会降低噪声的随机性。
其次,底层硬件的要求较高。为了确保乘法内部的中间结果足够嘈杂,需要对硬件进行特殊设计或优化。这可能会增加硬件成本和设计难度。另外,随机消息的生成和加密过程需要额外的资源和时间,对于一些资源受限的设备来说,可能会影响系统的实时性。
9. 与其他密码方案的比较
| 比较项 | 可加同态环-LWE掩码方案 | 传统环-LWE方案 | CHES 2015方法 |
|---|---|---|---|
| 侧信道攻击防护 | 通过随机化和可加同态性提供防护 | 缺乏内在防护 | 通过密钥拆分和掩码解码器防护 |
| 实现复杂度 | 相对较低,不需要掩码解码器 | 较低,但无防护 | 较高,需要定制解码器 |
| 解密失败率 | 增加,可通过调整参数补偿 | 有一定概率 | 相对稳定 |
| 预计算能力 | 允许预计算加密,减少运行时间影响 | 无 | 不允许预计算 |
与传统环-LWE方案相比,本方案在侧信道攻击防护方面有明显优势。传统方案缺乏对侧信道攻击的内在保护,容易受到DPA等攻击。而本方案通过引入随机化和可加同态性,有效地提高了系统的安全性。
与CHES 2015方法相比,本方案在实现复杂度和预计算能力方面具有优势。CHES 2015方法需要仔细实现掩码解码器,而本方案不需要。同时,本方案允许预计算加密,减少了对运行时间的影响。
10. 未来发展方向
10.1 降低解密失败率
未来的研究可以集中在如何进一步降低解密失败率。可以探索新的参数调整方法,或者设计新的加密算法,使得在增加掩码的情况下,解密失败率不会显著增加。例如,可以研究自适应的参数调整策略,根据系统的实际情况动态调整模数 $q$ 和标准差 $\sigma$。
10.2 优化硬件实现
为了满足底层硬件的要求,可以进行硬件优化设计。例如,开发专门的硬件电路来实现随机消息的生成和加密过程,提高系统的效率和安全性。同时,可以研究如何在不增加过多硬件成本的情况下,确保乘法内部的中间结果足够嘈杂。
10.3 拓展应用领域
随着量子计算技术的发展,环-LWE密码体制的应用领域将会不断拓展。未来可以将本方案应用到更多的领域,如金融领域的交易安全、医疗领域的患者数据保护等。同时,可以研究如何与其他密码方案相结合,提供更全面的安全保障。
下面是本方案与其他方案在不同方面的对比流程图:
graph TD;
A[侧信道攻击防护] --> B[可加同态环-LWE掩码方案];
A --> C[传统环-LWE方案];
A --> D[CHES 2015方法];
E[实现复杂度] --> B;
E --> C;
E --> D;
F[解密失败率] --> B;
F --> C;
F --> D;
G[预计算能力] --> B;
G --> C;
G --> D;
综上所述,可加同态环-LWE掩码方案为环-LWE解密提供了一种有效的侧信道攻击防护方法。虽然在实际应用中面临一些挑战,但通过不断的研究和优化,有望在量子抗性公钥基础设施中发挥重要作用。
超级会员免费看
1167

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



