29、可加同态环-LWE掩码方案:保障环-LWE解密安全的新途径

可加同态环-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解密提供了一种有效的侧信道攻击防护方法。虽然在实际应用中面临一些挑战,但通过不断的研究和优化,有望在量子抗性公钥基础设施中发挥重要作用。

内容概要:本文研究了计及碳排放的多微网电能交互分布式运行策略,提出了一种基于交替方向乘子法(ADMM)的优化方法,旨在实现多微电网系统在满足能源供需平衡的同时降低碳排放。文中构建了包含分布式电源、储能系统、可控负荷及碳排放约束的多微网协同优化模型,通过ADMM算法将全局优化问题分解为各微网子系统独立求解的子问题,实现分布式协同调度,在保障各微网自治性的同时兼顾系统整体的经济性与低碳性。研究通过Matlab代码完成了算法仿真,验证了所提策略在提升能源利用效率、减少碳排放、增强系统鲁棒性与可扩展性方面的有效性,为低碳化、去中心化的能源互联网运行提供了理论支持与实践参考。; 适合人群:具备电力系统分析、优化理论及Matlab编程基础的科研人员、电气工程及相关专业的研究生,以及从事智慧能源、分布式能源系统规划与运行的工程技术人员。; 使用场景及目标:①应用于多微电网系统的分布式能量管理与协同优化调度;②支持“双碳”目标下的低碳电网运行策略设计与政策评估;③为ADMM等分布式优化算法在能源系统中的工程化应用提供完整的模型构建、算法实现与仿真验证案例。; 阅读建议:读者应结合Matlab代码深入理解ADMM算法的迭代流程、拉格朗日函数构造与收敛条件设定,重点关注模型中碳排放因子的引入方式、变量分解机制与子问题求解过程,建议通过调整微网数量、碳价参数及通信拓扑结构进行多场景仿真,以深化对分布式协同机制与保经济权衡关系的理解。
下载代码方式:https://pan.quark.cn/s/cc130f55eddd BUCK变换器,亦称为降压型转换器,在开关电源技术中属于一种基础电路拓扑,其核心功能在于实现从高电压到低电压的转换,并且在转换过程中确保输出端电压的稳定性。本文的核心内容集中在对BUCK变换器的运行机制进行剖析、阐释电流连续模式(CCM)与断续模式(DCM)之间的差异,并深入探讨这两种模式在稳态下的相互关系,同时研究BUCK变换器的交流等效电路模型以及电压与电流补偿回路的构建方法。BUCK变换器的原理示意图如图1所示,其显著特征在于输出电压值低于输入电压值,输出电流保持连续状态,而输入电流则呈现出脉动特性。变换器的工作过程可以划分为两个主要阶段:在第一个阶段,即开关管导通期间,电感元件负责储存能量,电流呈现出线性增长的趋势,并且同时向负载提供能量;在第二个阶段,即开关管截止期间,电感通过二极管实现能量的续流,电流则表现出线性递减的态势。依据电感元件的伏秒平衡原理,可以推导出涉及开关管占空比、电感元件电感量、输入电压以及输出电压之间关系的数学公式,这些公式对于深入理解和设计BUCK变换器具有关键性的指导意义。 接下来,文章对CCM和DCM两种模式进行了详细的比较分析。在CCM模式下,电感电流在整个开关周期内均保持连续的状态,而在DCM模式下,电感电流则会出现中断现象。确定BUCK变换器工作模式的关键依据是其电感电流纹波值与输出电流值相等这一边界条件。当电流纹波值等于零,即在整个开关周期内电感电流保持完全连续时,BUCK变换器被归类为CCM模式;相对地,若电流纹波值大于零,则表明变换器处于DCM模式;介于两者之间的情况则界定为CCM与DCM的过渡状态。 在DCM模式下,对BUCK...
源码链接: https://pan.quark.cn/s/ae09e867d64c S参数指的是散射参数,其英文全称为“Scattering-Parameter”。该参数用于表征电路网络中信号传输与反射的特性,是微波领域中衡量电路网络性能的核心指标。以二端口网络为例,比如单根传输线,其包含四个S参数,分别为S11、S12、S21和S22。其中,S11代表端口1的反射系数,S12代表端口1至端口2的反向传输系数,S21代表端口2至端口1的正向传输系数,而S22则表示端口2的反射系数。在高速电路设计领域,S参数是评估电路网络性能的关键依据。对于互易性网络,存在S12=S21的关系;对于对称性网络,满足S11=S22的条件;而对于无耗性网络,则有S11*S11+S21*S21=1,即网络不产生能量损耗,从端口1输入的能量要么被反射回端口1,要么被传输至端口2。在实际应用场景中,S参数能够用于评估电路网络的性能表现,例如,S11体现回波损耗,即有多少能量被反射回源端(Port1),该值越小越好,通常推荐S11<0.1,即-20dB。S21则反映插入损耗,即有多少能量被传输到目的端(Port2),该值越大越优,理想值为1,即0dB,传输效率越高,一般建议S21>0.7,即-3dB。此外,S参数还可用于判断电路网络的互易性与对称性。在高速电路设计过程中,这些参数具有显著意义,因为它们对电路网络的性能和稳定性具有直接影响。S参数是评估电路网络性能的核心指标,能够衡量电路网络的信号传输和反射能力,对于高速电路设计而言至关重要。关于Z参数和Smith圆图,Z参数属于阻抗参数,而Smith圆图是反射系数(以符号Γ表示)的极坐标图形。Smith圆图可用于评估电路网络的阻抗匹配状况...
内容概要:本文围绕基于序贯蒙特卡洛模拟法的配电网可靠性评估展开研究,系统阐述了该方法在电力系统中的应用原理与实现路径。通过Matlab代码实现了系统状态抽样、状态分析、可靠性指标计算等关键节,并结合IEEE标准测试系统进行仿真验证,有效评估配电网在不同运行工况下的可靠性水平。研究不仅提供了完整的算法实现框架,还拓展至阶梯式碳交易、供需响应、N-k安全约束等多种复杂场景,体现了其在现代综合能源系统优化中的广泛适用性。配套资源丰富,涵盖多个电力系统前沿研究方向的技术实现与论文复现案例。; 适合人群:具备电力系统基础知识和Matlab编程能力的科研人员与工程技术人员,特别适用于从事配电网可靠性分析、综合能源系统优化、电力系统仿真等领域的高校研究生、科研机构研究人员及电力行业工程师。; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在配电网可靠性评估中的建模与仿真方法;②学习利用Matlab进行电力系统随机模拟与数据分析;③为电网规划、运行风险评估及故障恢复策略制定提供量化依据;④拓展对智能优化算法、机器学习及多能协同调度在电力系统中集成应用的理解。; 阅读建议:此资源不仅提供可运行的Matlab代码,还融合了大量科研实践案例,建议读者结合文中仿真模型与实际算例进行动手复现,深入理解算法细节与工程背景,同时关注相关领域如微电网优化、故障诊断、路径规划等交叉技术的发展,以提升综合科研与工程应用能力。
源码直接下载地址: https://pan.quark.cn/s/9af8b9f95652 ### Multisim模型的导入和使用 ### 一、引言 随着电子设计自动化(EDA)工具的进步,Multisim已经成为电子工程师进行电路仿真、分析和设计的关键工具之一。借助Multisim,工程师们能够便捷地构建电路模型,并对电路进行仿真验证。本文将系统阐述如何在Multisim中导入并运用芯片仿真模型,这对于提升电子产品的研发效能具有显著价值。 ### 二、Multisim中构建新元器件 构建新元器件是Multisim中的核心功能,特别是对于那些需要特定模型或无法从Multisim库中直接获取的元器件来说更为关键。以下为构建新元器件的具体流程: ##### 步骤1:录入元器件信息 在Multisim中启动“Component Wizard”,即元器件向导,开始创建新的元器件。首先需要录入元器件的基本资料,包括型号、主要功能、类型等。这些资料将有助于用户更高效地管理和检索元器件。 ##### 步骤2:录入封装信息 接下来需要设定元器件的封装信息。在这一节中,用户需要依据实际芯片的封装规格来选择适宜的引脚数量。同时,还需明确是构建单一部件元器件还是复合部件元器件。如果是复合部件元器件,则必须确保引脚数量与符号中使用的引脚数量保持一致。 ##### 步骤3:录入符号信息 在此步骤中,用户可以编辑元器件在仿真过程中的显示符号。编辑符号可以通过三种途径进行:直接编辑、从数据库中复制现有符号或复制当前符号以备将来使用。编辑符号时应注重其在电路图中的可辨识度和清晰度。 ##### 步骤4:设定管脚参数 在该步骤中,用户需要参照数据手册上的管脚顺序为每个管脚命名,并选择恰当的类型。...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值