谷歌攻破网络安全算法解读

给所有朋友(不管你懂不懂信息安全,只要你希望了解)普及一下谷歌攻破SHA-1到底发生了什么。

(冯立超@瀚博资讯  原创,转载请注明)

当你发布一篇文章时,如何证明这篇文章没有被篡改过?:

计算机用一种算法(哈希算法,如SHA),对整篇文章的内容进行运算,得到一个简短的数字串(哈希值),再对该数字串加密,连同文章一起发给对方(这就叫数字签名)。

对方收到这篇文章以后,再对它进行同样的运算,并比对该数字串,若一致,则证明该文章没被篡改过。(当然这些都是由计算机自动完成,你不需要参与)。

哈希算法确保同一篇文章每次计算都得到同样的值,而不同文章得到同一个值的概率极低。(1/9,223,372,036,854,775,808)

关键是,数学上保证了不能通过该哈希值反向推算出文章内容。(这个函数没有反函数。所以你可以把x带入函数算出y,但你没有办法根据y的值算出x。还记得这个概念吗?)

所以,对方再次计算的哈希值如果和你随文章发来的哈希值一致,就可以证明这篇文章没有被篡改过。

谷歌科学家这次干的事,就是设法找到一个方法,可以方便地生成和一篇文章哈希值一样的另一篇文章。

办法有两个,一个是从数学上找到哈希算法的问题,这个我们可以确认行不通,数学上已证明没问题。

第二种方法叫暴力破解,就是我试 我试 我试啊试啊试,总会找到另一个文章有同样的哈希值。这个从理论上是可行的,但从实践中,要试算千万年,只争早夕远远不够。

谷歌这次干的事,就是找到了一些规律和算法,同时借助云计算的能力,使得原来以为千万年才能破解的事,朝夕之间攻破。(比暴力破解快十万倍)

为确保信息安全,具体的细节算法谷歌要到90天以后才公布,以便信息安全领域可以做出应对。

谷歌公布此次技术的文档中文译稿请参见http://mp.weixin.qq.com/s/07pyiX6LAZxasKRYkBz6KA。

说明:

1. 哈希算法从数学上本身没问题,所以谷歌给出的应对方案也只是建议由SHA-1提升至更复杂的SHA-256等。

2.这是我(冯立超@瀚博资讯)在高铁上打发时间写给朋友圈的科普文,为保证所有会用微信的朋友都能读懂,不确保技术及术语严谨性。

3.文中以“一篇文章”举例,其实可以是任何信息,比如网页、银行往来信息、身份证银行卡芯片等等。

4.拇指打字辛苦,转载请注明出处:)

时间: 2024-12-27 10:31:11

谷歌攻破网络安全算法解读的相关文章

程序语言的奥妙:算法解读 ——读书笔记

算法(Algorithm) 是利用计算机解决问题的处理步骤. 算法是古老的智慧.如<孙子兵法>,是打胜仗的算法. 算法是古老智慧的结晶,是程序的范本. 学习算法才能编写出高质量的程序. 懂得了算法,游戏水平会更高. 比如下棋,如果懂得棋谱,就不需要每次考虑"寻找最好的一步棋",按照棋谱 就可以走出最好的几步棋.棋谱是先人们智慧的结果,因此掌握多种棋谱的人更 容易在对弈中获得胜利. 算法的学习类似学习游戏攻略. 算法是编写好程序的"棋谱". 算法必须满足&

张正友相机标定算法解读

张正友标定算法解读 一直以来想写篇相机标定方面的东西,最近组会上也要讲标定方面东西,所以顺便写了.无论是OpenCV还是matlab标定箱,都是以张正友棋盘标定算法为核心实现的,这篇PAMI的文章<A Flexible New Technique for Camera Calibration>影响力极大,张正友是浙江大学的机械系出身,貌似现在是微软的终身教授了.我就简单的介绍下算法的核心原理,公式的推理可能有点多. 一 基本问题描述:空间平面的三维点与相机平面二维点的映射. 假设空间平面中三维

谷歌开发者工具使用解读--新人

