It sort of looks like to me that there is a kind of risk mitigation in the architecture of block cyphers vs the xor cypher.

In XOR, the risk is entirely in the random number generator. The XOR operator by itself is perfect, it provides perfect forward secrecy, so if used with perfect random numbers, so the risk is entirely shifted into the RNG.

In a block cypher, like AES the risk or the majority of the risk is inside the cypher, and only a small risk is inside the key. Obviously if the key is somewhat decent, I believe they hash the key, so frequency analysis is off the table, again implying that the hash algorithm is decent as well, shifting most of the private key's risk into the hash algorithm's security.

So basically there is little risk in a block cypher that comes from the private key, if the private key is decent. Now if the PRNG is weak, then it can be brute forced, or if the PRNG generator generates deterministic numbers, then it can be guessed, but that is more like an Information Security problem than a Cyptographic problem.

Therefore the majority of the risk, since the attack surface is much larger, is in the block cypher itself.

It would technically be easier to find a vulnerability in a block cypher than to break a 256-bit key even if it has like only 150 bits of entropy in it.

And if we are involving theoretical quantum computers, well then again, that is a risk of the block cypher, since it's not secure enough against the capacity of a theoretical quantum computer, whereas a perfect XOR would be.


So it kind of looks to me that the way a block cypher works is that it assumes that it's hard to generate TRN, so it shifts the burden away from the randomness into the complexity of the block cypher.

Meanwhile a XOR or any other OTP type of encryption relies purely on a good RNG, while the algorithm itself is perfect.


Is this this a good way to interpret their role?

  • 1
    $\begingroup$ Terminology notes (not an answer): We write cipher, not "cypher" . The key of a block cipher is usually called secret key, with "private key" reserved to asymmetric cryptography (that secret key is private only when sender=receiver, like in backup). As a cipher, XOR with a fixed secret key can be considered a block cipher, yet an extremely insecure one (a single known plaintext reveals the key). The OTP is similar except the key is used only once, and therefore the OTP does not match the modern definition of a cipher, which requires that the same key is usable for several plaintexts. $\endgroup$ – fgrieu Jul 10 '17 at 6:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.