信息安全-加密:AES 加密
| ylbtech-信息安全-加密:AES 加密 |
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
| 1.返回顶部 |
AES加密
AES加密是对称加密、分组加密;密钥长度 分为128位、192位、256位;对应的数据分组也应该分为128位 192位 256位;这三种加密的轮次是不一样的。分别是:10、12、14
加密过程:
① 由原始数据 转为 输入state(二维矩阵 对于选择128位加密,就是4×4矩阵)

② 初始变换
就是进行轮密钥加(密钥轮加在后面介绍)
③ 循环N轮的变换
其中 N-1轮变换如下:
字节代换——》行位移——》列混淆——》轮密钥加
字节代换,就是基于S盒原理进行,上面有,不多说了!
行位移:第一行不变,第二行循环左移一个字节,第三行循环左移两个字节,第四行循环左移三个字节
列混淆:每一列的每一个字节被映射为一个新值,新值是根据这一列的值计算得出(计算方法不详)
轮密钥加:列混淆后的数据 与 密钥进行异或运算;
下面说一下每一轮的密钥是怎么来的:通过密钥扩展来的,具体不详
在第N轮,是这样的字节代换——》行位移——》轮密钥加
| 2.返回顶部 |
| 3.返回顶部 |
| 4.返回顶部 |
| 5.返回顶部 |
| 6.返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
信息安全-加密:AES 加密的更多相关文章
- JAVA RSA加密AES加密
RSA加密: import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import javax.crypto.Cipher; imp ...
- PHP对称加密-AES加密、DES加密
对称加密 对称加密算法是指,数据发信方将明文(原始数据)和密钥一起经过加密处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若要解读原文,则需要使用加密密钥及相关算法的逆算法对密文进行解密,使 ...
- Java实现RSA加密&AES加密&DES加密
RSA package com.demo; import org.springframework.util.StringUtils; import javax.crypto.Cipher; impor ...
- java AES加密、解密(兼容windows和linux)
java AES加密.解密 CreationTime--2018年7月14日10点06分 Author:Marydon 1.准备工作 updateTime--2018年8月10日15点28分 up ...
- AES加密的四种模式详解
对称加密和分组加密中的四种模式(ECB.CBC.CFB.OFB) 一. AES对称加密: A ...
- 使用java实现AES加密
公司最近做agent项目,需要对一些远程重要的请求参数进行加密.加密之前选型,选择了AES,而DES算法加密,容易被破解.网上有很多关于加密的算法的Demo案列,我发现这些Demo在Window平台运 ...
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- AES加密
package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...
- Android数据加密之Aes加密
前言: 项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes ...
随机推荐
- 09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHashSet,TreeSet
09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHas ...
- day07 hadoop里面的RPC框架使用
PS: RPC远程调用 Webservice啥的都是远程调用.下面简单介绍其使用过程 Hadoop已经实现了RPC框架,不用我们自己写,不过需要我们注意几点:1.发布服务端和客户端必须包名相同 1.服 ...
- Spring通知方法错误
错误提示,主要最后一句话 ,花了2个小时 org.springframework.beans.factory.BeanCreationException: Error creating bean ...
- Python——xlsxwriter模块的使用
xlsxwriter是用于制作Excel表格的 安装方法 40 wget https://pypi.python.org/packages/e4/63/e53deacc293c7fadf95b8404 ...
- pipenv 方便的python 开发工作流工具
pipenv 将 composer.bundler.npm.yarn.cargo 等比较方便的包管理工具添加到了python 语言中,可以 帮助我们自动的管理virtualenv ,同时可以方便的从p ...
- PostgreSQL Q&A: Building an Enterprise-Grade PostgreSQL Setup Using Open Source Tools
转自:https://www.percona.com/blog/2018/10/19/postgresql-building-enterprise-grade-setup-with-open-sour ...
- How to get checksum by IAR
- codeblock设置快捷键
第一步: 第二步: 第三步: 格式化代码设置: 在代码框里点右键,按Format use Astyle就会自动代码格式化了 但是它默认的风格是大括号另起一行,很不习惯,实际上是可以改的 1.Sett ...
- 对象的get set方法
- create-react-app-typescript 知识点
github:https://github.com/wmonk/create-react-app-typescript 报错:Import sources within a group must be ...
