zoukankan      html  css  js  c++  java
  • 信息安全-加密:AES 加密

    ylbtech-信息安全-加密:AES 加密

    高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

    1.返回顶部

    AES加密

    AES加密是对称加密、分组加密;密钥长度 分为128位、192位、256位;对应的数据分组也应该分为128位  192位  256位;这三种加密的轮次是不一样的。分别是:10、12、14

    加密过程:

    ① 由原始数据 转为 输入state(二维矩阵 对于选择128位加密,就是4×4矩阵)

    ② 初始变换

      就是进行轮密钥加(密钥轮加在后面介绍)

    ③ 循环N轮的变换

      其中 N-1轮变换如下:

      字节代换——》行位移——》列混淆——》轮密钥加

      字节代换,就是基于S盒原理进行,上面有,不多说了!

      行位移:第一行不变,第二行循环左移一个字节,第三行循环左移两个字节,第四行循环左移三个字节

      列混淆:每一列的每一个字节被映射为一个新值,新值是根据这一列的值计算得出(计算方法不详)

      轮密钥加:列混淆后的数据 与 密钥进行异或运算;

    下面说一下每一轮的密钥是怎么来的:通过密钥扩展来的,具体不详

      在第N轮,是这样的字节代换——》行位移——》轮密钥加

    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
    1、
    2、
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    webpack 压缩js
    系统host文件
    promise
    Cookie与Session
    java普通分页(低级分页)
    容器部署MySQL数据迁移
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/storebook/p/10724360.html
Copyright © 2011-2022 走看看