文章目录

  • 简介
  • SHA1
  • SHA2
  • SHA3

简介

SHA算法大家应该都很熟悉了,它是一个用来计算hash的算法,目前的SHA算法有SHA1,SHA2和SHA3种。这三种算法都是由美国NIST制定的。

NIST的全称是美国国家标准与技术研究所,主要来制定各种标准。

本文将会讲解下NIST和SHA各种算法的关系。

SHA1

在密码学中,SHA-1(Secure Hash Algorithm 1)是一种加密哈希函数,它接受一个输入,并产生一个160位(20字节)的哈希值,称为信息摘要。

我们先看下SHA1的加密流程图:

上面的A,B,C,D,E都是32bits的state。

F是一个非线性函数。

<<< 表示额是左移操作,红色的加号表示的是加法然后对232取模。

SHA1算法很简单&#

密码学系列之:NIST和SHA算法相关推荐

  1. 区块链中的密码学系列之SHA256算法(三)

    1. 前言 SHA系列算法是一种密码散列函数,由美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS).现在已经被破解. 我们本文主要研究SHA256算法. 2. ...

  2. 密码学系列 - 国密算法

    国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM9.密钥长度和分组长度均为128位. 国密算法种类 SM1 为对称加密.其加密强度与AES相当.该算法不公开,调用该算法时 ...

  3. 密码学系列 - 国密算法SM1/SSF33

    国密分组密码 SM1分组密码和SSF33分组密码均为国密分组密码标标准,SM1和SSF33的密钥长度和分组长度均为128比特. 目前这两个分组密码标准的算法尚未公开,其实现仅可以通过硬件芯片的方式获得 ...

  4. 密码学系列——MD5算法理解记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 密码学系列--MD5算法理解记录 前言 MD5算法流程 总结 前言 主要是为了快速回忆之前工作的一些记录,不至于完全忘记.因此此处不会 ...

  5. 密码学系列 - 椭圆曲线 ECC - ED25519

    密码学 - 椭圆曲线 ECC ED25519 椭圆曲线是一系列满足如下方程的点: y^2 = x^3 + ax + b 并且 4a^3 + 27b^2 != 0 特性 封闭性:因为椭圆曲线上的点相加, ...

  6. 奇妙的安全旅行之SHA算法

    hi,大家好,今天我们开始介绍消息摘要算法中的SHA(Secure Hash Algorithm)安全散列算法.由于其他曾被广泛使用的Hash算法,比如上一篇文章提到的MD5,后来都被发现存在一定的安 ...

  7. 密码学系列之:SAFER

    简介 分组密码是一个非常优秀的加密结构,很多常用加的加密算法使用的都是分组算法,比如DES.SAFER表示的也是一种分组密码算法.一起来看看吧. SAFER简介 SAFER的全称是Secure And ...

  8. 密码学系列(一):密码行业、政策介绍

    密码学系列(一):密码行业.政策介绍 管理部门 <密码法>(19年) <密码法>具体章节 第3章 商用密码 第4章 法律责任 相关零散知识 管理部门 国家密码管理局--商密办- ...

  9. 密码学系列之:Argon2加密算法详解

    文章目录 简介 密钥推导函数key derivation function Password Hashing Competition Argon2算法 Argon2的输入参数 处理流程 简介 Argo ...

最新文章

  1. java uml 类图 加号_UML建模基础 UML类图的组成元素和关系解析
  2. 深入理解ES6笔记(九)JS的类(class)
  3. Ubuntu 16.04设置Redis为开机自动启动服务
  4. 【算法与数据结构】查找二叉树的实现
  5. 六、乘胜追击,将剩下的Git知识点搞定
  6. linux日志绕接,Logback配置
  7. java中mvc开发模式_MVC开发模式
  8. 节点部署_Pod在多可用区worker节点上的高可用部署
  9. VSCode代码格式化自动换行问题
  10. git全局配置用户名和密码_git---全局设置用户名、密码、邮箱
  11. 任正非:华为明年至少招8000名应届生;苹果开发 Google 搜索的替代;NumPy 1.19.3发布|极客头条
  12. tensorflow:图(Graph)的核心数据结构与通用函数(Utility function)
  13. 数据类型的提升(promotion)
  14. Linux服务-搭建NFS
  15. linux产生大量随机数据,linux产生随机数与随机字符
  16. 电源大师课笔记 1.1
  17. Linux上matlab安装过程,Linux matlab 2010a 下载与安装过程
  18. 如何解决selenium与firefox版本不匹配的问题
  19. iPhone模拟器部分操作
  20. python实现C4.5

热门文章

  1. java B2B2C springmvc mybatis电子商务平台源码-服务的注册与发现(Eureka)
  2. bzoj 1718: [Usaco2006 Jan] Redundant Paths 分离的路径
  3. Java JNI调用IC卡读卡器
  4. Django Migration Error with MySQL: BLOB/TEXT column *** used in key specification without a key leng
  5. 使用artisan命令创建控制器
  6. Linux学习(课堂笔记 -可能不全)
  7. 博客网站的选择兼开博通文
  8. mysql中的locate_mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法
  9. 影视公司触网意在大数据
  10. JavaWeb练习题(含答案)