AES SHA-1 SM3 MD5
输入: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比特。
AES SHA-1 SM3 MD5的更多相关文章
- DES,AeS加解密,MD5,SHA加密
1.DES一共就有4个参数参与运作:明文.密文.密钥.向量.其中这4者的关系可以理解为: 密文=明文+密钥+向量: 明文=密文-密钥-向量: 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复, ...
- Java Base64、AES、SHA1、MD5加密算法
package com.example.decript; import java.io.UnsupportedEncodingException; import java.security.Inval ...
- Java Base64、AES、SHA1、MD5加密算法(转载)
package com.example.decript; import java.io.UnsupportedEncodingException; import java.security.Inval ...
- [转] AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- Java计算文件的SHA码和MD5码
可参考:http://blog.csdn.net/hudashi/article/details/8394158 /** * 计算文件的MD5码 * @param file * @return */ ...
- c# aes,des,md5加密等解密算法
一:可逆加密,即是能加密也能解密 对称可逆加密:加密后能解密回原文,加密key和解密key是一个 加密算法都是公开的,密钥是保密的, 即使拿到密文 你是推算不了密钥 也推算不了原文 加密解密的速度快, ...
- 浅析DES、AES、RSA、MD5加密算法及其应用场景
对称加密算法DES 算法:一种典型的块加密方法,将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位.同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的 ...
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
内容不转载了,加上链接https://blog.csdn.net/u013565368/article/details/53081195?_t=t
随机推荐
- 令人作呕的OpenSSL
在OpenSSL心脏出血之后,我相信非常多人都出了血,而且流了泪...网上瞬间出现了大量吐嘈OpenSSL的文章或段子,仿佛内心的窝火一瞬间被释放了出来,跟着这场疯闹,我也吐一下嘈,以雪这些年被Ope ...
- 本地存储sessionStorage 、 localStorage 、cookie整理
sessionStorage . localStorage .cookie 的区别 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可 ...
- C#中静态方法的运用和字符串的常用方法(seventh day)
又来到了今天的总结时间,由于昨天在云和学院学的知识没有弄懂,今天老师又专门给我们非常详细地讲了一遍,在这里非常谢谢老师.O(∩_∩)O 话不多说,下面就开始为大家总结一下静态方法的运用和字符串的常用方 ...
- NSArray的4种遍历方式
前言:NSArray对应的是java的List,不同的是其元素不能更改,不过其派生类NSMutableArray可以更改,遍历的方式跟java的List基本一样 一. for循环 Student * ...
- 「C」关键字、标识符、注释、内存分析、数据、常量、变量
一.关键字 C语言提供的有特殊含义的符号,共32个. 一般在Xcode中关键字全部显示紫褐色,关键字全部都为小写.如int.return等. 二.标识符 标识符是程序员在程序中自定义的一些符号和名称. ...
- BZOJ 1355: [Baltic2009]Radio Transmission( kmp )
自己YY一下可以发现answer = n - fail[ n ] ------------------------------------------------------------------ ...
- UNIX/Linux进程间通信IPC---管道--全总结(实例入门)
管道 一般,进程之间交换信息的方法只能是经由fork或exec传送打开文件,或者通过文件系统.而进程间相互通信还有其他技术——IPC(InterProcessCommunication) (因为不同的 ...
- 项目中js调用service和procedure的办法
Ajax.js /**通用ajax服务的定义对象 * services可以是单个服务对象,也可以是service服务数组 * 具体服务的定义请参考appendServices成员函数 */ funct ...
- (Problem 28)Number spiral diagonals
Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is forme ...
- 如何用一个语句判断一个整数是不是二的整数次幂——从一道简单的面试题浅谈C语言的类型提升(type promotion)
最近招聘季,看JULY大哥的面试100题时,碰到这么一个扩展问题: 如何用一个语句判断一个整数是不是二的整数次幂?(此题在编程之美也有) easy, 2的整数次幂的二进制形式只有一个1,只要用i和i- ...