0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

哈希算法函数的定义描述及其特征介绍

开发MrsFu123 来源:开发MrsFu123 作者:开发MrsFu123 2022-06-28 21:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

哈希的本质是一个采用哈希算法的数学函数,它被广泛应用于区块链中构建区块以及确认交易信息的完整性上。

什么是哈希算法?哈希算法是密码学中的一个重要算法,哈希的英文为Hash。

哈希算法有一个输入和一个输出,其输入称为消息,输出值是根据消息内容计算出的值,称为哈希值(又或称为摘要)

哈希算法函数的定义描述:

(1)输入消息长度任意

(2)输出哈希值长度固定

简单的理解,就是一串任意长的数据经过哈希函数的计算后,生成一串长度固定的短数据。

当今区块链技术中大量使用的哈希算法函数是SHA-256。SHA-256是SHA-2算法家族中的一种,SHA全称是安全哈希算法(Secure Hash Algorithm)。SHA-256的输入消息长度为任意位数,其输出的哈希值长度固定为二进制的256位。SHA-256具备密码哈希函数的基本特性

哈希函数有三个重要的特征。

第一,哈希的单向性、就是我们只能够把任意长度的数据,通过哈希函数生成一个固定长度的哈希值,反过来却不可能通过这个哈希值再推导出原来的输入数据,这就是哈希的单向性。

很多人好奇区块链是怎么形成的,简单理解,区块链=区块+链。例如我们把一个区块打包以后就会通过哈希函数计算出一个哈希值,这个值就会存放到下一个区块中,下一个区块里的哈希值就把上一个区块给锁定了,这就是哈希锁定。区块链的不可更改就是从这里来的,因为如果你把前面的区块数据篡改了,那和后面区块里的哈希值,就不能够对应了。在区块链中,每一个区块都对上一个区块进行内容锁定,这就是哈希锁定。

第二,哈希的唯一性。我们把一个任意长的数据通过哈希函数生成一个哈希值,生成的这个哈希值是唯一的。不会存在两个不同的输入生成的哈希值相同的这种情况。但是这句话是有问题的,为什么呢?你把任意长数据变成短数据,或者说你把大的文件变成一个短的哈希值,在科学上它是有一定的概率会形成相同的哈希值的,只是这个概率极低极低,到目前为止,采用SHA256算法的哈希函数还没有发生过相同哈希值的碰撞事件,所以说哈希的唯一性,就是这么来的。

