https://pages.nist.gov/800-63-3/sp800-63b.html#sec5
https://pages.nist.gov/800-63-3/sp800-63b.html#sec5