3、基于QC - MDPC Niederreiter的IND - CCA安全混合加密及RankSynd伪随机数生成器研究

基于QC - MDPC Niederreiter的IND - CCA安全混合加密及RankSynd伪随机数生成器研究

1. QC - MDPC Niederreiter实现结果

在嵌入式ARM Cortex - M4微控制器上对QC - MDPC Niederreiter和基于它的混合加密方案进行了实现。通过GCC for embedded ARM(arm - eabi v.4.9.3)在优化级别 - O2下构建代码。

1.1 QC - MDPC Niederreiter性能
  • 执行时间测量 :为测量QC - MDPC Niederreiter的密钥生成、加密和解密性能,随机选择实例。生成500个随机密钥对,对每个密钥对的n位长度、汉明重量为t的随机明文进行500次加密和解密操作,共执行250,000次,取平均执行时间。
    • 80位安全级别下,使用DecB解码器时,密钥生成平均耗时376.1 ms,加密平均耗时15.6 ms,解密平均耗时109.6 ms;使用DecA解码器时,解密平均耗时697.9 ms。
    • 128位安全级别下(括号内数据),使用DecB解码器时,密钥生成平均耗时1495.8 ms,加密平均耗时81.7 ms,解密平均耗时477.7 ms;使用DecA解码器时,解密平均耗时3830.2 ms。
    • 两种解码器平均需要2.35(80位)或3.25(128位)次解码迭代才能成功解码。由于嵌入式微控制器在其生命周期内通常生成较少的密钥对,密钥生成性能的实际相关性较低。
  • 表示方式优化
    • 从直接的poly t表示的第一行生成完整的私有奇偶校验矩阵,80位安全级别下耗时83.4 ms,128位安全级别下耗时345.8 ms。
    • 稀疏t表示将此过程加速到80位安全级别下11.6 ms,128位安全级别下34.0 ms。
    • 稀疏双t表示更快,80位安全级别下为7.9 ms,128位安全级别下为21.2 ms。
  • 内存优化 :通过在一个32位字中使用两个16位计数器以稀疏表示存储私钥,与直接存储全长度多项式相比,每个私钥所需内存减少85%(80位安全级别,从9602位降至1440位)或88.5%(128位安全级别,从19714位降至2272位)。
  • 代码大小
    • 80位QC - MDPC Niederreiter,使用DecA解码器时,包括密钥生成、加密和解密,需要14 KiB闪存(1.3%)和4 KiB SRAM(2.0%);128位参数集需要19 KiB闪存(1.9%)和4 KiB SRAM(2.0%)。
    • 使用DecB解码器时,80位需要16 KiB闪存(1.6%)和3 KiB SRAM(1.5%);128位需要20 KiB闪存(2.0%)和3 KiB SRAM(1.5%)。
方案 平台 SRAM [字节] 闪存 [字节] 每次操作周期数 每次操作时间 [ms]
QC - MDPC NR 80位 [加密] STM32F417 2,048 3,064 2,623,432 16
QC - MDPC NR 80位 [解密] STM32F417 2,048 8,621 18,416,012 110
QC - MDPC NR 80位 [密钥生成] STM32F417 3,136 8,784 63,185,108 376
QC - MDPC NR 80位 [组合] STM32F417 3,136 16,124 - -
QC - MDPC NR 128位 [加密] STM32F417 2,048 4,272 13,725,688 82
QC - MDPC NR 128位 [解密] STM32F417 2,048 8,962 80,260,696 478
QC - MDPC NR 128位 [密钥生成] STM32F417 3,136 12,096 251,288,544 1496
QC - MDPC NR 128位 [组合] STM32F417 3,136 20,416 - -
1.2 QC - MDPC Niederreiter混合加密结果

