In (FIPS PUB-197) AES-128 cipher, how many unique 128 bit cipher keys are required, if my plain-text is divided into N 128 bit blocks?

huangapple go评论72阅读模式
英文:

In (FIPS PUB-197) AES-128 cipher, how many unique 128 bit cipher keys are required, if my plain-text is divided into N 128 bit blocks?

问题

所有关于AES-128算法的描述都指出,需要输入一个128位的明文,经过11轮的变换才能得到一个128位的密文。我的问题是:

由于要发送的实际消息可能占据不止一个128位的“块”,我是否需要为我从要加密的消息生成的每个128位块都需要一个唯一的密钥,还是可以对所有这些128位块都使用相同的密钥?

我需要这个信息来创建一篇论文(期刊)的算法部分,所以在使用AES-128时我需要在科学上保持正确,AES-128是我算法的一部分。

英文:

All descriptions of the AES-128 algorithm that I've found on the inter-web talk about inputting a 128 bit plaintext that undergoes 11 rounds of transformations to produce a 128 bit cipher text. My question is:

Since the actual message to be sent can occupy more than just a single 128 bit "block", do I need a unique key for each 128 bit block that I generate from my message to be encrypted using AES-128, or can I use the same key for each of those 128 bit blocks?

I need this information in regards to creating an algorithm for a paper (journal), so I need to be scientifically correct in my use of AES-128, which forms a part of my algorithm.

答案1

得分: 1

你可能想查看分组密码工作模式

如果您为每个分组使用相同的密钥,您正在使用电子密码本(ECB)模式。然而,不推荐使用此工作模式。

更安全的做法是使用Galois/Counter模式或密码块链接模式(CBC模式)。欲了解更多信息,请阅读维基百科文章。

英文:

You may want to have a look at Block_cipher_mode_of_operation.

If you use the same key for every block, you are using the Electronic codebook (ECB). However this mode of operation is not recomended.

Something more secure would be the Galois/Counter mode or the Cipher block chaining mode. For more information read the wiki article.

答案2

得分: 0

我对FIPS PUB-197不熟悉,但我了解AES的安全属性。

AES是一种分组密码,所有分组密码的建模方式都是这样的,即使你知道密文和明文,也不能推断出密钥。有了这个属性,你可以得出这样的结论:即使攻击者知道部分明文和密文,对于多个分组使用相同的密钥也是完全安全的。这个属性是在密码学家进行密码分析时产生的,他们在寻找AES等算法中的漏洞时会使用这个属性。

另外,如果你对128位密钥使用了11轮,那么你不再是在使用AES,而是其他算法。

英文:

I'm not familiar with FIPS PUB-197, but I know the security properties of AES.

AES is a block cipher and all block ciphers are modeled in such a way that you cannot deduce the key even if you know both ciphertext and plaintext. With this property, you can follow that using the same key for multiple blocks is perfectly secure even if parts of the plaintext and ciphertext are known to the attacker. This property emerges after cryptanalysis that is done by cryptographers when they want to find holes in an algorithm like AES.

Also, if you have 11 rounds for a 128 bit key, you don't have AES, but something else.

huangapple
  • 本文由 发表于 2020年8月21日 12:06:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/63516383.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定