@accountnujen

Где хранить iv, если я могу запомнить только пароль?

Я хочу хранить важную мне информацию в интернете в зашифрованном виде, чтобы я мог легко получить к ней доступ. То есть, это условно страничка на github pages, где лежат в общем доступе зашифрованные данные и поле для ввода пароля. Я ввожу пароль и эти данные расшифровываются с помощью javascript. Всё происходит на стороне клиента, то есть на моей стороне.

Это всё очень удобно до момента, когда у меня есть только поле "пароль". К примеру, в javascript Web Crypto API (нативная поддержка) исключено из методов AES-ECB, который может существовать без iv, так как они не считают его достаточно безопасным. Я могу использовать библиотеку crypto-js, в которой ECB есть, но здесь возникает вопрос безопасности.

Следовательно, я должен смотреть в сторону GCM или CBC, где обязательным условием для расшифровки является наличие iv. Запомнить iv я не смогу, но тогда я не знаю, где и как его хранить. Подскажите, какие есть варианты решения данной проблемы?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 3
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
где обязательным условием для расшифровки является наличие iv.

А именно, того же IV, что был использован при шифровании.

какие есть варианты решения данной проблемы?

- использовать фиксированный IV (например все нули).
- генерировать его из хранимых данных (например какой-нибудь хеш от пароля). В википедии упоминается похожий вариант: "a cipher or a hash function is used to generate the IVs from the key and the current sector number".
- использовать режим CTR.
Ответ написан
Комментировать
IV не секретен и обычно хранится вместе с зашифрованными данными. Если IV не передается / не хранится отдельно, то, как правило, он находится в начале блоба с зашифрованными данными.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
IV не надо запоминать. Он может быть частью вашего программного обеспечения.
Генерируете один раз и кладете в исходники.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы