【发布时间】:2021-12-05 12:53:38
【问题描述】:
当我使用 scapy 创建 sa(ipsec) 时,我收到“ValueError: Invalid key size (96) for AES” 提供的值在创建 sa 时被接受,但在我申请加密时失败。(没有错误其他算法,如 AES-CBC),scapy 支持 AES-GCM
使用的代码:
>>> sa = SecurityAssociation(ESP,spi=10,crypt_algo='AES-GCM',crypt_key=b'aaaaaaabbbbbaaaa',auth_algo='NULL',auth_key=b'NULL',tunnel_header=ip_tunnel)
>>> sa
<scapy.layers.ipsec.SecurityAssociation object at 0x7f055f6dd5b0>
>>> e = sa.encrypt(plain_txt)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/scapy/layers/ipsec.py", line 998, in encrypt
return self._encrypt_esp(pkt, seq_num=seq_num,
File "/usr/lib/python3/dist-packages/scapy/layers/ipsec.py", line 898, in _encrypt_esp
esp = self.crypt_algo.encrypt(self, esp, self.crypt_key,
File "/usr/lib/python3/dist-packages/scapy/layers/ipsec.py", line 358, in encrypt
cipher = self.new_cipher(key, mode_iv)
File "/usr/lib/python3/dist-packages/scapy/config.py", line 681, in func_in
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/scapy/layers/ipsec.py", line 301, in new_cipher
self.cipher(key),
File "/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py", line 35, in __init__
self.key = _verify_key_size(self, key)
File "/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/algorithms.py", line 20, in _verify_key_size
raise ValueError("Invalid key size ({}) for {}.".format(
ValueError: Invalid key size (96) for AES.
【问题讨论】: