2011-09-26 52 views
-1

我想創建一個Java程序,我將提供純文本,一個鍵然後輸出應該是與純文本相同的長度。使用相同的密鑰,我將解密加密的文本。那麼請告訴我如何繼續?來自純文本生成相同的加密文本

謝謝。

+0

密文長度通常與明文長度相同,再加上一點點填充以獲得塊大小。這足夠好嗎?還是它需要是完全相同的長度? (我想這意味着blocksize = 1) – Thilo

+0

完全相同的長度 – Ankur

回答

1

你想要什麼樣的加密方案? Vigenère密碼將爲您提供與您的明​​文長度相同的密文,但如果密鑰不是隨機的,則密文將容易受到各種頻率攻擊,例如Kasiski考試。

你想達到什麼目的?

+0

它不是一個安全相關的應用程序。我只是想創建一個程序,我將輸入一個純文本和密鑰,我將得到密文,並且我可以使用相同的密鑰進行解密。 – Ankur

+0

也爲不同的密鑰我想生成不同的密文 – Ankur

+1

即使使用完全隨機的密鑰,如果密鑰短於消息或者使用相同的密鑰兩次(如果您僅使用密鑰一次,而且它是比信息長,你有一個非常安全的一次性密碼加密)。 – Thilo

1

在計數器模式下使用像RC4這樣的流密碼或像AES這樣的分組密碼可以做你想做的事。然而,這些仍然需要每個消息隨機四,所以你必須以某種方式管理。

+0

對於像RC4或AES-CTR這樣的流密碼,IV通常被稱爲「隨機數」(數字使用一次),可以比IV短。 – rossum