Как надежно генерировать IV для шифрования AES CBC?

Я работаю над некоторыми криптовыми материалами.

  • Я использую AES 256 с режимом CBC
  • Я использую OpenSSL

, я знаю о следующих вещах (Источник = Википедия):

Вектор инициализации должен быть:

  • Уникально: нельзя повторять Для любого сообщения, зашифрованного с заданным ключом
  • непредсказуемым: злоумышленник, который соблюдает любое количество сообщений, и их IVS, не должно иметь никакой информации, чтобы предсказать следующую с вероятностью успеха более 50% на бит (т. Е. Неотличием от случайных).

Мой вопрос в том, как надежно генерировать IV с OpenSSL и PHP? Я знаю, что есть такая функциональность в Lib Mcrypt ( http://fr2.php.net/manual/fr/fphand.mcrypt-create-iv.php )

Я ничего не нашел Для этого с OpenSSL (генерируя уникальный и непредсказуемый IV).

11
задан tshepang 13 March 2014 в 19:00
поделиться