У меня есть зашифрованный сеансовый ключ, который мне нужно расшифровать с помощью python, и я действительно не знаю, как go узнать об этом.
Мне предоставили парольную фразу, соль и hma c ключ Строка, которую мне нужно декодировать, закодирована в base64, а при декодировании - это ключ, обозначенный каналом, и дата окончания срока действия (сеансовый ключ + разделитель канала + дата и время)
Ключ сеанса шифруется "с использованием AES-256-CB C шифр с паролем, созданный с использованием PBKDF2 - Функция получения ключа на основе пароля 2. Зашифрованная полезная нагрузка затем подписывается ключом HMA C. "
Как мне go узнать об этом, используя Python? Каковы лучшие библиотеки для этого?
Ниже приведена одна из моих многочисленных попыток (отредактировано на основе комментария @ topaco ):
from base64 import b64decode
import hashlib
import pyaes
import os
PASSWORD = b"password provided"
SALT = b"Salt provided"
iv = os.urandom(16)
ciphertext = "message to decode"
passcode = hashlib.pbkdf2_hmac('sha256', PASSWORD, SALT, 1000)
aes = pyaes.AESModeOfOperationCBC(passcode, iv=iv)
encrypter = pyaes.Encrypter(pyaes.AESModeOfOperationCBC(passcode, iv))
decrypter = encrypter.feed(ciphertext)
decrypter += encrypter.feed()