3 ms·
To my knowledge, encoding avoids runs to avoid desynchronization in a way that isn’t encrypted.
by ryan-ca 10mo ago
To my knowledge, encoding avoids runs to avoid desynchronization in a way that isn’t encrypted.
- londons_explore 10mo agoThis used to be done, but since ~2000, disks were expected to support on-device encryption, and by making encryption always-on no encoding is needed.
- rocqua 10mo agoThis is line coding, often used on wired connections. But reading a hard drive trace isn't quite a wired connection, so the trade-offs are different. Most notably with line coding when using positive and negative voltages it is quite important for the average voltage to be zero to avoid building up a charge difference. Whitening can often be used if the downside to an imbalance or long runs is much lower. Notably in RF this is often about avoid harmonics with a little bit of symbol timing advantage thrown in. Whitening doesn't really require encryption though. Weak cypher streams xored into the data work fine. Even a repeated 256 bit string is quite alright. Whitening using any non trivial encryption key seems weird to me. AES with a key equal to the current offset in ECB mode already feels over-engineerd.
- londons_explore 10mo ago> Whitening using any non trivial encryption key seems weird to me. It's because there was an era when drives were expected to be able to do 'hardware' encryption with a user provided key, so reusing that hardware to also do whitening even if the user didn't provide a key was very convenient. Plus you get all the other benefits - ie. a single scsi command can 'secure erase' the whole disk in milliseconds by simply changing the stored key.