AES加密

news2024/9/23 1:28:28

来源:链接: b站up主可厉害的土豆

(据评论区说图片中有计算错误,但是过程是对的。只是了解过程问题不大,专门研究这一块的话自己可以看视频算一下)

准备

首先,明文是固定长度 16字节 128位。
密钥长度可以自己选择,这里以16字节 128位 为例子。
我们把输入的16字节内容,变成一个4x4的矩阵。密钥也是一样变成一个4x4的矩阵。
在这里插入图片描述

加密操作

所有的操作由下图表示。9轮加密中1、2、3、4都要进行。最终论只运行1、2、4。也就是最终论不运行列混合。
在这里插入图片描述
1.初始变换: 明文矩阵 XOR 密钥矩阵
2.1字节代换:查表替换明文内容
在这里插入图片描述

2.2行位移
在这里插入图片描述

2.3列混合
左乘一个确定的矩阵(给定)。
在这里插入图片描述
具体计算如下(与一般的矩阵乘法不同):
在这里插入图片描述

下图第一行位02s00 ,第二行位03s10=(02*s10)⊕s10
在这里插入图片描述

2.4轮密钥加
由初始密钥 密钥扩展得到10轮轮密钥,明文与轮密钥进行XOR

轮密钥的产生如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

T变换包括
a、字循环:09 cf 4f 3c 变为 cf 4f 3c 09(以w3为例)
b、字节代换,查表代换
c、伦常量异或:伦常量是确定的。

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

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

相关文章

C++语法(18)---- set和map

C语法(17)---- 二叉搜索树_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130174864 目录 1.set的介绍 1.set使用 1.基本结构 2.insert 3.erase 4.find 5.count 2.multiset 1.count 2.find 2.map的介绍 1.map …

zookeeper + kafka集群搭建详解

