2012-03-18 128 views
2


我有一個關於初始化向量如何工作在密碼學上的問題。
密碼學初始化向量

我有知識的一些關於創建IV和我的問題是這樣,
我知道SecureRandom類,所以一旦我通過這次創建一個IV它將完全加密的數據,我不明白的是你怎麼能得到解密過程相同的IV? (請解釋一下,我需要了解這一點,以便爲作業創建算法)

回答

4

通常,IV與密文一起在網絡協議中發送,或者與密文一起存儲在某處,例如,在文件開頭的文件加密方案中。對於CBC模式下的分組密碼,將IV簡單地發送或存儲爲第一密文塊是很常見的。 IV不是祕密,但取決於你的密碼系統,它不應該被重用或者是可預測的。

+0

當你說它不應該是可以預測的這是否意味着生成IV的方式不應該是可以食用的? 因爲IV不是祕密所以只需追加IV(如明文)就可以了嗎? – sYl3r 2012-03-18 16:30:31

+1

是的,附加IV是好的,但不像明文,但像密文。如果在加密之前將IV附加到明文,則會發送加密的IV(在不知道IV的情況下無法解密)。說IV應該是不可預測的,就像說IV應該隨機產生一樣。有些攻擊只有在攻擊者事先知道IV時才能起作用,以便能夠選擇特定的明文。一個例子是對CBC的選擇性明文攻擊(這是最近BEAST攻擊SSL的基礎)。 – 2012-03-18 16:52:34