AES简介

1.AES是一种区块加密标准算法,它的提出是为了升级替换原有的DES加密算法。因此它的安全强度高于DES算法。但不应片面理解,系统和数据的安全不仅与应用的加密算法有关,更与加密应用方案有关。和DES算法一样,AES也属于对称加密算法,对密钥的存储与保护,直接决定了整个系统的安全。

2.AES最常见的有3种方案,分别是AES-128、AES-192和AES-256,它们的区别在于密钥长度不同,AES-128的密钥长度为16bytes(128bit / 8),后两者分别为24bytes和32bytes。密钥越长,安全强度越高,但伴随运算轮数的增加,带来的运算开销就会更大,所以用户应根据不同应用场合进行合理选择。用户在应用过程中,除了关注密钥长度外,还应注意确认算法模式。AES算法有五种加密模式,即CBC、ECB、CTR、OCF、CFB,后三种模式因其较为复杂且应用较少,不做详细说明,仅对ECB和CBC模式进行介绍。

详解

  • ECB模式的全称是Electronic Codebook Book,即电码本模式。这种模式是将整个明文分成若干个长度相同的分组,然后对每一小组进行加密,并将加密结果拼接为最终结果,C = C1C2C3…Cn。它与ECB模式的DES算法加密流程基本一致。
  • CBC模式的全称是Cipher Block Chaining,这种模式是先将明文切分成若干个长度相同的分组(与ECB模式一样),此时先利用初始向量IV与第一组数据进行异或后再进行加密运算生成C1。将C1作为初始向量与第二组数据进行异或后再进行加密运算生成C2。以此类推,当最后一组数据加密完毕后,将加密结果拼接为最终结果,C = C1C2C3…Cn。

总结

综上,AES192算法与DES算法很相似,均为块加密算法,密文数据以16字节为单位独立存在。若明文长度为16字节,当改变明文的前16字节时,只会影响密文的前16字节,密文后16字节不变。因此,在应用AES算法对线路传输数据加密过程中,若想保证密文的整体变化,要保证每块明文数据都是变化的。

一文详解AES最常见的3种方案_AES-128、AES-192和AES-256相关推荐

  1. python gil 解除_详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    先看一道GIL面试题: 描述Python GIL的概念, 以及它对python多线程的影响?编写一个多线程抓取网页的程序,并阐明多线程抓取程序是否可比单线程性能有提升,并解释原因. GIL:又叫全局解 ...

  2. Python-Matplotlib可视化(1)——一文详解常见统计图的绘制

    Python-Matplotlib可视化(1)--一文详解常见统计图的绘制 matplotlib库 曲线图 曲线图的绘制 结合Numpy库,绘制曲线图 绘制多曲线图 读取数据文件绘制曲线图 散点图 条 ...

  3. Python-Matplotlib可视化(10)——一文详解3D统计图的绘制

    Python-Matplotlib可视化(10)--一文详解3D统计图的绘制 前言 3D散点图 3D曲线图 3D标量场 绘制3D曲面 在3D坐标轴中绘制2D图形 3D柱形图 系列链接 前言 Matpl ...

  4. 一文数学数模-相关性分析(二)斯皮尔曼相关(spearman)相关性分析一文详解+python实例代码

    前言 相关性分析算是很多算法以及建模的基础知识之一了,十分经典.关于许多特征关联关系以及相关趋势都可以利用相关性分析计算表达.其中常见的相关性系数就有三种:person相关系数,spearman相关系 ...

  5. 「软件测试4」一文详解四大典型的白盒测试方法

    软件测试--详解白盒测试基本概念,四种白盒测试方法 这是我参与更文挑战的第3天,活动详情查看:更文挑战 在上一篇文章中,我们讲到了黑盒测试.黑盒测试相较于白盒测试来说比较简单,不需要了解程序内部的代码 ...

  6. 一文详解Mybatis动态SQL,建议收藏

    一文详解Mybatis动态SQL,建议收藏 1.动态 SQL 2.IF 3.choose.when.otherwise 4.where 5.set 6.trim 7.SQL片段 8.foreach 1 ...

  7. 一文详解线性最小二乘与非线性最小二乘

    一文详解线性最小二乘与非线性最小二乘 一.最小二乘法的引出 二.线性最小二乘法 1.线性最小二乘的描述 2.线性最小二乘特殊情况的求解 3.线性最小二乘一般情况的求解 三.非线性最小二乘法 1.非线性 ...

  8. 一文详解编程中的随机数

    一文详解编程中的随机数 随机数的类型 真随机数生成器 TRNG - True Random Number Generator 伪随机数生成器 PRNG - Pseudo Random Number G ...

  9. 一文详解 ChatGPT:背后的技术,数据,未来发展

    文章目录 一文详解 ChatGPT ChatGPT背后的技术 基于 Transformer 的预训练语言模型 提示学习与指令精调 思维链(Chain of Thought,COT) 基于人类反馈的强化 ...

最新文章

  1. [MySql] - 开启外部访问
  2. 微信系系小程序 倒计时
  3. IWMS实现频道页面的方法
  4. 数据结构——图-有向图和无向图的邻接表基础
  5. 计算机linux运维日记,计算机的运维系统情况
  6. 叶金荣mysql教程_mysql优化--叶金荣老师讲座笔记
  7. 广州站长沙龙 MIP 问题及答案
  8. Coinbase在上市前选择在Reddit线上路演
  9. Elasticsearch 嵌套类型nested
  10. [转载] Python图结构(复杂网络)可视化模块——networkx
  11. android模糊搜索文件,模糊搜索_八门神器教程|安卓八门神器怎么用图文教程__单机攻略_跑跑车单机游戏网...
  12. 2019仿互站网源码T5友价内核PC+社区+博客+手机+整站数据 全新运营
  13. 如何理解泊松分布和泊松过程
  14. 讲座笔记 | 陆铭 城市、区域和国家发展:空间政治经济学的理论和实证研究
  15. angular 自定义打包文件名
  16. 【转】POS终端MAC算法
  17. 算法训练营学习笔记2
  18. python怎么返回上一步操作_一步一步教你如何用python操作mysql
  19. uni-app入门及uni-app项目目录介绍
  20. unittest的详细说明

热门文章

  1. 微信小程序入门开发视频教程
  2. 一键修改分辨率bat_BAT批量处理一键修改设置IP(亲测有效)
  3. Gradle介绍1-入门和IDEA整合(Gradle Wrapper)
  4. 软件系统开发的先行军——原型系统
  5. 盘点十大机器人公众号
  6. StringUtils.isBlank,equals与==的判断参数分析
  7. 多米机器人教材_祝博士多米机器人首次进入公校课堂, 科技辅助教学培养学生全面发展!...
  8. linux应用程序的开发
  9. EGO1—实现8选1的数据选择器74HC151
  10. jQuery Ajax 调用WebService实例详解