AES Encryption - большие файлы - PullRequest
3 голосов
/ 12 апреля 2011

Я делаю AES-шифрование с использованием интерфейса EVP OpenSSL на языке C в режимах 128/192/256 cbc.Я нашел хороший пример в stackoverflow, с которым я начал программировать.

То, что я хотел бы знать, это:

  1. Какое дополнение по умолчанию используется при шифровании?
  2. Что произойдет, если у меня будут большие данные.Нужно ли кодировать, чтобы разделить его на блоки данных размером 128 бит?или интерфейс EVP позаботится об этом?
  3. Каким должен быть размер IV для 128-битного, 192-битного и 256-битного режимов cbc (где только длина ключа равна 128, 192, 256 соответственно и размер блока всегда128)

спасибо

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Вы можете использовать EVP_CIPHER_iv_length() для определения размера IV для шифра, например, EVP_CIPHER_iv_length(EVP_aes_128_cbc()).

0 голосов
/ 12 апреля 2011
  1. Заполнение по умолчанию для шифрования отсутствует. Есть несколько схем заполнения. Для EVP существует последний метод шифрования, который принимает неполный блок, добавляет заполнение (дополнение по умолчанию PKCS) и шифрует его.

  2. EVP позаботится об этом.

  3. Размер вектора IV, когда используется режим CBC, равен размеру блока.

...