谷歌开发者工具的使用解读 1.  独立窗口 2.  Elements 查看.编辑页面上的元素,包括html和css 实用场景1:查看推广代码 实用场景2:查看元素的属性,如nofollow 实用场景3:ctrl+f,在搜索框中写元素的xpath路径,如果elements元素行被选中表示路径写的正确,如下例子定位post sourcing request按钮位置: 3.  Network 分析网站的网络请求情况 双击文件查看详细页具体信息(如请求的ip地址,url,方法,请求结果的状态码) 实用场

挑战目标跟踪算法极限,SiamRPN系列算法解读

商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目标跟踪最强算法 SiamRPN 系列. 背景 由于存在遮挡.光照变化.尺度变化等一些列问题,单目标跟踪的实际落地应用一直都存在较大的挑战.过去两年中,商汤智能视频团队在孪生网络上做了一系列工作,包括将检测引入跟踪后实现第一个高性能孪生网络跟踪算法的 SiamRPN(CVPR 18),更好地利用训练数

谷歌推出演算法,加快AI边缘装置效能

谷歌推出EfficientNet-EdgeTPU演算法,加快AI边缘装置效能.EfficientNet-EdgeTPU是针对Coral Dev Board,Tinker Edge T等搭载Edge TPU张量处理器进行最佳化的演算法,能提升神经网路运算效能达10倍,对运算能量有限的边缘装置来说,是相当重要的突破,并能带来更多应用可能性. 透过AI弥补摩尔定律放缓 摩尔定律(摩尔定律)由英特尔创始人之一戈登?摩尔提出,他预测每隔两年积体电路可容纳的电晶体数目会增加1倍,过去数十年,电脑发展都相当契

张正友标定算法解读(转)

一直以来想写篇相机标定方面的东西,最近组会上也要讲标定方面东西,所以顺便写了.无论是OpenCV还是matlab标定箱,都是以张正友棋盘标定算法为核心实现的,这篇PAMI的文章<<A Flexible New Technique for Camera Calibration>>影响力极大,张正友是zju的机械系出身,貌似现在是微软的终身教授了,有点牛的.我就简单的介绍下算法的核心原理,公式的推理可能有点多... 一 基本问题描述:空间平面的三维点与相机平面二维点的映射 假设空间平面

算法解读:数据结构

什么是数据结构? 大量数据的有效管理机制.描述计算机算法的时候使用的数据结构有很多种: 数组:连续排列数据的数据结构,数据以线性无间隙地排列 链表:数据按照顺序排列的数据结构,链表可以管理线性排列的数据,也可以远距离存放 栈:类似于桌子上堆书一样来管理数据的数据结构,栈是一种与数据输入顺序相反,逆序输出的数据管理方式 队列:如同在超市收银台结账一样,先来的顾客先付款,队列是数据输出顺序与输入顺序一致的数据管理方式 树:如同树枝可以分出两个.三个甚至多个树枝,而每个分出来的树枝还可以再分出两个.三

Real-Time Compressive Tracking,实时压缩感知跟踪算法解读

这是Kaihua Zhang发表在ECCV2012的paper,文中提出了一种基于压缩感知(compressive sensing)的单目标跟踪算法,该算法利用满足压缩感知(compressive sensing)的RIP(restricted isometry property)条件的随机测量矩阵(random measurement matrix)对多尺度(multiple scale)的图像特征(features)进行降维,然后通过朴素贝叶斯分类器(naive Bayes classifi

Istanbul BFT共识算法解读

Istanbul BFT共识算法详细文档 Istanbul BFT作为BFT类算法的一种已经有过在以太坊上的实践.虽然Istanbul目前还存在一些潜在的问题,但其算法思想和实现还是值得学习和借鉴的. 术语 Validator: 区块验证者. Proposer: 出块者. Round: 共识的轮数.一轮从出块者提出一个区块proposal开始,结束于区块提交或者轮数改变(轮数改变可能由于出错或者区块更新). Proposal: 提出的一个在处理中的新的区块. Sequence: proposal