Ron Rivest 上个世纪为一个 1999 年的时间胶囊设计了加密方法。Ron Rivest 是公钥加密算法 RSA 中的 R,他和其他两人(Adi Shamir 和 Leonard Adleman)因 RSA 算法上的贡献而在 2002 年获得图灵奖。他为时间胶囊设计的加密方法并不复杂,主要考虑了计算复杂度,涉及到一个进行约 80 万亿次的平方运算。

他根据 1999 年的计算机运算能力和摩尔定律估计,算出问题的答案需要 35 年时间。

但在 2015 年,自学成才的程序员 Bernard Fabrot 发现,使用自由软件 GNU Multiple Precision Arithmetic Library,他能在更短时间内算出答案,他开始用家用 PC 的一个 CPU 核心每周 7 天每天 24 小时执行计算,历时 3 年半时间得到了结果。

与此同时,一群加密专家组成的小组 Cryptophage 也尝试去解决这个问题,他们使用的是 FPGA 芯片,FPGA 执行特定算法的效率远高于高端 CPU,他们花了两个月时间算出了结果。但当他们通知 Rivest 教授,却被告知有人抢先完成了。

Rivest 教授说,这是惊人的巧合,他承认自己高估了问题的难度,没有预料到像 FPGA 这样的技术突破。

————

编辑 ∑Gemini

来源:solidot

☞数学家探索两个几何世界之间的镜像链接

☞数学天才帕吉特:他有如电影般的人生际遇

☞世界上最奇怪的数学天才,被奖励100万却拒领,宁愿过得像乞丐

☞斯坦福大学教育学院院长:学习本身就是一门学问

☞如果没有数学,我们如何测量

☞数学的真相:物理时空的数字模型还是现实本身?

算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。

投稿邮箱:math_alg@163.com

欢迎加入算与数学术交流群,请添加微信:nhyilin(备注:算数粉丝)

程序员解决20年前的加密问题相关推荐

  1. 糟糕程序员的20个坏习惯

    糟糕程序员的20个坏习惯 转自:https://mp.weixin.qq.com/s/6hUU6SZsxGPWAIIByq93Rw 阅读本文大约需要 5 分钟. 你好,我是 Kaito. 今天我想和你 ...

  2. python 常用库_Python程序员解决棘手问题的常用库

    无论做为Python大牛,还是一个Python菜鸟,在编程的道路上都会遇到诸多种很棘手的问题.如下介绍的内个库是Python诸多问题解决中,最常用到的.希望这些Python的库可以帮您快速解决遇到的棘 ...

  3. 比程序员更好的职业_立即成为更好的程序员的20条技巧

    比程序员更好的职业 目录: (Table of contents:) Think Before You Code 编码前先思考 Understand the Business Behind Every ...

  4. 某面试官吐槽:面试某大龄程序员,问HTTPS的加密过程,对方却答不出来!网友:这个问题毫无意义!...

    大龄程序员面试时会遭遇什么窘境? 一个面试官发帖吐槽:刚才面了一个毕业15年的开发,自己并没有要坑大龄程序员的意思,只是问了一个https的加密过程,结果那个大龄程序员支支吾吾没答出关键,真怕自己以后 ...

  5. java 判断是否是list_给Java程序员的20个链表面试题

    全文共4258字,预计学习时长8分钟 图片来源:unsplash.com/@d_mccullough 今天,本文将详细介绍编程面试中常见的链表问题. 什么是链表? 数据结构在程序面试中极其重要.链表则 ...

  6. 面向Java程序员的20大Spring REST面试问题答案

    大家好,过去两周来,我一直在与Spring教程共享一些REST,今天,我将向申请Web开发人员角色的Java开发人员共享一些常见的Spring和REST面试问题. 由于Spring Framework ...

  7. 【黑马程序员】20天学会Java-基础阶段笔记

    视频地址: https://www.bilibili.com/video/BV1Cv411372m 此笔记是 P1 - P85 1. 开始 1.1 注释(理解) 注释是对代码的解释和说明文字,可以提高 ...

  8. 漫谈程序员(五)20年资深程序员编程经验分享

    20年资深程序员编程经验分享 原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公 ...

  9. python编程初学者的良言警句_程序员的20条金句良言,早点找女朋友,生活作息会更健康...

    新手程序员入坑20条生存指南,首先,欢迎来到程序员的世界.在这个世界上,不是有很多人想创造软件并解决问题.你是一名hacker,属于那些愿意做一些有挑战性的事情的人. "当你不创造东西时,你 ...

最新文章

  1. phpMyAdmin FTP iptables Selinux
  2. 微博:推动世界的力量(第2版)
  3. InnoDB的MVCC如何解决幻读
  4. MaxCompute Tunnel SDK数据上传利器——BufferedWriter使用指南
  5. IT职场新人第一课:我的吐槽+我学到的
  6. MySQL—事务隔离级别
  7. jdk11 后用的指定编码格式,读取文件
  8. oracle的等保,3.Oracle 检查(部分)
  9. 水滴公司再回应“线下违规”:核心是公司的管理问题
  10. 第一章 在VS2008下如何配置好CG环境
  11. 自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导
  12. Oracle用户可要顶住了:准备好大规模补丁工作!以修补多达 433 个的新安全漏洞...
  13. php 替换alt,PHP 实现自动添加或者替换 内容的IMG标签的 alt title 属性
  14. (转)亚马逊创始人贝佐斯:前进路上,善良远比聪明重要
  15. 到了这个点不建议“割肉”
  16. MyBatis中jdbc和managed的区别
  17. 数据可视化|用堆叠条形图进行对比分析
  18. 报错:Illegal mix of collations
  19. 【Unity】TimeLine常见问题:如何实现人形角色动画的平滑切换
  20. 东北农业大学计算机科学与技术复试名单,更新!最新182所院校复试信息汇总

热门文章

  1. #1130 - Host 'localhost' is not allowed to connect to this MySQL server
  2. php xssclean,php – Codeigniter xss_clean困境
  3. 计算机局域网有哪些硬件组成,局域网的硬件组成有哪些
  4. 讨论帖:比特币中的SHA256算法的实现与标准的SHA256算法实现是否相同?
  5. 用户自定义排序的几种实现思路
  6. mysql报错 DuplicateKeyException分析与解决
  7. mysql 关联查询_mysql数据库调优(二)
  8. 浙江嘉兴计算机学校排名,嘉兴计算机考研线上课程实力排名
  9. java resultset close_java代码ResultSet is closed
  10. 2019年Java初级和高级部分的技术面试