Source: https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-63b.pdf