2011-11-29 194 views
0

我需要一個可以解密AES數據的JavaScript庫。我發現一些庫,如:使用初始化矢量的Javascript AES

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

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

但是他們都不支持IV密鑰(初始化向量)。

我需要這樣做的原因是因爲一些C#.NET服務器向我發送使用AES加密的數據,並且它還使用了IV密鑰。

現在我需要以Javascript以某種方式解密該消息,但找不到任何支持初始化向量的庫。那麼有沒有人知道一個JavaScript庫也支持這個解密?

回答

1

IV並不嚴格是AES的一項功能。這取決於操作模式。第一個鏈接只實現CTR模式,第二個鏈接不使用任何模式(它只是加密一個塊)。 你應該檢查你的服務器使用了哪種模式。 如果是CBC,您應該可以通過AES實現實現它,而不會出現任何問題。

現在爲了好玩的問題:爲什麼你有一臺服務器將數據加密發送給JS?它不會增加任何安全性:JS總是在不安全的環境中執行(有關更多信息,請參閱http://www.matasano.com/articles/javascript-cryptography/)。

+0

雖然它不是100%安全的,但確實增加了一些安全性。當您使用packetniffer進行嗅探時,數據包不可讀。所以我認爲它最好有一些安全性,然後根本沒有。 – w00

+1

如果有人有足夠的動機嗅探你的數據包,他將能夠獲得加密數據包和密鑰。如果密鑰是從用戶輸入生成的,他也可以在頁面中注入某些內容以獲取密鑰(或直接獲取解密的內容)。打破你的JS加密可能比沒有安全性,但不是太多。如果您想保護您的內容,請使用SSL。 –

+0

他可以使用node.js在他的服務器上運行Javacsript – Mike