前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >哈希Hash竞猜游戏系统开发详解技术丨哈希竞猜游戏系统开发方案解析

哈希Hash竞猜游戏系统开发详解技术丨哈希竞猜游戏系统开发方案解析

原创
作者头像
VC_MrsHu288
发布2022-06-29 10:10:15
6390
发布2022-06-29 10:10:15
举报

哈希值有以下四个特点:

1. 计算效率高(要计算任何输入值的哈希值非常容易)

2. 抗冲突(没有两条输入值可以给出相同的哈希值)

3. 隐藏输入信息(不能通过哈希值推算出输入值)

4. 输出应该看起来随机(但是一样的输入值会得到一样的哈希值)

1/2. MD4/MD5/HAVAL

MD4:

Ron Rivest设计,生成128位消息摘要值,用于高速计算要求的软件系统,针对微处理器进行了优化。

MD4先要填充消息,确保消息的长度比512的倍数小64位,例如一个16位消息要填充432位数据,使其达到448位(512*1-64)。

MD4被认为不安全,已基本弃用。

MD5:

Ron Rivest设计,MD4升级版,生成128位消息摘要值,MD5和MD4一样先要填充消息,但算法更复杂。

增加了第四轮运算,有研究表明MD5不敌碰撞攻击,不再适用于需要抵抗碰撞攻击的应用,如SSL和数字签名。

MD5应用非常广泛,即使被证明不再安全,但是MD5现在还常用于文件完整性校验,例如一些入侵检测系统,以及司法证据完整性校验等非加密目的的应用

HAVAL:

称为可变长度散列,是MD5的修订版,使用1024位块,可产生128、160、192、224和256位散列值。HAVAL 还允许用户指定用于生成哈希的轮数(3、4 或 5)。

遗憾的是,HAVAL也在2004年前后被攻破。

2/2. SHA系列

Secure Hash Algorithms,安全哈希算法。

SHA系列是由NSA设计、NIST发布,和数字签名标准(Digital Signature Standard,DSS)一起使用的哈希函数——美国联邦信息处理标准(FIPS)180“安全散列标准”(SHS)。

SHA设计的初衷是用在数字签名中。为了满足美国政府应用对安全性更强的哈希算法的需求而做出的改进。

🎈绕不开的NIST/NSA......

SHA(SHA-0):

SHA生成160位哈希值或消息摘要,输出结果随后输入一个非对称算法,输出消息的签名。类似于MD4,但使用了更多的数学函数抵御暴力破解攻击,包括生日攻击。由于存在未公开的“重大缺陷”,在发布后不久被修订的 SHA-1取代。

SHA-1:

SHA-1是SHA的改进版,SHA-1不敌碰撞攻击,所以不适用于需要抗碰撞攻击的应用。

SHA-2/SHA-3:

SHA-2和SHA-3作为SHA的升级版,目前业界认为其安全性适用于任何应用场景。

图片
图片

SHA-2生成消息摘要

需要介绍的是SHA-3:SHA-3使用Keccak算法,它支持与 SHA-2 相同的哈希长度,但是其内部结构与 SHA 系列几乎完全不同。

2012年Keccak算法在NIST的SHA-3竞赛中击败了包括大名鼎鼎的Rivest带来的MD6在内的众多算法,成了SHA-3的标准算法,SHA-3 的目的是在必要时可以直接替代当前应用中的 SHA-2,并显著提高了NIST整体哈希算法工具包的鲁棒性(即系统所具有的在不改变初始稳定构造的情况下抵抗变化的能力)。

Keccak算法使用了如下图所示的海绵结构。基于宽随机函数或随机排列,并允许输入任意数量的数据,并输出任意数量的数据,这带来了很大的灵活性。

图片
图片

不明觉厉的海绵函数/海绵结构

图片
图片

MD5/SHA系列哈希函数属性表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档