我的php腳本和我的c#應用程序會傳遞一個長度爲32個字符的哈希字符串,對此最好的模式是什麼?我認爲歐洲央行,但我不確定,因爲它說如果使用超過1塊不使用。我怎麼知道這個區塊有多大?哪個加密模式ECB,CBC,CFB
他們偶爾會傳遞一個大的文本文件,這將是加密這個最好的模式... CBC?
任何好的有用的閱讀歡迎...
感謝
我的php腳本和我的c#應用程序會傳遞一個長度爲32個字符的哈希字符串,對此最好的模式是什麼?我認爲歐洲央行,但我不確定,因爲它說如果使用超過1塊不使用。我怎麼知道這個區塊有多大?哪個加密模式ECB,CBC,CFB
他們偶爾會傳遞一個大的文本文件,這將是加密這個最好的模式... CBC?
任何好的有用的閱讀歡迎...
感謝
歐洲央行真的不推薦(這是不是很安全的,因爲其他模式)最簡單的模式和。
我個人會使用CBC。
ECB的一個問題(在許多其他問題中)是它確定性地加密。這是每次你加密相同的ID,你會得到相同的密文。因此這種模式不會阻止流量分析。攻擊者可能無法獲知已加密的ID。但是,他仍然可以確定發送相同ID的時間和頻率。
正確使用CBC和OFB時,每次加密都使用新的隨機IV,因此每次都以不同的方式加密相同的ID。由於您還要確保所有ID具有相同的長度,因此結果應爲密文,攻擊者無法將重複ID與非重複ID區分開來。
除了Accipitridae的答案。您需要將IV提供給解密過程。在CBC或OFB的情況下,這也將是開銷。
散列函數的選擇取決於你想通過交換散列碼來實現什麼。請詳細說明。 – 2010-07-18 14:40:01
哈希是一個數字。它因爲存儲在數據庫中的ID而散列的原因。我把它散列了,所以所有的ID都有相同的長度。 – arbme 2010-07-18 14:52:10
'我對它進行了散列處理,所以所有的ID都具有相同的長度......如果這是你在哈希中的唯一目的(我懷疑),那麼你不會在乎散列的任何密碼特性。問自己:而不是哈希,填充前導零的數字ID是否符合我的目的?此外,當您提到大文本文件的加密時,似乎還有第二個用於哈希的目的。 (順便說一句,對於大型文本文件,CBC當然是EBC的扣籃)。 – mjv 2010-07-18 16:01:38