密码学哈希函数

密码学哈希函数什么是哈希函数 哈希函数是一个数学函数 其具有以下三个特性 输入可以为任意大小的字符串 其产生固定大小的输出 对于特定的输入字符串 能在合理时间计算出结果 对应 n 位的字符串 其哈希值计算的复杂度为 O n 要使哈希函数达到密码安全 需要附加以下三个特性 碰撞阻力 隐秘性 谜题友好特性 1 碰撞阻力这里的碰撞是指对于两个不同的输入 产生相同的输出 如果对于哈希函数 H

什么是哈希函数?哈希函数是一个数学函数,其具有以下三个特性:

  • 输入可以为任意大小的字符串;
  • 其产生固定大小的输出;
  • 对于特定的输入字符串,能在合理时间计算出结果。对应n位的字符串,其哈希值计算的复杂度为O(n)。

要使哈希函数达到密码安全,需要附加以下三个特性:碰撞阻力、隐秘性、谜题友好

特性1:碰撞阻力

这里的碰撞是指对于两个不同的输入,产生相同的输出。如果对于哈希函数H(x),没有人能够找到碰撞,则称该函数具有碰撞阻力。

特性2:隐秘性

定义:

  哈希函数H具有隐秘性,如果:当其输入r选自一个高阶最小熵的概率分布,在给定H(r||x)条件下来确定x是不可行的。

应用:承诺

我们把想做的事情称为承诺。这里承诺是一个数字化过程,类比如下:首先选定一个数字,将数字装进信封,然后将该信封放到一个人人都可以看到的桌上。这样做以后,可以说你就信封里的数字做出来承诺,在打开信封之前,虽然你已经做出了承诺,但是对于其他人来说它还是秘密。在之后你可以打开信封,展示你的承诺的数值。

特性3:谜题友好

定义:

如果对于任意n位输出值y,假定k选自高阶最小熵分布,如果无法找到一个可行的方法,在比2的n次方小很多的时间内找到x,保证H(k||x)=y成立,那么我们称哈希函数H为谜题友好。

  应用:搜索谜题

在这个应用种,我们将建立一个搜索谜题,该谜题是一个需要对庞大空间进行搜索,才能找到解决办法的数学问题。该搜索谜题没有捷径,也就是说除了搜索庞大的空间来进行求解,没有其他办法。

最后,欢迎各位扫描以下二维码关注我的个人公众号。

密码学哈希函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228849.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:03
下一篇 2026年3月16日 下午6:03


相关推荐

  • matlab控制系统仿真教程答案唐(matlab求传递函数的极点)

    简单的控制算法,没有用Simulink工具,直接写代码。主要点就是分清楚仿真环境和需要验证的算法。也就是说首先要数学建模,建立一个‘环境’,用来模拟实际环境。然后写自己的控制算法。最后把算法用到‘环境’上,就是在仿真了。全部代码如下:%Thesimulationofthestablependulumcart%usingPID,poleplacementandLQRclc;clea…

    2022年4月12日
    67
  • Python中的lambda和apply用法

    Python中的lambda和apply用法目录 1lambda1 1 nbsp 举最简单的例子 1 2 再举一个普通的例子 2 nbsp Apply2 1 nbsp 举例 2 2 下面的例子是 DataFrame 中 apply 的用法 3 参考文献 1lambdalambd 原型为 lambda 参数 操作 参数 lambda 函数也叫匿名函数 即没有具体名称的函数 它允许快速定义单行函数 可以用在任何需要函数的地方 这区别于 def 定义的函数

    2026年3月19日
    1
  • 从入门到高级Java书籍推荐

    从入门到高级Java书籍推荐前言不管你是转行来学习Java编程,还是你本来就是计算机专业并且继续在这一领域深耕的。除了,大学专业课程的学习以及工作中的实践之外;业余时间的充电,成了技术人员提升自己的必选之路。有的人选择利用金钱换来时间去报学习班培训,有的人利用自学。那么,自学的方法很多种:阅读书籍资料、网上各种技术论坛博客、视频教程等。个人认为,学习一门技术知识掌握的时间快慢:工作(项目)实战>技术培训&…

    2022年6月25日
    23
  • 史上最全运放运算放大器知识讲解[通俗易懂]

    史上最全运放运算放大器知识讲解[通俗易懂]史上最全运放运算放大器知识讲解原文:http://www.sohu.com/a/154282071_755644调节和放大模拟信号,它是用途十分广泛的器件,接入适当的反馈网络,可用作精密的交流和直流放大器、有源滤波器滤波器的供应商、振荡器振荡器的供应商及电压比较器比较器的供应商。其应用领域已经延伸到汽车电子、通信、消费等各个领域,并将在未来技术方面扮演重要角色。运算放大器的分类…

    2022年4月30日
    111
  • python csv文件数据写入和读取(适用于超大数据量)

    python csv文件数据写入和读取(适用于超大数据量)文章目录pythoncsv文件数据写入和读取(适用于超大数据量)pythoncsv文件数据写入和读取(适用于超大数据量)一般情况下由于我们使用的数据量比较小,因此可以将数据一次性整体读入或者写入,而且可以一次性对数据进行加工和处理。但是当数据量比较大,比如有5G的数据量,这个时候想要一次性对所有数据进行操作就比较困难了。所以需要逐条将数据进行处理。importcsv#在最开始创…

    2022年7月20日
    56
  • Linux:修改用户密码

    Linux:修改用户密码Linux 修改用户密码使用的 Linux 版本是 ubuntu 18 10 live server amd64 知道一个用户名密码时 修改用户密码 各个版本下都是通用的 重置密码的时候 版本不同 可能操作的地方不一样了 如果一个账号的密码都不记得了 这通常是需要修改用户密码最多的情况 那就需要重置密码 相对就比较复杂一些 放在最后讲 但凡知道一个用户的密码 那就好办 普通用户登录的情况下 也可以修改 root 用户的密码 1 知道一个账号的密码这就是正常情况下 修改用户密码 1 1 知道 roo

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号