Yeah, in short, I produced the private keys offline, printed them once, wiped the drive. Wiped with cp /dev/zero /dev/sda twice.
I heard some time ago that FBI/CIA stated that they can read data from hard drives that has been zero-filled once or twice.
Perhaps you should do it few more times, with random data every time instead of just zeros.
This is an exciting day for me! Finally, a post that I can claim to know something about and answer! I started designing firmware for hard disk drives in 1987 (a 20MB 3.5" half high) and I am currently working on the next generation SMR drive (>5TB) so I now have almost 25 years experience in the industry.
This myth may have actually been true in the distant past when the data tracks were far apart, there was still a guard band between the tracks, and the data was recorded on the drive in a linear fashion (LMR). On antique drives (>15years) it may have been possible with extremely expensive equipment to read some of the data left over in the guard band between the tracks after a single write pass.
However on modern drives the magnetic domains are recorded perpendicularly into the media (PMR), there is no guard band, and the tracks are so close together that you are lucky if we can read back your original data at all
In fact on modern drives the data is so densely packed and noisy that almost every single sector read back requires massive error correction in order to recover the original data. BTW this noise/error situation on solid state flash drives is even worse. These devices require even more error detection and correction than rotating magnetic media.
Now, on the next generation SMR (Shingled Magnetic Recording) drives the tracks are now overlapped. So, a single write pass will cause the entire drive to be re-shingled and this will overwrite every magnetic domain on the drive.
The real issue is that a single write pass of a 3TB or greater drive takes forever and a day. So I would suggest that if you need to wipe the drive on a regular basis you get a secure TCG Opal or TCG Enterprise drive. That way all you have to do is change the key and instantaneously all the data on the drive is gone since the old key is now lost forever making the AES encrypted data on the drive unrecoverable.
One final note regarding:
Perhaps you should do it few more times, with random data every time instead of just zeros.
All modern high speed serialized data transmission and storage channels (SAS, SATA, PCIe, hard disk drives, etc.) must randomize the data in the channel in order to minimize RFI/EMI issues. In other words all the data is randomized so it does not matter what data you write to the drive (all zeros, all ones, 0x55, etc.) it will all end up being combined with a pseudo random number stream before it is recorded/transmitted anyway.