混合加密方案的整体执行时间主要由用于密钥封装和解封装的非对称组件决定。因此,重点使用QC - MDPC解码器DecB进行密钥解封装,因为它比DecA快得多。
- 生成500个随机密钥对,对每个密钥对的32字节长的随机明文进行加密和解密操作。测量短明文以获得每字节周期数的最坏情况性能,较长明文仅由对称组件处理,对性能影响较小。
- 80位安全级别下,混合加密方案的密钥生成平均耗时386.4 ms,加密平均耗时16.5 ms,解密平均耗时111.0 ms;128位安全级别下(括号内数据),密钥生成平均耗时1511.8 ms,加密平均耗时83.2 ms,解密平均耗时477.5 ms。
- 与纯QC - MDPC Niederreiter相比,对称操作(加密、解密、MAC计算、哈希计算)对整体执行时间的增加不到5%,尽管混合加密方案乍一看更复杂。AES计算由硬件加速,进一步提高了速度,即使使用没有AES协处理器的Cortex - M4微控制器,整体执行时间也只会略有增加。
- 完整混合加密方案(QC - MDPC Niederreiter、AES - 128 - CBC、AES - 128 - CMAC、SHA - 256)在80位安全级别下需要25 KiB闪存(2.4%)和4 KiB SRAM(2.0%);在128位安全级别下需要30 KiB闪存(2.8%)和4 KiB SRAM(2.0%)。

1.3 与以往工作的比较
  • 与在类似ARM Cortex - M4微控制器上实现的QC - MDPC McEliece相比,混合QC - MDPC Niederreiter在相同安全级别下速度大约快2.5倍,并且提供IND - CCA安全性和有效处理大明文的能力。不过,QC - MDPC McEliece实现具有恒定运行时间的特点,这增加了其执行时间。
  • 与在ATxmega256上实现的QC - MDPC McEliece相比,加密速度快50倍,解密速度快25倍,并且通过混合加密提供IND - CCA安全性。虽然比较ATxmega256和STM32F417上的实现并不公平,但这两种微控制器价格相近,比较结果对实际应用有一定参考价值。
  • 不与在PIC24FJ32GA002微控制器上实现的循环对称(CS)MDPC Niederreiter进行比较,因为已有研究表明其提出的CS - MDPC参数未达到宣称的安全级别,需要调整。
  • 基于二进制Goppa码、针对ATxmega256微控制器的McEliece实现,性能比本文实现低5 - 28倍,并且二进制Goppa码的公钥非常大(64 kByte对比4801位),对于内存受限的嵌入式设备不实用。
  • 基于Srivastava码的CCA2安全McEliece实现也针对ATxmega256,速度比混合QC - MDPC Niederreiter慢4 - 8倍,如果在相同微控制器上实现,可能是一个不错的竞争对手。
2. RankSynd:基于秩度量的伪随机数生成器

伪随机数生成器(PRNG)在密码学中是重要工具,可用于一次性密码或为密码系统生成随机密钥。密码学中有两种类型的PRNG:
- 基于分组密码方案,如AES的OFB模式,通常能提供非常快的随机数生成。
- 通过归约到一个困难问题来证明安全的PRNG,问题可以基于经典密码学问题(如因子分解、离散对数),也可以基于线性代数(如编码理论、格、多元二次系统)。

2.1 研究背景

近期研究表明,基于 syndrome 解码(SD)问题的PRNG几乎可以和基于AES的PRNG一样快,但需要存储巨大的矩阵。使用准循环码可以解决这个问题,但目前没有证明准循环码的SD问题的难度。此外,近期对特殊理想格的量子攻击引发了对格和码的准循环结构安全性的担忧。

2.2 秩度量基础
  • 矩阵码定义 :长度为m × n、在Fq上的矩阵码C是大小为m × n、元素在Fq中的矩阵向量空间的子空间。如果C的维度为K,则称C为[m × n, K]q矩阵码。
  • 度量定义 :矩阵码允许定义另一种度量d(A, B) = Rank(A - B),字c的重量wR(c) = d(c, 0)。Fqm上的线性码自然地对应矩阵码,并且具有更紧凑的表示,可减小密钥大小。
  • Gilbert - Varshamov距离 :对于汉明度量,[n, k]q码的Gilbert - Varshamov距离是使|BHt| ≥ qn - k的最小t值,其中BH是以0为中心、半径为t的汉明度量球。对于秩度量的[m × n, km]q矩阵码,Gilbert - Varshamov距离是使|BRt| ≥ qm(n - k)的最小t值,其中BR是以0为中心、半径为t的秩度量球,|BRt| ≈ qt(m + n - t),可得dGV ≈ (m + n - √((m + n)² - 4m(n - k))) / 2。
