在(fips pub-197)aes-128密码中,如果我的纯文本被分成n个128位块,需要多少个唯一的128位密码密钥?

tyky79it  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(422)

我在inter-web上找到的所有关于aes-128算法的描述都是关于输入经过11轮转换的128位明文来生成128位密码文本。我的问题是:
由于要发送的实际消息可能不止占用一个128位的“块”,因此我是否需要为从要使用aes-128加密的消息生成的每个128位块使用唯一的密钥,或者我是否可以为每个128位块使用相同的密钥?
我需要这些关于为论文(期刊)创建算法的信息,因此我需要在使用aes-128时做到科学正确,aes-128是我算法的一部分。

mmvthczy

mmvthczy1#

我不熟悉fips pub-197,但我知道aes的安全属性。
aes是一种分组密码,所有的分组密码都是以这样一种方式建模的:即使您同时知道密文和明文,也无法推导出密钥。有了这个属性,您就可以知道,对多个块使用相同的密钥是完全安全的,即使攻击者知道部分明文和密文。这个属性是在密码分析之后出现的,密码分析是由密码学家在他们想要在像aes这样的算法中找到漏洞时完成的。
另外,如果你有11轮128位的密钥,你没有aes,但其他东西。

b5lpy0ml

b5lpy0ml2#

您可能想看看块密码模式的操作。
如果对每个块使用相同的键,则使用的是电子码本(ecb)。但是,不建议使用这种操作模式。
更安全的是galois/计数器模式或密码块链接模式。有关更多信息,请阅读wiki文章。

相关问题