目录 1.消息队列介绍 1.为什么需要消息队列 (MO) 2.使用消息队列的好处 3.消息队列的两种模式 2.Kafka相关介绍 1.Kafka定义 2.Kafka简介 3. Kafka的特性 3.Kafka系统架构 1. Broker(服务器) 2. Topic(一个队…

GaussDB数据库存储过程介绍

文章目录一、前言二、GaussDB中的定义三、存储过程的使用场景四、存储过程的使用优缺点五、存储过程的示例及示例解析1、GaussDB存储过程语法格式2、GaussDB存储过程语法示例3、存储过程的调用方法七、总结一、前言 华为云数据库GaussDB是一款高性能、高安全性的云原生数据库&…

链表基础知识

1.链表必知必会 什么是链表? 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思&#…

23北京邮电大学备考经验

目录【写在前面】本科成绩择校历程英语复习数学复习政治复习专业课复习其它建议笔记复盘压力处理恋爱关系【写在最后】【写在前面】 初试成绩: 本科成绩 总体:浙江某双非学校的软件工程专业、综合测评成绩班级前两名、浙江省省级优秀毕业生、发表过论…

【Node】Node.js 资源汇总推荐

【导读】:Node.js 是一个开源、跨平台的,用于编写服务器和命令行的 JavaScript 运行时工具。awesome-nodejs 是sindresorhus发起维护的 Node.js 资源列表,内容包括:命令行工具、日志、调试、HTTP、构建工具、文件系统、模板、Web …

Elasticjob(2.1.4) failover 、misfire及执行线程池分析

Failover 当设置failover为true时候,elasticjob 集群通过zookeeper 的event watcher 监听是否有instance 丢失,然后对丢失instance 对应的分片进行立即执行。重复一下,failover是立即执行,不是按crontab时间来触发,这…

基于RDF本体模型和图数据库实现知识查询与推理

基于RDF本体模型和图数据库实现知识查询与推理 基于RDF本体模型和图数据库实现知识查询与推理一、案例本体模型解释二、数据构建与查询 Here’s the table of contents: 基于RDF本体模型和图数据库实现知识查询与推理 本文主要使用ONgDB图数据库和Neosemantics组件,…

自建个人音乐播放器Navidrome - 内网穿透实现在外随时访问

文章目录 1. 前言2. Navidrome网站搭建2.1 Navidrome下载和安装2.1.1 安装并添加ffmpeg2.1.2下载并配置Navidrome2.1.3 添加Navidrome到系统服务 2.2. Navidrome网页测试 3. 本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4. 公网访问测试5. 结语 转…

【Android实战开发】flutter实现网络请求的方法示例

Flutter网络请求使用的是Dio。Dio是一个强大易用的dart http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载……. Flutter json数据解析是使用了json_serializable package包。它是一个自动化源代码生成器,可以为我们…

C++快速幂详解例题

基本概念 什么是快速幂呢?个人理解,就是更快速的计算幂运算。 比如计算a^b 刚学这个算法的时候我也很疑惑,幂运算不是有现成的公式么,直接pow(a,b)不就好了吗? 后来才明白,pow(a,b)的…

三分钟了解什么是时序数据库

在介绍时序数据库之前,我们先来看看什么是时序数据。时序数据就是基于时间排序的数据,再通过时间坐标将这些数据连接起来,形成一个折线图,直观地展示一个指标在过去一段时间内的走势和规律,帮助定位数据异常点。 时序…

Oracle中Archived redolog的生成

目录 一、问题预览 二、问题解答 一、问题预览 大家都知道 Oracle 中 online redolog切换后会生成 archived redolog,心里默认的就是 online redolog 切换后 archived redolog 已经生成。切换示意图,如下图所示。 但事实真的是这样吗? 二、…

C++ 23 实用工具(一)

C 23 实用工具(一) 工具函数是非常有价值的工具。它们不仅可以用于特定的领域,还可以应用于任意值和函数,甚至可以创建新的函数并将它们绑定到变量上。 常用函数 你可以使用各种变体的 min、max 和 minmax 函数来对值和初始化列…

【使用ChatGPT自动化】批量转换.xls文件为.xlsx文件

第1次提问: 我:我想使用Python批量转换.xls文件为.xlsx文件,请你提供代码 它: 当涉及到批量处理文件时,我们通常需要使用Python中的os模块和glob模块。os模块用于管理文件和目录,glob模块用于匹配文件路径名…

Visual Studio Code 1.77 发布!

欢迎使用 Visual Studio Code 2023 年3月版。此版本有许多更新,其中一些主要亮点包括: 无障碍改进:新的悬停、通知和 Sticky Scroll 快捷键 复制 GitHub 深度链接:在编辑器内创建永久链接和 HEAD 链接 笔记本保存格式&#xff1…

软件测试流程进阶----四年软件测试总结

工作四年了,我一直希望让自己每年对测试的理解更深入一层。工作一年的时候,我谈轮了自己对各种测试的理解,这一年来,虽然对那些理概念的有所加强,自我感觉没有什么质的变化。前些天听我们公司的一位测试经理讲《敏捷测…

精准抓住核心要点!!!十名面试官总结出这样一份面试通关答案,还不赶紧开始“作弊”通关!!!

金三银四求职季,但最近很多朋友私信说: 熬过了去年的寒冬,却没躲过如今的内卷; 打开Boss直拒,一排已读不回; 大部分回复的都是外包,薪资低于预期,对技术水平要求却远超从前&#x…

大数据和 CRM系统:它们如何帮助中小企业?

作为中小企业主,你可能在想,"大数据与我有什么关系?"但如果你使用某些类型的业务应用,即使预算很少,你也可以从大数据中获益。一个最好的例子是客户关系管理(CRM)系统,它提…

二极管反向恢复过程详细解析

二极管反向恢复过程,现代脉冲电路中大量使用晶体管或二极管作为开关, 或者使用主要是由它们构成的逻辑集成电路。而作为开关应用的二极管主要是利用了它的通(电阻很小)、断(电阻很大) 特性, 即二极管对正向及反向电流表现出的开关作用。二极管和一般开关的不同在于,…