I know a lot of people are advocating an "encrypt and wipe" procedure for selling used Android phones. But according to the AOSP website, in Android 5.x Lollipop:
Created fast encryption, which only encrypts used blocks on the data partition to avoid first boot taking a long time.
More specifically, when Lollipop encrypts a previously unencrypted device:
To enable inplace encryption, vold starts a loop to read each sector of the real block device and then write it to the crypto block device. vold checks to see if a sector is in use before reading and writing it, which makes encryption much faster on a new device that has little to no data.
In other words, Google made a disturbing choice to only encrypt whatever space is marked as "used" in storage, not any of the free space, which could very well include unencrypted information deleted prior to encryption. Unless I'm mistaken, this is a massive security risk, makes the "encrypt and wipe" procedure nothing more than a useless placebo, and makes physical destruction the only way to reasonably secure an unencrypted Android Lollipop device.
Is this assessment of the Lollipop's encryption system accurate?
Does there exist a method to force Lollipop to use full-disk encryption instead of the "fast encryption" nonsense?