Encryption

為什麼我們不能給分組密碼更大的密鑰?

  • February 21, 2019

如果這個問題聽起來很愚蠢,我的數學知識很有限。

我看到很多人抱怨 AES、Twofish 和 Serpent,說這些密碼在不久的將來甚至在今天的大數據中心都可能被破解。但是所有這些密碼都使用最大值。256 位密鑰。而且因為沒有比暴力破解更好的方法來找到密鑰,所以密碼同樣強大。

是否可以採用這些算法(例如 AES)並將密鑰大小從 256 更改為 512 或 1024?我的意思是算法已經過很好的測試,你只需要修改密鑰和塊大小。

我看到很多人抱怨 AES、twofish 和 serpent,說這些密碼在不久的將來甚至今天在大數據中心都可能被破解。

這是一個很好的例子,說明為什麼我們應該總是要求引用和解釋,而不是僅僅接受人們所說的表面價值而不加審查。這些說法與現實盡可能相去甚遠。

但是所有這些密碼都使用最大值。256 位密鑰。而且因為沒有更好的方法來找到密鑰然後暴力破解密碼同樣強大。

這 3 種密碼都具有相似的參數配置(如果不相同),因為它們都是為 AES 競賽而設計的。出於實際目的(但不完全如此),這三個都同樣強大,並且在沒有側通道攻擊的情況下打破它們的唯一方法是通過蠻力。

也就是說,您根本不會破壞它們

是否可以採用這些算法(例如 AES)並將密鑰大小從 256 更改為 512 或 1024 ?

不可能增加像 AES 這樣的算法的密鑰大小;您還必須考慮和修改從密鑰大小派生的其他方面。例如,AES-128 和 AES-256 的 AES 密鑰調度(它是 AES 分組密碼的一部分)不同。

我的意思是算法已經過很好的測試,你只需要修改密鑰和塊大小。

好吧,讓我們承認並假設我們構造了這樣一個東西,並且假設我們在這樣做時不會以某種方式引入額外的故障點:我們通過增加密鑰/塊大小解決了什麼問題?已經無法搜尋了。也許這是一個很好的問題,可以問那些抱怨破解 AES、twofish 和 serpent 是多麼容易的人……

為什麼我們不能給分組密碼更大的密鑰

我們可以,我們不需要。您總是可以構造使算法使用更多的空間和時間。目標是使用盡可能少的資源來完成工作。一旦你理解了這一點,就會清楚為什麼我們不使用大量密鑰或數百個密碼輪。

引用自:https://crypto.stackexchange.com/questions/50522