【问题标题】:Javascript AES with Initialization Vector带有初始化向量的 Javascript AES
【发布时间】:2012-01-08 14:29:54
【问题描述】:

我需要一个可以解密 AES 数据的 javascript 库。我找到了一些库,例如:

http://www.movable-type.co.uk/scripts/aes.html

http://point-at-infinity.org/jsaes/

但它们都不支持 IV 键(初始化向量)。

我需要它的原因是因为某些 C#.NET 服务器正在向我发送使用 AES 加密的数据,并且它还使用 IV 密钥。

现在我需要以某种方式使用 Javascript 解密该消息,但找不到任何支持初始化向量的库。那么有没有人知道一个也支持解密的javascript库?

【问题讨论】:

    标签: javascript aes


    【解决方案1】:

    IV 并不是 AES 的严格特征。这取决于操作模式。第一个链接只实现 CTR 模式,第二个不使用任何模式(它只是加密一个块)。 您应该检查您的服务器使用什么模式。 如果是 CBC,您应该能够通过 AES 实现毫无问题地实现它。

    现在是一个有趣的问题:为什么你有一个服务器加密数据以将其发送到 JS?它不会增加任何安全性:JS 总是在不安全的环境中执行(参见http://www.matasano.com/articles/javascript-cryptography/ 了解更多信息)。

    【讨论】:

    • 尽管它不是 100% 安全的,但它确实增加了一些安全性。当您使用数据包嗅探器嗅探时,数据包不可读。所以我认为最好有一些安全性然后根本没有。
    • 如果有人有足够的动机嗅探您的数据包,他将能够获得加密数据包以及密钥。而如果密钥是从用户输入中生成的,他或许还可以在页面中注入一些东西来获取密钥(或者干脆直接获取解密后的内容)。破解你的 JS 加密可能比没有安全性更难,但也不难。如果您想保护您的内容,请使用 SSL。
    • 他可能正在使用 node.js 在他的服务器上运行 Javacsript
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2014-10-15
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多