TrueCrypt Volumes are Indistinguishable from Random Data
16s.us
16s.us
All but the last two only look at distribution of the bytes, meaning that the string "\0\1\2...\255" repeated many times would give the same values, but it doesn't look random at all. The Monte Carlo computation of Pi also ignores the order (sums are commutative).
The serial correlation coefficient only looks at the correlation between the sequence and itself shifted by one, ignoring higher-distance correlations, so it almost as easy to produce very regular sequences that have give very small coefficients.
The 'correct' to make this point would be to analyze the volume format, and reduce distinguishing the container to distinguishing the underlying block cipher from a pseudorandom permutation. That is, distinguishing a TC volume implies distinguishing AES (or whichever block cipher combo TC supports).
I think this would allow for true deniability.
Though shred and other tools to delete via random overright do exist, but as you imply a low level approach would be much more secure.
Another consideration is the type of storage, then there are backups which will still have deleted data. Let alone SSD's which are a whole different breed and can transparantly make a block as dead and realocate some of the reserved data storage without you knowing and with that leave the existing data permently inplace for forensics. With that having an excrypted file system would certainly help cover such issues, though encryption within encryption could be the extra layer of plausable denability you require.
OTOH this might be driver dependent.
This needs to be factored into the risk assesssments of people using encrypted volumes.
You never know where they are going to end-up years later.
I just bang randomly on my keyboard when Truecrypt asks for a password and then let it overwrite the drive. It's pretty fast too and works the same way on all platforms.
Also with trust issues in entropy for random number generation the viable options for large random chuncks of data start to become more appealing in use for certain tasks.
$iv = rnd();
$encrypted_header = byte[256];
$checksum = sha1($iv + $encrypted header);
disk layout: $iv + $encrypted_header + $checksum
This would look like random data to any generic statistical test and yet be easily identifiable for a specific pattern matcher simply by doing the hash based on the visible data and checking if it matches.
Of course this can be easily prevented, but a statistical test is insufficient to prove that.