Генерация пары ключей RSA в javascript на основе пароля

Насколько я понимаю, ключи RSA обычно генерируются на основе (сильного) генератора случайных чисел.

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

Вернее на его хеш, например sha512(sha512(пароль+соль)+пароль+перец)

Это нужно сделать на стороне клиента, на JavaScript.

Кто-нибудь знает, как это сделать Существует ли простая библиотека JavaScript, которая детерминистически создает пары ключей RSA на основе заданных входных данных?

(На самом деле, я упоминаю RSA, но подойдет любое безопасное асимметричное шифрование, мне просто нужно общедоступное шифрование)


Дополнение: мне это нужно, потому что я создаю безопасное решение для связи, которому не нужно полагаться на соединение или даже на сервер для обеспечения безопасности.

Я шифрую весь контент с помощью AES, используя случайные ключи, и ключи зашифрованы с помощью RSA. Идея состоит в том, что Алиса может зашифровать RSA свой контент (или, фактически, ключ AES для своего контента) с помощью открытого ключа Боба (там открытый ключ Боба должен храниться в сети).

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

12
задан Sheldon Pinkman 23 June 2012 в 09:55
поделиться