当前位置: 首页 > article >正文

什么是哈希算法sha2?和sha1什么区别?SHA2代码签名?sha3又是什么?

文章目录

  • 什么是哈希算法sha2?和sha1什么区别?SHA2代码签名?sha3又是什么?
    • 背景和应用
    • 什么是哈希算法sha2?
    • sha2和sha1什么区别?
    • SHA2代码签名
    • sha3又是什么?

什么是哈希算法sha2?和sha1什么区别?SHA2代码签名?sha3又是什么?

官网:https://csrc.nist.gov/projects/hash-functions/

由美国国家标准与技术研究院(NIST)维护,提供了有关 SHA-2 和 SHA-3 算法的详细信息、规范、参考实现和其他资源。您可以在这些网站上找到 SHA-2 和 SHA-3 算法的技术细节、安全性评估、标准文档以及其他相关信息。

背景和应用

单向散列函数是指对不同的输入值,通过单向散列函数进行计算,得到固定长度的输出值。这个输入值称为消息(message),输出值称为散列值(hash value)。

单向散列函数有多种实现算法,常见的有:MD5、SHA-1、SHA-2和 SHA-3。

SHA是一系列的加密算法,有SHA-1、SHA-2、SHA-3三大类,而SHA-1已经被破解,SHA-3应用较少,目前应用广泛相对安全的是SHA-2算法。

什么是哈希算法sha2?

SHA算法分为很多版本。最大的版本分类是SHA-1和SHA-2,SHA-2又包含了很多子版本。

SHA-2下又可再分为六个不同的算法标准

包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

这些变体除了生成摘要的长度 、循环运行的次数等一些微小差异外,算法的基本结构是一致的。

sha2和sha1什么区别?

SSL行业选择SHA作为数字签名的散列算法,从2011到2015,一直以SHA-1位主导算法。但随着互联网技术的提升,SHA-1的缺点越来越突显。从2016年开始,SHA-2已经成为了新的标准,所以现在签发的SSL证书,必须使用该算法签名。

NIST于 2011 年弃用 SHA-1,并于 2013 年底禁止将其用于数字签名。

2019 年初,Microsoft 宣布弃用安全哈希算法 1 (SHA-1) 并开始向 SHA-2 进行迁移。因此,系统将不再识别使用 SHA-1 算法签名的所有证书,并将引发安全警报。

总结:从2016年开始,SHA-2是新标准。如果您今天收到SSL / TLS证书,则必须至少使用该签名。

SHA2代码签名

SHA2代码签名的原理是利用SHA2哈希算法对软件代码和文件进行处理,以产生一个固定长度的密钥,通过哈希算法,可以检测文件是否被篡改或者文件在传输过程中是否被损坏,以确保软件代码和文件的完整性。

SHA2代码签名可以对.exe、.ocx,.xpi、.msi、.dll、.cab等软件代码的文件格式进行签名,可以确保软件代码和文件不被篡改或损坏,以保证软件安全。

签名机构使用私钥对SHA2哈希值进行数字签名,随后用户的运行环境使用公钥来验证数字签名的完整性、真实性。

SHA2代码签名分为普通代码签名、EV代码签名2种,品牌有锐安信(sslTrus)、Digicert、GlobalSign、Sectigo、Entrust等。

sha3又是什么?

官网:https://csrc.nist.gov/projects/hash-functions/

SHA-3第三代安全散列算法(Secure Hash Algorithm 3),之前名为Keccak(念作/ˈkɛtʃæk/或/kɛtʃɑːk/))算法。

Keccak算法是一种安全性高、性能优良、可扩展性好的加密函数,它的主要结构是海绵结构,内部使用了创新的Keccak-f密码置换。并于2012年10月在SHA-3竞赛中获胜,成为了新的Hash函数标准。

  • 2012年10月2日,Keccak 被选为NIST散列函数竞赛的胜利者。SHA-3并不是要取代SHA-2,因为SHA-2并没有出现明显的弱点。由于对MD5、SHA-0和SHA-1出现成功的破解,NIST感觉需要一个与之前算法不同的,可替换的加密散列算法,也就是SHA-3。
  • 2014年,NIST发布了FIPS202 的草案 “SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions”。
  • 2015年8月5日,FIPS 202 最终被 NIST 批准。
http://www.lryc.cn/news/2415168.html

相关文章:

  • Linux C语言运行库 glibc
  • YOLOv5输入端(一)—— Mosaic数据增强|CSDN创作打卡
  • AS2安全基础知识
  • JPEG文件格式分析及举例验证
  • 使用CCProxy代理局域网上网
  • GCD详解,多种
  • 缠中说禅:缠非缠、禅非禅,枯木龙吟照大千(整理版)
  • pm2常用命令及pm2自启动
  • rollup - 构建原理及简易实现
  • Java 中正则表达式的详解
  • STM32开发(五)STM32F103 通信 —— CAN通信编程详解
  • mysql instr使用
  • ubuntu新手教程(从安装系统到驱动安装到环境搭建)
  • Kotlin-简约之美-进阶篇(十六):DSL原理解析
  • 一个完整的http协议中都包含什么?
  • SQLServer附加数据库5120错误
  • 快速剖析贪心算法(C语言)
  • MVC介绍
  • android xvideo app,xvideo downloader and player
  • 大数据入门系列 3:全网最全,Ubuntu 安装 VMware Tools 完整步骤及需要注意的问题_ubuntu中怎么检测vmware tools是否安装好
  • makefile基础知识
  • JDK安装配置教程(保姆级)
  • 【ViT系列(2)】ViT(Vision Transformer)代码超详细解读(Pytorch)
  • OPC基本知识介绍——什么是OPC
  • Tornado介绍
  • Nacos篇五 - Nacos集群(Linux下standalone模式和cluster模式)
  • 全面文档格式处理工具Aspose最新中文教程指南请查收!
  • LTspice基础教程-007.voltage电压源基本设置
  • 了解函数递归
  • 微信小程序weui的使用