Note that `key` must be no longer than `KEY_BYTES`. According to the RFC, if it is so, you should replace it with its hash. We do not do this automatically due to fear of `DIGEST_BYTES` not being the same as `KEY_BYTES` or even being longer than it.
(&mut self, key: &[u8])