Skip to main content
QUICK REVIEW

[论文解读] A Distinguisher-Based Attack of a Homomorphic Encryption Scheme Relying on Reed-Solomon Codes

Valérie Gauthier, Ayoub Otmani|arXiv (Cornell University)|Mar 29, 2012
Cryptography and Data Security参考文献 15被引用 7
一句话总结

本文提出了一种针对基于改进 Reed-Solomon 码的全同态加密方案的多项式时间密钥恢复攻击,该攻击利用了一个区分器,通过分析删失平方码的维数来检测秘密集合 $L$。攻击通过识别公有生成矩阵中对应于隐藏零子矩阵的位置,从而恢复私钥,彻底破坏了该方案的安全性。

ABSTRACT

Bogdanov and Lee suggested a homomorphic public-key encryption scheme based on error correcting codes. The underlying public code is a modified Reed-Solomon code obtained from inserting a zero submatrix in the Vandermonde generating matrix defining it. The columns that define this submatrix are kept secret and form a set $L$. We give here a distinguisher that detects if one or several columns belong to $L$ or not. This distinguisher is obtained by considering the code generated by component-wise products of codewords of the public code (the so called "square code"). This operation is applied to punctured versions of this square code obtained by picking a subset $I$ of the whole set of columns. It turns out that the dimension of the punctured square code is directly related to the cardinality of the intersection of $I$ with $L$. This allows an attack which recovers the full set $L$ and which can then decrypt any ciphertext.

研究动机与目标

  • 分析一种近期提出的基于改进 Reed-Solomon 码的全同态加密方案的安全性。
  • 识别公有码中可被用于密钥恢复的结构性弱点。
  • 开发一个区分器,用于检测在构建公有码时使用的特定列是否属于秘密集合 $L$。
  • 通过在多项式时间内恢复完整的秘密集合 $L$,证明该方案不安全。
  • 表明当与 $L$ 相交时,码字的逐元素乘积(平方码)会暴露出结构异常,从而实现高效的密钥恢复。

提出的方法

  • 攻击使用公有码的平方码,定义为码字逐元素乘积所生成的码。
  • 通过选择列的子集 $I$ 对平方码进行删失,以分析 $\langle \mathscr{C}_I^2 \rangle$ 的维数。
  • 基于如下观察构建区分器:每当 $I$ 中包含来自 $L$ 的一列时,$\langle \mathscr{C}_I^2 \rangle$ 的维数会增加 1,这是由于隐藏零子矩阵结构所致。
  • 该算法通过从子集 $I$ 中迭代移除列,并监控删失平方码维数的变化,来识别属于 $L$ 的列。
  • 通过测试列的替换并观察维数变化,攻击恢复了整个秘密集合 $L$,从而实现完整的密钥恢复。
  • 一旦 $L$ 被恢复,攻击者即可通过求解线性系统从任意密文中恢复明文。

实验结果

研究问题

  • RQ1能否利用码的结构性质,从公有密钥中恢复用于构建改进 Reed-Solomon 码的秘密集合 $L$?
  • RQ2当与与 $L$ 相交的子集进行删失时,公有码中码字的逐元素乘积是否会暴露出可被利用的结构性异常?
  • RQ3能否构建一个区分器,通过测量删失平方码的维数来检测某一列是否属于 $L$?
  • RQ4所提出的全同态加密方案是否能抵御基于码区分器的密钥恢复攻击?
  • RQ5该攻击能否仅通过矩阵秩计算在多项式时间内实现?

主要发现

  • 当 $|I| - |I \cap L| \geq 2k$ 且 $|I \cap L| \leq \ell - 1$ 时,删失平方码 $\langle \mathscr{C}_I^2 \rangle$ 的维数恰好为 $2k - 1 + |I \cap L|$,提供了一个精确的结构性不变量。
  • 攻击通过观察在移除或替换列时平方码维数的变化,恢复了整个秘密集合 $L$,每次维数变化均指示该列属于 $L$。
  • 该攻击运行在多项式时间内,仅需与码长 $n$ 成比例的矩阵秩计算次数。
  • 该方案已被完全攻破:一旦 $L$ 被恢复,任何密文均可通过求解涉及 $L$ 的线性系统来解密。
  • 该区分器对所有速率的 Reed-Solomon 码均有效,而此前的区分器仅适用于高码率码。
  • 该攻击不依赖于 Sidelnikov-Shestakov 方法,而是基于平方码及其删失版本的代数性质,提出了一种新颖的方法。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。