2012-09-16 13 views
1

我想使用Rijndael-256加密長段文本(文本在此之前已被壓縮並轉換爲base64)。如果您不希望重複結果,ECB是一個安全選項嗎?

這兩者不太可能相同。但是,如果它們碰巧是,會在文本的開始或結尾添加一個隨機密鑰來保護它(無論它們是否相同),以防用戶編寫相同的文本?

如果我確定沒有100%的結果是相同的,如果您不會得到重複的結果,ECB是否安全?

或者是這樣的:(使用Base64 ......不準確,只是一個例子)

_Hello world_ = ahjkIOn25o 

_To echo "Hello world,"_ = qw90klnN2_ahjkIOn25o_kL3 

_Hello world is the_ = _ahjkIOn25o_hjAB27 

因此,如果有人已隱藏其文本中的一個短語,它總是輸出相同的歐洲央行爲無論文本中還有其他內容,還是短語在文本中的位置?

+0

爲什麼你考慮在正常模式下使用ECB?我還沒有看到情況,歐洲央行是模式的最佳選擇。 – CodesInChaos

+0

沒有IV,你不能實現語義安全性,這通常是一個理想的屬性。 – CodesInChaos

回答

2

我會推薦使用類似CBC的東西。你所要做的就是添加IV。

因此,如果有人有他們的文字裏面的一句話隱藏,它總是輸出相同ECB那塊,無論是文本,或短語的文本位置還有什麼?

兩個完全相同的明文塊將變成完全相同的密文塊。

因此,它取決於隱藏短語的長度以及它如何定位在塊內。只有塊的全部內容相同時,結果纔會相同。

我會說這是更適用於兩種情況:

  • 你有大量的結構化數據(如例如圖像或視頻)
  • 可以使用相同的密鑰來加密多個消息(這相當於到大量的數據)。

這兩種情況都可能讓攻擊者弄清楚你的內部結構。

我建議看看這個:http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 它顯示了什麼與ECB的問題。

一般來說,它更容易使用另一種模式,而不是

  • 圍繞歐洲央行的弱點工作你
  • 憂慮是否考慮到所有可能的情況。
相關問題