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))

### TLS 密码套件的含义与区别分析 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 和 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 是两种常见的 TLS 密码套件,它们用于在 TLS 握手过程中协商加密算法和密钥交换方式。这两种密码套件的区别主要体现在密钥交换机制上。 #### 密钥交换机制 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 使用的是静态椭圆曲线 Diffie-Hellman(ECDH)密钥交换算法[^1]。在这种模式下,服务器使用一个固定的 ECDH 密钥对进行密钥交换。这种静态密钥交换方式的优点是减少了计算开销,但缺点是无法提供前向保密(Forward Secrecy),即如果长期密钥泄露,则所有之前通信的数据都可能被解密。 相比之下,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 使用的是临时椭圆曲线 Diffie-Hellman(ECDHE)密钥交换算法[^1]。在这种模式下,每次会话都会生成一个新的临时密钥对,从而确保了前向保密性。即使长期密钥泄露,也不会影响到之前会话的安全性。 #### 身份验证机制 两种密码套件均使用 ECDSA 算法进行身份验证。这意味着服务器证书必须包含一个基于椭圆曲线的公钥,并且签名算法为 ECDSA。 #### 加密算法与消息认证码 两者均采用 AES-128-CBC 作为数据加密算法,以及 SHA-256 作为消息认证码(MAC)算法。这意味着在数据传输阶段,它们使用相同的加密和完整性保护机制。 #### 实际应用中的选择 在实际部署中,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 更受欢迎,因为它提供了更强的安全保障,尤其是在需要前向保密性的场景中。尽管 ECDHE 模式会带来额外的计算开销,但对于大多数现代设备而言,这种开销是可以接受的。 ```bash # 示例:生成适用于 ECDHE 的私钥和证书 openssl ecparam -name prime256v1 -genkey -noout -out ecdhe.key openssl req -new -key ecdhe.key -out ecdhe.csr -subj /CN=example.com openssl x509 -req -in ecdhe.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -sha256 -out ecdhe.crt -days 500 cat ecdhe.crt ecdhe.key > ecdhe.pem ``` 上述命令展示了如何生成适用于 ECDHE 密钥交换的私钥和证书链。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值