有一些 JavaScript AES 实现可用,例如Gibberish-aes
因此,假设 AES 算法已在该库中正确实现,那么它应该与任何其他语言实现一样安全吗?如果不是,为什么不呢?
有一些 JavaScript AES 实现可用,例如Gibberish-aes
因此,假设 AES 算法已在该库中正确实现,那么它应该与任何其他语言实现一样安全吗?如果不是,为什么不呢?
AES 是一种可以用任何编程语言实现的规范。
如果您正在考虑在 JavaScript 中进行加密以避免使用 https,这将是不安全的:通过 http 连接传输 HTML 文件或任何包含的 JavaScript 允许攻击者修改它。因此,除了进行加密之外,它还可以将未加密的信息发送到另一台服务器。
“实施 AES”意味着生成标准要求给定明文和密钥的精确密文;我们谈论的是确切的值,直到最后一点,所以对您问题的一般回答是:是的,它与使用任何其他语言实现一样“安全”。
上面的段落是关于在应用于协议时的“安全” ,即在攻击者观察线路上传输的内容的视图中。当专门应用于实现时,“安全”还有另一个含义:它是实现不将密钥信息泄漏给对硬件具有物理(或完全逻辑)访问权限的攻击者的能力。Javascript 实现在 Web 浏览器中运行,并不能真正对任何有权访问 Web 浏览器的人隐藏任何内容,尤其是它的“调试脚本”功能。但是基于 C 的实现也不能保护自己免受这种本地攻击者的攻击。所以这个概念可能不是你正在使用的。