寻找有关JavaScript RSA加密的建议

寻找有关JavaScript RSA加密的建议,javascript,rsa,encryption,Javascript,Rsa,Encryption,我需要加密用户在客户端表单上输入的数据。我的环境没有ssl加密,但我发现在我的情况下,使用RSA加密可以获得类似的结果。公钥将在客户端使用,私钥的所有者稍后将能够检索和解密数据 在我走这条路之前,我想确保我没有忽略任何关键问题。这里有几个问题: 您能推荐使用RSA加密的JavaScript库吗 什么保证了它们的可靠性 这种技术的缺点是什么?例如,如果用户关闭浏览器的速度过快,是否会丢失消息 一般来说,我对JavaScript RSA加密技术的任何建议都感兴趣 更新:到目前为止,我找到的唯一R

我需要加密用户在客户端表单上输入的数据。我的环境没有ssl加密,但我发现在我的情况下,使用RSA加密可以获得类似的结果。公钥将在客户端使用,私钥的所有者稍后将能够检索和解密数据

在我走这条路之前,我想确保我没有忽略任何关键问题。这里有几个问题:

  • 您能推荐使用RSA加密的JavaScript库吗
  • 什么保证了它们的可靠性
  • 这种技术的缺点是什么?例如,如果用户关闭浏览器的速度过快,是否会丢失消息
一般来说,我对JavaScript RSA加密技术的任何建议都感兴趣

更新:到目前为止,我找到的唯一RSA JavaScript位于以下页面: 对此有什么反馈吗


另外,如果您有任何建议,我也可以使用RSA以外的加密。我的限制是要有一个100%的JavaScript解决方案。

这是可能的,但是应该指出,这绝不是TLS的替代品-主要是因为这样的技术在客户端和服务器之间不提供可强制执行的信任或认证;您的脚本无法验证嵌入其中的公钥是否是您的公钥,任何人都可以在您和您的客户端之间插手,用自己的公钥替换。

似乎越来越受欢迎。我正在评估它将用于我们的项目。如果我使用了这个库,我将发布更新。

看看-有很多加密算法,包括RSA和它的


顺便说一句,我是一名作家,很高兴能得到一些反馈,并回答您的任何问题。

普通轻量级javascript库crypto4js已经实现了RSA加密。您可以使用它。

如果您的javascript环境是安全的(例如https),并且您不需要支持旧的浏览器版本。加密可以用来创建良好的安全模型。您需要很好地了解您正在做什么,以及如何在您的环境中实现加密、签名、密钥存储等。你自己滚有很多陷阱

开始的好地方是考虑是否需要分发单独的AES密钥来进行快速安全的加密。如果是这样,那么您可能希望使用RSA加密和传输单个AES密钥,然后使用AES进行大部分加密。记住签名。在许多情况下,仅仅对有效负载进行签名就足够了,这样就可以验证它是否完好无损。可能没有必要在静止或传输过程中隐藏数据


您能推荐一个纯JavaScript版本吗?jcryption是我知道的唯一一个,如果您搜索它,您可能会得到其他版本links@AlexK,密钥可以替换,但一旦这样做,收件人将无法读取您的邮件。虽然您可以这样做,但它并不比未加密的连接更安全。攻击者可以简单地修改客户端接收的JS,并使用该JS拦截机密内容。只信任某些证书是SSL的一个核心特性,您无法用JS来模拟它。感谢您指出这一点。我明白,但正如我在问题中所说的,它在我的情况下起作用。我对截取的信息没意见,对阅读的内容没意见。我真的不明白你为什么认为它对你有用。一旦攻击者控制了您的js,他就可以简单地删除加密并读取现在未加密的内容。MITM可以读取和操作场景中的所有内容。你只需要阻止被动侦听器。这对我来说很有效,因为加密和解密是在我使用js的安全环境中完成的。只有经过加密的消息才能通过互联网。因此,您的程序是用js编写的客户端应用程序,而不是包含您的程序的网站。因此js的来源是可信的。是的,那样的话,它应该能工作。