据我了解,RSA 密钥通常是基于(强)随机生成器生成的。
相反,我想根据密码创建它们。
或者更确切地说,在它的哈希上,例如 sha512(sha512(password+salt)+password+pepper)
这需要在客户端用 JavaScript 完成。
有人知道该怎么做吗?是否有一个简单的 JavaScript 库可以根据给定的输入确定性地创建 RSA 密钥对?
(实际上,我提到了 RSA,但任何安全的非对称加密就足够了,我只需要公私加密)
另外:我需要这个,因为我正在构建一些安全的通信解决方案,不需要依赖连接甚至服务器来保证安全。
我正在使用随机密钥使用 AES 加密所有内容,并且密钥是 RSA 加密的。这个想法是 Alice 可以用 Bob 的公钥对她的内容(或者实际上是她的内容的 AES 密钥)进行 RSA 加密(因此 Bob 的公钥必须在线存储)。
稍后,当 Bob 再次输入他的密码时,他的浏览器可以确定性地当场计算他的 RSA 私钥和公钥,从 Alice 那里下载内容,并使用他的私钥在本地解密。