第三,哈希的离散性。离散性是什么意思呢,就是两个非常相近的文件,或者说两个只相差一位数的数据,计算出来的两个哈希值却是天壤之别,是没有任何相似的地方的,这就是哈希的离散性。这个特性有效地规避了一些特定的攻击,如果两个文件只相差那么一丢丢,他计算出来的哈希值也很相近的话,是很容易遭受到攻击的。以上所述是哈希的三个重要特征。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数学函数
    +关注

    关注

    0

    文章

    9

    浏览量

    6462
  • 哈希算法
    +关注

    关注

    1

    文章

    56

    浏览量

    11091
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Molex OTS零哈希电缆组件技术解析与应用指南

    Molex现成(OTS)零哈希电缆组件是标准分立式电线电缆组件,设计用于应对电子设备日益缩小的挑战。这些电缆组件提供节省空间的薄型解决方案,具有创新的双点接触特性,有2、4、6和8电路尺寸可供选择
    的头像 发表于 11-17 16:44 457次阅读

    MD5信息摘要算法实现一(基于蜂鸟E203协处理器)

    命名为“Q”,则message_var=Q[(32*i):(32*i+31)]。 4、哈希运算(Hash Operation) 此部分为MD5算法的核心。MD5有4组主循环,每组的主循环需要进行16轮
    发表于 10-30 07:18

    Camellia算法的实现(基于开源蜂鸟E203协处理器)

    的输入。Camellia算法一共要用到四个不同的S盒,S盒的定义已在如上公式中给出。S盒处理后的数据还需要输出给P变换作为处理,P变换也为相应的异或运算。最后得出,F函数的输出结果。 上图所示为
    发表于 10-30 07:04

    复杂的软件算法硬件IP核的实现

    源代码编译为 HDL 的过程一共分为两步: (1)C to HASM (2)HASM to HDL 第一步 C to HASM 是将 C 语言描述算法编译为一种中间的、与实际硬件是有一定的对应
    发表于 10-30 07:02

    AES加解密算法逻辑实现及其在蜂鸟E203SoC上的应用介绍

    这次分享我们会简要介绍AES加解密算法的逻辑实现,以及如何将AES算法做成硬件协处理器集成在蜂鸟E203 SoC上。 AES算法介绍 AE
    发表于 10-29 07:29

    TCORDIC算法实现正余弦函数

    TCORDIC算法,由低延迟CORDIC算法和Taylor展开组成。Taylor展开计算作为CORDIC算法的补充,能够结合CORDIC算法和Taylor展开方式来计算浮点正余弦
    发表于 10-29 06:30

    查找表与多项式近似算法实现初等函数

    逼近的定义区间长度及选取系数的方式决定。 每个子间隔的系数存储在查找表中。用Xm来选择系数,所以方程变成: 使用查找表与多项式近似结合算法实现对数函数,如下图所示为指数函数的流水
    发表于 10-28 08:10

    国密系列算法简介及SM4算法原理介绍

    保证,而国产密码算法实现了密码算法的自主可控,对于保障我国的国家安全具有重要意义。目前,我国大力推广国密算法的应用,并涌现出一系列国家商用密码应用的优秀案例。 本文将对SM4算法的原理
    发表于 10-24 08:25

    哈希极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    集群整体性能的瓶颈。本文将探讨哈希极化的成因、影响,并介绍一种通过主动路径规划(PPD)来优化网络配置、提升性能的解决方案。
    的头像 发表于 07-21 17:27 1659次阅读
    从<b class='flag-5'>哈希</b>极化到零拥塞:主动路径规划在RoCE网络中的负载均衡实践

    如何使用自定义设置回调函数

    你好,我正在尝试编写自己的自定义设置回调函数,并使用 fastEnum=false。 是否有任何代码示例或资料可供我参考? void CyU3PUsbRegisterSetupCallback
    发表于 05-21 06:11

    详解RTOS中的Hook函数

    Hook函数是RTOS中的一个关键特性,通过该函数,用户可以增强对任务管理的控制,定义系统行为。
    的头像 发表于 03-24 16:14 820次阅读

    VirtualLab Fusion应用:非近轴衍射分束器的设计与优化

    )的结构设计生成一系列分束器的初始设计,然后通过傅里叶模态法或严格耦合波分析(FMM/RCWA)进一步优化。为了给最后一个优化步骤定义一个合适和有效的优化函数,应用了可编程光栅分析器。第二个示例更详细
    发表于 03-10 08:56

    VirtualLab Fusion应用:使用自定义的评价函数优化高NA分束器

    严格的后优化,至少建议进行严格的分析。在这个用例中,使用奇数衍射级对典型的二元1:6分束器执行这样严格的评估。为此,对初始系统的结构进行了参数化,并通过可编程光栅分析器定义了一组自定义的评价函数。对于
    发表于 03-07 08:54

    VirtualLab Fusion应用:参数优化文档介绍

    配置周围的搜索区域; •eg.通过更高的值,可以跳出局部最小区域。 •3.定义全局优化的设置 3.定义全局优化的设置 *结果列表可能会列出更多的迭代;这源于这样一个事实,即一些优化算法也会显示中间
    发表于 02-28 08:44

    DLPC7540EVM是否支持自定义的图像处理算法,以及如何进行算法的移植?

    是否支持自定义的图像处理算法,以及如何进行算法的移植?
    发表于 02-17 08:25