Я немного запутался, как использовать AES и HMAC (на основе SHA -256 )надлежащим образом при передаче зашифрованного сообщения с сервера на клиент или наоборот
Поправьте меня, пожалуйста, если следующий метод неверен:
- Возьмите ключ безопасности из файла ключей (например, мы предлагаем использовать AES -256, и у нас уже есть действующий ключ длиной 256 бит.)
- Сгенерируйте случайный IV для AES -256, чтобы убедиться, что один и тот же обычный текст будет иметь разные выходные данные шифрования.
- Вычислите HMAC -SHA -256, используя обычный текст и ключ безопасности. (Первый вопрос :следует ли использовать IV для вычисления HMAC? Например, добавить к ключу безопасности?)
- Зашифровать обычный текст с помощью AES -256.
- Составьте сообщение для клиента следующим образом :HMAC + IV+ ЗАШИФРОВАНО _СООБЩЕНИЕ
Самый большой вопрос :возможно ли каким-то образом не отправлять IV клиенту, а вместо этого сгенерировать его таким же образом и все еще быть крипто безопасный? Или можно и IV отправить?
Я остановился на случайном генерировании IV, потому что необходимо, чтобы один и тот же открытый текст заканчивался в разных результатах шифрования.
задан skaffman 23 April 2012 в 11:10
поделиться