хорошо, у меня есть назначение для реализации режимов работы алгоритма DES
в режиме CBC: я застрял в точке, где выходные данные функции шифрования дают байты, подобные этому: b '\ xe4 \ x06- \ x95 \ xf5! P4'
(я использую библиотеку DES из Crypto.Cipher)
Я не знаю, что это за представление или как преобразовать его в двоичную строку из нулей и единиц, чтобы переписать ее со вторым простым текстом.
любая помощь будет высоко ценится
iv = random_iv()
des = DES.new(key)
plaintext1=""
#convert it into binary
plaintext1=bin(int.from_bytes(arr[0].encode(), 'big'))[2:]
y = fn.xor(plaintext1 ,iv)
y1='0'+'b'+y
y= int(y1, 2)
#y is the string output of xoring plaintext1 with the IV
y= y.to_bytes((y.bit_length() + 7) // 8, 'big').decode()
encrypted_blocks=[]
# arr is the array of the original blocks of the msg.
for i in range (1, len(arr)):
c = des.encrypt(y)
print(c)
encrypted_blocks.append(c)
### stuck here ###
#### don't know how to work with c in that format ######