Очень запутанное … использование задач 'аннотирует' в Django

IV позволяет, чтобы простой текст был зашифрован таким образом, что зашифрованный текст более трудно дешифровать для взломщика. Каждый бит IV, который Вы используете, удвоит возможности зашифрованного текста из данного простого текста.

, Например, давайте зашифруем 'привет мировое' использование IV один символ долго. IV случайным образом выбран, чтобы быть 'x'. Текст, который тогда шифруется, является тогда 'xhello миром', который уступает, скажем, 'asdfghjkl'. Если мы шифруем его снова, сначала генерируем новый IV - говорят, что мы получаем 'b' на этот раз - и шифруем как нормальный (таким образом шифрующий 'bhello мир'). На этот раз мы получаем 'qwertyuio'.

Дело в том, что взломщик не знает то, что IV и поэтому должен вычислить каждый возможный IV для данного простого текста для нахождения шифрованного текста соответствия. Таким образом IV действует как соль пароля . Обычно, IV используется с шифром объединения в цепочку (или поточный или блочный шифр). В блочном шифре объединения в цепочку результат каждого блока простого текста питается к алгоритму шифра для нахождения шифрованного текста для следующего блока. Таким образом каждый блок объединяется в цепочку вместе.

Так, если Вам использовали случайный IV для шифрования простого текста, как Вы дешифруете его? Простой. Передайте IV (в простом тексте) наряду с Вашим зашифрованным текстом. Используя наш пример кулака выше, заключительный шифрованный текст был бы 'xasdfghjkl' (IV + шифрованный текст).

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

статья Wikipedia о , векторы инициализации предоставляют общий обзор.

14
задан Daniel Waltrip 2 August 2009 в 00:54
поделиться