当前位置:   article > 正文

AES-CBC加密

aes-cbc

AES加密

来由

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

CBC原理

  明文跟向量异或,再用KEY进行加密,结果作为下个BLOCK的初始化向量。解密原理:使用密钥先对密文解密,解密后再同初始向量异或得到明文。
CBC需要对明文块大小进行Padding(补位),由于前后加密的相关性,只能实施串行化动作,无法并行运算。另外,CBC需要参量:密钥和初始化向量。

密钥扩展(Key Expansion)

  为了防止已有的密码分析攻击,使用了与轮相关的轮常量(Rcon[j],是一个字,这个字的右边三个字节总为防止不同轮中产生的轮密钥的对称性或相似性。在加密和解密算法使用了一个由种子密钥字节数组生成的密钥调度表,规范中称之为密钥扩展例。密钥扩展例程从一个原始密钥中生成多重密钥以代替使用单个密钥大大增加了比特位的扩散,在密钥扩展算法的输入值是字密钥,输出是一个字的一一维线性数组。这足以为初始轮密钥扩展例程阶段和算法中的其他轮中的每一轮提供16字节的轮密钥。
  通过生成器产生Nr+1轮轮密钥,每个轮密钥由Nk个字组成,共有Nk(Nr+1)个字W[i]i=01Nk(Nr+1)1
  在加密过程中,需要

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/422762?site
推荐阅读
相关标签
  

闽ICP备14008679号