Docs here: Full Disk Encryption
Android 7 - 9 implements FDE with a 128-bit key. Of course, no pattern or PIN forms a 128-bit key. And every single device I saw required a PIN for disk encryption, so when you set up a pattern for the lock screen you were always required for a PIN.
Upon first boot, the device creates a randomly generated 128-bit master key and then hashes it with a default password and stored salt. The default password is: "default_password" However, the resultant hash is also signed through a TEE (such as TrustZone), which uses a hash of the signature to encrypt the master key.
You can find the default password defined in the Android Open Source Project cryptfs.cpp file.
When the user sets the PIN/pass or password on the device, only the 128-bit key is re-encrypted and stored. (ie. user PIN/pass/pattern changes do NOT cause re-encryption of userdata.) Note that managed device may be subject to PIN, pattern, or password restrictions.
A thief stealing your device has no chances to decrypt the storage medium with only the disk. Brute-forcing a 128 bit key is a no-go.
So, they would have to force the PIN. The protection is guaranteed by the hardware TEE (Trusted Execution Environment, a hardware crypto chip).
The TEE uses the PIN to form the real encryption key, but hides information within its state registers.
Given that a hardware attack to a crypto chip is infeasible, this prevents your attacker from guessing every reasonable 4-to-8-digits PIN, which don't form a 128-bit key (10^8 possible PINs, 2^128 > 10^30 possible keys).
Other protection at TEE's discretion are:
- Attempt limit: the chip will self-destroy crypto data when too many attempts are perpetrated
- Delay: the TEE adds a wait to the crypto functions so slow attacks down
In detail, you may want to read the "Storing the encrypted key" paragraph in the document already linked.
Demo
If you boot your device and you are presented with a black screen requesting for your PIN, that is the FDE boot prompt.
Modern Android 10 devices like my Pixel 3XL display the lock screen, because they use a different File-Based encryption and store the non-animated wallpaper as plain text, but require the PIN to decrypt the system. They basically changed the user experience.