首页 > 编程语言 >【密码学】AES算法

【密码学】AES算法

时间:2024-12-11 16:03:03浏览次数:7  
标签:AES 左移 加密 AddRoundKey 算法 密钥 128 密码学

一、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算法的加密流程是可逆的,因此解密过程与加密过程相似,只是轮密钥的应用顺序相反。

标签:AES,左移,加密,AddRoundKey,算法,密钥,128,密码学
From: https://blog.csdn.net/weixin_54799594/article/details/144401601

相关文章

  • 头歌 计算机操作系统 动态分区算法
    第1关:首次适应算法任务描述假设初始状态下可用的内存空间为55MB,并有如下的请求序列:作业1申请15MB作业2申请30MB作业1释放15MB作业3分配8MB作业4分配6MB作业2释放30MB请采用首次适应算法进行内存块的分配和回收,并打印出空闲内存分区链的情况相关知识为了完成本关任......
  • 智慧工地算法视频分析服务器关于视频监控系统比较常见的故障与解决方法
    在现代视频监控系统中,摄像头作为捕捉图像的前端设备,其性能和稳定性至关重要。然而,即使摄像头本身性能卓越,整个监控系统的运行也可能因为网络、供电、兼容性等多种因素受到影响。为了确保监控系统能够稳定运行,及时排查和解决可能出现的问题是必不可少的。本文将为您总结10个常见的......
  • 智慧园区算法视频分析服务器知识分享:监控摄像机云台故障及解决方法
    在视频监控系统的维护和管理过程中,云台作为实现摄像机转动和视角调整的关键设备,其性能的稳定性和可靠性至关重要。然而,云台故障是监控系统中常见的问题之一,它可能导致监控画面无法正常转动,甚至完全失效。本文将为您详细解析监控摄像机云台的常见故障及其解决方法,并探讨监控系统中......
  • 【会议征稿 | EI高录用会议推荐】计算机科学、通信、图像、人工智能、算法、应用技术
    【会议征稿|EI高录用会议推荐】计算机科学、通信、图像、人工智能、算法、应用技术、电子信息工程等多领域…【会议征稿|EI高录用会议推荐】计算机科学、通信、图像、人工智能、算法、应用技术、电子信息工程等多领域…文章目录【会议征稿|EI高录用会议推荐】计......
  • 算法优化器有哪些,优缺点
    定义与作用在深度学习领域中,优化器扮演着核心角色,它是用于最小化或最大化特定目标函数的算法。其主要职责是在模型训练过程中调整可训练参数,以实现损失函数的最小化。通过不断迭代和更新参数,优化器帮助模型逐步改进其预测能力,最终达到理想的性能水平。这种持续的参数调整过......
  • 分布式 & Raft算法 & 总结
    前言 相关系列《分布式&目录》《分布式&Raft算法&总结》《分布式&Raft算法&问题》  参考文献《Raft一致性算法论文译文》《深入剖析共识性算法Raft》  简介    Raft@木筏是一种基于日志复制实现的分布式容错&一致性算法。在Raft算法之前,Pa......
  • 【优先算法】不知OJ谁裁出,二分查找似剪刀 - 二分查找算法
    本篇博客给大家带来的是二分查找的知识点,通过相关的OJ题进一步理解二分查找的应用与本质.......
  • 强化学习(人工智能) —— DDPG、TD3、SAC、SQL算法是不是Actor-Critic算法?
    强化学习算法是人工智能领域发展最为强劲的一个分支,但是很多人都将注意力放在了算法模型的发展上而忽略了其基本理论上的一些概念,本文就讨论一下强化学习算法的一些基本概念的界定上。来源:https://ai.stackexchange.com/questions/39545/why-is-soft-q-learning-not-an-acto......
  • 什么是三色标记算法?
    什么是三色标记算法?三色标记算法是一种用于垃圾回收的标记算法,主要用于标记-清除类型的垃圾回收器。它通过将对象分为三种颜色(白色、灰色、黑色)来表示对象的状态,并通过颜色转换来判断哪些对象是可回收的。1.三色标记算法的基本思想三色标记算法的基本思想是将对象从白色开......
  • Java 中有哪些垃圾回收算法?
    Java中的垃圾回收算法Java中的垃圾回收(GarbageCollection,GC)机制通过多种算法实现对堆内存的管理。以下是常见的垃圾回收算法:1.标记-清除算法(Mark-Sweep)工作原理标记阶段:遍历对象图,标记所有可达对象。清除阶段:清除未标记的不可达对象,回收内存。特点简单直接,适用于基......