密码学重大里程碑:科学家暴力破解迄今最长RSA密钥,功劳却不在摩尔定律

这次的突破不是来自硬件性能的提升,而要归功于软件和算法的改进。

 |  新智元

文|新智元

编辑|肖琴

研究人员已经在密码学上达到一个新的里程碑,他们解开了有史以来计算过的最长RSA密钥,并对有史以来最大的整数离散对数进行了匹配计算。

随着计算机硬件性能的提升,这类新纪录常有出现。但本周公布的这些记录更有意义,因为它们的实现速度比单凭硬件改进所能预期的要快得多,这要归功于所使用的软件和算法的改进。

许多公钥加密算法都依赖于两个素数乘积的极大数。其他加密算法的安全性基于解决某些离散对数问题的难度。如果密钥足够长,则没有已知的方法可以破解它们提供的加密。对大数的分解和离散对数的计算破坏了给定密钥大小的加密保证,并迫使用户增加它所使用的熵位的数量。

事实上,如果这个大数可以被因数分解,就意味着私钥被破解。不过,大整数的因数分解是一件非常困难的事情。目前,除了暴力破解,还没有发现别的有效方法。

维基百科这样写道:"对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法,那么RSA的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA密钥才可能被暴力破解。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要密钥长度足够长,用RSA加密的信息实际上是不能被破解的。"

这次的新记录包括RSA-240的分解。RSA-240密钥有240个十进制位,大小为795 bits。同一组研究人员还计算了同样大小的离散对数。

在此之前,人类破解的最长RSA密钥是2010年解开的RSA-768(尽管位数比RSA-240更小,有232个十进制位和768个二进制位),以及2016年的768-bit素数离散对数的计算。

有效长度是 795 bits,相较于约10年前解出來的 RSA-768 (768 bits)更大

以Intel Xeon Gold 6130 cpu(运行于2.1GHz)为参考,这两个新记录的计算时间加起来约为4,000 core-years。与先前的记录一样,这些记录是使用一种称为“数域筛选”的复杂算法完成的,该算法可用于执行整数分解和有限域离散对数。RSA分解的筛选和矩阵化以及离散对数问题的计算所花费的时间大致如下:

  • RSA-240 sieving: 800 physical core-years
  • RSA-240 matrix: 100 physical core-years
  • DLP-240 sieving: 2400 physical core-years
  • DLP-240 matrix: 700 physical core-years

所需时间减少25%,功劳不在摩尔定律

这是第一次将整数分解和离散对数的记录一起打破。这也是第一次使用相同的硬件和软件创造两项记录。但不仅如此。

当新的记录被创造出来时,摩尔定律(Moore’s Law)不可避免地发挥了重要作用。摩尔定律指的是,计算机芯片的晶体管数量每隔18个月就会翻一番。晶体管的增加反过来又提高了运行它们的计算机的计算能力,使计算机的速度和性能随着时间的推移而提高。

尽管摩尔定律最初是英特尔联合创始人戈登 摩尔在1965年提出的,但它已被视为一种几乎不可避免的自然力,就像物理学定律一样。考虑到摩尔定律的无情推进,如果这样的破纪录事件没有定期发生,那就变成不寻常了。

然而,与以前的里程碑相比,这次的里程碑更少地受到摩尔定律的驱动,而更多地受到数域筛选软件改进的驱动。为了证明效率的提高,研究人员在与2016年计算768位离散对数相同的硬件上运行他们的软件。他们发现,使用旧的硬件筛选795-bit大小的记录所需的时间比使用相同的设备执行768-bit DLP计算所需的时间减少了25%。

性能改进的另一个标志是:使用与2016年相同的硬件,795-bit对数的计算速度比768-bit的快1.33倍。在密码学领域被广泛接受的估计表明,较大的对数的计算难度应该比较小的对数难2.25倍。总的来说,这表明性能比预期的提高了三倍(即2.25*1.33=3)。由于这两个位大小的硬件是相同的,性能的提高并不是由于更快的计算机的可用性。

研究人员在声明中写道:“速度提高可以归因于针对这些计算而实施的各种算法改进。”这些改进的关键是对用于实现数域筛选的开源软件进行了更新。该软件称为CADO-NFS,由30万行用C和c++编写的代码组成。

法国国家计算机科学与应用数学研究所的高级研究员Emmanuel Thomé评价道,这些改进包括:

我们致力于更好的并行化和内存使用(但老实说,我们的竞争对手也做了)。

在计算的某些计算密集型部分,我们更系统地利用了渐近快速算法的优势。

这种解密有很大一部分需要“选择参数”的艺术。“我们做得很好。一个重要部分是能够测试许多不同的参数集,并使用我们开发的精确仿真工具对它们进行排序。”

团队中的其他研究人员包括法国国家教育部和里摩日大学的Fabrice Boudot、法国国家科学研究中心的Pierrick Gaudry,法国国家计算机科学和应用数学研究所的Aurore Guillevic,宾夕法尼亚大学和加州大学圣地亚哥分校的Nadia Heninger,以及法国国家计算机科学和应用数学研究所的 Paul Zimmermann。

由于人们对即将到来的量子计算机及其破解当今公钥加密的能力给予了极大的关注,研究人员一直忙于开发能够抵御此类攻击的新方案。

“与此同时,研究人员一直在改进经典算法,以解决因式分解和离散对数问题,这与摩尔定律一起,可能导致研究人员使用可用的计算资源能分解的密钥大小达到新的记录,” Heninger表示,“对于从业人员来说,我们的建议基本上是,希望他们已经按照建议至少在几年前转移到2048位的RSA、Diffie-Hellman或DSA密钥,这将使他们免于任何这些改进的影响。”

参考来源:arstechnica