密码学大事件!第一例 SHA-1 哈希碰撞实例公布

简介:

今日有消息报道荷兰阿姆斯特(CWI)研究所和谷歌研究人员发布了世界上第一例公开的SHA-1哈希碰撞实例。

在现实世界里,哈希碰撞事件也确有发生。如利用 MD5 碰撞伪造合法 CA 证书,进而攻击 HTTPS 安全体系。

消息称,CWI 研究所的 Marc Stevens 是此次攻击的关键人物,2016 年找到了SHA-1算法内部的核心组件 internal compression function 的一个碰撞实例,开始攻克 SHA-1 完全实际碰撞攻击。近日在 Google 的强大资源支持下,终将 SHA-1 算法的碰撞实例展示出来。

此次攻击使用了强大计算资源,Google Security Blog 公布数据:

Nine quintillion (9,223,372,036,854,775,808) SHA1 computations in total

6,500 years of CPU computation to complete the attack first phase

110 years of GPU computation to complete the second phase

规模程度看实验配图:


9473115cb93ab920a18c79efcb05e29f28ae773d

如使用暴力搜索,使用的计算资源 Google 也会无法承担,而改进的 Shattered 算法只需要 110 个 GPU 年就可以完成第二阶段的搜索任务。

安全建议

消息指出,SHA-1 碰撞攻击影响了大量现有的安全应用,目前许多部署的 SSL/TLS 服务连接中均使用了 SHA-1 算法作为消息验证的基本密码学原语,因此受到该攻击的影响;Git 如今依然使用 SHA-1 作为文件的消息“指纹”;Android 系统中应用 APP、升级包、Bootloader 等模块的签名机制(RSA + SHA-1)也广泛受到影响。

有资料显示,SHA-1 算法的后继算法早已被研究人员设计和推广,SHA-2 算法家族在2001年就已经公布,而NIST在经过多年的SHA-3设计竞赛后,在2015年正式推荐 Keecak 算法家族作为 SHA-3 的候选算法。中国国家密码管理局同样在2010年底发布了我国自主的国密SM3消息摘要(密码杂凑)算法。

Google 公司和 IT 安全研究人员也曾呼吁大家尽快更换 SHA-1 算法。此次事件也警示着各位:赶紧为安全的系统启用新的 Hash 算法吧!

本文来自开源中国社区 [http://www.oschina.net]

目录
相关文章
|
9月前
|
存储 人工智能 前端开发
Botgroup.chat:超有趣的开源 AI 聊天室!多个 AI 在线互怼,一键搭建你的专属 AI 社群
Botgroup.chat 是一款基于 React 和 Cloudflare Pages 的开源 AI 聊天应用,支持多个 AI 角色同时参与对话,提供类似群聊的交互体验。
2059 28
|
监控 前端开发 安全
RPA机器人的工作原理?
【8月更文挑战第4天】RPA机器人的工作原理?
657 1
|
数据采集 存储 数据处理
使用Python获取1688商品详情的教程
使用Python爬取1688商品详情,涉及requests库抓取页面、BeautifulSoup解析HTML,安装必要库如requests、beautifulsoup4、pandas和lxml。通过get_page发送请求,BeautifulSoup解析提取如标题、价格等信息。数据处理后可使用pandas保存至CSV。注意遵守法律法规和网站政策,避免频繁请求。[代码片段及更多详情见链接
|
开发工具 git
git 报错 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
git 报错 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
2025 0
git 报错 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
|
Shell 网络安全 开发工具
上传本地代码到github
上传本地代码到github
353 0
|
Web App开发 安全 算法
真实世界的密码学(二)(4)
真实世界的密码学(二)
325 2
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
197 0
|
定位技术 开发工具 Python
python实现超级玛丽游戏
Pygame是一个Python模块,旨在使编写视频游戏等多媒体应用程序变得更加轻松。它提供了一个用于处理音频、图像和鼠标/键盘输入等方面的工具集。Pygame也提供了一些预先编写好的模块,如Sprites(用于管理游戏中的对象)和Pygame.display(用于创建和管理窗口)。 Pygame基于SDL库(Simple DirectMedia Layer),它是一个跨平台的开源的低级多媒体库,用于对音频、键盘、鼠标、图形硬件以及低级的操作系统特性进行访问。 当使用Pygame时,你能够创建游戏窗口、读取键盘输入、播放音频、处理碰撞以及执行游戏逻辑。这些功能使Pygame称为一个适用于初学
890 19
python实现超级玛丽游戏
|
网络协议 网络架构
比较ping,tracert和pathping等命令之间的关系
比较ping,tracert和pathping等命令之间的关系
676 0