密码学大事件!第一例 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]

目录
相关文章
|
XML 缓存 前端开发
Thymeleaf一篇就够了
Thymeleaf是Springboot官方支持的模板引擎,有着动静分离等独有特点,通过本文简单学习下吧!
65292 25
Thymeleaf一篇就够了
|
数据可视化 数据挖掘 数据处理
R绘图 | 浅谈散点图及其变体的作图逻辑
R绘图 | 浅谈散点图及其变体的作图逻辑
1457 0
|
2月前
|
缓存 自然语言处理 API
零成本解锁 DeepSeek-V4-Pro:阿里云百炼100万Tokens免费额度领取与调用指南
DeepSeek-V4-Pro是一款旗舰级混合专家(MoE)大模型,总参数规模达1.6T,激活参数49B,原生支持百万级超长上下文处理,在数学逻辑、复杂推理、专业代码生成与长文本深度解析等领域表现卓越,适配科研、办公、智能代理等高阶场景。阿里云百炼作为一站式大模型服务平台,提供模型托管、API调用、免费额度等服务,新用户开通DeepSeek-V4-Pro即可免费领取100万Tokens,有效期90天,可零成本体验模型全能力。
912 0
|
5月前
|
安全 NoSQL Redis
开源 Wiki 神器 Docmost:团队协作知识库的终极解决方案
Docmost 是一款功能强大、部署简单的开源 Wiki 系统。它完美平衡了功能和易用性,既适合小团队快速搭建知识库,也满足企业级的安全和权限管理需求。
2874 5
 开源 Wiki 神器 Docmost:团队协作知识库的终极解决方案
|
Devops 网络安全 CDN
微软警告:Azure CDN将关闭,需尽快迁移以避免服务中断
微软警告:Azure CDN将关闭,需尽快迁移以避免服务中断
|
IDE 编译器 开发工具
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
在本文中,我们系统地讲解了常见的 `#pragma` 指令,包括其基本用法、编译器支持情况、示例代码以及与传统方法的对比。`#pragma` 指令是一个强大的工具,可以帮助开发者精细控制编译器的行为,优化代码性能,避免错误,并确保跨平台兼容性。然而,使用这些指令时需要特别注意编译器的支持情况,因为并非所有的 `#pragma` 指令都能在所有编译器中得到支持。
1965 41
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
|
开发工具 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
2808 0
git 报错 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
|
存储 NoSQL 关系型数据库
认识常见的一些数据库分类
数据库是用于存储、检索、管理和发送数据的系统。根据数据模型的不同,数据库可以分为多种类型。
1852 4
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
1336 1
|
数据采集 存储 数据处理
使用Python获取1688商品详情的教程
使用Python爬取1688商品详情,涉及requests库抓取页面、BeautifulSoup解析HTML,安装必要库如requests、beautifulsoup4、pandas和lxml。通过get_page发送请求,BeautifulSoup解析提取如标题、价格等信息。数据处理后可使用pandas保存至CSV。注意遵守法律法规和网站政策,避免频繁请求。[代码片段及更多详情见链接