Lukas Wunner
b04163863c
crypto: ecdsa - Support P1363 signature decoding
...
Alternatively to the X9.62 encoding of ecdsa signatures, which uses
ASN.1 and is already supported by the kernel, there's another common
encoding called P1363. It stores r and s as the concatenation of two
big endian, unsigned integers. The name originates from IEEE P1363.
Add a P1363 template in support of the forthcoming SPDM library
(Security Protocol and Data Model) for PCI device authentication.
P1363 is prescribed by SPDM 1.2.1 margin no 44:
"For ECDSA signatures, excluding SM2, in SPDM, the signature shall be
the concatenation of r and s. The size of r shall be the size of
the selected curve. Likewise, the size of s shall be the size of
the selected curve. See BaseAsymAlgo in NEGOTIATE_ALGORITHMS for
the size of r and s. The byte order for r and s shall be in big
endian order. When placing ECDSA signatures into an SPDM signature
field, r shall come first followed by s."
Link: https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.2.1.pdf
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2024-10-05 13:22:05 +08:00
..
2024-10-05 13:22:05 +08:00
2023-03-24 18:22:28 +08:00
2019-05-30 11:26:37 -07:00
2024-04-02 10:49:38 +08:00
2023-11-01 12:58:42 +08:00
2024-04-26 17:26:09 +08:00
2024-09-13 18:26:52 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2023-05-24 18:12:33 +08:00
2021-03-19 21:59:45 +11:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2024-05-31 17:34:56 +08:00
2024-04-02 10:49:38 +08:00
2024-10-05 13:22:04 +08:00
2024-08-24 21:39:15 +08:00
2024-09-06 14:50:46 +08:00
2023-06-24 15:50:13 -07:00
2024-05-31 17:34:56 +08:00
2023-06-24 15:50:13 -07:00
2024-05-31 17:34:56 +08:00
2021-01-03 08:41:35 +11:00
2022-12-02 18:12:40 +08:00
2024-09-06 14:50:46 +08:00
2023-12-08 11:59:46 +08:00
2023-01-06 17:15:47 +08:00
2023-10-27 18:04:29 +08:00
2023-10-27 18:04:29 +08:00
2024-02-22 15:38:51 -08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2024-04-24 16:01:10 -07:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2024-05-31 17:34:56 +08:00
2024-02-02 18:08:12 +08:00
2023-10-27 18:04:29 +08:00
2024-08-17 13:55:49 +08:00
2019-11-22 18:48:39 +08:00
2024-04-26 17:26:09 +08:00
2023-10-27 18:04:24 +08:00
2019-12-11 16:37:01 +08:00
2024-04-02 10:49:38 +08:00
2021-04-16 21:24:27 +10:00
2020-08-21 14:45:25 +10:00
2022-03-07 12:48:35 -07:00
2013-09-12 15:31:34 +10:00
2020-08-21 14:45:25 +10:00
2023-10-13 18:27:26 +08:00
2023-10-01 16:28:15 +08:00
2019-07-08 20:57:08 -07:00
2024-04-02 10:49:38 +08:00
2023-10-13 18:27:27 +08:00
2023-10-13 18:27:27 +08:00
2024-05-31 17:34:56 +08:00
2024-06-28 11:35:47 +10:00
2022-12-02 18:12:40 +08:00
2022-03-03 10:47:50 +12:00
2024-08-17 13:55:50 +08:00
2023-11-17 19:16:29 +08:00
2023-12-08 11:59:46 +08:00
2024-04-12 15:07:52 +08:00
2024-06-16 13:41:53 +08:00
2021-03-13 00:04:03 +11:00
2024-04-26 17:26:09 +08:00
2024-10-05 13:22:05 +08:00
2024-10-05 13:22:04 +08:00
2024-10-05 13:22:05 +08:00
2021-03-26 19:41:58 +11:00
2020-07-16 21:49:07 +10:00
2024-04-12 15:07:52 +08:00
2019-04-18 22:15:02 +08:00
2019-04-18 22:15:02 +08:00
2024-10-05 13:22:04 +08:00
2023-10-13 18:27:26 +08:00
2022-12-02 18:12:40 +08:00
2024-04-05 15:46:33 +08:00
2023-10-27 18:04:29 +08:00
2020-07-16 21:49:08 +10:00
2020-01-09 11:30:53 +08:00
2023-10-27 18:04:30 +08:00
2024-04-02 10:49:38 +08:00
2023-10-27 18:04:25 +08:00
2023-10-27 18:04:24 +08:00
2024-10-05 13:22:04 +08:00
2024-04-05 15:46:33 +08:00
2023-05-12 18:48:01 +08:00
2024-08-30 18:22:30 +08:00
2023-10-13 18:31:07 +08:00
2024-10-05 13:22:04 +08:00
2022-11-25 17:39:18 +08:00
2021-04-02 18:28:13 +11:00
2022-12-02 18:12:40 +08:00
2024-04-02 10:49:38 +08:00
2023-10-13 18:27:27 +08:00
2024-04-02 10:49:38 +08: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
2024-10-05 13:22:05 +08:00
2019-06-13 14:31:39 +08:00
2020-02-28 08:43:21 +08:00
2021-02-10 17:55:55 +11:00
2020-01-16 15:18:12 +08:00
2024-01-26 16:39:32 +08:00
2023-09-15 18:29:45 +08:00
2020-01-16 15:18:12 +08:00
2022-06-10 16:40:17 +08:00
2023-02-14 13:39:33 +08:00
2021-01-29 16:07:04 +11:00
2019-07-08 20:57:08 -07:00
2024-04-02 10:49:38 +08:00
2019-05-30 11:26:32 -07:00
2024-10-05 13:22:04 +08:00
2024-10-05 13:22:04 +08:00
2023-10-27 18:04:28 +08:00
2023-10-27 18:04:28 +08:00
2024-10-05 13:22:04 +08:00
2019-05-30 11:26:32 -07:00
2024-04-02 10:49:38 +08:00
2022-12-02 18:12:40 +08:00
2023-02-13 18:35:14 +08:00
2022-12-02 18:12:40 +08:00
2020-11-20 14:45:33 +11:00
2020-07-23 17:34:20 +10:00
2021-12-31 18:10:54 +11:00
2021-08-27 16:30:19 +08:00
2024-04-02 10:49:38 +08:00
2024-10-05 13:22:04 +08:00
2024-08-24 21:39:15 +08:00
2024-04-02 10:49:38 +08:00
2024-04-02 10:49:38 +08:00
2022-01-28 16:51:11 +11:00
2022-04-08 16:11:48 +08:00
2022-12-02 18:12:40 +08:00
2022-04-08 16:12:46 +08:00
2019-08-15 21:52:14 +10:00
2024-06-28 11:35:46 +10:00
2023-01-20 18:29:31 +08:00
2022-12-02 18:12:40 +08:00
2024-10-05 13:22:05 +08:00
2024-10-05 13:22:05 +08:00
2022-12-02 18:12:40 +08:00
2022-12-02 18:12:40 +08:00
2023-10-27 18:04:24 +08:00
2022-12-30 22:56:27 +08:00
2023-10-27 18:04:25 +08:00
2022-06-10 16:40:16 +08:00
2024-08-02 20:53:25 +08:00
2023-10-20 13:39:25 +08:00
2020-01-09 11:30:53 +08:00
2021-11-08 16:55:21 -08:00