sha1collisiondetection SHA1 碰撞检测

程序名称:sha1collisiondetection

授权协议: MIT

操作系统: Linux

开发语言: C/C++

sha1collisiondetection 介绍

研究人员宣布了首例 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");

sha1collisiondetection 官网

https://github.com/cr-marcstevens/sha1collisiondetection

相关编程语言

IPTraf是一个使用简单的网络状况监视工具。
所谓 rootkit ,是一类入侵者经常使用的工具。这类工...
系统管理员可以利用Health Monitor 去监控网络中的每...
当服务器遭到黑客攻击时,在多数情况下,黑客可能对...
Hobbit是一个基于WEB用于监视系统运行状态和网络信息...
MX4J是Java管理扩展技术的一个开源实现,支持JSR3 (...