【密码学】AES算法

一、AES算法介绍:

AES(Advanced Encryption Standard)算法是一种广泛使用的对称密钥加密,由美国国家标准与技术研究院(NIST)2001年发布。
AES是一种分组密码,支持128位、192位和256位三种不同的密钥长度。AES的分组大小固定为128位,这意味着每次处理128位的数据块。AES算法的核心是轮函数,通过多轮的置换、替换和密钥异或操作来实现加密。对于不同的密钥长度,AES执行的轮数也不同:10轮用于128位密钥,12轮用于192位密钥,14轮用于256位密钥。
在这里插入图片描述

二、 AES加密流程:

在这里插入图片描述

  1. 密钥扩展(Key Expansion)
    将原始密钥扩展成多个轮密钥(Round Key)。对于AES-128,会产生11个轮密钥(包括初始轮密钥);AES-192会产生13个(包括初始轮密钥);AES-256会产生15个(包括初始轮密钥)。
    在这里插入图片描述

不是4的倍数

在这里插入图片描述

是4的倍数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 初始轮密钥加(AddRoundKey): 将明文块与第一个轮密钥进行XOR操作。3. 加密轮(Encrypting Rounds):AES加密包含多个轮次,每个轮次包括以下四个步骤: SubBytes(字节代换):对状态(State)中的每个字节应用非线性变换(使用S-box)。在这里插入图片描述
    在这里插入图片描述

    ShiftRows(行移位):对状态中的行进行循环位移。在这里插入图片描述
    在这里插入图片描述

    MixColumns(列混合):对状态中的列进行线性变换,将输入的44矩阵左乘一个给定的44矩阵。在这里插入图片描述
    在这里插入图片描述

    AddRoundKey(轮密钥加):将状态与当前轮密钥进行XOR操作。
    在这里插入图片描述

  2. 最终轮(Final Round)
    最后一个轮次只执行SubBytes、ShiftRows和AddRoundKey。
    SubBytes字节代换):使用Rijndael S-box对状态中的每个字节进行替换。
    ShiftRows(行移位):将状态矩阵的行进行循环左移。第一行不变,第二行左移一位,第三行左移两位,第四行左移三位。
    AddRoundKey(轮密钥加):将扩展后的轮密钥与当前状态进行XOR操作。

AES算法的加密流程是可逆的,因此解密过程与加密过程相似,只是轮密钥的应用顺序相反。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC---------AIGC在数字孪生中的应用

跨越虚拟与现实:AIGC在数字孪生中的应用 引言 近年来,人工智能生成内容(AIGC,Artificial Intelligence Generated Content)与数字孪生(Digital Twin)的结合,成为科技界的热点。AIGC…

金仓数据库全攻略:简化部署,优化管理的全流程指南

金仓数据库 人大金仓(KING BASE)是一家拥有20多年数据库领域经验的公司,专注于数据库产品的研发和服务。公司曾参与多项国家级重大课题研究,如"863"计划、电子发展基金、信息安全专项等。其核心产品是金仓数据库管理系…

讯飞智文丨一键生成WordPPT

在当今数字化办公的浪潮中,Word和PPT已经成为职场人士日常工作的标配工具。然而,面对繁琐的内容编辑和格式调整任务,如何提升效率成了每个人的追求。而讯飞智文,一款结合人工智能技术的文字处理与演示文稿工具,正逐渐成为用户的得力助手。本文将详细介绍讯飞智文的功能特点…

2024数据库国测揭晓:安全与可靠的新标准,你了解多少?

2024年数据库国测的结果,于9月份的最后一天发布了。 对于数据库行业的从业者来说,国测是我们绕不过去的坎儿。那么什么是国测?为什么要通过国测,以及国测的要求有哪些? 这篇文章带大家一探究竟。 国测 自愿平等、客…

VMware ubuntu12.04怎么设置静态IP联网

记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言,当时没有弄清楚怎么设置静态IP联网,现在写一篇文章。 1.首先,关闭ubuntu的网络; 2.电脑使用的是wifi,将VMware桥接到该网卡上; 3.在虚拟机设置里面选择桥…

python 基于 docx 文件模板生成 docx 或 PDF 文件

需求背景 提供一个Word文档模板,使用python程序替换里边的占位符,替换内容包括文本和图片,然后输出docx或者PDF文件。 功能演示 输入示例 输出示例 实现程序 import os import shutil import subprocess import timefrom docx import Doc…

【Python篇】PyQt5 超详细教程——由入门到精通(序篇)

文章目录 PyQt5 超详细入门级教程前言序篇:1-3部分:PyQt5基础与常用控件第1部分:初识 PyQt5 和安装1.1 什么是 PyQt5?1.2 在 PyCharm 中安装 PyQt51.3 在 PyCharm 中编写第一个 PyQt5 应用程序1.4 代码详细解释1.5 在 PyCharm 中运…

