[密码学] 高级加密标准AES
文章目录
- AES算法
- AES-128
- 加密过程
- S-BOX
- 选取原则
- 构造方式
- 行移位
- 列混合运行
- 密钥扩展方案
- AES-128的密钥扩展
- 性质
- 解密过程
- 雪崩效应
AES算法
①比利时密码学家Daemen和Rijmen共同设计
②输入:128比特的消息分组
输出:128比特的密文分组
③密钥长度及圈数Nr
128-bit,Nr=10;
192-bit,Nr=12;
256-bit,Nr=14;
AES-128
加密过程
S-BOX
①查表运算:对于输入的字节,前四(高四)比特看做行标,后四(低四)比特看做列标,进行查找替换;
②对每个字节进行替换,唯一的非线性部件;
③16个字节采用相同的S盒;
选取原则
构造方式
例如:
输入95;先计算它的逆,结果为8a={10001010};在经过仿射变换得到2a;
!!!!!!!!!!!!!注:这里的加减法均为异或运算!!!!!!!!!!!!!!!
行移位
①每一行按字节循环移位;
②第一行循环左移0个字节,第二行循环左移1个字节,第三行2个字节,第四行3个字节;
③某一列的四个字节扩散到4列;
列混合运行
以列为单位,使得输出的每一个字节和输入的四个字节有关。
快速实现乘法:
密钥扩展方案
将128/192/256比特的主密钥扩展为44/52/60个32比特字。
AES-128的密钥扩展
将128比特的密钥,按字节分组0~15,并排序;
其中g函数包括:①循环上移1字节;②过S盒(同上述S盒);③异或常数
性质
①知道扩展密钥的连续Nk个及以上的密钥字,能重新生成整个扩展密钥;但是,若少于Nk个,则不能;
②能在各种处理器上有效运行;
③使用轮常数排除对称性;
④主密钥的每个位影响轮密钥的某些位;
⑤引入S盒提供非线性性;
⑥易于描述;
解密过程
①加解密函数不同;
②S盒,行移位,列混合都换为逆运算;
③密钥逆序;
雪崩效应
无论改变明文或密文的1比特,密文会有一半左右的改变。
[密码学] 高级加密标准AES相关推荐
- 高级加密标准 (AES) 和安全断言标记语言 (SAML) 的 Web 安全
拥有更安全的渠道在整个网络上传输用户信息的最佳方法 下载源代码 - 1.1 MB 密码学 网络上的大多数问题都与安全问题以及在网络中保存和传输敏感数据有关.所以我们必须在它上面提供一个安全的系统.在网 ...
- 【现代密码学原理】——高级加密标准AES(学习笔记)
- 什么标准规定了aes加密_高级加密标准(AES)分析
原标题:高级加密标准(AES)分析 0×00 前言 在密码学中,block(分组)密码的工作模式被广泛使用,使用同一个分组密码密钥对很多称之为块的数据加密,在优于很多诸如RSA.ECC密码的性能的情况 ...
- 分组密码与高级加密标准(一)
第1关:代换-置换网络 任务描述 在密码学中,代换-置换网络(或译作置换排列网络,英语:Substitution-Permutation Network,缩写作 SP-network 或 SPN)是乘 ...
- 小编带你简单了解一下加密技术原理:AES加密标准
随着因特网的发展,信息传输及存储的安全问题成为影响因特网应用发展的重要因素.信息安全技术也就成为了人们研究因特网应用的新热点. 信息安全的研究包括密码理论与技术.安全协议与技术.安全体系结构理论.信息 ...
- NIST加密标准是什么意思?
美国国家标准与技术研究院在2001年11月发布了密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密 ...
- 对称加密及AES加密算法
目录 一.对称加密 1.什么是对称加密? 2.对称加密的工作过程 3.对称加密的优点 4.对称加密的两大不足 二.AES加密算法 1.什么是AES加密算法及AES加密算法的形成过程 2.A ...
- 【Android工具】DES终结者加密时报——AES加密演算法
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在前面的两篇文章中.我们介绍了DES算法,3DES算法以及他们的Android程序实现,并研究了怎样才干实现 ...
- WEP/WPA/WPA2加密标准有什么区别?
WEP/WPA/WPA2加密标准有什么区别? 大多数的公共场合 WiFi 是不加密的,但居住区却是常见一些使用 WAP 和 WAP2 加密标准的 Wi-Fi 信号.可能很多用户在设置路由器加密标准的时 ...
最新文章
- Lambda表达式可以被转换为委托类型
- Datawhale与Tianchi助力产学研融合-华北电力大学专场
- 【基础】CSS实现多重边框的5种方式
- setcookie第三个值为什么写0
- Angular学习心得之directive——require选项的细节
- 在Python中对子进程进行非阻塞读取
- java 同步块 抛出异常_不把 wait 放在同步块中,为啥这种情况不会抛出 IllegalMonitorStateException?...
- Mac下打开多个eclipse
- centos安装vsftpd
- 腾讯Node.js基础设施TSW正式开源
- React开发(210):react中try...catch..
- springboot集成druid_绝了!Dataway让SpringBoot不在需要Controller、Service、DAO等了
- SQL ——利用窗口函数的T-SQL解决方案
- 大数据_Flink_Java版_数据处理_流处理API_Flink中的UDF函数类---Flink工作笔记0036
- 【优化调度】基于matlab粒子群算法求解燃机冷热电优化联供问题【含Matlab源码 330期】
- 统计通话次数和时间的软件_通话时间统计器下载-通话时间统计 安卓版v2.6-PC6安卓网...
- dataset lfw
- Labview操作sqlite数据库
- Mac电脑如何新建txt文档?
- Ubuntu状态栏显示网速,内存利用率等信息——sysmonitor
热门文章
- keyshot渲染图文教程_一篇文章教你学会3D建模和渲染 反正我是信了
- html多重边框,中间空白,CSS揭秘之多重边框的实现
- 数据港:攻破OPEX+SLA难题,实现全生命周期效能管理
- ML之FE:特征工程中的特征拼接处理(常用于横向拼接自变量特征和因变量特征)(daiding)
- ML之DT:利用DT(DTC)实现对iris(鸢尾花)数据集进行分类并可视化DT结构
- Keras之DNN::基于Keras(sigmoid+binary_crossentropy+predict_classes)利用DNN实现二分类——DIY二分类数据集预测新数据点
- CV之YOLOv3:深度学习之计算机视觉神经网络Yolov3-5clessses训练自己的数据集全程记录(第二次)
- 路径选择算法|Floyd算法|Dijkstras算法(带GUI界面带实验报告)
- 【3.1】学习C++之再逢const
- Gym 101964 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)