DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Задание вектора инициализации

Функция шифрования, описанная в предыдущем разделе, отлично работает в большинстве ситуаций. Но злоумышленники все еще на шаг впереди. Один из используемых ими инструментов для взлома (называемого также криптоанализ) предназначен для изучения заголовка зашифрованных данных и идентификации заполнителя. Вы можете противодействовать этому, вставив перед началом данных некое случайное число, не имеющее к ним отношения. Это что-то вроде вашего собственного простого шифра. Например, если реальные данные представлены последовательностью 12345678, вы можете предварить их случайным значением, скажем 6675, получив значение 667512345678, которое затем будет зашифровано. В результате заголовок будет содержать данные, относящиеся к числу 6675, а не к действительным данным. При расшифровывании вам надо не забыть удалить эту случайную величину.
Эта случайная последовательность, вставляемая перед началом данных, называется вектором инициализации (Initialization Vector - IV). В пакете DBMS_OBFUSCATION_TOOLKIT вектор инициализации передается процедуре DES3ENCRYPT в дополнительном параметре iv_string. Т. к. вектор инициализации присоединяется к действительным данным, длину, кратную восьми, должна иметь результирующая строка, а не исходная. Давайте изменим нашу функцию шифрования так, чтобы она принимала этот параметр и увеличивала длину до значения, кратного восьми.


 









jAntivirus