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

来源:arstechnica

密码学达到一个新的里程碑:研究人员解开了有史以来人类计算过的最长的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密钥,这将使他们免于任何这些改进的影响。”


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 树排序_mysql按树深度排序

我有表pe与列id,名称和lcltyid我有表wp_exrz_locality_localities与id,name和parentlocality表是树,父级包含另一个位置行的id . pe.lcltyid是关键字wp_exrz_locality_localities.id基本上我想做的是检索按“树深度”排序的所有pe条目然而&am…

js动态显示时间

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"> <title>定时器</title> <script type"text/javascript">var attime;function clock(){var timen…

python 加权随机算法_python中的加权随机样本

从你的代码&#xff1a;..weight_sample_indexes lambda weights, k: random.sample([valfor val, cnt in enumerate(weights) for i in range(cnt)], k)..我认为权重是正整数,而“没有替换”你的意思是没有替换解开的序列.这是一个基于random.sample和O(log n)__getitem__的解…

9大领域187项全球工程前沿发布!有你的研究方向吗?

来源&#xff1a;科学网12月10日&#xff0c;中国工程院战略咨询中心、科睿唯安以及高等教育出版社在中国工程院联合发布《全球工程前沿2019》报告。报告围绕机械与运载工程、信息与电子工程、化工冶金与材料工程、能源与矿业工程、土木水利与建筑工程、环境与轻纺工程、农业、…

ES6兼容性

https://kangax.github.io/compat-table/es6/ 转载于:https://www.cnblogs.com/lilei9110/p/6364740.html

linux mysql插入数据乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题

一、问题在windows上面使用eclipse开发的项目在windows上面运行一切正常&#xff0c;部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码二、解决办法1、尝试一直接在linux上面使用insert语句插入中文&#xff0c;正常2、尝试二在tomcat配置文件server.xml中加入useBodyEnco…

从零开始用python处理excel数据_Python对Excel的操作

Python几个读取Excel库的介绍:xlwings可结合 VBA 实现对 Excel 编程&#xff0c;强大的数据输入分析能力&#xff0c;同时拥有丰富的接口&#xff0c;结合 pandas/numpy/matplotlib 轻松应对 Excel 数据处理工作。openpyxl简单易用&#xff0c;功能广泛&#xff0c;单元格格式/…

没有“好的”数据,AI就没有未来?听听云测数据怎么说

AI的崛起离不开“好的”数据作为地基&#xff0c;这也是云测数据成立的初衷所在。算力、模型和数据构成了人工智能的三要素&#xff0c;过去&#xff0c;我们过多的把目光聚焦于算力和模型上&#xff0c;殊不知&#xff0c;随着人工智能的深入&#xff0c;好的算法和模型已不再…

IP地址的分类——a,b,c 类是如何划分的

现在的IP网络使用32位地址&#xff0c;以点分十进制表示&#xff0c;如172.16.0.0。地址格式为&#xff1a;IP地址网络地址&#xff0b;主机地址 或 IP地址主机地址&#xff0b;子网地址&#xff0b;主机地址。 IP地址类型 最初设计互联网络时&#xff0c;为了便于寻址以及层次…

idea中event log_【JavaScript 教程】事件——Event 对象

作者 | 阮一峰概述事件发生以后&#xff0c;会产生一个事件对象&#xff0c;作为参数传给监听函数。浏览器原生提供一个Event对象&#xff0c;所有的事件都是这个对象的实例&#xff0c;或者说继承了Event.prototype对象。Event对象本身就是一个构造函数&#xff0c;可以用来生…

python爬取网页新闻_Python爬取新闻网数据

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。PS&#xff1a;如有需要Python学习资料的小伙伴可以加点击下方链接自行获取基本开发环境Python 3.6Pycharmimport parselimport requestsimport re目标网页分析今天就爬…

谷歌新智能体Dreamer将亮相NeurIPS 2019,数据效率比前身PlaNet快8个小时

来源&#xff1a;雷锋网在具有挑战性的环境中&#xff0c;一些人工智能系统通过利用过去经验所提供的世界表象来实现目标。研究人员将这些应用推广到新的情况&#xff0c;使它们能够在以前从未遇到过的环境中完成任务。事实证明&#xff0c;强化学习——一种使用奖励来推动软件…

Highcharts属性与Y轴数据值刻度显示Y轴最小最大值

Highcharts 官网&#xff1a;https://www.hcharts.cn/demo/highcharts Highcharts API文档&#xff1a;https://api.hcharts.cn/highcharts#yAxis.tickmarkPlacement Highcharts属性与Y轴数据值刻度显示Y轴最小最大值 Highcharts.setOptions({global:{useUTC : false}}); $(f…

mysql 游标总条数_mysql 游标的使用总结

一、游标的基本概念游标&#xff1a;游标是一个存储在Mysql服务器上的数据库查询&#xff0c;它不是一条select语句&#xff0c;而是被该语句检索出来的结果集。本人&#xff0c;学习游标中&#xff0c;曾遇到一个问题&#xff0c;循环总是最后多执行一次。下面分析程序&#x…

AR行业成本拆解解析

来源&#xff1a;三极光电科技一、AR 产业简介&#xff08;一&#xff09;AR 定义AR 技术&#xff08;AugmentedReality&#xff0c;AR&#xff09;是借助光电显示技术、交互技术、多种传感技术和计算机图形与多媒体技术将计算机生成的虚拟环境与用户周围的真实环境融为一体&am…

python语言处理excel_Python语言操作excel

本文主要向大家介绍了Python语言操作excel&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习Python语言有所帮助。#!/usr/bin/env python#coding: utf-8import xlsxwriterworkbook xlsxwriter.Workbook(demo1.xlsx)worksheet workbook.add_worksheet()workshe…

MySQL索引的索引长度问题

转自&#xff1a;http://samyubw.blog.51cto.com/978243/223773 MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制。  在MyISAM表中&#xff0c;创建组合索引时&#xff0c;创建的索引长度不能超过1000&#xff0c;注意这里索引的长度的计算…

怎么查询mysql的语法_mysql查询语法

-- 基本查询-- 查询所有字段-- select * from 表名;select * from students;select * from classes;-- 查询指定字段-- select 列1,列2,... from 表名;select name, gender from students;-- 使用 as 给字段起别名-- select 字段 as 名字.... from 表名;select name as 名字, g…

mimo雷达信号处理_雷达学术入门脉冲雷达信号处理概述

Reviewed by &#xff1a;甜草莓 Robert Zhou&#xff1b;前置知识&#xff1a;概率论与统计学。面向人群&#xff1a;本科生、研究生/信号处理博士。 编者&#xff1a;对于信号处理来说&#xff0c;雷达和通信一直是一体两面&#xff0c;从MIMO通信到MIMO雷达&#xff0c;从OF…

人类历史十大经典物理实验,有些实验就在你身边为何你没注意到?

来源&#xff1a;数学职业家实验是科学研究的基本方法之一&#xff0c;也是人类认识自然现象、自然性质、自然规律的途径。现代实验技术的发展&#xff0c;不断地揭示和发现各种新的物理现象&#xff0c;日益加深人们对客观世界规律的正确认识&#xff0c;从而推动物理学的向前…