当前位置:网站首页>哈希Hash竞猜游戏系统开发详解技术丨哈希竞猜游戏系统开发方案解析
哈希Hash竞猜游戏系统开发详解技术丨哈希竞猜游戏系统开发方案解析
2022-06-29 10:45:00 【VC_MrsHu288】
哈希值有以下四个特点:
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系列哈希函数属性表
边栏推荐
- Doodle cloud development demo login
- The necessary operation for those big guys to fly 666 inadvertently at the bash command line terminal
- 基于集群的动态反馈负载均衡策略
- 稳定币风险状况:USDT 和 USDC 安全吗?
- 9 easy to use JSON processing tools, greatly improving efficiency!
- Creating postgre enterprise database by ArcGIS
- Add notification announcements to send notifications to online users
- 【每日3题(3)】重新格式化电话号码
- 记一次 MSI 笔记本 GE63 播放网页视频 闪屏和随机发绿 问题解决
- TTL serial port learning infrared remote control module can be extended to network control
猜你喜欢

Modbustcp protocol WiFi wireless learning single channel infrared module (small shell version)

喜报|海泰方圆通过CMMI-3资质认证,研发能力获国际认可

Necessary for cloud native development: the first common codeless development platform IVX editor

高效远程办公的基石:有效沟通 |社区征文

影响LED封装散热主要因素有哪些?

Bs-gx-017 online examination management system based on SSM

XML外部实体注入漏洞(一)

Qt学习06 窗口部件及窗口类型

Introduction to software engineering - Chapter 5 - overall design

Rebuild confidence in China's scientific research - the latest nature index 2022 released that China's research output increased the most
随机推荐
X-FRAME-OPTIONS web page hijacking vulnerability
Qt学习10 初探 Qt 中的消息处理
How to identify the exact length and width of the contour
Qt学习09 计算器界面代码重构
ETL为什么经常变成ELT甚至LET?
XML external entity injection vulnerability (I)
(JS) array flat
Qt学习06 窗口部件及窗口类型
How to find out the wrong mobile number when querying MySQL
Cornerstone of efficient remote office: effective communication | community essay solicitation
Mastering the clever use of some shell wildcards will make us write with half the effort
(JS) isnan() method determines the reason why undefined is true
Qt学习08 启航!第一个应用实例
Discussion on QT learning 10 message processing in QT
美创入选信通院“业务安全推进计划”首批成员单位
Adding sharding sphere5.0.0 sub tables to the ruoyi framework (adding custom sub table policies through SPI)
STM32看门狗研究
Oracle扩充分布式云端服务 为更多客户带来全面公有云服务
Modbustcp protocol network learning single channel infrared module (double-layer board)
海泰前沿技术|隐私计算技术在医疗数据保护中的应用