AES_128_CBC

# from itertools import product
from Crypto.Cipher import AES
import Crypto.Cipher.AES
from binascii import hexlify, unhexlify
key = unhexlify('225BF35EC786714546DC253EBD2032AF')
IV = unhexlify('A13C1617F6E0C1054D3907BF92B09775')
# plaintext1 = unhexlify('6bc1bee22e409f96e93d7e117393172a')
# plaintext2 = unhexlify('ae2d8a571e03ac9c9eb76fac45af8e51')
# plaintext3 = unhexlify('30c81c46a35ce411e5fbc1191a0a52ef')
cipher = AES.new(key, AES.MODE_CBC, IV)
# ciphertext = cipher.encrypt(plaintext1 + plaintext2 + plaintext3)
# hexlify(ciphertext)
ciphertext = unhexlify('a6acc35bedc4e6df3ede1997da2e1802')
ciphertext1 = unhexlify('4e86336e92afcd193f266b4729792b5f')

decipher = AES.new(key, AES.MODE_CBC, IV)
decipher1 = AES.new(key, AES.MODE_CBC, IV)

plaintext = decipher.decrypt(ciphertext)
print (hexlify(plaintext))


plaintext1 = decipher1.decrypt(ciphertext1)
print (hexlify(plaintext1))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AES128CBC是一种常用的对称加密算法,适用于在线加密数据。它采用128位的密钥,以CBC模式进行加密操作。 在AES128CBC加密过程中,首先需要确定一个密钥,该密钥用于加密和解密数据。然后,将明文数据按照固定长度进行分组,并对每一组数据应用AES算法进行加密操作。 具体而言,AES128CBC采用了链式加密模式(Cipher Block Chaining,CBC),其中,每个分组的加密都依赖于前一个分组的密文。 加密过程中,先将第一个分组与初始向量(Initialization Vector,IV)进行异或运算,然后使用密钥对该结果进行AES加密,得到本分组的密文。接下来,将该密文与下一个分组进行异或运算,继续加密操作。最后,得到所有分组的密文数据。 在解密过程中,首先使用相同的密钥对每个密文分组进行解密操作,得到解密后的数据。解密完成后,将解密结果与前一个密文分组进行异或运算,得到原始明文。 值得注意的是,AES128CBC需要一个初始向量(IV)来确保加密过程中的安全性。初始向量是一个随机生成的数据块,用于第一个明文分组的加密。在连续的加密操作中,每个分组的加密结果都将影响到下一个分组的加密。 总结而言,AES128CBC在线加密是一种安全且常用的对称加密方式,适用于保护在线通信和数据传输的安全。通过使用正确的密钥和初始向量,可以实现数据的保密性和完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值