看雪专家点评:
WannaCryp 勒索病毒,采用 AES 算法加密文件,并使用非对称加密算法 RSA 2048 加密 AES 的密钥,每个文件使用一个随机密钥。
RSA 公钥算法的安全性,建立在一个数学难题之上:大整数的因子分解。目前公开的已做到 RSA Number 的分解规模是 768 bits。
分解1024 bit 以上的RSA Number, 目前属于一个巨大的工程学难题,要有大规模的计算能力才能够进行下去。
小规模的 team, 限于财力也就只能分解 768 bits 这个量级的,分解 RSA-768,采用了数百个 CPU Cores,运行约 2 年时间。
分解 RSA-512,对个人用户相对简单。用 GNFS, 这里面主要的筛法时间按 3000 cpu-hours 计算,30 个 CPU Cores,在一个星期之内可以完成。
根据 Wiki 公开的论文,已完成的几个标志性 RSA Number 分解如下:
1999 年分解 RSA-512 (155 decimal digits),
2005 年分解 RSA-640 (193 decimal digits),
2009 年分解 RSA-768 (232 decimal digits)。
从历史看来,如果计算能力每1年能够翻1倍;差不多每10年,传统计算机的计算能力扩大一千倍(2^10 = 1024),能推进约256 bit(80 digits )。 可以估计,用目前的gnfs 算法,加上足够的人力财力支撑,最乐观的估计,分解RSA 2048,也就是40-50年内的事情。
2020 年能分解掉 RSA-1024(309 decimal digits);
2040 年能分解掉 RSA-1536(463 decimal digits);
2060 年能分解掉 RSA-2048(617 decimal digits)。
但是,科学技术上爆发性的突破,往往能超越常规。这里还有一个变数,就是实用型的量子计算机什么时候有突破进展。
1994年,Peter Shor 提出量子计算机的因子分解算法,被称为 Shor 算法。当时人们对于制造出实际可用的量子计算机的预期并不乐观。
目前,实验室里的量子计算机,只能分解很简单的两位整数的因子,比如 21 = 3*7。
实用量子计算机,按最乐观的估计,至少在十年以后才可能出现。所以,RSA-2048 当前是不可破解的。
参考文献:
https://en.wikipedia.org/wiki/RSA_numbers
你可能对以下内容感兴趣:
更多优秀文章,长按下方二维码,“关注看雪学院公众号”查看!
看雪论坛:http://bbs.pediy.com/
微信公众号 ID:ikanxue
微博:看雪安全
投稿、合作:www.kanxue.com