# /dev/random only needed for key generation / CPU pattern encryption

Consider the following scenarios:

• using OpenSSL to encrypt a file with Rijndael-256
• using LUKS to encrypt a hard-drive that is used every day

Exactly when is entropy from /dev/random needed for a crypto process? Is it only needed for the key generation or is it also needed for the encryption process itself?

When the CPU is executing a crypto process (key generation or encryption) for a program, does the CPU cause some kind of pattern (like a fingerprint of the encrypted data) as it processes? Can this "processing pattern" then be used to break the encryption and see the plaintext?

-
re the "fingerprint" section: Look up 'sidechannel attacks' and similar resources –  figlesquidge Jan 16 '14 at 2:51
OpenSSL uses its own PRNG (or DRBG) to generate pseudo-random numbers. It only uses /dev/urandom or /dev/random to generate an unpredictable seed, and then never touches those devices again. –  indiv Jul 2 at 18:24

Also, I'm not sure if /dev/random is used; I think that at least OpenSSL uses /dev/urandom/.