密码学基础(一)——哈希算法

这篇具有很好参考价值的文章主要介绍了密码学基础(一)——哈希算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、常用密码学算法分类

哈希算法:哈希算法不可逆,包括:MD4、MD5、hash1、ripeMD160、SHA256、SHA3、Keccak256、国家标准SM3(国家密码管理局)

加密/解密算法:加密解密算法可逆,但是必须要有秘钥,对称加密,非对称加密,数字签名算法DSA

编码/解码算法:编码解码算法可逆,无需密钥,Base64编码,Base58编码解码。

二、hash定义与特点

定义:把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换称为“压缩映射”,hash值别称:数字摘要,消息摘要。

特点:

正向容易:给定任意一段明文,可在短期(有限时间范围与有限资源内)得到hash值

逆向复杂:不可逆性,不能反向推导出明文

抗差异明显:明文中的小改动,造成结果的大幅度变化

抗碰撞性:不同的明文得到同样的hash值得概率小;同时即使可以得到相同的hash,但是找到这样的hash值的难度大

应用场景:

检测软件、文件是否篡改;伪随机数生成;一次性口令;密码存储;数字签名(数字文件的hash)

三、流行的哈希算法

1. MD系列

  • MD-4是Ronald L.Rivest在1990年设计的,MD是Message Digest的缩写,输出为128位。
  • MD-5是MD-4的改进版本,输出也是128为,相对更复杂,计算速度慢一些,安全性高。但是MD-5被证明不具备强碰撞性,因此不适用与安全性要求极高的商用场景。目前,在主流的WEB开发中,依然使用它进行密码的保存。

密码学基础(一)——哈希算法

  

2. SHA系列

  • SHA(Secure Hash Algorithm,安全哈希算法)属于hash算法系列。1993年,由NIST(美国标准技术研究所)发布的hash算法。
  • 1995年,SHA-1面世,输出为长度160位的hash值,SHA-1与MD-4具有相同的原理,因此最终也被证明不具备强碰撞性。
  • 为了提高安全性,NIST设计了SHA-2系列算法,与SHA-1的原理基本类似,包含:SHA-224、SHA-256、SHA-386、SHA-512。
  • SHA-3,之前名为Keccak算法,是一个加密杂凑算法,输出长度有512、394、256、224。
  • SHA-3的安全性极高,与之前的MD以及SHA系列算法完全不同。

密码学基础(一)——哈希算法

  

四、哈希安全防御

哈希加“盐”(salt),所谓加“盐”,就是在明文的随机位置加上一串随机的字符串再进行hash,防止彩虹表攻击。

密码学基础(一)——哈希算法

五、哈希算法选型和使用

哈希算法选型

密码学基础(一)——哈希算法

 链式哈希结构

密码学基础(一)——哈希算法

        区块链提供了难以篡改的可信数据源。由于哈希算法的单向性,可以从前一个数据块原文计算出下一个数据块所用的哈希值输入,但已知一个哈希值输入,难以反推出所有可能的数据块原文。文章来源地址https://www.toymoban.com/news/detail-415289.html

到了这里,关于密码学基础(一)——哈希算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【区块链学习笔记01】BTC-密码学原理-哈希函数

    区块链中最基础的密码学原理就是哈希算法,以下为哈希函数的简单介绍: 哈希函数是一种只只能加密但是不能解密的算法,哈希函数可以将任意长度的信息转化为固定长度的字符串。类似“8b46ec792e943de34605981980751a3c1e008218f77eeb27e474b594f7685019”这样。 当输入相同的值时,得到

    2024年02月03日
    浏览(34)
  • 第六章 消息认证和哈希函数 —— 现代密码学(杨波)课后题答案解析

    1.6.1.3节的数据认证算法是由CBC模式的DES定义的,其中初始向量取为0,试说明使用CFB模式也可获得相同的结果。 解:设需认证的数据分为64比特长的分组, D 1 , D 2 ,…, D N ,其中 D N 不够64比特则右边补0,由题设,数据认证算法相当于在CBC模式中初始向量取为0,并按如下关系

    2024年02月05日
    浏览(42)
  • 【现代密码学】笔记4--消息认证码与抗碰撞哈希函数《introduction to modern cryphtography》

    主要在 哈工大密码学课程 张宇老师课件 的基础上学习记录笔记。 内容补充:骆婷老师的PPT 《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(现代密码学——原理与协议)中相关章节 密码学复习笔记 这个博主好有意思 初步笔记,如有错误请指正 快速补充一些密码

    2024年01月18日
    浏览(36)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(41)
  • 现代密码学基础(2)

    目录 一. 介绍 二. 举例:移位密码 (1)密文概率 (2)明文概率 三. 举例:多字母的移位密码 四. 完美安全 五. 举例:双子母的移位密码 六. 从密文角度看完美安全 七. 完美保密性质 在密码学中,K代表密钥,M代表明文,C代表密文,每个都有各自的概率分布。 密钥是通过密

    2024年01月17日
    浏览(48)
  • 密码学基础

    信息安全面临的危险与应对这些威胁的密码技术: 关于上图中的威胁,这里在简单的说明: 窃听 :指的是需要保密的消息被第三方获取。 篡改 :指的是消息的内容被第三方修改,达到欺骗的效果。 伪装 :指的是第三方伪装成接收者或者发送者,给对方发送消息。 否认 :

    2024年02月06日
    浏览(28)
  • 密码学基础知识

    信息安全三要素(CIA):机密性(confidential)、完整性(integrality)、可用性(availability) 机密性 机密性是指保证信息不被非授权访问,即使非授权用户得到信息也无法知晓信息内容,因而不能使用。他的任务是确保信息不会被未授权用户访问,通常是通过访问控制阻止非授

    2024年02月09日
    浏览(31)
  • 密码学_ZUC算法

    目录 ZUC算法介绍 算法结构 线性反馈移位寄存器LFSR   LFSR初始化模式   LFSR工作模式 比特重组BR 非线性函数F  加密流程 ZUC算法介绍         祖冲之算法集(ZUC算法)是由我国学者自主设计的加密和完整性算法,包括祖冲之算法、加密算法128-EEA3和完整性算法128-EIA3,已经

    2024年02月12日
    浏览(32)
  • 公钥密码学算法类型综述

    作者:网安新生研讨课第一小组 采用协议 CC BY-NC,原文链接 :https://www.cnblogs.com/Multya/p/18072514 公开密钥密码学 (英语: Public-key cryptography )也称 非对称式密码学 (英语: Asymmetric cryptography )是密码学的一种算法,它需要两个密钥,一个是 公开密钥 ,另一个是 私有密钥

    2024年03月14日
    浏览(29)
  • 密码学相关基础知识

    明文:没有经过加密,任何人都能看得懂的文字 密文:经过加密后的文字 密钥:明文与密文转换的参数 是现代密码学和古典密码学的重要区别 现代密码原则:密码系统的安全性不依赖于算法的保密而依赖于密钥的安全 古典密码原则:密码系统的安全性依赖于算法的保密和

    2023年04月27日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包