I am trying to learn some basic cryptography and I am reading some conflicting statements about block cipher.
My current understanding is that we start with an XOR to obfuscate our data. We can then generate a one-time pad to encrypt our message. The only limitation is that the message length must be less than the length of our single-use pad (making one-time padding impractical for large files).
So we introduce block ciphers which encrypt blocks of plaintext at a time. We generate a key which is essentially a mapping of input to output. An example of a block cipher is AES.
I read that AES would blow up if we tried to encrypt a jpeg file - or any message that is larger than our key size (thus introducing stream cipher). I've also read that block cipher is best used on any known-length message (i.e. any file). The latter makes more sense since we're breaking down messages of any length down into blocks anyway.
Which is true? Am I misunderstanding something?