nvme-auth: allow mixing of secret and hash lengths
authorMark O'Donovan <shiftee@posteo.net>
Tue, 17 Oct 2023 17:09:19 +0000 (17:09 +0000)
committerKeith Busch <kbusch@kernel.org>
Tue, 17 Oct 2023 20:57:55 +0000 (13:57 -0700)
commit32445526d836f827ea7e74ef933610b531d239df
tree2e8485dcf3570231e18463140e16a88c9c9ce3a3
parentf047daed179a451657d1e66b5fe4030a593a000c
nvme-auth: allow mixing of secret and hash lengths

We can now use any of the secret transformation hashes with a
secret, regardless of the secret size.
e.g. a 32 byte key with the SHA-512(64 byte) hash.

The example secret from the spec should now be permitted with
any of the following:
DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:01:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:02:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:
DHHC-1:03:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:

Note: Secrets are still restricted to 32,48 or 64 bits.

Co-developed-by: Akash Appaiah <Akash.Appaiah@dell.com>
Signed-off-by: Akash Appaiah <Akash.Appaiah@dell.com>
Signed-off-by: Mark O'Donovan <shiftee@posteo.net>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/common/auth.c