2

我檢出了TripleDES。它的塊大小是64位。是否有8位塊大小的公私密鑰加密算法?

有8位塊大小的算法嗎?

感謝

編輯:我打算不使用該完美的保護,但對於一個剛剛在案件的情況,其中一個誰看到的代碼應該找不到明文。所以8位對我來說還挺好的。

+0

也許你可以添加一些關於你想用算法做什麼的信息? – Jacco 2010-03-08 17:31:55

回答

2

RSA與8位密鑰:)

認真不過,基於塊的cyphers是無狀態的 - 塊的密文只取決於塊的明文,而不是以前的塊(否則就成爲一個流密碼)。對8位塊進行操作的塊密碼可以很容易地被強制使用,所以沒有意義。

+0

我們可以在.NET中實現8位RSA嗎? – 2010-03-10 06:26:40

+0

我不這麼認爲。而且,就像我和託曼已經說過的那樣,它幾乎就像沒有加密。 – 2010-03-10 15:21:28

6

帶有8位塊的分組密碼意味着每個輸入塊可以被加密爲256個可能的值 - 這意味着攻擊者有1/256的猜測輸入值的機會。結果很難安全地使用這樣的算法。儘管如此,在8位塊上定義一個塊密碼並且「完美地」完成它是possible;只是不要指望它通常是有用的。還有一種「無數據塊」密碼,稱爲「流密碼」,它可以逐字節地加密數據(甚至「逐位」);大多數只是僞隨機生成器,它們會從一個密鑰中產生任意數量的字節。生成的流只是要與數據結合使用XOR進行加密。傳統的流密碼是RC4;但newer and better流密碼已被設計。

分組密碼本身就是一個數學工具。爲了實際加密數據,必須正確使用分組密碼。關鍵字是鏈接填充。鏈接是關於如何定義實際進入分組密碼以及如何處理輸出。填充是關於以可逆的方式向數據中添加一些字節,以便填充的消息長度適合所選的鏈接模式。傳統的鏈接模式稱爲CBC。一個更新的(可以說更好的)鏈接模式是CTR(同一鏈接),它具有避免填充(CTR僅將分組密碼轉換爲流密碼)的額外好處。

至於分組密碼,你應該使用AES而不是TripleDES。它更快,更安全,並且符合當前的美國標準。

+0

偉大的答案謝謝! – 2010-03-09 04:39:14