She*_*man 12 javascript security cryptography rsa key-generator
据我所知,RSA密钥通常是基于(强)随机生成器生成的.
相反,我想基于密码创建它们.
或者更确切地说是它的哈希值,例如sha512(sha512(密码+盐)+密码+辣椒)
这需要在JavaScript中完成客户端.
谁会知道怎么做?是否有一个简单的JavaScript库,可以根据给定的输入确定性地创建RSA密钥对?
(实际上,我提到了RSA,但任何安全的非对称加密就足够了,我只需要公私加密)
另外:我需要这个,因为我正在构建一些安全的通信解决方案,不需要依赖连接甚至服务器来保证安全.
我正在使用随机密钥使用AES加密所有内容,并且密钥是RSA加密的.这个想法是Alice可以使用Bob的公钥对其内容(或实际上是她的内容的AES密钥)进行RSA加密(因此Bob的公钥必须在线存储).
之后,当Bob再次输入密码时,他的浏览器可以在现场确定性地计算他的RSA私钥和公钥,从Alice下载内容,并使用他的私钥在本地解密.
如果您想通过 TypeScript 在客户端使用 RSA 加密(例如在浏览器或带有 Ionic 的混合应用程序中),请执行以下操作:
npm i cryptico-js --save
import * as cryptico from 'cryptico-js/dist/cryptico.browser.js';
cryptico
此处描述的所有方法:https ://www.npmjs.com/package/crypticoRSA 密钥不像大多数对称算法那样只是随机位,它们是从大素数导出的指数和模数。因此,我没有看到任何合理的方法可以从密码生成它们。请参阅这篇维基百科文章。
您使用这些密钥对做什么?为什么它们必须从密码中派生?如果您想使用密码来加密某些内容,您可以使用 SHA256(密码)来派生 AES256 密钥。(如果您打算这样做,请务必阅读关键强化内容)。
归档时间: |
|
查看次数: |
15366 次 |
最近记录: |