理论【3】AES 加密原理
1、学习博客
2、AES 介绍
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图
下面简单介绍下各个部分的作用与意义:
根据 现代密码学教程
明文P
没有经过加密的数据。
密钥K
用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。
AES加密函数
设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数的参数输入,则加密函数E会输出密文C。
密文C
经加密函数处理后的数据
AES解密函数
设AES解密函数为D,则 P = D(K, C),其中C为密文,K为密钥,P为明文。也就是说,把密文C和密钥K作为解密函数的参数输入,则解密函数会输出明文P。
在这里简单介绍下对称加密算法与非对称加密算法的区别。
对称加密算法
加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。
非对称加密算法
加密和解密用的密钥是不同的,这种加密方式是用数学上的难解问题构造的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为RSA、ECC和EIGamal。
实际中,一般是通过RSA加密AES的密钥,传输到接收方,接收方解密得到AES密钥,然后发送方和接收方用AES密钥来通信。
2 加密流程
AES加密过程涉及到4种操作,分别是字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16个字节的明文、密文和轮密钥都以一个4x4的矩阵表示。
可以加入QQ群:687360507
与大伙沟通交流,技术在于分享而进步
理论【3】AES 加密原理相关推荐
- RSA + AES加密原理,一线大厂主流的加密手段,流程浅析,有十分详细的测试Demo
原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重. 系列文章目录 RSA+AES数据传输的加密解密[篇],项目实战(专题汇总): AES 加密解密简述 + 完美工具类 AESUtils RS ...
- AES加密原理与Java示例
1 AES加密原理 AES加密是一种经典的对称加密算法,使用加密函数和密钥来完成对明文的加密,然后使用相同的密钥和对应的函数来完成解密,如下图所示: 使用AES加密的时候会把要加密的数据按照128bi ...
- 思科ei ccie里DES和AES加密原理必看
思科ei ccie里DES和AES加密原理必看,AES (Advanced Encryption Standard,高级加密标准)是美国国家标准与技术研究院(NIST)在2001年建立了电子数据的加密 ...
- # AES加密原理-详解
http://www.mamicode.com/info-detail-514466.html 0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES).AES是一个对称分组密码 ...
- AES加密原理及简单逆向解题思路 - 从0开始的repwn 02
先来简述一下aes加密 参考 十分钟读懂AES加密算法_Lee.rw的博客-CSDN博客_aes加密 AES加密 - block2016 - 博客园 (cnblogs.com) AES加密算法的详细介 ...
- AES加密算法原理及java android实现
AES当今最流行的对称加密算法之一,是DES的替代者. 密钥是AES算法实现加密和解密的根本.对称加密算法之所以对称,是因为这类算法对明文的加密和解密需要使用同一个密钥. AES支持三种长度的密钥: ...
- 小编带你简单了解一下加密技术原理:AES加密标准
随着因特网的发展,信息传输及存储的安全问题成为影响因特网应用发展的重要因素.信息安全技术也就成为了人们研究因特网应用的新热点. 信息安全的研究包括密码理论与技术.安全协议与技术.安全体系结构理论.信息 ...
- 什么是AES加密?详解AES加密算法原理流程
在密码学中,加密算法分为双向加密和单向加密.单向加密包括MD5.SHA等摘要算法,它们是不可逆的.双向加密包括对称加密和非对称加密,对称加密包括AES加密.DES加密等.双向加密是可逆的,存在密文的密 ...
- AES加密和RSA加密详细原理及使用场景
部分RPC请求或者网络传输,需要对一些敏感数据进行加密传输. 误解 当初错以为MD5.SHA1这些哈希算法就是加密算法 后来在一些远程通信和网络传输的过程中,需要对一些敏感数据,经过再编码的方式,转换 ...
最新文章
- 空气球+操作系统,海尔智能家居雄心何在?
- 梦有感 2009-10
- python资料免费-python 资料
- python机械手标定_机械手姿态的获取,ros,臂,当前,位姿
- XI 安装MS SQLSERVER JDBC 驱动
- 创建oracle数据库表空间并分配用户
- MonoRail学习-介绍篇(一)
- 多IDC GSLB的部署
- 摄像头poe供电原理_poe供电摄像头有哪些优缺点
- transform的q、k、v的计算过程
- 蜘蛛侠天堂,打死我mac键盘
- 把足球还给市场!市场不要你要吗?
- Linux下部署Java,Tomcat环境
- 几种分段多项式曲线插值(拟合)的方式(含贝塞尔曲线和B样条[B-spline])
- PreferenceScreen移除菜单项
- android expandablelistview横向,Android 的ExpandableListView使用总结--二级展开树结构
- 51.com数十高层离职幕后:3年内乱因扩张失败,互联网营销
- html乡愁代码,Homesick 乡愁
- 直播软件开发公司来告诉你什么是互动直播
- 岳飞诗词集萃[zz]
热门文章
- 第三章 学习率(LR : learning rate)
- zend studio常见问题
- c++ 11 vector push_back和emplace_back速度比较
- vc++ PushBack 和 Assign 的示例
- 精美汉服,送女友必备,Python百行代码带你玩转汉服圈!
- steamlink无法连接_SteamLink怎么用 SteamLink使用图文教程_侠游戏网
- 【Java并发】ConcurrentHashMap原理
- Excel+VBA帮助
- 【聚类算法】基于matlab改进的粒子群算法优化K-means算法【含Matlab源码 1946期】
- 东方梦符祭未能收到服务器响应,东方梦符祭loading不进去 常见问题解决办法