Генерация ключей RSA из мастер-пароля

Есть ли простой и детерминированный способ сгенерировать пару ключей RSA (частный и открытый) на основе мастер-пароля пользователя?

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


person Boris    schedule 19.07.2013    source источник
comment
возможно здесь stackoverflow.com/questions/1307204/   -  person br1    schedule 19.07.2013
comment
примечание: что произойдет, если пользователь изменит свой пароль?   -  person Duncan Jones    schedule 19.07.2013
comment
Вы, вероятно, не захотите этого делать, поскольку вы преобразуете материал случайного / псевдослучайного ключа в чисто детерминированный. Однако почему бы просто не аутентифицировать пользователя на стороне сервера (поскольку у вас есть право на это?) И после этого не отправить ему ключ по безопасному каналу?   -  person dna    schedule 19.07.2013
comment
Я думаю, что пароль пользователя можно рассматривать как случайное значение. Также вы предлагаете хранить закрытый ключ пользователя в облаке. Я бы предпочел, чтобы он оставался чисто локальным на компьютерах пользователей ...   -  person Boris    schedule 19.07.2013
comment
Пароли пользователей не случайны - если вы не создаете для них пароль. Более того, такой подход в основном принесет атаку грубой силы (RSA 2048; min / maj / num; max n символов) с 2 ^ 2048 до 62 ^ n возможностей. Кроме того, если у двух пользователей один и тот же пароль, у обоих будет один и тот же ключ, чтобы они могли расшифровать сообщения друг друга - при условии, что у них есть доступ к сообщениям. Почему бы просто не положиться на https? Вы хотите хранить сообщения в зашифрованном виде? Вы также можете использовать парольную фразу, как и многие другие приложения, но вам все равно придется каким-то образом передать ключ пользователю.   -  person dna    schedule 19.07.2013
comment
Идея заключалась в том, чтобы с устройства не уходили незашифрованные данные, так что даже сервер не знает об отправленных данных.   -  person Boris    schedule 19.07.2013