2011-09-26 53 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