Rijndael follows (like all decent cryptographic algorithms, to my knowledge) the principles of confusion and diffusion, formulated by Claude Shannon. Confusion means the ciphertext depends on the plaintext and the key in a highly nonlinear way, i.e. the function that calculates a specific output bit from the input (plaintext, key) is not a polynomial of low degree in the finite field $\text{GF}(2)$. Diffusion means that every bit of the input affects every bit of the output. Also, the computations that create confusion and diffusions are intertwined so that every information bit is fed into a confusion-creating operation and then spreads over the whole block multiple times, at least 4 or 5 times during the encryption.