Source: https://nvlpubs.nist.gov/nistpubs/Legacy/CS/cs94-41.pdf