Я хотел бы знать размер данных после AES-шифрования, чтобы я мог избежать буферизации моих данных после AES (на диске или в памяти), главным образом, для знания размера.Размер данных после шифрования AES/CBC и AES/ECB
Я использую 128 бит AES и javax.crypto.Cipher
и javax.crypto.CipherInputStream
для шифрования.
Несколько испытаний, проведенных с различными размерами входных показывают, что размер после шифрования рассчитывается как ниже правильно:
long size = input_Size_In_Bytes;
long post_AES_Size = size + (16 - (size % 16));
Но я не уверен, является ли данная формула применима для всех возможных размеров входных.
Есть ли способ вычислить размер данных после применения AES-шифрования - заранее, не забирая зашифрованные данные (на диске или в памяти), чтобы узнать размер его после шифрования?
Почему необходимо добавить целый новый блок для открытого текста из 16 байтов. Его уже кратное 16. заранее заблаговременно – Durin
Без хотя бы одного бита прокладки блок не имеет конечной точки. –
Зачем нужно + 1? – Deyang