2.3 基于秩度量的密码学
  • 困难问题 :定义了秩 syndrome 解码(RSD)问题:给定一个[n, k] Fqm线性码C、整数w和s ∈ Fn - kqm,以及C的奇偶校验矩阵H,找到一个字e ∈ Fnqm,使得Heᵀ = s且wR(e) = w。近期研究证明该问题可概率归约到已知为NP完全的汉明距离的 syndrome 解码问题,证实了其难度。
  • 实际攻击复杂度 :实际攻击的复杂度随参数大小快速增长。对于汉明距离,攻击中的关键概念是计算长度为n、支持大小为t的字的数量,对应牛顿二项式系数;对于秩度量,计算与[n, k] Fqm线性码相关的矩阵码的大小为w的可能支持数量,对应高斯二项式系数。
    • 组合方法 :对于小q值(通常q = 2)和大n、k值,组合方法效果较好。最早的非平凡组合算法于1996年提出,2002年被改进,但复杂度指数不涉及n。近期Gaborit等人将其推广,复杂度为O((n - k)³m³q(w - 1)⌈(k + 1)m / n⌉),当n > m时,指数比之前的算法更好。
    • 代数方法 :秩度量的特殊性质使其适合用Groebner基进行代数系统求解。这些算法的复杂度在很大程度上与q值无关,在某些情况下也与m无关。当q变大时,代数攻击通常是最有效的。存在多种代数建模方法,如Levy和Perret在2006年提出的二次系统建模,以及Kernel攻击、Kipnis - Shamir建模、minor方法等。这些方法基于在基域Fq上的代数建模,未知数数量在n上是二次的,使用Groebner基技术求解这些代数方程的一般复杂度为指数级O(n²)。
    • 近期,Gaborit等人提出了基于零化子方法的新代数建模,在扩展域Fqm上产生多元稀疏方程,显著减少了未知数数量,当w较小时特别有效。所有已知的解决RSD问题的攻击在m = O(n)、w = O(n)的情况下复杂度为2O(n²),由于高斯二项式系数的行为和代数求解的未知数数量,很难有更好的方法。

综上所述,QC - MDPC Niederreiter在嵌入式微控制器上的实现展示了良好的性能和安全性,而基于秩度量的RankSynd伪随机数生成器为密码学中的随机数生成提供了一种新的思路,具有数据大小合理、速度较快等优点,并且在抵抗量子攻击方面有一定的研究价值。

基于QC - MDPC Niederreiter的IND - CCA安全混合加密及RankSynd伪随机数生成器研究

3. RankSynd伪随机数生成器的构建与分析
3.1 构建思路

基于秩 syndrome 解码(RSD)问题构建 RankSynd 伪随机数生成器。利用 RSD 问题的困难性,设计一个易于计算但难以逆向求解的函数,以此生成伪随机数。由于 RSD 问题已被证明可概率归约到已知为 NP 完全的汉明距离的 syndrome 解码问题,所以基于该问题构建的 PRNG 具有一定的安全性保障。

3.2 安全性分析

证明了破解 RankSynd PRNG 并不比破解 Fischer - Stern PRNG 更容易。这意味着 RankSynd PRNG 在安全性上有一定的理论基础,其安全性与基于其他已知困难问题构建的 PRNG 相当。

3.3 量子攻击研究

研究了量子计算机对秩 syndrome 解码问题的最佳已知组合攻击的加速作用。虽然目前还没有完全有效的量子攻击方法,但随着量子计算技术的发展,这是一个需要持续关注的问题。通过分析量子计算机在解决 RSD 问题上的潜力,可以为 RankSynd PRNG 的参数选择提供参考,以确保其在量子时代的安全性。

4. 系统参数选择
4.1 针对经典攻击的参数

根据不同的安全级别和实际应用场景,选择合适的参数来抵抗经典攻击。例如,在考虑矩阵码的长度 m × n、维度 K、重量 w 等参数时,需要平衡安全性和性能。一般来说,增加参数的大小可以提高安全性,但会增加计算复杂度和存储需求。因此,需要根据具体情况进行权衡。

4.2 针对量子攻击的参数

考虑到量子计算机可能带来的威胁,为 RankSynd PRNG 选择能够抵抗量子攻击的参数。这需要结合量子攻击对 RSD 问题的影响进行分析。例如,可能需要增加矩阵码的维度或重量,以增加量子攻击的复杂度。以下是一个简单的参数选择示例表格:

安全级别 m n K w 经典攻击复杂度 量子攻击复杂度
10 20 5 3 2^20 2^15
20 40 10 5 2^40 2^25
30 60 15 7 2^60 2^35
5. 总结与展望
5.1 总结
  • QC - MDPC Niederreiter :在嵌入式 ARM Cortex - M4 微控制器上的实现取得了良好的性能。通过对表示方式和内存的优化,减少了计算时间和存储需求。混合加密方案在保证安全性的同时,对称操作对整体执行时间的影响较小,并且与以往的实现相比具有明显的优势。
  • RankSynd PRNG :基于秩度量的伪随机数生成器具有合理的数据大小和较快的速度。其安全性基于秩 syndrome 解码问题的困难性,并且在抵抗量子攻击方面有一定的研究价值。
5.2 展望
  • 技术发展 :随着量子计算技术的不断发展,需要进一步研究如何提高 QC - MDPC Niederreiter 和 RankSynd PRNG 的抗量子攻击能力。例如,可以探索新的编码结构或加密算法,以应对量子计算机带来的挑战。
  • 应用拓展 :将这些技术应用到更多的实际场景中,如物联网、移动支付等领域。在这些场景中,安全性和性能是至关重要的,QC - MDPC Niederreiter 和 RankSynd PRNG 有望提供有效的解决方案。

以下是一个简单的 mermaid 流程图,展示了 RankSynd PRNG 的工作流程:

graph TD;
    A[输入种子] --> B[生成矩阵码];
    B --> C[计算 syndrome];
    C --> D[求解 RSD 问题];
    D --> E[生成伪随机数];
    E --> F[输出伪随机数];

这个流程图展示了 RankSynd PRNG 从输入种子到输出伪随机数的主要步骤。首先,根据输入的种子生成矩阵码,然后计算 syndrome,接着尝试求解 RSD 问题,最后根据求解结果生成并输出伪随机数。

综上所述,QC - MDPC Niederreiter 和 RankSynd PRNG 在密码学领域具有重要的研究价值和应用前景。通过不断的研究和优化,它们有望在未来的安全系统中发挥重要作用。

内容概要:本文提出了一种针对大规模电动汽车接入电网的双层优化调度策略,并基于IEEE33节点系统进行了建模与仿真分析,配套提供了完整的Matlab代码实现。该策略构建了上层电网运行优化与下层电动汽车充电调度的双层协同模型,综合考虑电网负荷削峰填谷、电压稳定性维持以及电动汽车用户充电需求满足等多重目标,采用先进的优化算法实现对电动汽车集群的智能有序调度。研究详细阐述了双层模型的构建逻辑、目标函数设计、约束条件设定及迭代求解流程,有效降低了电网峰谷差,提升了配电系统对可再生能源的消纳能力,兼具扎实的理论深度与明确的工程应用前景。; 适合人群:电气工程、电力系统及其自动化、能源系统优化等相关专业的研究生、科研人员以及从事智能电网、电动汽车调度、分布式能源管理等领域工作的工程师和技术人员。; 使用场景及目标:①深入研究高比例电动汽车接入对配电网运行特性的影响机制;②掌握电力系统双层优化建模方法及其在实际系统中的求解技巧;③实现电动汽车集群的协同调度与车网互动(V2G)优化控制;④作为撰写学术论文、开展课题研究或复现高水平期刊成果的技术参考与代码基础。; 阅读建议:建议读者结合所提供的Matlab代码逐行理解双层优化模型的数学表达与程序实现细节,重点剖析上下层模型之间的信息交互机制与收敛判据,可通过调整电动汽车渗透率、充电行为参数或引入分布式电源等场景进行拓展性仿真,以深化对智能调度策略适应性的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值