当前位置: 首页 > 软件库 > 管理和监控 > 安全相关 >

sha1collisiondetection

SHA-1 碰撞检测
授权协议 MIT
开发语言 C/C++
所属分类 管理和监控、 安全相关
软件类型 开源软件
地区 不详
投 递 者 万修然
操作系统 Linux
开源组织 GitHub
适用人群 未知
 软件概览

研究人员宣布了首例 SHA-1 碰撞。所谓碰撞是指两个内容不同的对象产生了相同的 SHA-1 哈希值。

在 Git 版本控制系统中,每个对象都以内容的 SHA-1 哈希值命名,如果试图向 Git 库里推送与现有对象 SHA-1 哈希相同的碰撞对象,接收者可以很容易通过对比源代码区分真假,所以对 Git  进行SHA-1 碰撞攻击的方法被认为是首先创造出一对 SHA-1 哈希值相同的对象,然后让其中一个看似合法的对象获得合法签名,然后对外散播包含另一个恶意对象的版本,这个恶意版本的签名仍然与原始版本相同。

为了阻止此类的碰撞攻击,源代码托管平台 GitHub 宣布 引入了 SHA-1 碰撞检测,检测 SHA-1 碰撞的攻击 sha1collisiondetection 已经开源。

示例代码:

#include <sha1dc/sha1.h>

SHA1_CTX ctx;
unsigned char hash[20];
SHA1DCInit(&ctx);

/** disable safe-hash mode (safe-hash mode is enabled by default) **/
// SHA1DCSetSafeHash(&ctx, 0);
/** disable use of unavoidable attack conditions to speed up detection (enabled by default) **/
// SHA1DCSetUseUBC(&ctx, 0); 

SHA1DCUpdate(&ctx, buffer, (unsigned)(size));

int iscoll = SHA1DCFinal(hash,&ctx);
if (iscoll)
    printf("collision detected");
else
    printf("no collision detected");
  • 本文翻译自:How would Git handle a SHA-1 collision on a blob? This probably never happened in the real-world yet, and may never happen, but let's consider this: say you have a git repository, make a commit,

  • 都知道任何哈希算法都有可能产生冲突,也就是说不同内容产生相同的哈希码,MD5早就有过两个不同的图片的实例,但是SHA1的在现实中很难遇到,有好多好多的应用还是依赖于它作为标识,要找到一个实例还是相当的困难。 不过终于有人公开了一个实实在在的结果,可以到这里下载两个不同的PDF文件,它们都用相同的SHA1哈希码。 还有这篇文章:Announcing the first SHA1 collision

  • 几周前,研究人员宣布了首例 SHA-1 碰撞。所谓碰撞是指两个内容不同的对象产生了相同的 SHA-1 哈希值 在 Git 版本控制系统中,每个对象都以内容的 SHA-1 哈希值命名,如果试图向 Git 库里推送与现有对象 SHA-1 哈希相同的碰撞对象,接收者可以很容易通过对比源代码区分真假,所以对 Git 进行SHA-1 碰撞攻击的方法被认为是首先创造出一对 SHA-1 哈希值相同的对象,然后让

 相关资料
  • 碰撞检测 现在你知道了如何制造种类繁多的图形对象,但是你能用他们做什么?一个有趣的事情是利用它制作一个简单的 碰撞检测系统 。你可以用一个叫做:hitTestRectangle 的自定义的函数来检测两个矩形精灵是否接触。 hitTestRectangle(spriteOne, spriteTwo) 如果它们重叠, hitTestRectangle 会返回 true。你可以用 hitTestRect

  • 本节暂未进行完全的重写,错误可能会很多。如果可能的话,请对照原文进行阅读。如果有报告本节的错误,将会延迟至重写之后进行处理。 当试图判断两个物体之间是否有碰撞发生时,我们通常不使用物体本身的数据,因为这些物体常常会很复杂,这将导致碰撞检测变得很复杂。正因这一点,使用重叠在物体上的更简单的外形(通常有较简单明确的数学定义)来进行碰撞检测成为常用的方法。我们基于这些简单的外形来检测碰撞,这样代码会变得

  • 问题内容: 有人可以帮我了解JS中冲突检测的工作原理吗?我不能使用jQuery或gameQuery-已经使用了原型- 因此,我正在寻找非常简单的东西。不要求完整的解决方案,只需为我指明正确的方向。 假设有: 现在球正在移动(任何方向)。“ Someobject”(0-X)已经预先定义,其中有20-60个随机放置,如下所示: 我可以创建一个位置为“ someobject(X)”的数组,并在“球”移动

  • 我已经尝试添加冲突检测一段时间了,但似乎做不到... 要绘制地图,我只需使用x,y坐标: 使用这种方法,我想出了这种检测: 我一直在尝试使用for循环遍历树来检测玩家(一个矩形)是否穿过树,但我想不出任何东西。 我已经试过了 如果碰撞=true,player.update(碰撞)将矩形更改为红色,如果为false,将矩形变为黑色。 我已尝试使用for和if,例如: 等但这不起作用,它只适用于wit

  • 所以我试图用Python和Pyplay创建一个益智平台游戏,但是我遇到了一点麻烦。当我为主要角色使用单点图像,而不是矩形图像时,如何制作碰撞检测器?我知道直角图像有左、右、顶部和底部像素功能(这对冲突检测非常有用),但是对于单片图像有这样的功能吗?或者我只需要为x和y坐标创建一个变量图像的宽度/高度?我试过用那个 但是catImg一直在通过窗户的尽头。我做错了什么?提前谢谢。

  • 我有一些关于碰撞角度的问题。我正在尝试为一个游戏编写物理代码,我不想使用任何第三方库,实际上我想自己编写每一个东西。我知道如何检测两个球体之间的碰撞,但我不知道如何找到两个球体之间的碰撞/斥力角。我试过扭转物体的方向,但没有成功。如果你把我链接到一个有趣的.pdf文件教物理编程,那将是非常好的。

  • 文:youyou Cocos Creator 提供了一套用于检测 3D 物体碰撞的 API,用户可以使用这些 API 做射线检测之类的检测。 射线检测 cc.geomUtils.intersect.raycast(rootNode, ray, handler, filter) // 根据点击的点获取一条由屏幕射向屏幕内的射线 let ray = camera.getRay(touchPos); /

  • 我正在尝试做一个平台游戏,其中没有斜坡。我正在尝试将碰撞检测降下来,但是我在pygame中找不到一种方法来获得哪一边与另一个Sprite发生了碰撞。有没有人能给我一个好的方法来做到这一点,那不是太庞大,但也能很好地工作在我的情况? 下面是我的玩家类: 我已经将它添加到我的player类中,每次播放器更新时我都运行它,并且它工作...差一点。 在平台顶部的碰撞起作用,在侧面的碰撞几乎总是起作用,除非