Suppose we have a single, fixed plaintext block $p$ of 128 bits. Call the set of all possible 128 bit blocks $B$.

We could define fixed plaintext AES-128 as a function $f(k) \to B$ that takes a 128 bit key $k$ and outputs a 128 bit ciphertext block $c$.

As far as I know, AES-128 is a bijective function in this manner (is this assumption correct? edit: it is not). Additionally, the range spans $B$.

So how does AES with larger keys work? It must be a surjective function. What does this mapping look like? Are there, for every plaintext $p$, simply $2^{128}$ keys that map it to ciphertext $c$? Or is it unevenly distributed? Since the very same set must map $c$ back to $p$, it implies some sort of pattern in which bits are ignored/canceled out, dependent on the key.

Does any of this have any implications? Or are there no patterns here, and this is simply the way it is?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.