LINUX.ORG.RU

[RFC][Crypto] Вектор инициализации из ключа

 


0

2

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

>Олл, расскажи, хорошо ли в симметричных алгоритмах шифрования (я пользую AES CBC) использовать ключ для генерации вектора инициализации, допустим, при помощи какой-то простой хеш-функции (пишу для встраиваемых систем)?

Может вам нужен криптостойкий генератор псевдослучайных чисел? Хеш считают от чего-то. От чего?

drBatty ★★
()
Ответ на: комментарий от stack_protector

>От ключа он хочет считать хеш.

а с какой целью?

Может на встраиваемой системе нет генератора случайных чисел.

потому и говорю - нужен генератор псевдослучайных, но таких, что-бы враг не смог по 100500 значений угадать 100501е Такие есть, и их лучше не придумывать, а взять готовый.

drBatty ★★
()
Ответ на: комментарий от drBatty

Начальный (первый) вектор инициализации должны знать все участники обмена. Ни о какой его (псевдо)случайной генерации не может идти речи.
Ключ и так известен всем. Вот я и подумал, почему бы его не использовать и в таком качестве.

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

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

Или я не прав и любое мало-мальское изменение в любом месте сообщения уже координально усложнит задачу злоумышленнику?

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

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

честно говоря - не очень понял схему перезагрузки...

drBatty ★★
()

Нда. Немного я переоценил значимость ВИ при расшифровке сообщения. Думал, что если пробовать расшифровывать данные с неправильным вектором (но с правильным ключом), то выйдет белиберда, но получается, что неправильными выходят первые 128 бит (размер блока) и они в любом случае будут равны ВИ, при помощи которого ведётся расшифровка.

А хотелось его использовать для проверки корректности сообщения.

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

>А хотелось его использовать для проверки корректности сообщения.

настоятельно рекомендую взять готовую схему, а не придумывать велосипеды.

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.