mirror of
https://github.com/martijnvanbrummelen/nwipe.git
synced 2026-03-01 18:32:10 +00:00
Since at least 2013 (the initial nwipe commit), isaac has never functioned. When the issac prng was selected in the GUI, nwipe used the mersenne twister prng instead. Not that you would ever have known, as there were no log entries saying which prng was being actively used. However, I don't believe this was just an nwipe issue, looking at the code for DBAN's dwipe the same function nwipe_isaac_read( NWIPE_PRNG_READ_SIGNATURE ) exists as it does in nwipe. In both cases the function has no code that actually does anything. This patch populates this function and brings isaac back to life ! This bug was also responsible for verification errors when the option prng=isaac was used on the command line. Worse still, if you used prng=isaac on the command line then wiped using method=prng, no verification and no blanking you would expect to see random data. You don't, instead you would see either all zeros or mainly zeros because the uninitialised buffer that should have contained random data instead contained initialised text data such as partial log entries. This patch and previously submitted patches fix all these problems related to the isaac implementation. A separate commit will fix the GUI prng selection which was leading everybody to believe isaac was being used when in fact it was mersenne all along.