AES SHA-1 SM3 MD5

AES是美国国家标准技术研究所NIST旨在代替DES的21世纪的加密标准。

输入:128bit 的消息分组
输出:128bit 的密文分组
密钥长度及圈数
128 10
192 12
256 14
消息 与 密钥
addroundkey//加入轮密钥  每一个字节与轮密钥的相应字节进行异或运算

subbytes//  字替代  经过s盒,即对每一个字节进行替换。非线性部件。16个字节採用同样的s-盒
shiftrow//  行变换   每一行按字节循环以为。第一行移动0位,第二行<<<1,.....第四行《《3
mixcolumn// 列混合
addroundkey
!!!!!!!!!!上面为循环进行!!!!!!!!!!!!!!

subbutes
shiftrow
addroundkey
AES加密数据块分组长度必须为128比特。密钥长度能够是128比特、192比特、256比特中的随意一个(假设数据块及密钥长度不足时,会补齐)。

AES加密有非常多轮的反复和变换。大致步骤如

下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、反复轮(Rounds)。每一轮又包含:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、终于轮(Final Round)

。终于轮没有MixColumns。

MD5算法
MD5以512位分组来处理输入的信息。且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
 

 

SHA-1
SHA (Secure Hash Algorithm。译作安全散列算法) 是美国国家安全局 (NSA) 设计。美国国家标准与技术研究院(NIST) 公布的一系列password散列函数。


SHA-0 和 SHA-1 会从一个最大 2^64 位元的讯息中产生一串 160 位元的摘要

SM3算法:
国家password管理局编制的商用算法,用于password应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成。可满足多种password应用的安全需求。对长度为l(l< 264) 比特的消息m,SM3

杂凑算法经过填充和迭代压缩,生成杂凑值。杂凑值长度为256比特。

原文地址:https://www.cnblogs.com/lcchuguo/p/5166781.html