【问题标题】:RSA and AES encryptionRSA 和 AES 加密
【发布时间】:2015-05-17 21:02:39
【问题描述】:

我正在研究在我正在开发的一些应用程序的前端使用 Chrome 应用程序的可行性。 (顺便说一句,如果有人对此有任何想法 - 将其放在 cmets 中)

我将使用chrome.socket 并希望连接是安全的,因此需要 RSA 和 AES 加密,以便与尽可能多的后端技术实现(C#、Java 等)兼容。我的意思是不同的模式、密钥长度、特定于实现的细节......

现在我自己做了一些搜索,发现 https://code.google.com/p/crypto-js/ 用于 AES 加密。 这仍然是公认的库吗,还是有其他的?

...但是,我找不到 RSA 库?

出于安全考虑,我不认为这是一个问题,因为这是一个 Chrome 扩展程序,因此 HTML/JavaScript 不会通过互联网发送,但是我是否还有其他安全隐患错过了吗?

【问题讨论】:

  • chrome.socket(没有 chrome.sockets)在 Chrome 扩展中不可用。
  • 好的,但 chrome.socket 在 Chrome 扩展程序中仍然不可用。
  • @sowbug 除非我遗漏了一些明显的东西,否则我相信它现在甚至在 Stable 分支中:developer.chrome.com/apps/socket.html
  • Chrome 扩展程序无法使用套接字 API。 Chrome 应用程序可以。绝对没有将套接字 API 提供给扩展的计划。
  • @sowbug 谢谢!很明显我弄糊涂了!

标签: javascript encryption-asymmetric encryption-symmetric google-chrome-app


【解决方案1】:

你可以试试这个:

斯坦福 Javascript 加密库:http://crypto.stanford.edu/sjcl/

SJCL 是安全的。它使用 128、192 或 256 位的行业标准 AES 算法; SHA256 哈希函数; HMAC认证码; PBKDF2 密码增强器;以及 CCM 和 OCB 认证加密模式。

在此处查看 API:http://bitwiseshiftleft.github.io/sjcl/doc/

Stanford 还有一个页面显示了 Javascript 中的 RSA(以及其他)加密:http://www-cs-students.stanford.edu/~tjw/jsbn/

JavaScript 中的 RSA 和 ECC:

jsbn 库是在纯 JavaScript 中快速、可移植地实现大数数学,支持桌面和移动浏览器上的公钥加密和其他应用程序。

他们还声明它可以 100% 与 openssl 互操作,并说明了如何确认这一点。

你也可以试试 CryptoJS:https://code.google.com/p/crypto-js/

CryptoJS 是使用最佳实践和模式在 JavaScript 中实现的标准和安全加密算法的不断增长的集合。它们速度快,界面一致且简单。

【讨论】:

【解决方案2】:

看来您可能更喜欢在这里有一个完整的 TLS 实现。您应该能够使用 forge(TLS 的 JavaScript 实现)使用 TLS 包装器来包装 chrome.socket:

https://github.com/digitalbazaar/forge

【讨论】:

    【解决方案3】:

    我要指出我在大学期间所做的一些工作,它可能充满了错误,并且可以以更好的方式完成。它非常快,并且适用于大键。可以将 RSA 与具有 n 位的密钥一起使用。

    如果您需要了解它的工作原理,请检查测试。不过,如有任何错误或改进,我们将不胜感激。

    请注意,您可能需要稍微搜索一下,因为不仅仅是 RSA。

    https://github.com/llacroix/rsa-js

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多