Как добавить дополнение к данным для создания этого приемлемым для алгоритма шифрования AES256 в pycrypto библиотеке

Может кто-то говорить мне, как добавить дополнение к данным для создания этого приемлемым для алгоритма шифрования AES256 в pycrypto библиотеке (Python).

Большое спасибо заранее..:)

6
задан Rise 21 January 2010 в 09:18
поделиться

2 ответа

, глядя на документацию , кажется, что это зависит от вас, пользователь библиотеки, прокладывая данные самостоятельно. Документация утверждает, что размер блока для AES всегда 16 байт, поэтому вам нужно прокладывать данные нескольким 16 байтам.

Как проводится прокладка, зависит от типа данных. Для строк наилучший подход, вероятно, должен кодировать строку к определенному кодированию, а затем принять длину этой кодировки. Таким образом, вы не полагаетесь на все персонажи, представленные 8-битным CodePoint:

plaintext = data.encode('utf-8')
l = len(plaintext)
ciphertext = cipher.encrypt(plaintext + ((16 - len%16) * PADDING_BYTE))

аналогичный подход будет работать, когда ваши данные являются массивом байтов.

0 Должен работать нормально, как padding_byte , но вам нужно позаботиться о том, чтобы удалить прокладку, когда вы расшифруете данные. Это может стоить, включая длину данных в зашифрованном тексте, например, Подготовьте длину данных на открытый текст перед шифрованием, но затем вам нужно перейти через некоторые обручи, чтобы убедиться, что заполнение генерируется правильно.

Редактировать : О, да, как и ссылки на RFC Gregs, чтобы упоминать, стандартный способ обращения с проблемой длины - это используйте длину прокладки в качестве байта для прокладки. Я Если вам нужны 6 байтов прокладки прокладки байта 0x06 . Обратите внимание, что если вам не нужна прокладка, вы добавите целый блок прокладки байтов (16 байтов 0xa0 ), чтобы вы могли правильно восстановить сообщение.

5
ответ дан 16 December 2019 в 21:39
поделиться

Вот ответ:

Sub x()
    ActiveSheet.UsedRange
End Sub

запустить это, и последняя ячейка будет сброшен.

-121--3436630-

Используйте стандартную схему заполнения, такие как схема, изложенная в PKCS-5 , раздел 6.1.1 Step # 4 (замените 8 в этом примере 16, если вы используют AES).

3
ответ дан 16 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: