javascript - Javascript中是否可以进行端到端加密?

我目前正在研究在加密和安全方面创建(peer2peer)消息传递客户机的可能性。此应用程序将基于Web技术(如果可能)。
我的问题是:只有javascript(client&node.js/peer.js)才能进行端到端加密吗?如果是:研究HMAC(RSA)加密技术是否正确?我已经试着去理解这些图书馆是如何运作的,但到目前为止我还没有运气。
我觉得lib很有趣,但我(完全)不理解和不知道如何实现(在这个用例中):
http://bitwiseshiftleft.github.io/sjcl/
https://github.com/Caligatio/jsSHA
https://code.google.com/p/crypto-js/
如果需要的话,我可以试着详细说明。
更新:
该应用程序将是一个移动应用程序。Web技术的使用是概念的一个小小证明。


最佳答案:

您目前正在研究安全实现。如果您不了解这些库背后的安全模型和加密技术,那么您的解决方案——高度肯定——将不安全。
Artjom正确地指出,对于对等加密,您最可能需要双方的身份验证。这不是由普通的ssl/tls提供的,您需要客户机身份验证。但是对于客户机和服务器身份验证,您需要建立信任。在普通浏览器上,这是由内部证书存储提供的。然而,信任客户更难。
所有其他内容(比如RSA如何不是HMAC)都是实现细节。但是,您现在不应该实现任何与安全性相关的东西。首先关注您的用例、威胁场景和协议设计。