Is breaking AES NP-hard? Can the security of AES be reduced to a NP-complete problem?
If it is reducible, what does the reduction look like? If it is not reducible, why do we assume it is secure?
|
Is breaking AES NP-hard? Can the security of AES be reduced to a NP-complete problem? If it is reducible, what does the reduction look like? If it is not reducible, why do we assume it is secure? |
|||||||||||||||||||
|
|
There are some complexity-theoretic reasons to believe that cryptography can't be based on NP-completeness. For one example, see this paper by Akavia et al. Basically it all boils down to the mismatch between average-case hardness required for cryptography, and worst-case hardness required for NP-hardness. Moreover, many (most? all?) hard algebraic problems which serve as the basis for cryptography are in NP $\cap$ co-NP (for one such example, consider factoring). Such problems cannot be NP-complete unless NP = co-NP. You can see more discussion in this stackoverflow thread. Finally, AES is a finite-domain function. It is invertible / distinguishable from a random permutation in (large but) constant time. The definitions of P, NP, etc., refer to asymptotic behavior -- that is, as the input size grows to infinity. Because of the algebraic structure of AES, it is probably possible to define a "generalized AES" for infinitely many key lengths (though there are many semi-arbitrary choices to be made). We could then ask about the asymptotic behavior of such a generalized AES. I'm not sure if anyone has done so. |
|||
|
|