Рейтинг:1

Использование одного начального числа для создания пары ключей подписи и ключа шифрования

флаг cn
mkl

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

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

Это связано: Использование одного ключа Ed25519 для шифрования и подписи

Однако я не уверен, отвечает ли он на вопрос.

Maarten Bodewes avatar
флаг in
Используйте KDF с двумя разными полями «Информация», и теперь у вас есть два «начальных значения». Но будьте осторожны с деталями, так как от этого будет зависеть безопасность.
Рейтинг:0
флаг es

Если вам абсолютно необходимо объявить один открытый ключ, который можно использовать как для шифрования с аутентификацией с открытым ключом («crypto_box»), так и для подписи («crypto_sign»), это будет причиной сопоставления пар ключей между кривой Twisted Edwards Ed25519. (которая предпочтительнее для операций подписи) и кривая Монтгомери Curve25519 (которая предпочтительнее для операций ECDH). Например. вы рекламируете открытый ключ Curve25519, который люди могут использовать для шифрования и отправки данных вам, но ваше программное обеспечение сопоставит его с эквивалентом Ed25519, прежде чем использовать его для проверки подписей.

Однако похоже, что вы используете симметричное шифрование для хранилища (а не асимметричное шифрование). Поэтому это сопоставление между кривыми не относится к вам.

Поэтому используйте такие строки, как «шифрование» и «подпись», в качестве информационных параметров для HKDF-Expand (вместе с вашим начальным числом в качестве равномерно распределенного псевдослучайного ключа) для создания симметричного ключа шифрования и секретного ключа подписи. Если ваше семя составляет 256 бит, и вам нужно получить 256-битный ключ, это по сути эквивалентно простому выполнению HMAC-SHA256 (исходное число || информация) (видеть https://datatracker.ietf.org/doc/html/rfc5869).

флаг cn
mkl
Отлично, это очень полезно. Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.