# 密碼工程 Quiz8 ###### tags: `密碼工程` ## What are the practical differences between 256-bit, 192-bit, and 128-bit AES encryption? - AES128 其密鑰長度為 128 bits ,由於一個鑰匙區塊的長度為 32 bits ,故此長度的密鑰 $N_k=4$ ;加密或解密所需編碼次數為 10 次。 - AES192 其密鑰長度為 192 bits ,由於一個鑰匙區塊的長度為 32 bits ,故此長度的密鑰 $N_k=6$ ;加密或解密所需編碼次數為 12 次。 - AES256 其密鑰長度為 256 bits ,由於一個鑰匙區塊的長度為 32 bits ,故此長度的密鑰 $N_k=8$ ;加密或解密所需編碼次數為 14 次。 ## Is AES with bigger key length for example AES-512 is more secure? 對於 AES 這種對稱式加密來說,所謂的 key 就是一坨 bit 序列。任何長度相同的 bits 都是潛在的可能的密鑰,所以當密鑰長度越長,候選的密鑰就越多。而所謂的暴力破解係指常是所有可能的 key ,任何的演算法都無法真正意義上的免疫暴力破解,能做的只是增大暴力破解所需的成本。 目前公認是密鑰長度至少要 128 bits ,才能有效抵禦暴力破解。比較 AES128 和 AES256 ,雖然後者比前者以更大的 key space ,但是在前者已經被認為是非常安全的前提之下,要說後者比前者「更安全」,這種說法往往徒具象徵或學理意義,卻鮮有實際應用上的意義。同樣的道理在 AES512 上也適用。 然而 AES 演算法比較特別的是,除了可以透過改變密鑰長度來改變 key space 之外, round 數量也能對暴力破解所需的成本有決定性的影響力。越多的 round 並不影響學理意義上的「安全性」,但是他能夠透過增加運算時間的方式,提高暴力破解所需的成本。簡之,若將話題聚焦在安全性上, round 數量的影響在學理上並不關鍵,但在應用上是有效的。 此外,如果說 AES-$k_0$ 被認為是不安全的,那麼大概 AES-$k_1$ $(k_1>k_0)$ 也不會多安全。這不是密鑰長度的問題,而是 AES 加密與解密的過程當中存在某種可被破解的漏洞。由於 AES128 、 AES192 、 AES256 或者 AES512 在這方面的操作方式相同,四者是否安全應維持一致性,亦即若一者安全,其餘三者也應是安全的;若一者不安全,其餘三者很大概率不安全。 我的結論如下: 1. 密鑰較長的 AES 演算法是否更安全,視其是否對應用造成影響。例如 - AES128 確實比 AES64 安全,因為後者以當今運算能力而言是可破解的。 - AES512 比 AES128 安全的象徵意義遠高於實際意義,因為兩者以當今運算能力而言視不可破解的。 3. 如果吾人說 AES512 是安全的,原因絕對不是因為 512 bits 很長,而是因為 AES 本身的設計沒有漏洞所致。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up