В очень свободных словах, чтобы подчеркнуть, где лежит сложность:
Биты на диске интерпретируются как двоичные, «1» и «0», если хотите, но в действительности это непрерывная переменная, которая измеряется. Можно образно сказать, что каждый бит действительно может принимать любое значение от 0 до 1, и привод интерпретирует все значения> 0,7 как 1, а все значения <0,3 как 0.
Допустим, немного по цене 0,9. Затем вы перезаписываете его на 0, что эффективно снижает заряд. Окончательный заряд может быть, возможно, 0,25, но если бит изначально был нулем при заряде 0,2, возможно, он оказался бы равным 0,15. Таким образом, используя оборудование, позволяющее считывать заряды с высокой точностью, теоретически можно воссоздать данные, которые были перезаписаны всеми нулями, с помощью нормализации, где заряд <0,2 равен нулю, а заряд> 0,2 равен единице.
Если вместо этого перезаписать данные случайными числами, это мгновенно намного сложнее для этого воссоздания. Вот почему он предпочтителен для очень конфиденциальных данных.
На самом деле алгоритмы гораздо умнее, в зависимости от того, насколько хорошо разрешение оборудования, используемого для анализа намагниченности диска. Есть причина, по которой компании, занимающиеся восстановлением данных, берут глупые деньги :-)