【Axure教程】动态统计字数

动态统计字数通常用于文本编辑、编程、社交媒体、写作工具、SEO优化、表单与调查以及数据分析等场景,帮助用户实时跟踪文字量,保证内容符合特定的格式或要求,提高工作效率和质量。 今天我们就来学习,怎么在Axure中制作能根据输入…

【YashanDB知识库】oracle与yashanDB的jdbc返回常量列“0.00“的精度和刻度不一致

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7610110.html?templateId1718516 问题现象 客户预期常量列"0.00"应该映射到java里的浮点类型,结果却是跑到整型。 1、应用的sql 2、应用的java代码 3、执行结果…

Ripro V5日主题 v8.3 开心授权版 wordpress主题虚拟资源下载站首选主题模板

RiPro主题全新V5版本,是一个优秀且功能强大、易于管理、现代化的WordPress虚拟资源商城主题。支持首页模块化布局和WP原生小工具模块化首页可拖拽设置,让您的网站设计体验更加舒适。同时支持了高级筛选、自带会员生态系统、超全支付接口等众多功能&#…

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

在CANoe中创建网络节点作为以太网主机时,可以给其配置独立的TCP/IP Stack。 配置的协议栈有一些底层配置参数可以在界面上设置或修改,比如: MTU上图中MTU显示500只是图形界面显示错误,正确值是1500。 TCP延迟确认这些参数也可以通过CAPL动态配置,甚至CAPL还可以配置很多界…

县城楼市踩踏式降价,或现2字头,率先回归月薪一平方的合理价格

在一二线城市都在欢呼10月份、11月份成交量回升,楼价回稳的时候,广东一些县城却先顶不住了,大举降价,显示出县城楼市房价率先回归月薪一平方的合理水平,这将对全国楼市产生巨大影响。 据了解这个县城的楼价此前较为稳定…

利用Docker分层构建优化镜像大小

合适docker镜像文件大小不仅影响容器启动效率,也影响资源占用效率。本文介绍如何利用分层方式构建docker镜像,采用多种方式避免镜像文件太大而影响性能。 Docker 镜像大小优化的重要性 资源利用效率 较小的镜像文件在存储和传输过程中占用更少的空间和带…

深度学习面试相关-2024.12.15记录

深度学习 面试相关- 2024.12.15记录 目录 深度学习 面试相关- 2024.12.15记录整体常问问题1数学基础1.1 概率统计1.2 线代 2机器学习算法2.1 深度学习算法2.2 机器学习算法 整体常问问题 https://www.nowcoder.com/discuss/353154899112304640 1数学基础 1.1 概率统计 htt…

从零用java实现 小红书 springboot vue uniapp (2)主页优化

前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了主页的布局 今天我们具体的去进行实现 并且分享我开发时遇到的问题 首先先看效果 java仿小红书主页 实现效果为 1.顶端全屏切换 2.上划加载更多 3.下拉当前页整体刷新 顶端全屏切换我们选择 gui-switch…

idea 配置 git .gitignore文件配置

.gitignore 内容 .idea/ *.iml target/ *.class *.log .iml在idea项目里面创建一个.gitignore名字的文件,然后把这个文件提交到git上。我一般是放到.idea同级目录。 我遇到了几种情况这个文件配置了但是不生效的情况 第一种 Git的缓存可能会导致配置不生效。尝试…

双指针---移动0

常见的双指针有两种形式,⼀种是对撞指针,⼀种是快慢指针。 这里写自定义目录标题 题目链接 [移动0](https://leetcode.cn/problems/move-zeroes/description/)问题分析代码解决 题目链接 移动0 问题分析 在本题中,我们可以⽤⼀个 cur 指针来…

人工智能的历史概况和脉络

人工智能( AI ) 的历史始于古代,当时有神话、故事和谣言称,人工生物被工匠大师赋予了智慧或意识。从古代到现在,对逻辑和形式推理的研究直接导致了20 世纪 40 年代可编程数字计算机的发明,这是一种基于抽象数学推理的机器。这种设…

基于Arduino的智能太阳能追光系统设计(论文+源码)

1系统方案设计 本次的设基于Arduino的智能太阳能追光系统的设计,整体结构如图2.1所示。整个系统包括Arduino开发板,按键模块,太阳能板,X轴电机,Y轴电机,电池充电模块,电源模块,四路光照检测模块…

AI+智慧海洋数据集

需要的同学私信联系,推荐关注上面图片 右下角订阅号平台 自取下载。 AI智慧海洋数据可以促进海洋科技领域人工智能新技术产、学、研、用协作,引领行业技术创新,助力AI智慧海洋高质量发展,进一步推广人工智能与海洋科技的融合创新…