AES加密算法

news/2025/2/12 2:54:39/

AES(Advanced Encryption Standard)加密算法

参考 “【AES加密算法】| AES加密过程详解| 对称加密| Rijndael-128| 密码学| 信息安全” https://www.bilibili.com/video/BV1i341187fK?from=search&seid=14609524973320441322
参考 《密码编码与信息安全——C++实践》

基本原理

  • AES属于分组加密算法,属于对称加密,故在传递密钥途中有密钥泄露的风险
  • 明文plainText和密文cipherText固定长度为128bit(16B)
  • 密钥长度为128,192,256bit,密钥长度会改变算法循环次数,分别对应10/12/14轮循环
    在这里插入图片描述

加密过程

在这里插入图片描述

  • 先将16Byte(一个字节是一个0xFF)数据合成一个矩阵,再进行后续计算
    在这里插入图片描述

  • 以密钥为128bit为例,进行10轮循环,包含9轮循环运算和1轮最终轮运算,在最终轮运算中只进行1,2,4步骤(不进行列混合步骤)
    在这里插入图片描述

  • 初始变换。将明文矩阵和密钥矩阵按字节中每一位异或。
    在这里插入图片描述
    在这里插入图片描述

  • 9轮循环中1.字节代换。这是一个S盒代换,是一个非线性代换。
    如将(0, 0)处19查S盒后替换。
    在这里插入图片描述
    在这里插入图片描述

  • 9轮循环中2.行移位。将每一行字节按照字节循环左移。
    在这里插入图片描述
    在这里插入图片描述

  • 9轮循环中3.列混合。将上一步得到的矩阵左乘一个矩阵(不是矩阵点乘的相乘相加)。而是相特殊乘(01相乘就是本身,无需管)再相互异或。
    相特殊乘再相异或
    使用02,03,04相乘

  • 9轮循环中4.轮密钥加。即将上一步得到的矩阵的每一列和与子密钥矩阵异或操作。
    在这里插入图片描述

密钥生成

使用密钥扩展得到10轮的密钥。将原初始密钥矩阵逐字节列向右边列扩展,根据该列是否是4的倍数扩展方式不同。如果是4的倍数则比较麻烦,如果不是4的倍数则需要进行异或操作。
在这里插入图片描述

  • 若不是4的倍数
    在这里插入图片描述
  • 若是4的倍数,则要进行字循环;字节代换;轮常量异或。上面三步称为T函数,再将T函数得到的结果和W[i-4]异或。细节来说,就是先对W[i-1]即前一列数据循环左移一个字节;再对字循环结果使用S盒进行字节代换;再同轮常量进行异或。将得到的结果再和W[i-4]异或。
    总过程

字循环
S盒扩展
轮常量异或


http://www.ppmy.cn/news/940366.html

相关文章

谷歌浏览器 Google Chrome v74.0.3729.131 正式版

Chrome 浏览器追求的是全方位的快速体验,它不仅能飞快地从桌面上启动,而且能瞬间完成网页加载,还能以闪电般的速度运行网络应用。Chrome 浏览器整洁且直观,您可在同一位置进行搜索和导航,可随意排列标签页,…

搜狗浏览器怎么保存账号密码 搜狗浏览器保存账号密码教程

搜狗浏览器是一款非常安全的电脑浏览器。该软件能够对用户密码有安全保障,下面小编就为您带来搜狗浏览器保存账号密码教程。 搜狗浏览器怎么保存账号密码 搜狗浏览器保存账号密码教程 搜狗浏览器怎么保存账号密码: 1、如果是搜狗浏览器的账号&#xf…

关于Qt编译android时候一个问题

问题提示为 FAILURE: Build failed with an exception.* What went wrong: A problem occurred configuring root project android-build. > Could not resolve all artifacts for configuration :classpath.> Could not resolve com.android.tools.build:gradle:3.2.0.…

高通 android笔记本电脑,联想,高通联合推出首款搭载骁龙8cx 5G平台的5G笔记本电脑...

近日,高通官方表示将会联合联想推出首款支持5g的笔记本电脑,该电脑采用高通骁龙8cx 5g平台。 高通宣布,正在和联想一起开启现代计算的新时代。即将开幕:世界上第一个#5gpc。#snapdragon 8cx#5g。 新的骁龙8…

adg-一主库两备库的配置

记录某用户环境,只让我们接触主库,第3方维护备库,记录下主库的spfile配置 orcl1:/home/oraclectr01> more /tmp/orcl.pfile orcl1.__db_cache_size17716740096 orcl2.__db_cache_size15837691904 orcl3.__db_cache_size15569256448 orcl…

中国地图使用心得

中国地图使用心得 注册地图是注册在echarts对象上而非 自己构建的echarts dom上、。 请求本地json文件 ​ vue项目的public打包时不会动,所以线上和本地地址直接指向了public同级目录,请求时直接相对路径 绘制中国地图时,如何在各个省会地方…

Foxit PDF SDK 下载地址

Foxit PDF SDK提供了一组强大的平台无关的PDF开发包,开发人员可“一次开发,多平台适配”,快速、高效地将软件扩展到多个平台。在对企业级、云端、桌面和移动设备应用程序的优化上,Foxit PDF SDK提供了高质量的PDF显示以及文档/表单…

PDF顽固水印去除(Foxit PDF Editor)

问题场景 我们经常打开一些PDF文件的时候会有一些水印啥的导致我们的文档不方便打印,(尤其是想局部打印一部分电路图的时候,水印的存在就很影响对电路图的查看)如下图: 在网上找了很多的PDF编辑器去除水印&#xff0…