AES密码算法:利用python中的AES模块来实现AES对称算法,以及算法的封装

AES算法简介

AES:即Advanced Encryption Standard,高级加密标准。AES又称Rijndael(为了表彰密码学家Joan Daemen和Vincent Rijmen)加密法,是美国联邦政府采用的一种区块加密标准。
这个标准用来替代原先的DES(Data Encryption Standard)。

AES的地位:已经成为对称密钥加密中最流行的算法之一。

AES算法特点:

  • 是一种对称分组加密算法。
  • AES的分组长度为128bit,密钥长度是可选的,分别为128/192/256bit,对应的轮数分别为10/12/14。
  • AES是一种迭代分组密码,使用了多轮置换和替换操作,且操作是可逆的。
  • 常见的对称加密: AES, DES, 3DES。

AES加密模式:

对称/分组密码一般分为流加密(如OFB、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。

下面是常用的AES加密模式:

1) ECB(Electronic Code Book电子密码本)模式:

ECB模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。

  • 优点:
    (1).简单; 
    (2).有利于并行计算; 
    (3).误差不会被传送;
  • 缺点: 
    (1).不能隐藏明文的模式; 
    (2).可能对明文进行主动攻击; 因此,此模式适于加密小消息。

2) CBC(Cipher Block Chaining,加密块链)模式:

  • 优点:
    (1).不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。
  • 缺点: 
    (1).不利于并行计算; 
    (2).误差传递; 
    (3).需要初始化向量IV

3) CFB(Cipher FeedBack Mode,加密反馈)模式:

  • 优点:
    (1).隐藏了明文模式; 
    (2).分组密码转化为流模式; 
    (3).可以及时加密传送小于分组的数据;
  • 缺点: 
    (1).不利于并行计算; 
    (2).误差传送:一个明文单元损坏影响多个单元; 
    (3).唯一的IV;

4) OFB(Output FeedBack,输出反馈)模式:

  • 优点:
    (1).隐藏了明文模式; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值