2011-06-10 4 views
0

Я пытаюсь использовать Java в встроенном методе (MessageDigest) для реализации SHA1. Однако в примерах я не нашел никаких параметров метода для объявления Initial Vector. Может кто-нибудь помочь мне об этом ???? Спасибо заранее ...Почему Java SHA1 не имеет начального вектора?

+3

Вы пытаетесь реализовать SHA-1 самостоятельно? Вам действительно нужно, так как способность выполнять хэш SHA-1 встроена в Java? Если это не относится к заданию, выполнение собственной реализации алгоритма хэширования является плохой идеей, если есть уже проверенные и проверенные реализации. –

+0

Начальный вектор чего? Вы используете метод update() для предоставления вам данных MessageDigest. Можете ли вы отправить образцы кода, пожалуйста? – Perception

ответ

5

Я никоим образом не специалист по криптографии, но логически мыслящий, для чего нужен IV для дайджеста? Пункт дайджест состоит в том, чтобы создать кажущийся случайный результат для каждого входного сообщения, но, как и любой другой хеш, он должен быть одинаковым для одного входа. IV, с другой стороны, используются для модификации алгоритма шифрования для получения разных результатов для одного и того же ввода.

Итак, я не думаю, что будет какой-либо IV.

+1

Исправить - дайджест сообщений не использует векторы инициализации. IV используются во время шифрования, чтобы удостовериться, что одно значение, зашифрованное несколько раз одним и тем же ключом, не приводит к тому же зашифрованному тексту. Хеш-эквивалент - соль. – atk

+0

@atk Я думаю, соль является частью PBE, а не описанием дайджеста. Я не вижу никакой ссылки на соль в SHA1 RFC здесь: http://www.faqs.org/rfcs/rfc3174.html Но опять же, я не эксперт в этой области. –

+0

Алекс, извините, я думаю, я был неясен. Я не предполагал, что соль не является частью хеш-алгоритма, а скорее дополнительными данными, которые передаются через хэш. – atk

Смежные вопросы