Stephan Müller
026a733e66
crypto: kdf - add SP800-108 counter key derivation function
...
SP800-108 defines three KDFs - this patch provides the counter KDF
implementation.
The KDF is implemented as a service function where the caller has to
maintain the hash / HMAC state. Apart from this hash/HMAC state, no
additional state is required to be maintained by either the caller or
the KDF implementation.
The key for the KDF is set with the crypto_kdf108_setkey function which
is intended to be invoked before the caller requests a key derivation
operation via crypto_kdf108_ctr_generate.
SP800-108 allows the use of either a HMAC or a hash as crypto primitive
for the KDF. When a HMAC primtive is intended to be used,
crypto_kdf108_setkey must be used to set the HMAC key. Otherwise, for a
hash crypto primitve crypto_kdf108_ctr_generate can be used immediately
after allocating the hash handle.
Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-11-26 16:25:17 +11:00
..
2021-08-23 19:55:42 +03:00
2021-06-10 19:40:14 -07:00
2019-05-30 11:26:37 -07:00
2020-07-09 18:25:23 +10:00
2021-01-03 08:41:35 +11:00
2020-01-09 11:30:58 +08:00
2021-03-19 21:59:45 +11:00
2020-11-27 17:13:40 +11:00
2021-03-19 21:59:45 +11:00
2021-03-19 21:59:45 +11:00
2020-01-09 11:30:53 +08:00
2019-07-26 14:55:33 +10:00
2021-10-25 10:36:24 -06:00
2020-08-28 16:58:28 +10:00
2020-01-09 11:30:58 +08:00
2021-11-09 13:45:48 +08:00
2021-06-17 15:07:31 +08:00
2020-08-21 14:45:27 +10:00
2020-07-19 18:16:41 -07:00
2020-09-25 17:48:52 +10:00
2020-08-21 14:45:26 +10:00
2021-01-03 08:41:35 +11:00
2020-01-09 11:30:53 +08:00
2021-10-29 21:04:02 +08:00
2020-09-11 14:39:16 +10:00
2020-07-16 21:49:08 +10:00
2020-07-16 21:49:08 +10:00
2021-01-03 08:41:39 +11:00
2021-01-03 08:41:38 +11:00
2019-05-30 11:26:32 -07:00
2021-02-10 17:55:56 +11:00
2021-02-10 17:55:56 +11:00
2021-02-10 17:55:56 +11:00
2021-02-10 17:55:56 +11:00
2019-05-24 17:27:12 +02:00
2021-01-03 08:41:35 +11:00
2021-01-03 08:41:35 +11:00
2021-01-03 08:41:35 +11:00
2020-07-16 21:49:08 +10:00
2019-11-22 18:48:39 +08:00
2021-01-03 08:41:35 +11:00
2021-01-03 08:41:35 +11:00
2019-12-11 16:37:01 +08:00
2021-04-16 21:24:27 +10:00
2020-08-21 14:45:25 +10:00
2013-09-12 15:31:34 +10:00
2020-08-21 14:45:25 +10:00
2020-07-16 21:49:08 +10:00
2021-10-29 21:04:03 +08:00
2019-07-08 20:57:08 -07:00
2019-12-20 14:58:35 +08:00
2019-11-01 13:38:32 +08:00
2021-01-03 08:41:35 +11:00
2020-07-16 21:49:08 +10:00
2019-11-17 09:02:43 +08:00
2020-08-07 11:33:22 -07:00
2020-01-09 11:30:53 +08:00
2019-05-30 11:26:32 -07:00
2020-07-31 18:08:59 +10:00
2021-11-26 16:16:50 +11:00
2021-01-03 08:41:35 +11:00
2021-03-26 19:55:55 +11:00
2021-10-29 21:04:03 +08:00
2021-03-13 00:04:03 +11:00
2021-10-29 21:04:03 +08:00
2021-10-29 21:04:03 +08:00
2021-03-26 19:41:58 +11:00
2020-07-16 21:49:07 +10:00
2021-10-29 21:04:03 +08:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2021-10-29 21:04:03 +08:00
2021-01-03 08:41:35 +11:00
2021-04-02 18:28:13 +11:00
2019-07-26 14:51:57 +10:00
2020-08-07 11:33:22 -07:00
2020-07-16 21:49:08 +10:00
2020-08-07 11:33:22 -07:00
2020-01-09 11:30:53 +08:00
2020-02-18 07:35:49 -05:00
2020-07-16 21:49:08 +10:00
2021-09-24 16:03:05 +08:00
2020-08-20 14:04:28 +10:00
2021-09-17 11:05:09 +08:00
2019-10-18 18:49:40 +11:00
2021-11-26 16:25:17 +11:00
2021-11-26 16:25:17 +11:00
2021-04-02 18:28:13 +11:00
2021-05-28 15:11:44 +08:00
2019-05-30 11:26:32 -07:00
2020-07-23 17:34:20 +10:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2019-07-08 20:57:08 -07:00
2021-11-26 16:25:17 +11:00
2019-06-13 14:31:39 +08:00
2020-02-28 08:43:21 +08:00
2013-12-09 20:09:12 +08:00
2021-02-10 17:55:55 +11:00
2020-01-16 15:18:12 +08:00
2021-01-03 08:41:35 +11:00
2021-01-03 08:41:35 +11:00
2021-10-29 21:04:04 +08:00
2020-01-16 15:18:12 +08:00
2020-09-25 17:48:15 +10:00
2021-01-29 16:07:04 +11:00
2019-07-08 20:57:08 -07:00
2021-04-02 18:28:12 +11:00
2019-05-30 11:26:32 -07:00
2020-08-20 14:04:28 +10:00
2019-05-24 17:27:11 +02:00
2016-07-05 23:05:26 +08:00
2015-10-14 22:23:16 +08:00
2019-05-30 11:26:32 -07:00
2019-12-20 14:58:35 +08:00
2020-12-04 18:13:16 +11:00
2020-08-07 11:33:22 -07:00
2021-03-07 15:13:15 +11:00
2020-11-20 14:45:33 +11:00
2020-07-23 17:34:20 +10:00
2020-11-20 14:45:33 +11:00
2021-08-27 16:30:19 +08:00
2021-06-17 15:07:31 +08:00
2020-07-16 21:49:08 +10:00
2021-08-21 15:44:58 +08:00
2021-06-11 15:03:30 +08:00
2020-09-25 17:48:54 +10:00
2020-09-25 17:48:53 +10:00
2021-07-30 10:58:30 +08:00
2019-08-15 21:52:14 +10:00
2021-10-22 20:25:03 +08:00
2020-08-21 14:45:27 +10:00
2019-07-08 20:57:08 -07:00
2021-10-08 20:02:46 +08:00
2021-11-20 15:02:08 +11:00
2020-01-09 11:30:53 +08:00
2021-02-10 17:55:57 +11:00
2021-01-03 08:41:35 +11:00
2021-08-12 19:32:17 +08:00
2021-01-03 08:41:35 +11:00
2021-02-21 17:23:56 -08:00
2021-01-03 08:41:35 +11:00
2020-01-09 11:30:53 +08:00
2021-11-08 16:55:21 -08:00