From ffa93673914406b095aecff50651b2b987a06c46 Mon Sep 17 00:00:00 2001 From: Bas Westerbaan Date: Thu, 14 Nov 2024 14:23:11 +0100 Subject: [PATCH] Add example certificate and autogenerate pretty versions --- draft-ietf-lamps-dilithium-certificates.md | 438 +-------------------- examples/ML-DSA-44.crt | 86 ++++ examples/ML-DSA-44.crt.txt | 203 ++++++++++ examples/ML-DSA-44.priv.txt | 8 + examples/ML-DSA-44.pub.txt | 47 +++ examples/ML-DSA-65.crt | 118 ++++++ examples/ML-DSA-65.crt.txt | 251 ++++++++++++ examples/ML-DSA-65.priv.txt | 8 + examples/ML-DSA-65.pub.txt | 67 ++++ examples/ML-DSA-87.crt | 158 ++++++++ examples/ML-DSA-87.crt.txt | 312 +++++++++++++++ examples/ML-DSA-87.priv.txt | 8 + examples/ML-DSA-87.pub.txt | 87 ++++ examples/README | 11 + examples/pretty | 8 + 15 files changed, 1391 insertions(+), 419 deletions(-) create mode 100644 examples/ML-DSA-44.crt create mode 100644 examples/ML-DSA-44.crt.txt create mode 100644 examples/ML-DSA-44.priv.txt create mode 100644 examples/ML-DSA-44.pub.txt create mode 100644 examples/ML-DSA-65.crt create mode 100644 examples/ML-DSA-65.crt.txt create mode 100644 examples/ML-DSA-65.priv.txt create mode 100644 examples/ML-DSA-65.pub.txt create mode 100644 examples/ML-DSA-87.crt create mode 100644 examples/ML-DSA-87.crt.txt create mode 100644 examples/ML-DSA-87.priv.txt create mode 100644 examples/ML-DSA-87.pub.txt create mode 100644 examples/README create mode 100755 examples/pretty diff --git a/draft-ietf-lamps-dilithium-certificates.md b/draft-ietf-lamps-dilithium-certificates.md index 6079db4..0bd6ad8 100644 --- a/draft-ietf-lamps-dilithium-certificates.md +++ b/draft-ietf-lamps-dilithium-certificates.md @@ -632,15 +632,7 @@ The following is an example of a ML-DSA-44 private key with hex seed `000102…1 ~~~ ~~~ -0 50: SEQUENCE { -2 1: INTEGER 0 -5 11: SEQUENCE { -7 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.17' - : } -18 32: OCTET STRING - 00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f - 10 11 12 13 14 15 16 17-18 19 1a 1b 1c 1d 1e 1f - : } +{::include ./examples/ML-DSA-44.priv.txt} ~~~ The following is an example of a ML-DSA-65 private key with hex seed `000102…1e1f`: @@ -650,15 +642,7 @@ The following is an example of a ML-DSA-65 private key with hex seed `000102…1 ~~~ ~~~ -0 50: SEQUENCE { -2 1: INTEGER 0 -5 11: SEQUENCE { -7 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.18' - : } -18 32: OCTET STRING - 00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f - 10 11 12 13 14 15 16 17-18 19 1a 1b 1c 1d 1e 1f - : } +{::include ./examples/ML-DSA-65.priv.txt} ~~~ The following is an example of a ML-DSA-87 private key with hex seed `000102…1e1f`: @@ -668,15 +652,7 @@ The following is an example of a ML-DSA-87 private key with hex seed `000102…1 ~~~ ~~~ -0 50: SEQUENCE { -2 1: INTEGER 0 -5 11: SEQUENCE { -7 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.19' - : } -18 32: OCTET STRING - 00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f - 10 11 12 13 14 15 16 17-18 19 1a 1b 1c 1d 1e 1f - : } +{::include ./examples/ML-DSA-87.priv.txt} ~~~ NOTE: The private key is the seed and all three examples keys use the @@ -685,7 +661,7 @@ used to represent the ML-DSA algorithm's security strength. ## Example Public Key {#example-public} -The following is the ML-KEM-44 public key corresponding to the private +The following is the ML-DSA-44 public key corresponding to the private key in the previous section. ~~~ @@ -693,98 +669,10 @@ key in the previous section. ~~~ ~~~ -0 1330: SEQUENCE { -4 11: SEQUENCE { -6 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.17' - : } -17 1313: BIT STRING - 00 d7 b2 b4 72 54 aa e0 db 45 e7 93 0d 4a 98 d2 - c9 7d 8f 13 97 d1 78 9d af a1 70 24 b3 16 e9 be - c9 4f c9 94 6d 42 f1 9b 79 a7 41 3b ba a3 3e 71 - 49 cb 42 ed 51 15 69 3a c0 41 fa cb 98 8a de b5 - fe 0e 1d 86 31 18 49 95 b5 92 c3 97 d2 29 4e 2e - 14 f9 0a a4 14 ba 38 26 89 9a c4 3f 4c cc ac bc - 26 e9 a8 32 b9 51 18 d5 cb 43 3c be f9 66 0b 00 - 13 8e 08 17 f6 1e 76 2c a2 74 c3 6a d5 54 eb 22 - aa c1 16 2e 4a b0 1a cb a1 e3 8c 4e fd 8f 80 b6 - 5b 33 3d 0f 72 e5 5d fe 71 ce 9c 1e bb 98 89 e7 - c5 61 06 c0 fd 73 80 3a 2a ec fe af de d7 aa 3c - b2 ce da 54 d1 2b d8 cd 36 a7 8c f9 75 94 3b 47 - ab d2 5e 88 0a c4 52 e5 74 2e d1 e8 d1 a8 2a fa - 86 e5 90 c7 58 c1 5a e4 d2 84 0d 92 bc a1 a5 09 - 0f 40 49 65 97 fc a7 d8 b9 51 3f 1a 1b da 6e 95 - 0a aa 98 de 46 75 07 d4 a4 f5 a4 f0 59 92 16 58 - 2c 35 72 f6 2e da 89 05 ab 35 81 67 0c 4a 02 77 - 7a 33 e0 ca 72 95 fd 8f 4f f6 d1 a0 a3 a7 68 3d - 65 f5 f5 f7 fc 60 da 02 3e 82 6c 5f 92 14 4c 02 - f7 d1 ba 10 75 98 75 53 ea 93 67 fc d7 6d 99 0b - 7f a9 9c d4 5a fd b8 83 6d 43 e4 59 f5 18 7d f0 - 58 47 97 09 a0 1e a6 83 59 35 fa 70 46 09 90 cd - 3d c1 ba 40 1b a9 4b ab 1d de 41 ac 67 ab 33 19 - dc ac a0 60 48 d4 c4 ee f2 7e e1 3a 9c 17 d0 53 - 8f 43 0f 2d 64 2d c2 41 56 60 de 78 87 7d 8d 8a - bc 72 52 39 78 c0 42 e4 28 5f 43 19 84 6c 44 12 - 62 42 97 68 44 c1 0e 55 6b a2 15 b5 a7 19 e5 9d - 0c 6b 2a 96 d3 98 59 07 1f dc c2 cd e7 52 4a 7b - ed ae 54 e8 5b 31 8e 85 4e 8f e2 b2 f3 ed fa c9 - 71 91 28 27 0a af d1 e5 04 4c 3a 4f da fd 9f f3 - 1f 90 78 4b 8e 8e 45 96 14 4a 0d af 58 65 11 d3 - d9 96 2b 9e a9 5a f1 97 b4 e5 fc 60 f2 b1 ed 15 - de 3a 5b ef 5f 89 bd c7 9d 91 05 1d 9b 28 16 e7 - 4f a5 45 31 ef dc 1c be 74 d4 48 85 7f 47 6b cd - 58 f2 1c 0b 65 3b 3b 76 a4 e0 76 a6 55 9a 30 27 - 18 55 5c c6 3f 74 85 9a ab ab 92 5f 02 38 61 ca - 8c d0 f7 ba db 28 71 f6 7d 55 32 6d 74 51 13 5a - d4 5f 4a 1b a6 91 18 fb b2 c8 a3 0e ec 93 92 ef - 3f 97 70 66 c9 ad d5 c7 10 cc 64 7b 15 14 d2 17 - d9 58 c7 01 7c 3e 90 fd 20 c0 4e 67 4b 90 48 6e - 93 70 a3 1a 00 1d 32 f4 73 97 9e 49 06 74 9e 7e - 47 7f a0 b7 45 08 f8 a5 f2 37 83 12 b8 3c 25 bd - 38 8c a0 b0 ff f7 47 8b af 42 b7 16 67 ed aa c9 - 7c 46 b1 29 64 3e 58 6e 5b 05 5a 0c 21 19 46 d4 - f3 6e 67 5b ed 58 60 fa 04 2a 31 5d 98 26 16 4d - 6a 92 37 c3 5a 5f bf 49 54 90 a5 bd 4d f2 48 b9 - 5c 4a ae 77 84 b6 05 67 31 66 ac 42 45 b5 b4 b0 - 82 a0 9e 93 23 e6 2f 20 78 c5 b7 67 83 44 6d ef - d7 36 ad 3a 37 02 d4 9b 08 98 44 90 0a 61 83 33 - 97 bc 44 19 b3 0d 7a 97 a0 b3 87 c1 91 14 74 c4 - d4 1b 53 e3 2a 97 7a cb 6f 0e a7 5d b6 5b b3 9e - 59 e7 01 e7 69 57 de f6 f2 d4 45 59 c3 1a 77 12 - 2b 52 04 e3 b5 c2 19 f1 68 8b 14 ed 0b c0 b8 01 - b3 e6 e8 2d cd 43 e9 c0 e9 f4 17 44 cd 98 15 bd - 1b c8 82 0d 8b b1 23 f0 4f ac d1 b1 b6 85 dd 5a - 2b 1b 8d bb f3 ed 93 36 70 f0 95 a1 80 b4 f1 92 - d0 8b 10 b8 fa bb df cc 2b 24 51 8e 32 ee a0 a5 - e0 c9 04 ca 84 47 80 08 3f 3b 0c d2 d0 b8 b6 af - 67 bc 35 5b 94 94 02 5d c7 b0 a7 8f a8 0e 3a 2d - bf eb 51 32 88 51 d6 07 81 98 e9 49 36 51 ae 78 - 7e c0 25 1f 92 2b a3 0e 9f 51 df 62 a6 d7 27 84 - cf 3d d2 05 39 31 76 df a3 24 a5 12 bd 94 97 0a - 36 dd 34 a5 14 a8 67 91 f0 eb 36 f0 14 5b 09 ab - 64 65 1b 4a 03 13 b2 99 61 1a 2a 1c 48 89 16 27 - 59 87 68 a3 11 40 60 ba 44 43 48 6d f5 15 22 a1 - ce 88 b3 09 85 c2 16 f8 e6 ed 17 8d d5 67 b3 04 - a0 d4 ca fb a8 82 a2 83 42 f1 7a 9a a2 6a e5 8d - b6 30 08 3d 2c 35 8f df 56 6c 3f 5d 62 a4 28 56 - 7b c9 ea 8c e9 5c aa 0f 35 47 4b 0b fa 8f 33 9a - 25 0a b4 df cf 20 83 be 8e ef bc 10 55 e1 8f e1 - 53 70 ee cb 26 05 66 d8 3f f0 6b 21 1a ae c4 3c - a2 9b 54 cc d0 0f 88 15 a2 46 5e f0 b4 65 15 cc - 7e 41 f3 12 4f 09 ef ff 73 93 09 ab 58 b2 9a 14 - 59 a0 0b ce 50 38 e9 38 c9 67 8f 72 eb 0e 4e e5 - fd aa e6 6d 9f 85 73 fc 97 fc 42 b4 95 9f 4b f8 - b6 1d 78 43 3e 86 b0 33 5d 6e 91 91 c4 d8 bf 48 - 7b 39 05 c1 08 cf d6 ac 24 b0 ce b7 dc b7 cf 51 - f8 4d 0e d6 87 b9 5e ae b1 c5 33 c0 6f 0d 97 02 - 3d 92 a7 08 25 83 7b 59 ba 6c b7 d4 e5 6b 0a 87 - c2 03 86 2a e8 f3 15 ba 59 25 e8 ed ef a6 79 36 - 9a 22 02 76 61 51 f1 6a 96 5f 9f 81 ec e7 6c c0 - 70 b5 58 69 e4 db 97 84 cf 05 c8 30 b3 24 2c 83 - 12 - : } +{::include ./examples/ML-DSA-44.pub.txt} ~~~ -The following is the ML-KEM-65 public key corresponding to the private +The following is the ML-DSA-65 public key corresponding to the private key in the previous section. ~~~ @@ -792,138 +680,10 @@ key in the previous section. ~~~ ~~~ -0 1970: SEQUENCE { -4 11: SEQUENCE { -6 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.18' - : } -17 1953: BIT STRING - 00 48 68 3d 91 97 8e 31 eb 3d dd b8 b0 47 34 82 - d2 b8 8a 5f 62 59 49 fd 8f 58 a5 61 e6 96 bd 4c - 27 d0 5b 38 db b2 ed f0 1e 66 4e fd 81 be 1e a8 - 93 68 8c e6 8a a2 d5 1c 59 58 f8 bb c6 eb 4e 89 - ee 67 d2 c0 32 09 54 d5 72 12 ca c7 22 9f f1 d6 - ea f0 39 28 bd 51 51 1f 8d 88 d8 47 73 6c 7d e2 - 73 0d 59 78 e5 41 07 13 16 09 78 86 77 11 bf 55 - 39 a0 bf c4 c3 50 c2 be 57 2b af 0e e2 e2 fb 16 - cc fe a0 80 28 d9 9a c4 9a eb b7 59 37 dd ce 11 - 1c da b6 2f ff 3c ea 8b a2 23 3d 1e 56 fb c5 c5 - a1 e7 26 de 63 fa dd 2a f0 16 b1 19 17 7f a3 d9 - 71 a2 d9 27 71 73 fc e5 5b 67 74 5a f0 b7 c2 1d - 59 7d be b9 3e 6a 32 f3 41 c4 9a 5a 8b e9 e8 25 - 08 8d 1f 2a a4 51 55 d6 c8 ae 15 36 7e 4e b0 03 - b8 fd f7 85 10 71 94 97 39 f9 ff f0 90 23 ea f4 - 51 04 d2 a8 4a 45 90 6e ed 46 71 a4 4d c2 8d 27 - 98 7b b5 5d f6 9e 9e 85 61 f6 1a 80 a7 26 99 50 - 38 65 fe d9 b7 ee 72 a8 e1 7a 19 c4 08 14 4f 4b - 29 af ef 70 31 c3 a6 d8 57 16 10 b4 2c 9f 42 12 - 45 a8 8f 19 7e 16 81 2b 03 11 59 b6 5b 96 87 e5 - b3 e9 34 c5 22 5a e9 8a 79 ba 73 d2 b3 99 d7 35 - 10 ef fa d1 9e 53 b8 45 0f 0b a8 fc e1 01 2f d9 - 8d 26 0a 74 aa aa 13 fa e2 49 a0 06 b1 c3 4f 5b - a0 b8 82 f2 63 78 22 2f b3 6f 22 83 c2 43 f0 ff - eb 5f 1b b4 14 a0 a7 0d 55 e3 d4 0a 56 b6 cb c8 - 8a e1 f0 3b 7b 28 82 d9 8d ee a2 8e 14 5c 9d ed - fd 8e af 1c ef 2e d9 4a 8b 05 0f 89 64 f4 6d 1e - a0 d0 c2 a4 3e 0d da 61 82 ad bf 4f 6e d1 75 b6 - 74 22 57 85 9b f2 2f 3a 41 7e cf 1f 9d 89 31 7b - 5e 53 9d 58 7a f1 6b 9e 13 13 e0 45 14 ff a6 4b - a8 b3 ff 2b 83 21 f8 81 1c b3 fb 02 2c 8f 64 4e - 70 a4 b8 0a 2f bf ee 60 4a bb 73 79 09 1e a8 e6 - c5 c7 4d fc 02 83 66 6b 40 c0 79 38 70 02 82 04 - a1 36 bf 5d a9 56 8e b7 98 d3 49 03 8b db 0c 11 - e0 34 45 e7 84 7c b5 06 9c 75 cf 28 ac 60 1c 77 - 99 d9 58 21 0d db cb 22 6e 51 af ef 9f 1d e4 7b - 07 38 73 d6 d3 f9 74 56 be de 08 50 82 e7 4a 29 - 8b 2c d4 8f 4b 30 93 15 5f 36 6c 8f a6 01 c6 af - 85 8d fa 32 c0 84 91 b2 a2 98 87 f9 03 35 94 9a - 5d 6e da a6 79 88 2a 3a 95 d6 bf 6d 97 0a 22 1f - 4b 9d 3d 8c bf 38 4a f8 1a ac 95 e2 b3 29 4e 04 - 78 9a c8 37 27 a5 dc 04 55 9f 96 af 41 d8 a0 53 - 51 6f ee ee bc 52 74 6e b6 ab 28 19 e0 91 08 71 - 0d 83 5f 01 1f a6 30 65 87 2a d3 34 d5 cd ff b2 - b2 31 05 07 e9 2f c9 93 ae 31 7d a9 7f 4f 30 9c - da f0 f6 7e d9 9d 90 21 55 76 08 38 49 f9 53 b2 - 46 d7 fe db 3f db 67 67 98 50 a5 ad 40 4e 64 14 - 7f b7 cf 4f 6a ed dd 05 af b4 b8 34 96 8d 1f e8 - 80 14 96 0d ce 5d 94 22 36 52 6e 12 a4 78 d6 9e - 5f be 69 70 31 0b 30 8c 06 84 50 18 cf c7 b2 ab - 43 0a 13 a6 b1 ac 7b b0 2c cc bb 3d 91 1a c2 f1 - 10 68 61 3f be 02 9b fd ce 02 cf 5c d3 89 50 ed - 72 c8 39 44 ed fb c7 56 15 af 87 f8 64 c0 51 f3 - c5 54 56 c5 41 28 63 a4 0c 06 d1 da b5 62 bd ff - 05 71 b8 d3 c3 91 7b bd 30 08 80 bb a5 e9 98 23 - 9b 95 fa 91 b7 d6 41 6d 4f 39 8b 3a db cd 30 98 - 3e d3 59 2b 4d 9e f7 d4 23 6f d0 0f 50 d9 8a a5 - 3a 23 5a c4 17 27 20 f7 7d 96 17 26 72 98 0c fe - 8f f7 a5 a7 02 78 3e dc 2b a3 1b 22 59 01 5a 11 - 2f c7 f4 68 a9 c2 f9 46 40 39 00 2d 30 ef 67 8b - 4c b7 98 bc 11 62 16 bf 7a 9a 7c 18 ba 03 b7 b5 - 8f d0 75 15 d3 11 50 49 d3 61 4b e7 a0 7e 74 43 - 00 75 0d f1 d2 c5 87 53 38 90 59 ea fc 3d 78 5c - cd d3 1c 07 64 8b ed c0 3a 5c 3b 8a d4 6d 06 4d - 59 c1 3d 57 37 47 29 fc 4e 29 53 62 e2 a5 19 12 - 04 53 04 28 bc 15 22 af a2 8f f5 fe 16 55 e3 04 - ca 5b c8 c2 7a d0 e0 c6 a3 9d d4 df 28 95 6c 14 - b3 8c c9 36 82 ce fe 40 2b bd 5e 82 d2 9c 46 4e - 44 eb 5d 37 b4 8f c5 68 df e0 cc 6e 8e 16 ba ea - 05 e5 13 55 90 f1 92 94 e7 3e 83 67 b0 21 6d bb - 81 50 30 b9 de 55 91 3f 08 03 9c 42 35 1c 59 e5 - 51 5d d5 af 8e 08 9a 15 e6 25 e8 f6 de e6 39 38 - 6c 46 49 7d 7a 26 32 88 77 4d e5 81 a7 de 96 29 - b4 1b 44 24 14 1f 97 8f b8 33 12 08 ef de c3 c6 - e0 de 39 bc 57 06 3f 3d cd 6c 47 03 73 c0 88 91 - ea 29 cb c7 cc 6d 64 83 b8 88 90 83 ac e8 6a a7 - b5 1b 1c 2c fe 6e 2a d1 8d 97 ce 36 fb c5 6e a4 - 2f ae 97 e6 a7 ac 11 48 64 47 8c 36 6d f1 eb b1 - e7 b1 1a 90 98 50 4f d5 97 5b df 1f 49 dc 70 00 - 2b 63 c1 73 9a 9d 26 3f ba d4 07 3f 6a 9f 6c 2b - 8a f4 b4 c3 32 a1 03 a0 cf fa 5d ee b2 d0 62 ca - 3c 21 5f d3 60 02 6b e7 c5 16 4f 4a 44 24 ef 74 - 94 88 04 d6 6f 46 48 77 32 c8 20 2c 79 54 78 64 - 7b 4e a7 1d 62 7c 08 60 24 cc a3 54 a4 1f 08 77 - b3 8f 19 b3 77 4a d2 09 5c 8d a5 3b 06 9e 21 c7 - 6a e2 d2 00 7e 16 71 9e d4 00 80 d3 34 f7 da 52 - e9 f5 a5 99 04 39 ca f0 83 a9 5b 83 3f 02 ad 10 - a0 8c 1a 6d 0f 26 0c 00 72 85 bd 4a 2f 47 70 3a - 5a ef 46 52 87 d2 53 b1 8a c2 25 14 31 62 10 ff - 56 68 14 b1 0f 87 a2 93 d6 f1 99 d3 c3 95 99 90 - d0 c1 26 8b 4f 50 d5 f9 fc ef bb f2 37 bd 0c 28 - b8 01 82 d6 65 97 41 f1 4f 10 bf bb 21 bb a1 2a - b6 20 aa 23 96 f5 6c 06 86 b4 ea 90 17 99 02 24 - 21 6b 2f e8 ad 76 c4 a9 14 8e ef 9a 86 a3 63 5a - 6a a7 7b c1 dc fb 6f ba 59 a7 7d fd a9 b7 53 0d - c0 ca 86 48 c8 d9 73 73 8e 01 ba b8 f0 8b 49 05 - e8 4a a4 64 1b d6 02 41 0c d9 75 20 26 5f 2f 23 - 1f 2b 35 e1 5e b2 fa 04 d2 bd 94 d5 a7 7a ba f1 - e0 e1 61 01 0a 99 00 87 f5 b4 6e a9 88 b2 bc 05 - 12 fd a0 fa 92 3d ad d6 c4 5c 53 01 d0 94 83 67 - 32 65 b5 ab 2e 10 f4 ba 52 0f 6b ba d5 64 a5 c3 - d5 e2 7b db 08 0f 7d 20 e1 32 96 a3 18 19 54 c3 - 9c 64 9c 94 3e be 17 df 5c 1f 7a ae 0a 8f e1 26 - c4 77 58 5a 5d 4d 64 8a 0d 00 8b 6a f5 e8 cd 31 - be 69 a9 29 6d 4f 3f d2 5e d8 6f 22 1e 4b 93 f6 - 5f 59 29 96 75 33 62 4b 92 35 75 0c 30 70 75 50 - b5 85 36 d1 09 a7 13 1c 5a 5b be 4a 57 15 56 7c - 12 53 4a ec 76 60 76 1e eb b9 fa e2 89 1c 77 45 - 89 b8 0e 56 6a d5 57 dd ef 73 67 19 6b 72 27 ea - 98 70 ef 09 dd fe c7 9d 6b 93 19 a6 87 9b 52 05 - d7 6b f7 ab a5 ac f3 3a fb 59 d1 7f c5 4e 68 38 - 3d 6b e5 a0 8e 9b 66 da 53 dc de 00 8b b2 94 b8 - 58 2b d1 32 cd cc 49 95 9f db c2 1e 52 72 18 80 - c8 ad 03 52 c7 9f 03 a4 3b bd 84 c4 cd fd c6 c5 - 29 00 5e 1e 7c d9 a3 49 a7 16 8a 35 56 9b a5 de - a8 18 96 8d 5a 91 46 6b d6 e6 4e 20 bf 62 41 71 - 98 af c4 e8 1c 28 dd 77 ed 40 28 23 23 98 b5 2f - bd e8 6b c8 4f 47 5b 90 16 71 0c e2 aa bc 11 a0 - 6b 4d ba c9 01 ec 16 cf 36 5c a3 f2 d5 38 13 94 - 8a 69 3a 0f 93 e7 9c 46 ca 5d 5a 6d ca 3d 28 ca - 50 ad 18 bd 13 fc a5 50 59 dd 9b 18 5f 79 f9 c4 - 71 96 a4 e8 1b 21 04 bc 46 0a 05 1e 02 f2 e8 44 - 4f - : } +{::include ./examples/ML-DSA-44.pub.txt} ~~~ -The following is the ML-KEM-87 public key corresponding to the private +The following is the ML-DSA-87 public key corresponding to the private key in the previous section. ~~~ @@ -931,182 +691,22 @@ key in the previous section. ~~~ ~~~ -0 2610: SEQUENCE { -4 11: SEQUENCE { -6 9: OBJECT IDENTIFIER '2.16.840.1.101.3.4.3.19' - : } -17 2593: BIT STRING - 00 97 92 bc ec 2f 24 30 68 6a 82 fc cf 3c 2f 5f - f6 65 e7 71 d7 ab 41 b9 02 58 cf a7 e9 0e c9 71 - 24 a7 3b 32 3b 9b a2 1a b6 4d 76 7c 43 3f 5a 52 - 1e ff e1 8f 86 e4 6a 18 89 52 c4 46 7e 04 8b 72 - 9e 7f c4 d1 15 e7 e4 8d a1 89 6d 5f e1 19 b1 0d - cd de f6 2c b3 07 95 40 74 b4 23 36 e5 28 36 de - 61 da 94 1f 8d 37 ea 68 ac 81 06 fa be 19 07 06 - 79 af 60 08 53 71 20 f7 07 93 b8 ea 9c c0 e6 e7 - b7 b4 c9 a5 c7 42 1c 60 f2 44 51 ba 1e 93 3d b1 - a2 ee 16 c7 95 59 f2 1b 3d 1b 83 05 85 0a a4 2a - fb b1 3f 1f 4d 5b 9f 48 35 f9 d8 7d fc eb 16 2d - 0e f4 a7 fd c4 cb a1 74 3c d1 c8 7b b4 96 7d a1 - 6c c8 76 4b 65 69 df 8e e5 bd cb ff e9 a4 e0 57 - 48 e6 fd f2 25 af 9e 4e eb 77 73 b6 2e 8f 85 f9 - b5 6b 54 89 45 55 18 44 fb d8 98 06 a4 ac 36 9b - ed 2d 25 61 00 f6 88 a6 ad 5e 0a 70 98 26 dc 44 - 49 e9 1e 23 c5 50 6e 64 23 61 ef 5a 31 37 12 f7 - 9b c4 b3 18 68 61 ca 85 a4 ba b1 7e 7f 94 3d 1b - 8a 33 3a a3 ae 7c e1 6b 44 0d 60 18 f9 e0 4d af - 57 25 c7 f1 a9 3f ad 1a 5a 27 b6 78 95 bd 24 9a - a9 16 85 de 20 af 32 c8 b7 e2 68 c7 f9 68 77 d0 - c8 50 01 13 5a 4f 0a 8f 1b 82 64 fa 6e be 5a 34 - 9d 8a ec ad 1a 16 29 9c cf 2f d9 c7 b8 5b ac e2 - ce d3 aa 12 76 ba 61 ee 78 ed 7e 5c a5 b6 7c dd - 45 8a 93 54 03 0e 6a bb ba bf 56 a0 a2 31 6f ec - 9d ba 83 b5 1d 42 fd 31 67 f1 e0 f9 08 55 d5 c6 - 65 09 b2 10 26 5d c1 e5 4e c4 4b 43 ba 7c f9 ae - f1 18 b4 4d 80 91 2c e7 51 66 a6 65 1e 11 6c eb - e4 92 29 a7 06 2c 09 93 1f 71 ab d2 29 3f 76 f7 - ef c3 21 5b a9 78 00 03 7e 58 e4 70 bd bb b4 3c - 1b 04 39 ea f7 9c 54 d9 3b 44 aa c9 ef e9 fb e1 - 51 87 4c fb 2a 64 cb ee 28 cc 4c 0f e7 77 5e 5d - 87 0f 1c 02 e5 b2 e3 c5 00 4c 99 5f 24 c9 b7 79 - cb 75 3a 27 7d 0e 71 fd 42 5e b6 bc 2c a5 6c e1 - 29 db 51 f7 07 40 f3 1e 63 97 6b 50 c7 31 2e 97 - 97 d7 8c 5b 1a c2 4a 5f a3 47 cc 91 6e 0a 83 f5 - c3 b6 75 cd 30 b8 1e 3f a1 0b 93 44 4e 07 39 75 - 71 cc e9 8b 28 da 51 db 90 56 bc 72 8c 5b 0b 11 - 81 e2 fb d3 87 b4 c7 9a b1 a5 fe fe ce 37 16 7a - f7 72 dd ad 14 eb 4c 39 82 da 5a 59 d0 e9 eb 17 - 3e c6 31 50 91 17 00 27 a3 ab 5e f6 aa 12 9c b8 - 58 57 27 b9 35 8a 28 50 1d 71 3a 72 f3 f1 db 31 - 71 42 86 f9 b6 40 80 13 af 06 04 5d 75 59 2f c0 - b7 dd 47 c7 3e d9 c7 5b 11 e9 d7 c6 9f 7c ad fc - 32 80 a9 06 2c 52 73 c4 3b e1 c3 4f 87 44 88 64 - ce a7 b5 c9 7d 6d 32 f5 9b d5 f2 53 84 65 3b b5 - c4 fa a4 5b ea 8b 89 40 28 43 e6 45 b6 b9 26 9e - 2b d9 88 dd ac b0 33 32 8f fb 06 04 50 f7 df 08 - 00 53 e6 96 9b 25 1e 87 5e ce c3 2c fc 59 28 40 - d6 9a b6 9a 75 e0 6b 37 9c 53 5d 95 26 6b 08 2f - 4f 09 c9 31 62 b3 3b 0d 9f 73 07 a4 ea aa 52 10 - 44 37 fe d6 6f 8e e3 ea bb d4 5d 67 b2 5a 81 33 - f4 96 46 8b 52 ba ff db fa d9 3e ef 1a 98 18 b5 - e4 2e c7 22 78 8a 3d 8d 35 29 fc 77 7d 2b a5 70 - 80 1d fa e0 1e c8 83 02 83 7c 1f b9 e0 35 57 27 - 64 5e e1 04 6c 3f 91 5f 6a e8 2d ad 4f b6 b0 35 - 6a 46 51 8f fc 83 41 55 c3 b4 fe 6d af a6 cc 8a - 5c cf 53 c7 3a 08 49 d8 d4 4f 7d cf 72 75 4e 70 - e1 b7 df b4 47 bb 4e f4 9d 1a 71 8f 61 71 bb ce - 20 09 50 e0 ce 92 61 06 b1 51 a3 e8 71 d5 ce 49 - 73 1b d6 65 0a 9b 0c a9 72 da 1c 5f 13 6d 44 82 - 0e a6 38 3c 08 f3 b3 84 cf 23 38 e7 89 c5 13 f6 - 18 cc 56 94 a6 f0 ce e1 04 51 1e 1e d7 c5 f2 3a - 1e bf d8 a0 db 84 24 55 32 40 15 6d bf 62 28 31 - b0 c6 43 d1 c5 51 b6 f3 f7 a9 8d 29 b8 5c 2d e0 - 5a 65 fa 61 5e ee 16 49 5b d9 07 37 67 21 15 b5 - 3e 91 c5 d9 00 28 cf 3f 1a 93 95 3a 15 3d e5 3b - 44 08 4e 9c cf f6 b7 36 69 39 26 da ef eb b2 d7 - 7a a5 ad 68 9b 92 f3 16 86 66 9d f1 6d 17 15 cc - 58 f7 a2 cf b7 2d d1 a5 1e 92 f8 25 99 3a 74 02 - 2b e7 e9 eb 60 54 65 44 57 09 4d 14 92 8f 20 21 - 5e 7b 22 2a c5 6b 51 ad be c8 d8 bd b6 98 39 79 - a7 e3 a2 1b 44 b5 d1 51 8c a9 7d 0b 51 95 f5 1e - d6 a2 43 50 c8 97 47 e1 ed ea 51 b4 48 e3 e9 14 - 70 54 ce 92 78 73 c9 0d b3 94 d8 68 88 e0 7d ff - 17 75 93 d6 f7 9e 15 23 02 20 4a eb 03 be 23 86 - af 3e 24 07 8b d0 28 b1 68 9f 5e 14 7c 9f 45 2c - 8c eb 02 ec 59 cc 9d b6 3a 03 57 6c ee af e9 82 - 39 02 38 97 da 02 36 63 0a 53 c0 de 7f 43 5a 19 - 86 97 92 fa b3 6e 7b 9e 63 57 60 f0 90 69 e6 43 - 2e 70 00 35 ac 2a 02 87 9f ff 0a 1e 1b ec 52 20 - 47 19 3d 94 eb 5d f1 ef d5 3e ea 11 44 ca 78 94 - 08 52 f5 ec 97 27 90 4b 36 6e de 4f 5e 2d 33 1f - ad 5f c2 82 ea 2c 47 e9 23 14 27 71 c3 dd 75 a8 - 73 57 48 7d ef 99 e5 f1 8e 9d 9e d6 23 c1 75 d0 - 28 88 c5 1f 82 c0 7a 80 d5 47 16 b3 c3 c2 bd be - 2e 9f 0a 9b ba ae be b4 d5 29 36 87 64 06 f5 c0 - 0e 8e 4b bd 0a 5e c0 57 97 e6 20 7c 5a b6 c8 8f - 1a 68 84 21 bd 05 a1 14 f4 d7 de 2a c2 41 fa 0e - 8b ed ff 47 f7 62 dd cb ea a9 10 04 f8 d3 1e 85 - 09 5c 81 05 49 94 ad 38 26 e3 44 ba 96 04 08 10 - fc 0b 2a d1 de 48 cf ad e0 02 c6 2e 5a 49 a0 73 - 1a b3 83 44 bc 16 36 df 16 bf 60 7d 56 85 5e 56 - d6 84 00 3c 71 8e 4b ad 9e 5a 09 99 79 fc dd ee - b1 c4 a7 77 6c d3 7a 34 17 cb 0e 18 4e 29 ef 9b - c0 e8 74 75 ba 66 3b e0 9e 00 ab 56 2e b7 c0 f7 - 16 5f 96 9a 9b 42 41 41 98 cc f1 bf f2 a2 c8 d6 - 89 a4 14 ec e7 66 29 27 66 56 89 e9 4d b9 61 eb - ae c5 61 5c bc 1a 78 95 c6 85 1a c9 61 43 2f f1 - 11 8d 46 07 d3 2e f9 dc 73 2d 51 33 3b e4 b4 d0 - e3 0d de a7 84 ec a8 be 47 e7 41 be 9c 19 63 1d - c4 70 a5 2e f4 dc 13 a4 f3 63 3f d4 34 d7 87 c1 - 70 97 7b 41 7d f5 98 e1 d0 dd e5 06 bb 71 d6 f0 - bc 17 ec 70 e3 b0 3c dc 19 65 cb 36 99 3f 63 3b - 04 72 e5 0d 09 23 ac 6c 66 fd f1 d3 e6 45 9c c1 - 21 f0 f5 f9 4d 09 e9 db cf 5d 69 0e 23 23 38 38 - a0 ba cb 7c 63 8d 1b 26 50 a4 30 8c d1 71 b6 85 - 51 26 d1 da 67 2a 6e d8 5a 8d 78 c2 86 fb 56 f4 - ab 3d 21 49 75 28 04 5c 63 26 2c 8a 42 af 2f 98 - 02 c5 3b 7b b8 be 28 e7 8f e0 b5 ce 45 fb b7 a1 - af 1a 3b 28 a8 d9 4b 78 90 e3 c8 82 e3 9b c9 8e - 9f 0a d7 60 25 bf 0d d2 f0 02 98 e7 14 1a 22 6b - 3d 7c ee 41 4f 60 4d 1e 0b a5 4d 11 d5 fe 58 bc - ce a6 ad 77 ad 2e 8c 1c aa cf 32 45 90 14 b7 b9 - 10 01 b1 ef a8 ad 17 2a 52 3f b8 e3 65 b5 77 12 - 1b f9 fd 88 a2 c6 0c 21 e8 21 d7 b6 ac b4 7a 5a - 99 5e 40 ca ce d5 c2 23 b8 fe 6d e5 e1 8e 9d 2e - 58 93 ae fe bb 7a ae 7f f1 a1 46 26 0e 2f 11 0e - 93 95 28 21 3a 00 25 a3 8e c7 9a ab c8 61 b2 5e - bc 50 9a 46 74 c1 32 aa ac b7 e0 14 6f 14 ef d1 - 1c fc af 4c aa 4f 77 5a 71 6c e3 25 e0 a4 35 a4 - d3 49 d7 20 bc f1 37 45 0a fc 45 04 6f c1 a1 f8 - 3a 9d 32 97 77 a7 08 4e 4a ad ae 71 22 ce 97 00 - 59 30 52 8e b3 c7 f7 f1 12 9b 37 28 87 a3 71 15 - 5a 3b a2 01 a2 5c bf 1d cb 64 e7 cd ee 09 2c 31 - 41 fb 55 50 fe 3d 0d d8 2e 87 0e 57 8b 2b 46 50 - 08 18 11 3b 8f 65 69 77 3c 67 73 85 b6 9a 42 b7 - 7d cb a7 ac ff d9 5f d4 45 2e 23 aa a1 d3 7e 1d - a2 15 1e a6 58 d4 0a 35 96 b2 7a c9 f8 12 9d c6 - cf 06 43 77 26 24 b5 9f 4f 46 12 30 df 47 1c a2 - 60 87 c3 94 2d 5c 66 87 df 60 82 83 59 35 a3 f8 - 7c b7 62 b0 c3 b1 d0 dd a4 a6 53 39 65 be f1 b7 - b8 29 2e 25 4c 01 4d 09 0f ed 85 7c 44 c1 83 9c - 69 4c 0a 64 e3 fa d9 0a 11 f5 34 72 2b 6e e1 57 - 4f 2e 14 9d 55 d7 44 de 48 87 02 4e 08 51 14 31 - c0 62 75 0e 16 c7 4a b9 f3 24 2f 2d b3 ff b1 2a - 8d 61 07 fa a2 29 d6 f6 37 3b 07 f3 6d 39 32 b3 - bd b0 4c 19 dd 64 ea dd 7f 93 c3 c5 64 c3 58 a1 - c8 1d cf 1c 9c 31 e5 b0 65 68 f9 75 44 c1 7d c1 - 56 98 c5 cb 38 98 3a 9a fc 42 78 3f aa 77 3a 52 - c9 d8 26 06 90 be 9e 31 56 aa 5b c1 50 9d ea 3f - 69 58 76 95 cd 6f f1 72 ba 83 e6 a6 d8 a7 d6 bb - eb bb cd a3 67 27 31 98 3f 89 bc 58 31 dc 37 c3 - f3 c5 c5 6f ac c6 97 f3 cb 20 bd 5d ba db d7 02 - e5 48 44 ac 2f 62 69 01 fe 15 9d b9 3d fd 47 73 - d8 fe 73 56 2b 84 6c 1f c8 56 d1 80 27 62 84 0e - bc 72 d7 98 8b de 75 cb ca 70 d3 19 d3 2c e0 cc - 02 53 bb 2a d4 55 72 3e e0 c7 f4 73 6c e6 e6 66 - 5c 5a ca 32 a4 81 c5 38 39 bc 25 91 67 b0 13 d0 - 42 33 95 ee b9 aa ae e3 20 61 49 a7 d5 50 d6 7f - c5 fd fe 4a 8a 5c 35 d2 51 0b 66 43 79 ab 8f 72 - 85 5a 2a f4 7a bc e2 a6 32 04 8e af 89 e5 cb 4a - 88 de bc 53 a5 95 10 3a cc e4 f1 cf f1 8a cf f0 - 7a fe 1e b5 71 6a a1 e4 0b 63 13 4c 3a 3a e9 57 - 9f a8 7f 51 5b e0 93 c2 d2 9d b6 d6 b6 5c 93 66 - 1e 00 63 6b 59 27 04 d0 93 cc 67 16 c2 34 2e b1 - 85 3d 48 c8 5c 63 ac 8a 28 54 46 2c 7b 77 e7 e3 - bd 1e ac 5b ca 28 ff aa 00 b5 d3 49 f8 a5 47 ad - 87 5b 96 a8 c2 b2 91 0c 93 01 30 9a 3f 91 38 a5 - 69 31 11 f5 5b 3c 00 9c a9 47 c3 9d fc 82 d9 8e - b1 ca a4 a9 cb e8 85 f7 86 fa 86 e5 5b e0 62 22 - 2f 8b a9 0a 97 40 73 32 6b 31 21 2a ec e0 a3 4a - 60 - : } +{::include ./examples/ML-DSA-87.pub.txt} ~~~ + ## Example Certificate {#example-certificate} -TODO: Add an example +The following is a self-signed certificate for the ML-DSA-44 public key in the +previous section. + +~~~ +{::include ./examples/ML-DSA-44.crt} +~~~ -TODO: Add pretty print +~~~ +{::include ./examples/ML-DSA-44.crt.txt} +~~~ # Acknowledgments {:numbered="false"} diff --git a/examples/ML-DSA-44.crt b/examples/ML-DSA-44.crt new file mode 100644 index 0000000..34abcf9 --- /dev/null +++ b/examples/ML-DSA-44.crt @@ -0,0 +1,86 @@ +-----BEGIN CERTIFICATE----- +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 +AAAAAAASIS9C +-----END CERTIFICATE----- diff --git a/examples/ML-DSA-44.crt.txt b/examples/ML-DSA-44.crt.txt new file mode 100644 index 0000000..4e22d24 --- /dev/null +++ b/examples/ML-DSA-44.crt.txt @@ -0,0 +1,203 @@ +SEQUENCE { + SEQUENCE { + [0] { + INTEGER { 2 } + } + INTEGER { `00d83ff0575de59fa9bb370ba5e5ad9828ae398115` } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.17 } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + UTCTime { "200203043210Z" } + UTCTime { "400129043210Z" } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.17 } + } + BIT_STRING { `00` `d7b2b47254aae0db45e7930d4a98d2c97d8f139 +7d1789dafa17024b316e9bec94fc9946d42f19b79a7413bbaa33e7149cb42ed5 +115693ac041facb988adeb5fe0e1d8631184995b592c397d2294e2e14f90aa41 +4ba3826899ac43f4cccacbc26e9a832b95118d5cb433cbef9660b00138e0817f +61e762ca274c36ad554eb22aac1162e4ab01acba1e38c4efd8f80b65b333d0f7 +2e55dfe71ce9c1ebb9889e7c56106c0fd73803a2aecfeafded7aa3cb2ceda54d +12bd8cd36a78cf975943b47abd25e880ac452e5742ed1e8d1a82afa86e590c75 +8c15ae4d2840d92bca1a5090f40496597fca7d8b9513f1a1bda6e950aaa98de4 +67507d4a4f5a4f0599216582c3572f62eda8905ab3581670c4a02777a33e0ca7 +295fd8f4ff6d1a0a3a7683d65f5f5f7fc60da023e826c5f92144c02f7d1ba107 +5987553ea9367fcd76d990b7fa99cd45afdb8836d43e459f5187df058479709a +01ea6835935fa70460990cd3dc1ba401ba94bab1dde41ac67ab3319dcaca0604 +8d4c4eef27ee13a9c17d0538f430f2d642dc2415660de78877d8d8abc7252397 +8c042e4285f4319846c44126242976844c10e556ba215b5a719e59d0c6b2a96d +39859071fdcc2cde7524a7bedae54e85b318e854e8fe2b2f3edfac9719128270 +aafd1e5044c3a4fdafd9ff31f90784b8e8e4596144a0daf586511d3d9962b9ea +95af197b4e5fc60f2b1ed15de3a5bef5f89bdc79d91051d9b2816e74fa54531e +fdc1cbe74d448857f476bcd58f21c0b653b3b76a4e076a6559a302718555cc63 +f74859aabab925f023861ca8cd0f7badb2871f67d55326d7451135ad45f4a1ba +69118fbb2c8a30eec9392ef3f977066c9add5c710cc647b1514d217d958c7017 +c3e90fd20c04e674b90486e9370a31a001d32f473979e4906749e7e477fa0b74 +508f8a5f2378312b83c25bd388ca0b0fff7478baf42b71667edaac97c46b1296 +43e586e5b055a0c211946d4f36e675bed5860fa042a315d9826164d6a9237c35 +a5fbf495490a5bd4df248b95c4aae7784b605673166ac4245b5b4b082a09e932 +3e62f2078c5b76783446defd736ad3a3702d49b089844900a61833397bc4419b +30d7a97a0b387c1911474c4d41b53e32a977acb6f0ea75db65bb39e59e701e76 +957def6f2d44559c31a77122b5204e3b5c219f1688b14ed0bc0b801b3e6e82dc +d43e9c0e9f41744cd9815bd1bc8820d8bb123f04facd1b1b685dd5a2b1b8dbbf +3ed933670f095a180b4f192d08b10b8fabbdfcc2b24518e32eea0a5e0c904ca8 +44780083f3b0cd2d0b8b6af67bc355b9494025dc7b0a78fa80e3a2dbfeb51328 +851d6078198e9493651ae787ec0251f922ba30e9f51df62a6d72784cf3dd2053 +93176dfa324a512bd94970a36dd34a514a86791f0eb36f0145b09ab64651b4a0 +313b299611a2a1c48891627598768a3114060ba4443486df51522a1ce88b3098 +5c216f8e6ed178dd567b304a0d4cafba882a28342f17a9aa26ae58db630083d2 +c358fdf566c3f5d62a428567bc9ea8ce95caa0f35474b0bfa8f339a250ab4dfc +f2083be8eefbc1055e18fe15370eecb260566d83ff06b211aaec43ca29b54ccd +00f8815a2465ef0b46515cc7e41f3124f09efff739309ab58b29a1459a00bce5 +038e938c9678f72eb0e4ee5fdaae66d9f8573fc97fc42b4959f4bf8b61d78433 +e86b0335d6e9191c4d8bf487b3905c108cfd6ac24b0ceb7dcb7cf51f84d0ed68 +7b95eaeb1c533c06f0d97023d92a70825837b59ba6cb7d4e56b0a87c203862ae +8f315ba5925e8edefa679369a2202766151f16a965f9f81ece76cc070b55869e +4db9784cf05c830b3242c8312` } + } + [3] { + SEQUENCE { + SEQUENCE { + # keyUsage + OBJECT_IDENTIFIER { 2.5.29.15 } + BOOLEAN { TRUE } + OCTET_STRING { + BIT_STRING { b`0000011` } + } + } + SEQUENCE { + # basicConstraints + OBJECT_IDENTIFIER { 2.5.29.19 } + BOOLEAN { TRUE } + OCTET_STRING { + SEQUENCE { + BOOLEAN { TRUE } + } + } + } + SEQUENCE { + # subjectKeyIdentifier + OBJECT_IDENTIFIER { 2.5.29.14 } + OCTET_STRING { + OCTET_STRING { `329a07b1fabb48f52a309f11a1898f848e23 +22ff` } + } + } + } + } + } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.17 } + } + BIT_STRING { `00` `948841ea246535b1319da314099c611c0d008e11145 +1247dad9e659e34d4f45de383eaf9009dbdf89754707c4e0e6f7d8f740258824 +fafb57200a54343250ea7b323c7b5814d6d2a9dfcd749fa619e8f5fba3417d75 +773757f4cfdda0a7bdb3c7ec44690f92fe4eef5d0d4dcf0f2149116dda153080 +697f3794a0456a99e30f897710b68f382ece3b08c5feac8dc52ec3984ebbc8b0 +15410132efe99f3d4a5fe54badbb7c5908a125c46f0c1f6951f37555f94990f9 +47f6a0c1cf234e376fed177dbbe3761ec636c4927d950b72a03a3df6bb03b016 +a3d60a2bddce6eb92d69f8c095edf6d4ffbeeab7c4f7d376074a9b9474b4a4f1 +128138fecae250753669da54e24ed3afbac847289c3a70ae883b61d834889534 +be0a07b435716ec2264d56c60d7e90025c252b3b4f7887811f536e625bacc347 +03a714deeeee315a182500a0a13657c65beef48f43e7cbb844b3476a4caab176 +7f977cfb1b312bc3362b7a2d209136b1fbc9000bdbe1d15b2bd3393dcbc85c4b +a06ec5ad80086135c94d412d2d8cbd7f1399aa9a97c2b8afdbab76dd0348bae5 +8edc2a27213e6ef78656a6fc35dda3d4259d6e954ef6fb23e9ff208695893977 +495059ba1ead9c61aedcff9cec51636ef3a05159f973b307c1b562a8a1d4ce32 +626b089e2cddd1324711f225d90417223c31a43800853a8ce951f210661bc53d +42a80afbef1fbe8e46ea7b4d1fb4f66aafe547ea750b3c3f30826243db8ee390 +2682c8dcc2580b1b560e096ad748823c859097186b6e0ec56b91125c5ae84e35 +db10f08cea19436a7c6063c321e2bb574142331ec33d53df545947ac317e2d0b +90cc6eab5d5026441fbc1a6c060a04564123aa2379dc413a8345449401d15780 +9b81f3e3a9336476dafb1fd16b581af719eca8c0e604ffc95bb5196ee5c7cf4a +a0f943b1a7e4cd719a4fd9934af477d1f591b71a16b44101edf92f9429c951aa +37c50afb41b494806aebe55c353bdd453bea52148607866e76beac7e19e0756c +1058a8d8a35b89ae6fff8ac358e0cad9ff0102dce68c1cfa6c1327bc833880ad +6eb0a9a33fe79e214354765c01712276ce103f302bb5334402b6d8dfe1208117 +99a4000067bda8004ef80b44e7305fe4e68e4461b892e41d52393d5e069498ab +03a70c4c6957281d531a80794570905f63fbdccaeec899539104fa47e8449c9b +5169c2c4481edea9283a2e95a1ea88a881d9a8fcffdcee9cf67da39ddcf493f5 +22d8de1a379dad7ffffd5177af0aa75292bd3b4504fa79d4b405aab29a5584fc +d1654cfce0f3734f0774c00c55c08b9ab62ab0efbae5c910b7c167711447b4e7 +ac86ab3421b715a655ff0ce69e60a7a48c1d099d871994410cf811591c6b3012 +e9dd13fdcf8d2bb80d712ded53117b2db0506accb02d2ee4749f6029ade11210 +0af128ceaf4779aaf1f2e144b4a0111161be78866a09e7c3949828cf25b833ed +bd7c2eeff680198aca31a748f26b6e1b64e2b67e025b720b776dec69bfc2ce4c +b24d027c3bb20eb30adb6239fd63d73426fc4df87b59b4fb4c1ee91a19ee4f7f +a4ef21a8be00e92a67240f86c3bc1cc565f6e0e64af3ad621367b3f513cdc3b5 +b12434f856975a074cf563feae5723baec71be76a84b3d7708f0800110148229 +6c6dc879634ac0b3e54b4a1f55fa8c0c35fb49c81962c7cb8a3c814aee16652b +fc9dcbdf1d8553fa0239e474891395d75bc74433946dae575aee018c0d1638bc +654d1dc5b6f755ea96bbe4422091da957592b1210eb3a48ccb441824ac44ff57 +9900e8ee28024da3d6cfc800be86f8f86a15c83a74e0343ff68ec6c29a76115c +5ca588e13d981dd5e380f35c1228597e21769ab6b137912a9654402e2da4a6a1 +5fb261f0d1777fce8a96805e9fe9bd6979eea2bc1e8182dfa2e7aa88aaadf890 +52d53cc32fbf94004d6c9c08d75034545729a6100fed692d8e7f8543489b5f9d +9186168d5e977a5afe6c52788c3fd842a1c01e7a5798893c27016d9d46de84e1 +9c1c4c86e03172004d000b537ae657f601bedd24996808a0aca3efff5d389753 +f665a5d2f1c76ef091d38c7aa4304f69e14f379b765425d7b12f461adea0d73e +903f15f05d3a679f922f466abb63d4c9c729271aeca90335ab883d40329eae65 +1c013634f1aba30cc08beb895cb74de21f606964b0b5e6638f87f081614d03f6 +b93e79801b0db04a46f545836ed09f3b2ffd016eb4a11211fd1cfb71d4cd8433 +51be24f6c42af75f223e53e9ef934777dd2557b78dbd56208a85278ae0771a1b +4af0d907811a055d3bc4990716b107c8e9dffd5294e040ec32342e4df3c2acf9 +b56fd0159a2f77a39b2ca1795a487614596d5fc57ec7ed7d557014419c489759 +715a8c9b13776826965b2c86af291793a1d1da4d1a1b34369aa4799939abddb3 +3531399647562308849cb3e6fc01240cd5ed6af891c91e5bb01dcc5d9ddcb3c7 +80e894ff6df39cded41df16cc40d34a72657f2d751ce5d3f5bf70fe03736f1b4 +3ab0112316dc253e73db8664f0a9f60504f341f08d9058be6fe1dee3621a562b +978aac4cc662b39de2bee8c6e07de03b63ca4c2f9ff43ff77f8b8dbd8619445f +f050e819c30bb5eeed58aaf41a93b7661898647bf7c9664441ba9eb1b1fdfa06 +9c293ac5acbf34970c7aecd78e90ad6bf0f87a18103423120fadbd277464fd2d +01538d231a41143722ac4036cdab7b503d0b271d55d82a3d69ead9c1c595e83f +2b053dab94a322110582f1c098fc4256090e07f78d221dd8a79594a854438820 +4ac14779a4a8c7e31ac50fcc61a069b187c12a3968a7572a946a76f4e37bc2e6 +ad29e3d28b14f0468bf84c3ac08bc521fb1663e0f24df5d2a92d7e44024c6123 +0cbb957d762f2048fd5118c369436a3da44fc68b5d4df5a345baddca43a6ead6 +3736ab37d48f8bb40b0af16f8da69b77270502aded10de4457746d74ced594c2 +aa650b70f934b3252ed0b8bde9ec918881140b4cf9420f8e3410594d9cf7f929 +4aa6e655ae43c0d1fe2c4980488e2610306b1c60ee56e01ced2dc7795f2a2b6d +8d1efd102f8ae8de8bf36ecd27d71676d3b3f962b94d72b22910430c917eaf1a +4d24814adb27372fd742651c94f983e428e134ff8fefbf707db2b677f10019a4 +7d9d16ee48a60ed51251ba8bde2d4c5dff50aeee4eb9008f76988889f5a5d440 +68d8889f49f62f5111ce25ce65ea58e997ee0ebd9bea87ad5f076c5b231aaa31 +8fc6609b1fd28a1ed51e8f4bb17945125d67057854ae5b9d0cbe66b45f2dbd96 +2c007b8d002d5b09469291116272d3e4a505cacafbabed7dae1e7e9fb03171f2 +62e2f4e6270919496c6cbd603070d2333414960616589bcbff00a16182c424a5 +8596482989da6c2d8dde3f1fd000000000000000000000000000012212f42` } +} diff --git a/examples/ML-DSA-44.priv.txt b/examples/ML-DSA-44.priv.txt new file mode 100644 index 0000000..6e0801a --- /dev/null +++ b/examples/ML-DSA-44.priv.txt @@ -0,0 +1,8 @@ +SEQUENCE { + INTEGER { 0 } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.17 } + } + OCTET_STRING { `000102030405060708090a0b0c0d0e0f10111213141516 +1718191a1b1c1d1e1f` } +} diff --git a/examples/ML-DSA-44.pub.txt b/examples/ML-DSA-44.pub.txt new file mode 100644 index 0000000..1ea22a9 --- /dev/null +++ b/examples/ML-DSA-44.pub.txt @@ -0,0 +1,47 @@ +SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.17 } + } + BIT_STRING { `00` `d7b2b47254aae0db45e7930d4a98d2c97d8f1397d17 +89dafa17024b316e9bec94fc9946d42f19b79a7413bbaa33e7149cb42ed51156 +93ac041facb988adeb5fe0e1d8631184995b592c397d2294e2e14f90aa414ba3 +826899ac43f4cccacbc26e9a832b95118d5cb433cbef9660b00138e0817f61e7 +62ca274c36ad554eb22aac1162e4ab01acba1e38c4efd8f80b65b333d0f72e55 +dfe71ce9c1ebb9889e7c56106c0fd73803a2aecfeafded7aa3cb2ceda54d12bd +8cd36a78cf975943b47abd25e880ac452e5742ed1e8d1a82afa86e590c758c15 +ae4d2840d92bca1a5090f40496597fca7d8b9513f1a1bda6e950aaa98de46750 +7d4a4f5a4f0599216582c3572f62eda8905ab3581670c4a02777a33e0ca7295f +d8f4ff6d1a0a3a7683d65f5f5f7fc60da023e826c5f92144c02f7d1ba1075987 +553ea9367fcd76d990b7fa99cd45afdb8836d43e459f5187df058479709a01ea +6835935fa70460990cd3dc1ba401ba94bab1dde41ac67ab3319dcaca06048d4c +4eef27ee13a9c17d0538f430f2d642dc2415660de78877d8d8abc72523978c04 +2e4285f4319846c44126242976844c10e556ba215b5a719e59d0c6b2a96d3985 +9071fdcc2cde7524a7bedae54e85b318e854e8fe2b2f3edfac9719128270aafd +1e5044c3a4fdafd9ff31f90784b8e8e4596144a0daf586511d3d9962b9ea95af +197b4e5fc60f2b1ed15de3a5bef5f89bdc79d91051d9b2816e74fa54531efdc1 +cbe74d448857f476bcd58f21c0b653b3b76a4e076a6559a302718555cc63f748 +59aabab925f023861ca8cd0f7badb2871f67d55326d7451135ad45f4a1ba6911 +8fbb2c8a30eec9392ef3f977066c9add5c710cc647b1514d217d958c7017c3e9 +0fd20c04e674b90486e9370a31a001d32f473979e4906749e7e477fa0b74508f +8a5f2378312b83c25bd388ca0b0fff7478baf42b71667edaac97c46b129643e5 +86e5b055a0c211946d4f36e675bed5860fa042a315d9826164d6a9237c35a5fb +f495490a5bd4df248b95c4aae7784b605673166ac4245b5b4b082a09e9323e62 +f2078c5b76783446defd736ad3a3702d49b089844900a61833397bc4419b30d7 +a97a0b387c1911474c4d41b53e32a977acb6f0ea75db65bb39e59e701e76957d +ef6f2d44559c31a77122b5204e3b5c219f1688b14ed0bc0b801b3e6e82dcd43e +9c0e9f41744cd9815bd1bc8820d8bb123f04facd1b1b685dd5a2b1b8dbbf3ed9 +33670f095a180b4f192d08b10b8fabbdfcc2b24518e32eea0a5e0c904ca84478 +0083f3b0cd2d0b8b6af67bc355b9494025dc7b0a78fa80e3a2dbfeb51328851d +6078198e9493651ae787ec0251f922ba30e9f51df62a6d72784cf3dd20539317 +6dfa324a512bd94970a36dd34a514a86791f0eb36f0145b09ab64651b4a0313b +299611a2a1c48891627598768a3114060ba4443486df51522a1ce88b30985c21 +6f8e6ed178dd567b304a0d4cafba882a28342f17a9aa26ae58db630083d2c358 +fdf566c3f5d62a428567bc9ea8ce95caa0f35474b0bfa8f339a250ab4dfcf208 +3be8eefbc1055e18fe15370eecb260566d83ff06b211aaec43ca29b54ccd00f8 +815a2465ef0b46515cc7e41f3124f09efff739309ab58b29a1459a00bce5038e +938c9678f72eb0e4ee5fdaae66d9f8573fc97fc42b4959f4bf8b61d78433e86b +0335d6e9191c4d8bf487b3905c108cfd6ac24b0ceb7dcb7cf51f84d0ed687b95 +eaeb1c533c06f0d97023d92a70825837b59ba6cb7d4e56b0a87c203862ae8f31 +5ba5925e8edefa679369a2202766151f16a965f9f81ece76cc070b55869e4db9 +784cf05c830b3242c8312` } +} diff --git a/examples/ML-DSA-65.crt b/examples/ML-DSA-65.crt new file mode 100644 index 0000000..7fa4a1e --- /dev/null +++ b/examples/ML-DSA-65.crt @@ -0,0 +1,118 @@ +-----BEGIN CERTIFICATE----- +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 +RQVp3kX4pUtxFbEfZCe4QNBDSSAS3Nd90Sg3rW4OeSM724DtiHIpjWfyg0OylX+L +aF57JzfWAyFhHuNmDu98k87DP/TuwGi6EkPqoy4hrlslA0jaiM/O773E5ZX6nRaR +EqUKup4l9kLAxmYdjawJPaOr+n/vG2Ro84aZnK0J5PPFog252dxEwkxc/bwhOGO6 +As287BWsWE6XPXFpkOYC0pnamc1Kp4YXOB2TmpfoI0q8B54L4rgs26sE9ZO9WeBZ +VHO8PSsRhn0ONcDlrXvNdW2YDKtcrAnfnOdzy+8mI8FrZBtyvO5DMLoMcjQ+Vl5G +9zLfp4cx+XPGt48/Z3nUbcPRAX5qGUoTLXl216nE6OPl3sMMjfwn9Px7eonpW3dq +AJirWdKEryrpf3LiNa/o2hYK0o65Iv8K7P7uIXA1fZPbMgqq3eZsnf2VRYq3Z/Cb +DYo4EQZ0ofyVJaU13Xn3O4kcz67lwRqgtLCovcBSr2Vb2vncMS9s2UaWLYiwSvBb +ymsSslif3DTuKjfEgub7UxeFiWSM/sNhetD2XhDPbVmitfcTuidtYW9uPbSXo1Y+ +dGH+blCPI2qVnfNHzHjwmd/QMtzsVXdY4nWSYM30Rb0HiKs54mVN3azTXa5Qh7MA +mvJpa/tsVVN7hYNPupnAK249FmzZlaR8qQ0id3IuCGnqiZvgn5rUCcDEU1riTpsf +lPmofYpoLAI8iswxxVMIcpnIkplTliJRSQFYOOEHXZdvIxIugnmaGPFGn2I7QA+8 +mcXoGrMlH3agskau0f5oCEDxx3CWq2/o+VY8RrOanZXJ9UNseVAdV6ui/z0hef5c +u6wIAq3ae046PLyr0dgMthPZ9A7M5ej5D8pC3WaLzFnvegJ8ZfWEYCeG11ZN2JFX +O5zOMBizCnZag6eHXujwflIDLh6v1NNu1aOdSk1RcrtCTjTvAp+qnCe4PYH3ImSU +DQy1HvsJEScZPdY/wyl8e9BrwJuknuo99wJU3KMNi7+oL6d8tJ83deoyVpSYf+D1 +4StCLNsT+x7VEPZmwzr1ody4Trlp4ldd/+McPVJLe+R8WMSAjZawD9+zEy8atiXe +ooJdglTUM198kpPvZRxlBivZdF2pF//YzJdDR0M4EtgGvToLRuZkWZ5JlwlPtVqc +zoq8/TskrBqbpoICiH3E1/UN+ppsNSPofsToVERNtvC1dWOJXnefodiCD0xbcy/Q +/SI1ej3qGuvWko1Ph2VtGrTzmYB6jQ/T6ge43eyCfcSExlvNgGTCouvCRv42XkAI +PejQjAXqC5eIejBaQ9VQCzgz83e+J6whusfTs6zRGby4A4O1AhZe/+rEUj7tg4Ip +ggWVsL/PhQbZHDYnZx0NnZg2d4mpgez/sOHYzK6+1LeVcQIaor3qaoJdDQA4ssPX +jK128z8Vgdc7tx5Zid6gAl8dneSu6ETTCaCEDbhyy1/o3T5TA/Hp2LBThdJA24sh +CtcPkMLAzLyBzduhtCmyFrDaNozhvQyL/57sqSMbe/th4bflFz57bk3O7avBUCDi +jlxuYEx9j5posfiqpZJ7833HMKhx5eDAf/juslWtLxwd8f9tXPnkNSvealmpBEbS +uZM4IVMY0DUceZO36EFiVvJyAVpx8SbLuOVTzVhIisPrBVUEuwbzHOqIJb78jkW+ +T2qn5J7pFuSBdGyzdwJQOzBr5uA0epYJtSEO7jUDUYCbD/2TpquTT6pOBCXDM6+0 +Mw4zXe4sOR41ME/1u7heTpHYFsFIAsns67b9gKLbg17NWpCPmPU9KInxQB/I9kVH +xZhlARxXaLrhVTHxRPHDn5AMOb0Uu7Y3ZrrFBmR4OV9XVUcFRLt0oIW4L75+BevL +wgPKOju5i5S3zBbHkYLtOD8kBhhfePgE7djVg72I381SwNgZCAHI7oZiB8HUOvgS +Wbk659gWwh1F2eSy1DonIrqY+LFtvKBts+QW5xl/P5kOUKe4puZMkGvGv4bQCD39 +hEpWASxo80QktGcgUW4asgJiT2/uZXzeJx3p3nVcRMH+ti1BNuuN9oZQ5fHrn3ca +ICuoBRYf5NkULic5ijDsus6dllIaCZU9tDcmAN7+84qU61m1sdjr13SbeJVuqPJ/ +IuijFIiMegE+k4XfxmEYx5+wf0bpdZBJiTgfJa9YayQmUz9ssZ1fbuPZy4nJmyRS +n8GoC0GLcLZsdRCJoCNur8I2wsul5n30Lg7FQiJfOJQiII8OAnXpP7Be8T2cDRnY +NCSMt8LdogsyQj1xCvhQUj/Su8tk1pjGP4Pu6bBT3VW5ndCxMD8Qi5rit2yyhod/ +K8cuvAjhNNmjbYKcZBTAb5idz4GUHqaqUiOqkljEMqOLQJxJBp907cX99w+CnmK9 +nwxc6miHd8juvRhBvTdXyxVlYLSsdHKoD1ba2HD4lOfMZKZ2bR00aWqeMT2s+xhc +bnOgwNf+Bz9BaneDmrdBV1nOGSUxVXmN8gAAAAAAAAAAAAAAAAAAAAAAAAAFCREZ +HSQ= +-----END CERTIFICATE----- diff --git a/examples/ML-DSA-65.crt.txt b/examples/ML-DSA-65.crt.txt new file mode 100644 index 0000000..ad3210d --- /dev/null +++ b/examples/ML-DSA-65.crt.txt @@ -0,0 +1,251 @@ +SEQUENCE { + SEQUENCE { + [0] { + INTEGER { 2 } + } + INTEGER { `00d83ff0575de59fa9bb370ba5e5ad9828ae398115` } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.18 } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + UTCTime { "200203043210Z" } + UTCTime { "400129043210Z" } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.18 } + } + BIT_STRING { `00` `48683d91978e31eb3dddb8b0473482d2b88a5f6 +25949fd8f58a561e696bd4c27d05b38dbb2edf01e664efd81be1ea893688ce68 +aa2d51c5958f8bbc6eb4e89ee67d2c0320954d57212cac7229ff1d6eaf03928b +d51511f8d88d847736c7de2730d5978e5410713160978867711bf5539a0bfc4c +350c2be572baf0ee2e2fb16ccfea08028d99ac49aebb75937ddce111cdab62ff +f3cea8ba2233d1e56fbc5c5a1e726de63fadd2af016b119177fa3d971a2d9277 +173fce55b67745af0b7c21d597dbeb93e6a32f341c49a5a8be9e825088d1f2aa +45155d6c8ae15367e4eb003b8fdf7851071949739f9fff09023eaf45104d2a84 +a45906eed4671a44dc28d27987bb55df69e9e8561f61a80a72699503865fed9b +7ee72a8e17a19c408144f4b29afef7031c3a6d8571610b42c9f421245a88f197 +e16812b031159b65b9687e5b3e934c5225ae98a79ba73d2b399d73510effad19 +e53b8450f0ba8fce1012fd98d260a74aaaa13fae249a006b1c34f5ba0b882f26 +378222fb36f2283c243f0ffeb5f1bb414a0a70d55e3d40a56b6cbc88ae1f03b7 +b2882d98deea28e145c9dedfd8eaf1cef2ed94a8b050f8964f46d1ea0d0c2a43 +e0dda6182adbf4f6ed175b6742257859bf22f3a417ecf1f9d89317b5e539d587 +af16b9e1313e04514ffa64ba8b3ff2b8321f8811cb3fb022c8f644e70a4b80a2 +fbfee604abb7379091ea8e6c5c74dfc0283666b40c0793870028204a136bf5da +9568eb798d349038bdb0c11e03445e7847cb5069c75cf28ac601c7799d958210 +ddbcb226e51afef9f1de47b073873d6d3f97456bede085082e74a298b2cd48f4 +b3093155f366c8fa601c6af858dfa32c08491b2a29887f90335949a5d6edaa67 +9882a3a95d6bf6d970a221f4b9d3d8cbf384af81aac95e2b3294e04789ac8372 +7a5dc04559f96af41d8a053516feeeebc52746eb6ab2819e09108710d835f011 +fa63065872ad334d5cdffb2b2310507e92fc993ae317da97f4f309cdaf0f67ed +99d90215576083849f953b246d7fedb3fdb67679850a5ad404e64147fb7cf4f6 +aeddd05afb4b834968d1fe88014960dce5d942236526e12a478d69e5fbe69703 +10b308c06845018cfc7b2ab430a13a6b1ac7bb02cccbb3d911ac2f11068613fb +e029bfdce02cf5cd38950ed72c83944edfbc75615af87f864c051f3c55456c54 +12863a40c06d1dab562bdff0571b8d3c3917bbd300880bba5e998239b95fa91b +7d6416d4f398b3adbcd30983ed3592b4d9ef7d4236fd00f50d98aa53a235ac41 +72720f77d96172672980cfe8ff7a5a702783edc2ba31b2259015a112fc7f468a +9c2f9464039002d30ef678b4cb798bc116216bf7a9a7c18ba03b7b58fd07515d +3115049d3614be7a07e744300750df1d2c58753389059eafc3d785ccdd31c076 +48bedc03a5c3b8ad46d064d59c13d57374729fc4e295362e2a5191204530428b +c1522afa28ff5fe1655e304ca5bc8c27ad0e0c6a39dd4df28956c14b38cc9368 +2cefe402bbd5e82d29c464e44eb5d37b48fc568dfe0cc6e8e16baea05e513559 +0f19294e73e8367b0216dbb815030b9de55913f08039c42351c59e5515dd5af8 +e089a15e625e8f6dee639386c46497d7a263288774de581a7de9629b41b44241 +41f978fb8331208efdec3c6e0de39bc57063f3dcd6c470373c08891ea29cbc7c +c6d6483b8889083ace86aa7b51b1c2cfe6e2ad18d97ce36fbc56ea42fae97e6a +7ac114864478c366df1ebb1e7b11a9098504fd5975bdf1f49dc70002b63c1739 +a9d263fbad4073f6a9f6c2b8af4b4c332a103a0cffa5deeb2d062ca3c215fd36 +0026be7c5164f4a4424ef74948804d66f46487732c8202c795478647b4ea71d6 +27c086024cca354a41f0877b38f19b3774ad2095c8da53b069e21c76ae2d2007 +e16719ed40080d334f7da52e9f5a5990439caf083a95b833f02ad10a08c1a6d0 +f260c007285bd4a2f47703a5aef465287d253b18ac22514316210ff566814b10 +f87a293d6f199d3c3959990d0c1268b4f50d5f9fcefbbf237bd0c28b80182d66 +59741f14f10bfbb21bba12ab620aa2396f56c0686b4ea9017990224216b2fe8a +d76c4a9148eef9a86a3635a6aa77bc1dcfb6fba59a77dfda9b7530dc0ca8648c +8d973738e01bab8f08b4905e84aa4641bd602410cd97520265f2f231f2b35e15 +eb2fa04d2bd94d5a77abaf1e0e161010a990087f5b46ea988b2bc0512fda0fa9 +23dadd6c45c5301d09483673265b5ab2e10f4ba520f6bbad564a5c3d5e27bdb0 +80f7d20e13296a3181954c39c649c943ebe17df5c1f7aae0a8fe126c477585a5 +d4d648a0d008b6af5e8cd31be69a9296d4f3fd25ed86f221e4b93f65f5929967 +533624b9235750c30707550b58536d109a7131c5a5bbe4a5715567c12534aec7 +660761eebb9fae2891c774589b80e566ad557ddef7367196b7227ea9870ef09d +dfec79d6b9319a6879b5205d76bf7aba5acf33afb59d17fc54e68383d6be5a08 +e9b66da53dcde008bb294b8582bd132cdcc49959fdbc21e52721880c8ad0352c +79f03a43bbd84c4cdfdc6c529005e1e7cd9a349a7168a35569ba5dea818968d5 +a91466bd6e64e20bf62417198afc4e81c28dd77ed4028232398b52fbde86bc84 +f475b9016710ce2aabc11a06b4dbac901ec16cf365ca3f2d53813948a693a0f9 +3e79c46ca5d5a6dca3d28ca50ad18bd13fca55059dd9b185f79f9c47196a4e81 +b2104bc460a051e02f2e8444f` } + } + [3] { + SEQUENCE { + SEQUENCE { + # keyUsage + OBJECT_IDENTIFIER { 2.5.29.15 } + BOOLEAN { TRUE } + OCTET_STRING { + BIT_STRING { b`0000011` } + } + } + SEQUENCE { + # basicConstraints + OBJECT_IDENTIFIER { 2.5.29.19 } + BOOLEAN { TRUE } + OCTET_STRING { + SEQUENCE { + BOOLEAN { TRUE } + } + } + } + SEQUENCE { + # subjectKeyIdentifier + OBJECT_IDENTIFIER { 2.5.29.14 } + OCTET_STRING { + OCTET_STRING { `1b0563e3cd3346149c8c9ebcf23b0a4e5a90 +0eea` } + } + } + } + } + } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.18 } + } + BIT_STRING { `00` `7d9d56079aa46c3bdac618c265da5e7c6e61c41d342 +fc6322e8d6e05647c2649c3775487c86fd9d7c2ccc655f5f7fd01cd51845cc2c +78d61a625a702af88859d4acebde0d9ff323848f1a3832c6636867e5fc917884 +def48955fe1fd4707df55eff20b45cafd731a74ab2f269d23fc05faee19a9248 +e3fda58ac69d0e907ad21151691b90a71a5703b3aade31bc02da3bafafb5574d +73f46387a5a7c6ec0c1e638560759ffc938b55ec9ee5244e4c14d848d18aa890 +a7931b6ce0030595f4aa6b0626a6eda6e10407a6e4ee7a1284ef302e2309d92b +df9905e4d1565825ddb87f74b58d2d0829fa94398c2cd7aa247f6c39acf562fd +ec8b121573fdcd24e5ae52e0fa3b35e4dfc7f101294885958ac961a31c22cd59 +f01f4fbda2000348af45f4c713a088207c72ba81e551af22266d1083f733c231 +62f1f2fb97c6f33cb2e9055f2987b6b22cec77b986bf38f95e2c64a536224af8 +4d184a92820c279078c303f842dfbb890b2b872137d911720f65536e5558b9a3 +b6e5bb395cae24d93309036a0558415968006c747d3bf7570c894eb8efcace60 +259ccbc0170fd6bd7ab617c1b834e26d32cd8c4a296d08d068401c1fa4356403 +113c2bd5f905be55ac104522b891ccd290a2d1fef919e8e2888950e1a9f1abae +cc13507bc277c495382a16e7cc689c4d41ce7fa5f3bd6c7304e2aa1b4333abaf +f59425845f684d8234b8dd623c9e2e16843bf95b9641b685305cedbd672bfe56 +fe2e0d032eeabc4fc6b5afcb2782eecb2dd583ddb4222f28a4d86489ec3d11f3 +40bbc0172b373373ca5121fe8d77661b21d37fd35ef170129db9b9494d66b884 +12e33a52b6e2e963a5a1021669bf864e9a709913ccfe60a5e3058a7c7518818f +c66b605ca4472fc83e6472fddfaf261edd57c9e7c3ead4ddad898ddc8325ab1f +f30488dd983a2cd1c1a3f8171261eeedd528440c5fe11f3f38075d356ad1ebcd +e3a9951200cda622e11711b0b03eb45d6b51207436d2589676111a2bf92ccfbc +6d7a69557c06604f446815d2965e88f9d3cd5772396071c216c2192c9eb2d0f9 +bd429cfdd9f5fa8301c6469ff9b5f66e69fdd5df95de54ab9e2af268c49d1670 +0088acc0da49e5974e835192926b835b98799712cf692ba89d8a3cac38146875 +4fecf594bc9a3657e016f10fcacb0b29d9dd6a8fea5f62152acede30700c282c +ad11ca32b0646c3dbc2fad74ccff51724ae798306c3de48903f2d4fbfc1e96fb +bf63e36a608091d61a71a017f21a102dce3466f296c47cd49bdf0adcf5e93802 +477034827846077db031a6931d6f6f68df2bb30e6771c5cae9442f0812aa1f66 +6388c1a171a63b9c9acee0b8b41cec20c9c189187db0769c640bdfea94ceca69 +0e1dbdbc2f35332a5e31d8f78ca0f462ce3036ad54d2659563e6d82db340c90d +6fbce30026a82bb00a2a2e4ed9b68f4938e33bc17a8b1fb2fac510b3684a5ac0 +eeb4c006320bdba1a62cf032298eedfe553bc53368e0dc1bdfd21bc6c7ae27c6 +58d2a5be57eacf685cecaf211a223328e83165244d9b8844974149b330ad789c +1fc16d084232933b2eea952376d3f329abe4633aede7139493c0d63445da5cda +45fd0a1169a65d48092e167bb7aee3aecb39e943472dc8db0b209f961fd409d2 +8d6c071fb2d9cda43f93e2bf4d5a5ff587014405f6507a87226920d8c35ab011 +b58340eed2c4af0ba0d41bdf3b0a61827ec1f11162eaa4138407163c81ed5977 +b59450eab173fcc168e935a00adf7236d12b3325d52c963fb0025a763854a47c +e54d7f64f41f664456bb402501489acfc0bf1f0fbe38a750581d45382f9161c3 +18317a7d8c9272754521bd2bf4986b61302e4b5c1fa803b34100fa6320a0f75d +22178ad95f1020fbd11cca844c07c07cc1c0c028394bc849896bddb60dd5fc5e +c8c0425f1a000e0ca4ae5c633e32c6af78abb7b99aed951ce0c614bd4c03036d +772f9b47da42a22422213fcf35eb56532b1e6ad7977fbb89290c9196526ecf18 +2e85e259b85450569de45f8a54b7115b11f6427b840d043492012dcd77dd1283 +7ad6e0e79233bdb80ed8872298d67f28343b2957f8b685e7b2737d60321611ee +3660eef7c93cec33ff4eec068ba1243eaa32e21ae5b250348da88cfceefbdc4e +595fa9d169112a50aba9e25f642c0c6661d8dac093da3abfa7fef1b6468f3869 +99cad09e4f3c5a20db9d9dc44c24c5cfdbc213863ba02cdbcec15ac584e973d7 +16990e602d299da99cd4aa78617381d939a97e8234abc079e0be2b82cdbab04f +593bd59e0595473bc3d2b11867d0e35c0e5ad7bcd756d980cab5cac09df9ce77 +3cbef2623c16b641b72bcee4330ba0c72343e565e46f732dfa78731f973c6b78 +f3f6779d46dc3d1017e6a194a132d7976d7a9c4e8e3e5dec30c8dfc27f4fc7b7 +a89e95b776a0098ab59d284af2ae97f72e235afe8da160ad28eb922ff0aecfee +e2170357d93db320aaadde66c9dfd95458ab767f09b0d8a38110674a1fc9525a +535dd79f73b891ccfaee5c11aa0b4b0a8bdc052af655bdaf9dc312f6cd946962 +d88b04af05bca6b12b2589fdc34ee2a37c482e6fb53178589648cfec3617ad0f +65e10cf6d59a2b5f713ba276d616f6e3db497a3563e7461fe6e508f236a959df +347cc78f099dfd032dcec557758e2759260cdf445bd0788ab39e2654dddacd35 +dae5087b3009af2696bfb6c55537b85834fba99c02b6e3d166cd995a47ca90d2 +277722e0869ea899be09f9ad409c0c4535ae24e9b1f94f9a87d8a682c023c8ac +c31c553087299c892995396225149015838e1075d976f23122e82799a18f1469 +f623b400fbc99c5e81ab3251f76a0b246aed1fe680840f1c77096ab6fe8f9563 +c46b39a9d95c9f5436c79501d57aba2ff3d2179fe5cbbac0802adda7b4e3a3cb +cabd1d80cb613d9f40ecce5e8f90fca42dd668bcc59ef7a027c65f584602786d +7564dd891573b9cce3018b30a765a83a7875ee8f07e52032e1eafd4d36ed5a39 +d4a4d5172bb424e34ef029faa9c27b83d81f72264940d0cb51efb091127193dd +63fc3297c7bd06bc09ba49eea3df70254dca30d8bbfa82fa77cb49f3775ea325 +694987fe0f5e12b422cdb13fb1ed510f666c33af5a1dcb84eb969e2575dffe31 +c3d524b7be47c58c4808d96b00fdfb3132f1ab625dea2825d8254d4335f7c929 +3ef651c65062bd9745da917ffd8cc974347433812d806bd3a0b46e664599e499 +7094fb55a9cce8abcfd3b24ac1a9ba68202887dc4d7f50dfa9a6c3523e87ec4e +854444db6f0b57563895e779fa1d8820f4c5b732fd0fd22357a3dea1aebd6928 +d4f87656d1ab4f399807a8d0fd3ea07b8ddec827dc484c65bcd8064c2a2ebc24 +6fe365e40083de8d08c05ea0b97887a305a43d5500b3833f377be27ac21bac7d +3b3acd119bcb80383b502165effeac4523eed838229820595b0bfcf8506d91c3 +627671d0d9d98367789a981ecffb0e1d8ccaebed4b79571021aa2bdea6a825d0 +d0038b2c3d78cad76f33f1581d73bb71e5989dea0025f1d9de4aee844d309a08 +40db872cb5fe8dd3e5303f1e9d8b05385d240db8b210ad70f90c2c0ccbc81cdd +ba1b429b216b0da368ce1bd0c8bff9eeca9231b7bfb61e1b7e5173e7b6e4dcee +dabc15020e28e5c6e604c7d8f9a68b1f8aaa5927bf37dc730a871e5e0c07ff8e +eb255ad2f1c1df1ff6d5cf9e4352bde6a59a90446d2b99338215318d0351c799 +3b7e8416256f272015a71f126cbb8e553cd58488ac3eb055504bb06f31cea882 +5befc8e45be4f6aa7e49ee916e481746cb37702503b306be6e0347a9609b5210 +eee350351809b0ffd93a6ab934faa4e0425c333afb4330e335dee2c391e35304 +ff5bbb85e4e91d816c14802c9ecebb6fd80a2db835ecd5a908f98f53d2889f14 +01fc8f64547c59865011c5768bae15531f144f1c39f900c39bd14bbb63766bac +5066478395f5755470544bb74a085b82fbe7e05ebcbc203ca3a3bb98b94b7cc1 +6c79182ed383f2406185f78f804edd8d583bd88dfcd52c0d8190801c8ee86620 +7c1d43af81259b93ae7d816c21d45d9e4b2d43a2722ba98f8b16dbca06db3e41 +6e7197f3f990e50a7b8a6e64c906bc6bf86d0083dfd844a56012c68f34424b46 +720516e1ab202624f6fee657cde271de9de755c44c1feb62d4136eb8df68650e +5f1eb9f771a202ba805161fe4d9142e27398a30ecbace9d96521a09953db4372 +600defef38a94eb59b5b1d8ebd7749b78956ea8f27f22e8a314888c7a013e938 +5dfc66118c79fb07f46e975904989381f25af586b2426533f6cb19d5f6ee3d9c +b89c99b24529fc1a80b418b70b66c751089a0236eafc236c2cba5e67df42e0ec +542225f389422208f0e0275e93fb05ef13d9c0d19d834248cb7c2dda20b32423 +d710af850523fd2bbcb64d698c63f83eee9b053dd55b99dd0b1303f108b9ae2b +76cb286877f2bc72ebc08e134d9a36d829c6414c06f989dcf81941ea6aa5223a +a9258c432a38b409c49069f74edc5fdf70f829e62bd9f0c5cea688777c8eebd1 +841bd3757cb156560b4ac7472a80f56dad870f894e7cc64a6766d1d34696a9e3 +13dacfb185c6e73a0c0d7fe073f416a77839ab7415759ce19253155798df2000 +00000000000000000000000000000000000050911191d24` } +} diff --git a/examples/ML-DSA-65.priv.txt b/examples/ML-DSA-65.priv.txt new file mode 100644 index 0000000..b648b5f --- /dev/null +++ b/examples/ML-DSA-65.priv.txt @@ -0,0 +1,8 @@ +SEQUENCE { + INTEGER { 0 } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.18 } + } + OCTET_STRING { `000102030405060708090a0b0c0d0e0f10111213141516 +1718191a1b1c1d1e1f` } +} diff --git a/examples/ML-DSA-65.pub.txt b/examples/ML-DSA-65.pub.txt new file mode 100644 index 0000000..23e94be --- /dev/null +++ b/examples/ML-DSA-65.pub.txt @@ -0,0 +1,67 @@ +SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.18 } + } + BIT_STRING { `00` `48683d91978e31eb3dddb8b0473482d2b88a5f62594 +9fd8f58a561e696bd4c27d05b38dbb2edf01e664efd81be1ea893688ce68aa2d +51c5958f8bbc6eb4e89ee67d2c0320954d57212cac7229ff1d6eaf03928bd515 +11f8d88d847736c7de2730d5978e5410713160978867711bf5539a0bfc4c350c +2be572baf0ee2e2fb16ccfea08028d99ac49aebb75937ddce111cdab62fff3ce +a8ba2233d1e56fbc5c5a1e726de63fadd2af016b119177fa3d971a2d9277173f +ce55b67745af0b7c21d597dbeb93e6a32f341c49a5a8be9e825088d1f2aa4515 +5d6c8ae15367e4eb003b8fdf7851071949739f9fff09023eaf45104d2a84a459 +06eed4671a44dc28d27987bb55df69e9e8561f61a80a72699503865fed9b7ee7 +2a8e17a19c408144f4b29afef7031c3a6d8571610b42c9f421245a88f197e168 +12b031159b65b9687e5b3e934c5225ae98a79ba73d2b399d73510effad19e53b +8450f0ba8fce1012fd98d260a74aaaa13fae249a006b1c34f5ba0b882f263782 +22fb36f2283c243f0ffeb5f1bb414a0a70d55e3d40a56b6cbc88ae1f03b7b288 +2d98deea28e145c9dedfd8eaf1cef2ed94a8b050f8964f46d1ea0d0c2a43e0dd +a6182adbf4f6ed175b6742257859bf22f3a417ecf1f9d89317b5e539d587af16 +b9e1313e04514ffa64ba8b3ff2b8321f8811cb3fb022c8f644e70a4b80a2fbfe +e604abb7379091ea8e6c5c74dfc0283666b40c0793870028204a136bf5da9568 +eb798d349038bdb0c11e03445e7847cb5069c75cf28ac601c7799d958210ddbc +b226e51afef9f1de47b073873d6d3f97456bede085082e74a298b2cd48f4b309 +3155f366c8fa601c6af858dfa32c08491b2a29887f90335949a5d6edaa679882 +a3a95d6bf6d970a221f4b9d3d8cbf384af81aac95e2b3294e04789ac83727a5d +c04559f96af41d8a053516feeeebc52746eb6ab2819e09108710d835f011fa63 +065872ad334d5cdffb2b2310507e92fc993ae317da97f4f309cdaf0f67ed99d9 +0215576083849f953b246d7fedb3fdb67679850a5ad404e64147fb7cf4f6aedd +d05afb4b834968d1fe88014960dce5d942236526e12a478d69e5fbe6970310b3 +08c06845018cfc7b2ab430a13a6b1ac7bb02cccbb3d911ac2f11068613fbe029 +bfdce02cf5cd38950ed72c83944edfbc75615af87f864c051f3c55456c541286 +3a40c06d1dab562bdff0571b8d3c3917bbd300880bba5e998239b95fa91b7d64 +16d4f398b3adbcd30983ed3592b4d9ef7d4236fd00f50d98aa53a235ac417272 +0f77d96172672980cfe8ff7a5a702783edc2ba31b2259015a112fc7f468a9c2f +9464039002d30ef678b4cb798bc116216bf7a9a7c18ba03b7b58fd07515d3115 +049d3614be7a07e744300750df1d2c58753389059eafc3d785ccdd31c07648be +dc03a5c3b8ad46d064d59c13d57374729fc4e295362e2a5191204530428bc152 +2afa28ff5fe1655e304ca5bc8c27ad0e0c6a39dd4df28956c14b38cc93682cef +e402bbd5e82d29c464e44eb5d37b48fc568dfe0cc6e8e16baea05e5135590f19 +294e73e8367b0216dbb815030b9de55913f08039c42351c59e5515dd5af8e089 +a15e625e8f6dee639386c46497d7a263288774de581a7de9629b41b4424141f9 +78fb8331208efdec3c6e0de39bc57063f3dcd6c470373c08891ea29cbc7cc6d6 +483b8889083ace86aa7b51b1c2cfe6e2ad18d97ce36fbc56ea42fae97e6a7ac1 +14864478c366df1ebb1e7b11a9098504fd5975bdf1f49dc70002b63c1739a9d2 +63fbad4073f6a9f6c2b8af4b4c332a103a0cffa5deeb2d062ca3c215fd360026 +be7c5164f4a4424ef74948804d66f46487732c8202c795478647b4ea71d627c0 +86024cca354a41f0877b38f19b3774ad2095c8da53b069e21c76ae2d2007e167 +19ed40080d334f7da52e9f5a5990439caf083a95b833f02ad10a08c1a6d0f260 +c007285bd4a2f47703a5aef465287d253b18ac22514316210ff566814b10f87a +293d6f199d3c3959990d0c1268b4f50d5f9fcefbbf237bd0c28b80182d665974 +1f14f10bfbb21bba12ab620aa2396f56c0686b4ea9017990224216b2fe8ad76c +4a9148eef9a86a3635a6aa77bc1dcfb6fba59a77dfda9b7530dc0ca8648c8d97 +3738e01bab8f08b4905e84aa4641bd602410cd97520265f2f231f2b35e15eb2f +a04d2bd94d5a77abaf1e0e161010a990087f5b46ea988b2bc0512fda0fa923da +dd6c45c5301d09483673265b5ab2e10f4ba520f6bbad564a5c3d5e27bdb080f7 +d20e13296a3181954c39c649c943ebe17df5c1f7aae0a8fe126c477585a5d4d6 +48a0d008b6af5e8cd31be69a9296d4f3fd25ed86f221e4b93f65f59299675336 +24b9235750c30707550b58536d109a7131c5a5bbe4a5715567c12534aec76607 +61eebb9fae2891c774589b80e566ad557ddef7367196b7227ea9870ef09ddfec +79d6b9319a6879b5205d76bf7aba5acf33afb59d17fc54e68383d6be5a08e9b6 +6da53dcde008bb294b8582bd132cdcc49959fdbc21e52721880c8ad0352c79f0 +3a43bbd84c4cdfdc6c529005e1e7cd9a349a7168a35569ba5dea818968d5a914 +66bd6e64e20bf62417198afc4e81c28dd77ed4028232398b52fbde86bc84f475 +b9016710ce2aabc11a06b4dbac901ec16cf365ca3f2d53813948a693a0f93e79 +c46ca5d5a6dca3d28ca50ad18bd13fca55059dd9b185f79f9c47196a4e81b210 +4bc460a051e02f2e8444f` } +} diff --git a/examples/ML-DSA-87.crt b/examples/ML-DSA-87.crt new file mode 100644 index 0000000..01a78f7 --- /dev/null +++ b/examples/ML-DSA-87.crt @@ -0,0 +1,158 @@ +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- diff --git a/examples/ML-DSA-87.crt.txt b/examples/ML-DSA-87.crt.txt new file mode 100644 index 0000000..29d2cee --- /dev/null +++ b/examples/ML-DSA-87.crt.txt @@ -0,0 +1,312 @@ +SEQUENCE { + SEQUENCE { + [0] { + INTEGER { 2 } + } + INTEGER { `00d83ff0575de59fa9bb370ba5e5ad9828ae398115` } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.19 } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + UTCTime { "200203043210Z" } + UTCTime { "400129043210Z" } + } + SEQUENCE { + SET { + SEQUENCE { + # organizationName + OBJECT_IDENTIFIER { 2.5.4.10 } + PrintableString { "IETF" } + } + } + SET { + SEQUENCE { + # commonName + OBJECT_IDENTIFIER { 2.5.4.3 } + PrintableString { "LAMPS WG" } + } + } + } + SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.19 } + } + BIT_STRING { `00` `9792bcec2f2430686a82fccf3c2f5ff665e771d +7ab41b90258cfa7e90ec97124a73b323b9ba21ab64d767c433f5a521effe18f8 +6e46a188952c4467e048b729e7fc4d115e7e48da1896d5fe119b10dcddef62cb +307954074b42336e52836de61da941f8d37ea68ac8106fabe19070679af60085 +37120f70793b8ea9cc0e6e7b7b4c9a5c7421c60f24451ba1e933db1a2ee16c79 +559f21b3d1b8305850aa42afbb13f1f4d5b9f4835f9d87dfceb162d0ef4a7fdc +4cba1743cd1c87bb4967da16cc8764b6569df8ee5bdcbffe9a4e05748e6fdf22 +5af9e4eeb7773b62e8f85f9b56b548945551844fbd89806a4ac369bed2d25610 +0f688a6ad5e0a709826dc4449e91e23c5506e642361ef5a313712f79bc4b3186 +861ca85a4bab17e7f943d1b8a333aa3ae7ce16b440d6018f9e04daf5725c7f1a +93fad1a5a27b67895bd249aa91685de20af32c8b7e268c7f96877d0c85001135 +a4f0a8f1b8264fa6ebe5a349d8aecad1a16299ccf2fd9c7b85bace2ced3aa127 +6ba61ee78ed7e5ca5b67cdd458a9354030e6abbbabf56a0a2316fec9dba83b51 +d42fd3167f1e0f90855d5c66509b210265dc1e54ec44b43ba7cf9aef118b44d8 +0912ce75166a6651e116cebe49229a7062c09931f71abd2293f76f7efc3215ba +97800037e58e470bdbbb43c1b0439eaf79c54d93b44aac9efe9fbe151874cfb2 +a64cbee28cc4c0fe7775e5d870f1c02e5b2e3c5004c995f24c9b779cb753a277 +d0e71fd425eb6bc2ca56ce129db51f70740f31e63976b50c7312e9797d78c5b1 +ac24a5fa347cc916e0a83f5c3b675cd30b81e3fa10b93444e07397571cce98b2 +8da51db9056bc728c5b0b1181e2fbd387b4c79ab1a5fefece37167af772ddad1 +4eb4c3982da5a59d0e9eb173ec6315091170027a3ab5ef6aa129cb8585727b93 +58a28501d713a72f3f1db31714286f9b6408013af06045d75592fc0b7dd47c73 +ed9c75b11e9d7c69f7cadfc3280a9062c5273c43be1c34f87448864cea7b5c97 +d6d32f59bd5f25384653bb5c4faa45bea8b89402843e645b6b9269e2bd988dda +cb033328ffb060450f7df080053e6969b251e875ecec32cfc592840d69ab69a7 +5e06b379c535d95266b082f4f09c93162b33b0d9f7307a4eaaa52104437fed66 +f8ee3eabbd45d67b25a8133f496468b52baffdbfad93eef1a9818b5e42ec7227 +88a3d8d3529fc777d2ba570801dfae01ec88302837c1fb9e0355727645ee1046 +c3f915f6ae82dad4fb6b0356a46518ffc834155c3b4fe6dafa6cc8a5ccf53c73 +a0849d8d44f7dcf72754e70e1b7dfb447bb4ef49d1a718f6171bbce200950e0c +e926106b151a3e871d5ce49731bd6650a9b0ca972da1c5f136d44820ea6383c0 +8f3b384cf2338e789c513f618cc5694a6f0cee104511e1ed7c5f23a1ebfd8a0d +b8424553240156dbf622831b0c643d1c551b6f3f7a98d29b85c2de05a65fa615 +eee16495bd90737672115b53e91c5d90028cf3f1a93953a153de53b44084e9cc +ff6b736693926daefebb2d77aa5ad689b92f31686669df16d1715cc58f7a2cfb +72dd1a51e92f825993a74022be7e9eb6054654457094d14928f20215e7b222ac +56b51adbec8d8bdb6983979a7e3a21b44b5d1518ca97d0b5195f51ed6a24350c +89747e1edea51b448e3e9147054ce927873c90db394d86888e07dff177593d6f +79e152302204aeb03be2386af3e24078bd028b1689f5e147c9f452c8ceb02ec5 +9cc9db63a03576ceeafe98239023897da0236630a53c0de7f435a19869792fab +36e7b9e635760f09069e6432e700035ac2a02879fff0a1e1bec522047193d94e +b5df1efd53eea1144ca78940852f5ec9727904b366ede4f5e2d331fad5fc282e +a2c47e923142771c3dd75a87357487def99e5f18e9d9ed623c175d02888c51f8 +2c07a80d54716b3c3c2bdbe2e9f0a9bbaaebeb4d52936876406f5c00e8e4bbd0 +a5ec05797e6207c5ab6c88f1a688421bd05a114f4d7de2ac241fa0e8bedff47f +762ddcbeaa91004f8d31e85095c81054994ad3826e344ba96040810fc0b2ad1d +e48cfade002c62e5a49a0731ab38344bc1636df16bf607d56855e56d684003c7 +18e4bad9e5a099979fcddeeb1c4a7776cd37a3417cb0e184e29ef9bc0e87475b +a663be09e00ab562eb7c0f7165f969a9b42414198ccf1bff2a2c8d689a414ece +7662927665689e94db961ebaec5615cbc1a7895c6851ac961432ff1118d4607d +32ef9dc732d51333be4b4d0e30ddea784eca8be47e741be9c19631dc470a52ef +4dc13a4f3633fd434d787c170977b417df598e1d0dde506bb71d6f0bc17ec70e +3b03cdc1965cb36993f633b0472e50d0923ac6c66fdf1d3e6459cc121f0f5f94 +d09e9dbcf5d690e23233838a0bacb7c638d1b2650a4308cd171b6855126d1da6 +72a6ed85a8d78c286fb56f4ab3d21497528045c63262c8a42af2f9802c53b7bb +8be28e78fe0b5ce45fbb7a1af1a3b28a8d94b7890e3c882e39bc98e9f0ad7602 +5bf0dd2f00298e7141a226b3d7cee414f604d1e0ba54d11d5fe58bccea6ad77a +d2e8c1caacf32459014b7b91001b1efa8ad172a523fb8e365b577121bf9fd88a +2c60c21e821d7b6acb47a5a995e40caced5c223b8fe6de5e18e9d2e5893aefeb +b7aae7ff1a146260e2f110e939528213a0025a38ec79aabc861b25ebc509a467 +4c132aaacb7e0146f14efd11cfcaf4caa4f775a716ce325e0a435a4d349d720b +cf137450afc45046fc1a1f83a9d329777a7084e4aadae7122ce97005930528eb +3c7f7f1129b372887a371155a3ba201a25cbf1dcb64e7cdee092c3141fb5550f +e3d0dd82e870e578b2b46500818113b8f6569773c677385b69a42b77dcba7acf +fd95fd4452e23aaa1d37e1da2151ea658d40a3596b27ac9f8129dc6cf0643772 +624b59f4f461230df471ca26087c3942d5c6687df6082835935a3f87cb762b0c +3b1d0dda4a6533965bef1b7b8292e254c014d090fed857c44c1839c694c0a64e +3fad90a11f534722b6ee1574f2e149d55d744de4887024e08511431c062750e1 +6c74ab9f3242f2db3ffb12a8d6107faa229d6f6373b07f36d3932b3bdb04c19d +d64eadd7f93c3c564c358a1c81dcf1c9c31e5b06568f97544c17dc15698c5cb3 +8983a9afc42783faa773a52c9d8260690be9e3156aa5bc1509dea3f69587695c +d6ff172ba83e6a6d8a7d6bbebbbcda3672731983f89bc5831dc37c3f3c5c56fa +cc697f3cb20bd5dbadbd702e54844ac2f626901fe159db93dfd4773d8fe73562 +b846c1fc856d1802762840ebc72d7988bde75cbca70d319d32ce0cc0253bb2ad +455723ee0c7f4736ce6e6665c5aca32a481c53839bc259167b013d0423395eeb +9aaaee3206149a7d550d67fc5fdfe4a8a5c35d2510b664379ab8f72855a2af47 +abce2a632048eaf89e5cb4a88debc53a595103acce4f1cff18acff07afe1eb57 +16aa1e40b63134c3a3ae9579fa87f515be093c2d29db6d6b65c93661e00636b5 +92704d093cc6716c2342eb1853d48c85c63ac8a2854462c7b77e7e3bd1eac5bc +a28ffaa00b5d349f8a547ad875b96a8c2b2910c9301309a3f9138a5693111f55 +b3c009ca947c39dfc82d98eb1caa4a9cbe885f786fa86e55be062222f8ba90a9 +74073326b31212aece0a34a60` } + } + [3] { + SEQUENCE { + SEQUENCE { + # keyUsage + OBJECT_IDENTIFIER { 2.5.29.15 } + BOOLEAN { TRUE } + OCTET_STRING { + BIT_STRING { b`0000011` } + } + } + SEQUENCE { + # basicConstraints + OBJECT_IDENTIFIER { 2.5.29.19 } + BOOLEAN { TRUE } + OCTET_STRING { + SEQUENCE { + BOOLEAN { TRUE } + } + } + } + SEQUENCE { + # subjectKeyIdentifier + OBJECT_IDENTIFIER { 2.5.29.14 } + OCTET_STRING { + OCTET_STRING { `89886750b57c24db3fc012e61ede59753337 +374f` } + } + } + } + } + } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.19 } + } + BIT_STRING { `00` `ccad696b0c9cd740eb8c9e3fd0f61f3c95399c4a2eb +2e3c48b564de2dbe7f09d85973bfa670331cbcaf015ba9bd6fa992947369a8b2 +43c92e6bde8253ed90d590b23070b39693d3bf6556d82ac65970a185a3c21b28 +d33c0b167070d69eb8875f6d28a7495b50315f34f0ca90bd9d1f1c44d9b2303c +85526c9ab07e660c24e87f819e5585cd58856cbab9a8113aacc81d9766e85749 +688d2fe23c0c5785ee7ab7f08d7d4b589f4969dfadd7325175fc6c83f0ff3614 +35f3e7784b5e628164f0bd8b9a0429b14319ec17e2bdc6faba9df6858b6ff27e +a053fd17575fd023c79882f40eaf940a8a502f8b5cb0e7e206cee0848a85b695 +492ec23b503dc05691949cd669c609788e9b94989d11a5faa5b03c434d590e3d +ab64f112108bf44610177fda5ab6b9406f7a91f997f0bedf768348f0c6e4d05d +f5ce4c9199ab643c35bb639120603523a92a5787cb9d081535322581fdfd8884 +ea1bf9dcf022425c852aa0afdf9264532278ec336c7509912f1a73c7abf20469 +3abb68a3adbdd63262bf90452cbe0550a7b379a5523d21854c22ef95f2c3900e +f39b3d0682bac8464d661851d85a94fa09df17b8a76d4a3d999830683c813cc9 +5bfa382744abc94585cc3ff75a54261fe99878bdffa212a952623510cbfa367e +0e7dee7d9efdae04abdcd21580fa7c48b5e7e93bd604df42bbfc84bc884cbd57 +71230e6fb2016896342a79473f5b88e92baa48386f1140933d755f36d076493d +4c59b981a2949d54caef5d559acad1f6cd2eba94001560e345a248927a3b41f8 +b47d5fbfd050b3e41c66fc9b20a2966064f3c411cff5c8c064c5faaa7f32c7a6 +d102abcd07d0759ce5e70fb950759a8b7a4c6551134597c6c4ecd8184bb918ed +2b530f45f5eb1f7a8802d0332906991124a43f20a123ca1349f8c015a92c0f83 +c93119895f1a0f4de2c445afdd222a418096aa54f2e3384a46eb3513d9caaf4e +22250f851d7ca25c9cbfd6af416d880ff89d810c4d1acec0527f1a75daf1cbc0 +2dd54ad41d4fa65d608bbbc1c57f566dfbe61946c8d9d4fdeb5644f8e4157c1b +e5d465d82b0d54249d6bfc9ad9b391ddefc20bec1507e59151f0e955b294fd35 +b4382235862139875c59d41010923aa75e5f6390be8aef0ebe76779ecaaabfe1 +24063db12c01cffaa2d8f08cedab9dd02a80889e5f84cfdea775b0fafa097d4a +71c79288ccaa129cff58d0988cbf3944b2bec4253ebc98d223df58ff42863586 +1089b628cb5074be9c4566103f800da16c674ae26b1cb10e07357c89fd4cd0ad +64586f444c340dcfb0a8bc25a4db5e4db698a5120e3b38b7c5518099bc06a366 +b1331a3d393282e00e4bc8230bcad98dba0104d44270eadb90b8854c00ae9344 +654ae6036d19094a518730c58866cfebaa7568686545481e179bc990507bfffd +84e90e4ed33d7f005125dda91ba82b910dd83c5aae7734b3cbe60c7c42598b4a +dfd76a31bf231057f7e95eb89e5ed4ac201ce326636073b392e7e912a3d1e486 +35b8452983147d9fecf18626f15a4d1cde917b45160f9a05ca96a67afed421bd +09b91b799207297852d6f025f0771b4926733f58c7a1986cbab9e2ac577ad5cb +a30866e413668db5325c1b12391f6976d69702e23833c642dce929b9a0173013 +84ecb28a1ac635a8842a89b2821783a3dc57dbbf008b2433a7210f0890bb7f4b +4be80a1b2fc08ce9c6cee3eae5c6ef33cee9464e8b0c9a2a0dcf01cfc17a7cc7 +2c6f6f6ac979745d5af91b823c6e11c313e556783735f2e0ad6e4f40f0014a04 +afbc956d3e40378249ab141de92761a289934a79a0cddbee2678861a6a828a62 +cc87ffce9f71139193098320ccd4084cc8646d70cc04f31c5f3d32d2f22109cc +9ec7d7c2b5b884a84608b05224d13eeaba2a22dbda3e0fa2f50adf55405b5221 +dafe4379262454c73b2aaad1a3cd7968aef1d44cee5294a01bbd3c0ea05f4881 +d0578e22917a0e2abd58ca0e2743d8ae95b537bd26bd0f5acdaad4c15c5a3f4d +1a507f5ede54b2822250dbb3f354bddde521f4ceeca2b26774e763b8bb7be1e9 +298e4833ad7483fd2d424655cf46cbbc3dcb8b9a40dc437db1cbf53754dc6273 +13ac55417ef9816a30b8e88bd9c39d999b9ba4e0e7cb96987dfecaf5910bcb32 +ef4ccd6bc8de2cd5c6b86f4e75aaf4309b35c6c5ea937f4cd34311c0124654ab +db66a0a2d50fbb352435eb68e87bc7bbf3e169ed66a2dbb8cc3b0cbc59ff743a +5515d8f8d57850ef22f64c3812b0ee67f03c2aae50d8a9aa87b207e51efda381 +5979d83ef8ea939a5ef3bb6708ab1af64198924fd44b3e762922b7af5d3ad0a2 +370391578a9fe898129db0c48f857fb99ffa01a89377974515a668f4cf80981b +6e8b59ef8cde6286d73878038ca0ab520e76fb52e7bad4b9043fe1a584c7dc2e +b19d407ae2acac787588bb613360590183d61ed6450dedc104ac2272e11b13a6 +2b2935297c643d7bdd2134be6f07366401195a11f53eaf51c127f4dc7be784b7 +a22502394fcdc417b94a9900be755ed26da946f80795a15e90242fcb3a800161 +134d73c3500b410c91203578768e02e53ac6d9f4e73e51a5ea5e630683b2ec46 +01a8964f718f93354a1981bfe0d87b318c602082db5ff632de799d651ef98bcc +b11fde0f0646568ec96e2c6521c995e30359c22276764d6c20e8fe34e58c367d +6d107f0008af23168a64ae6145feb85533a9188a9cd6dc3dbe3e96ca4b176dc6 +581d72651deb8799591b3e9fad81c86ccc02bfcedbcbbb1b7e7978fb6c1b7907 +05f267aee98feabd11bba2788c1fa783a79832fd6f7bae51a55e9221dbbbed8b +31f0882afc51fe1acc893980c5407875fcb46857f22fee398ec2e15e49683871 +ba1106c4aa67b0afdedd52f69825b0a3230fd76f12d22345b24498b596a13421 +85ee4e8473f0c0b772642447b78f7988445a6b1648c6c35697814d4aec6bebc2 +845dbc69ff3a0d1d1ed8c6086de312dd20ba617089c1c6530277db3c9a17e8cc +05e0d20db0e5f55701b62fd0b901e238d58871ae9084ae8e3e18cb61089d56e2 +4e038b9027a36820a67af4e9ba82f7211bf57fabf94e9b8a9e7b59fa5c711c07 +cc2f037a182fe8a1bd4a322d63b68b0d342994e6529f48a14ae33a6cdcc6a187 +43115f68ce51966668be70410d4edc54c2274515c5677354b83c17372fcc022b +51f431977441fbbded027217fffa945c9671871539d7ed868455f570ceebf1cb +49e43c5e8d815bb75bf8f1f528babb029ca136841f7288fcb091c124204bed1a +12c178533c9c2b96ac9ba9acf69b0841f89d0d756bcd4578371f13172843abef +f86ec2ed720c7e11db386d315250364d5a98111a532a9219a887f52ae7244531 +e3ba70be453f6660f981ff9b556e68dc4f1de6cea3269320eec232ea44ea030b +5e0dafead98e069e30a3f7fc46609452a2946aae84a2f13687fd15aafb43d583 +b69201477f87342d8984255ba9f185334817bcfd268a353d36b558604a394a71 +b040c10326d6003baa3bb6fbfb07103280ae5be5192618b54df3b85d1b96423c +6c365cc4381973cd5b69d3a715e84c5f9204ad04f8489e21bece5f1e3915cc22 +76a0bce72500c31bc78ab83f7a11cccefe96452e0e6d0711e35fa77d4e95a9b3 +3dcdbc84e70b65fc30a403fddce16bc6c836e5c2dad79507f8e3d4e5451e7d9b +24ddba007fb558be49a4a7e90abce308b1bd44bfd6ca6ee3a73cdef75bfa5339 +39f5e38e4451c8708221da5e5c8e82827ac0276aac52b326f9f58d38a8e31750 +c3a74409e7f495bacec3c132ec0fa96ae6450fc5618cc60db15e7d20c6d73bed +38836b59741711097debb3796ba10b412b28f218574c25c2ec103b809fb8d0ae +d404921cfeb65b18cd6ae5e67c96c6854daa69ff2b8c86cd5f09919ff9b141ef +270601053d764f5c274a110e9af7574c7c4743726c1a175d227d0b0f90abcdbf +8b1b7de220b2b2b964d2cb5d4f77c6a44078f3d8a24ac655d43bd0cce2fe72e5 +c60dd43ff995395114c07d66f61c527675f45e0cb679b8ff550a99095d9ab284 +75062664309a57b54f363181f67243b6f89dd5a3dec4bd64dbd33e69e7bd9ece +293c4d49b8e529b49e78ed1ef75dc18b7517db62864eae6075d7f770d8c489cb +0741c3a02f28f2af3335c4de52bce2e73b6cb5479049324d8b8caf766705fe2e +f406ceb13c3589a3477a5e700d06729249ecd403315bf228bea0b39672e15070 +9d22dce8c8cef8f31b4a2a40bc5ce17ea7cef728219460145bcddb469e57202f +0fe549da7fd4de3c88644672d4859d88cf84cb4f27e313db0593ad6288c71806 +e50f5bead9f95b0bb61c0a18b5b2b4b448453bab61f81696908e82cc3a24d67f +658374657183f9cf4246f5819b14b05c78971e242e8a4250f51f1f87d2db700a +5b2a5413762fbdd6f1b3409a83964431b9cfa857c308aa390649fb33a5c01e8e +24f1931f010234134210d60cca26fa0eff997ca933e90b5ab6f1999643f1d795 +54da1bedb58144a12dfc6c719582935e583b135b925acfb1386b23e0db229bd2 +45bf50443da5fa74ec3fea4d3593923c69f9ab973cf797eb6d22852c6063dce6 +f9a3b42498e96f8c6c4e4ddb735aac75e8a165149efaf2689891fa84534222d9 +1abf059af9b30994bd8d59cd68be70d63e4396484fb1c228f5e4d7a7ea055b04 +b658f38cbc4ad03a3e745f1b7768d3126262304a4b9f8e5ef1aad5b32efc6e76 +115c5b3cb41ebcc1eb4f60a40feee0d132ffce97fd570d8aa8bae65b81bd8d83 +2ce635bf8ab6fb61364ac744f34bb1bf167bbd5c853bd23635764a28e5046caa +49bd44130943a58d4e7bdcca98cec4351cfc76f95f9b70494d247f0ceb059524 +d5f71b8fa57c52a6046c54f0ae584abd903f24a8052c667d5f4c3d5c711b726d +613b296fefc778864135e08d1d75c679a92aaf60ec199603ebb90e56b8f4ac79 +13c1eaa38d1b957a25b2b06d88113fce0f27a3e84bdc85f0830551ec6ffbe946 +893af7b23ef53f49cf00a82d27e99afc85cfd66186c5dc4fdf2c8f2502a86ee0 +903e84ca7a521d36a5de3ed816b88df73c040eee1775a7b1f4c87fcb94d11612 +884f391f4d6b789fe74a396ae3f3f4c5389166cacfa24fa35b449c884eb511e1 +b0514f137560393680540151172b6b9db96c87c3a4b4246c61e220a13e3c16b7 +60a33789e9b83fad63fc9ea8b5b15418cf8b369c005917f6afef9772686df92f +e2816c69e6354793dec3efc09fa26a25a691c4a1010f306598f17978fa4fd0ae +5de8f0c1d3af953c255b4a617733208276950b36fa8f8637abc99a96736b9ced +a4485c82bb09730668424a3910bb12ff324a179dd45b3ca1d0e10ad170d453f2 +513a5601b25e79e9c740cc090e46763cc8c8840a0b88a3a50634a11553001fd8 +61816f6a3ffdeff3ed4fea60ea37620d031d3ca4a5eed8f1749dfad6e384be3a +a488f4953a21f8edd4ec126de699c9ef186e6808e230c1cdafbc2c0bcf3ddbab +c5059ab3b5027f49dbd8e7fd7fab6857cf6c1f388e4ffbe6ed38170b63018c2d +fc2f000fbca157c3d79ad34010f668eff64a02bfdd591dbf38dec521e209cfa8 +c37be48d79695c77fff9c158ba49a061e642994c9397a611f5e5bd03681d2b5f +ac4a7eedb64a367c3eee1dc637f044d7dbe9fc58866c453c42cd5216344ec7ce +21ee9c97dbc38b4f006291a14fd0058d64618ba430a0260a5da11b4b8ad72261 +5018f14a74dfc06b070e46bfa4ca540235ff0febf8d929b2322c64446e31e1f5 +66b3c7f4abbdfc3e720a890ff9838150e3923ed106d8b3a0e664ca02960f65a4 +3d8ce4586b2a0a01a6b2484e4547a56cff42f653077ee9ed99e33cdcb114b450 +e4f63080acde109fab0b9378d9038c9f36a8dd5d4919b8b2061e366b241f3219 +fc830f8b4301b61ded8c01f4de7cae165bf04f98884bd6425b3e82ff38c617ed +3988601c351dc16f265344e5d7ed74f98792e1b754083e80743c968372fa53ce +50c1501991142a26b914b64d65499dd9c33d129540678ce6dbbd2e331a602dc3 +396e64114e5b1bd59ef3ee11a7061ebd877dc5abe098a1a01f9c681eae713154 +eab6ae4ce22b36ddb9bc61c4a1be65f8c1fdf47ede680da66169b0ca85978be9 +ee2dd5324638edaee1c0e009c208aa721485c1a294a131a64073286a0336a8f3 +a1bc70c805208b3d1ff9df38a228afb643e659d6e29b33ee64c1307dc35c3105 +265e94c1d0088f71c5381986fd915a97ccc7ccef3a72cdbb6e3e94f4992334ad +b087542962447bebe12eaaddf125d75b97123623143c465c2fb258977d52babd +a75bcdc9958c0d223aeb3ec5ad1df3501f3e81168f1cb2f37fe6d59559442db8 +50a98f23b97cd16b48280c98d00a4b81c79ddfc7d347e2055fa9a307864d0c52 +490ee54683b601fd55bb1092c565897cde3fb2d555f7eb8656794ea374853939 +9ab4a7589d3daf6fa0a0e829598c4d04b617d9ec50d37536061658ccae3e4000 +0000000000000000000000000000000000000000000080d11171e252a34` } +} diff --git a/examples/ML-DSA-87.priv.txt b/examples/ML-DSA-87.priv.txt new file mode 100644 index 0000000..771dbd4 --- /dev/null +++ b/examples/ML-DSA-87.priv.txt @@ -0,0 +1,8 @@ +SEQUENCE { + INTEGER { 0 } + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.19 } + } + OCTET_STRING { `000102030405060708090a0b0c0d0e0f10111213141516 +1718191a1b1c1d1e1f` } +} diff --git a/examples/ML-DSA-87.pub.txt b/examples/ML-DSA-87.pub.txt new file mode 100644 index 0000000..645df34 --- /dev/null +++ b/examples/ML-DSA-87.pub.txt @@ -0,0 +1,87 @@ +SEQUENCE { + SEQUENCE { + OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.3.19 } + } + BIT_STRING { `00` `9792bcec2f2430686a82fccf3c2f5ff665e771d7ab4 +1b90258cfa7e90ec97124a73b323b9ba21ab64d767c433f5a521effe18f86e46 +a188952c4467e048b729e7fc4d115e7e48da1896d5fe119b10dcddef62cb3079 +54074b42336e52836de61da941f8d37ea68ac8106fabe19070679af600853712 +0f70793b8ea9cc0e6e7b7b4c9a5c7421c60f24451ba1e933db1a2ee16c79559f +21b3d1b8305850aa42afbb13f1f4d5b9f4835f9d87dfceb162d0ef4a7fdc4cba +1743cd1c87bb4967da16cc8764b6569df8ee5bdcbffe9a4e05748e6fdf225af9 +e4eeb7773b62e8f85f9b56b548945551844fbd89806a4ac369bed2d256100f68 +8a6ad5e0a709826dc4449e91e23c5506e642361ef5a313712f79bc4b3186861c +a85a4bab17e7f943d1b8a333aa3ae7ce16b440d6018f9e04daf5725c7f1a93fa +d1a5a27b67895bd249aa91685de20af32c8b7e268c7f96877d0c85001135a4f0 +a8f1b8264fa6ebe5a349d8aecad1a16299ccf2fd9c7b85bace2ced3aa1276ba6 +1ee78ed7e5ca5b67cdd458a9354030e6abbbabf56a0a2316fec9dba83b51d42f +d3167f1e0f90855d5c66509b210265dc1e54ec44b43ba7cf9aef118b44d80912 +ce75166a6651e116cebe49229a7062c09931f71abd2293f76f7efc3215ba9780 +0037e58e470bdbbb43c1b0439eaf79c54d93b44aac9efe9fbe151874cfb2a64c +bee28cc4c0fe7775e5d870f1c02e5b2e3c5004c995f24c9b779cb753a277d0e7 +1fd425eb6bc2ca56ce129db51f70740f31e63976b50c7312e9797d78c5b1ac24 +a5fa347cc916e0a83f5c3b675cd30b81e3fa10b93444e07397571cce98b28da5 +1db9056bc728c5b0b1181e2fbd387b4c79ab1a5fefece37167af772ddad14eb4 +c3982da5a59d0e9eb173ec6315091170027a3ab5ef6aa129cb8585727b9358a2 +8501d713a72f3f1db31714286f9b6408013af06045d75592fc0b7dd47c73ed9c +75b11e9d7c69f7cadfc3280a9062c5273c43be1c34f87448864cea7b5c97d6d3 +2f59bd5f25384653bb5c4faa45bea8b89402843e645b6b9269e2bd988ddacb03 +3328ffb060450f7df080053e6969b251e875ecec32cfc592840d69ab69a75e06 +b379c535d95266b082f4f09c93162b33b0d9f7307a4eaaa52104437fed66f8ee +3eabbd45d67b25a8133f496468b52baffdbfad93eef1a9818b5e42ec722788a3 +d8d3529fc777d2ba570801dfae01ec88302837c1fb9e0355727645ee1046c3f9 +15f6ae82dad4fb6b0356a46518ffc834155c3b4fe6dafa6cc8a5ccf53c73a084 +9d8d44f7dcf72754e70e1b7dfb447bb4ef49d1a718f6171bbce200950e0ce926 +106b151a3e871d5ce49731bd6650a9b0ca972da1c5f136d44820ea6383c08f3b +384cf2338e789c513f618cc5694a6f0cee104511e1ed7c5f23a1ebfd8a0db842 +4553240156dbf622831b0c643d1c551b6f3f7a98d29b85c2de05a65fa615eee1 +6495bd90737672115b53e91c5d90028cf3f1a93953a153de53b44084e9ccff6b +736693926daefebb2d77aa5ad689b92f31686669df16d1715cc58f7a2cfb72dd +1a51e92f825993a74022be7e9eb6054654457094d14928f20215e7b222ac56b5 +1adbec8d8bdb6983979a7e3a21b44b5d1518ca97d0b5195f51ed6a24350c8974 +7e1edea51b448e3e9147054ce927873c90db394d86888e07dff177593d6f79e1 +52302204aeb03be2386af3e24078bd028b1689f5e147c9f452c8ceb02ec59cc9 +db63a03576ceeafe98239023897da0236630a53c0de7f435a19869792fab36e7 +b9e635760f09069e6432e700035ac2a02879fff0a1e1bec522047193d94eb5df +1efd53eea1144ca78940852f5ec9727904b366ede4f5e2d331fad5fc282ea2c4 +7e923142771c3dd75a87357487def99e5f18e9d9ed623c175d02888c51f82c07 +a80d54716b3c3c2bdbe2e9f0a9bbaaebeb4d52936876406f5c00e8e4bbd0a5ec +05797e6207c5ab6c88f1a688421bd05a114f4d7de2ac241fa0e8bedff47f762d +dcbeaa91004f8d31e85095c81054994ad3826e344ba96040810fc0b2ad1de48c +fade002c62e5a49a0731ab38344bc1636df16bf607d56855e56d684003c718e4 +bad9e5a099979fcddeeb1c4a7776cd37a3417cb0e184e29ef9bc0e87475ba663 +be09e00ab562eb7c0f7165f969a9b42414198ccf1bff2a2c8d689a414ece7662 +927665689e94db961ebaec5615cbc1a7895c6851ac961432ff1118d4607d32ef +9dc732d51333be4b4d0e30ddea784eca8be47e741be9c19631dc470a52ef4dc1 +3a4f3633fd434d787c170977b417df598e1d0dde506bb71d6f0bc17ec70e3b03 +cdc1965cb36993f633b0472e50d0923ac6c66fdf1d3e6459cc121f0f5f94d09e +9dbcf5d690e23233838a0bacb7c638d1b2650a4308cd171b6855126d1da672a6 +ed85a8d78c286fb56f4ab3d21497528045c63262c8a42af2f9802c53b7bb8be2 +8e78fe0b5ce45fbb7a1af1a3b28a8d94b7890e3c882e39bc98e9f0ad76025bf0 +dd2f00298e7141a226b3d7cee414f604d1e0ba54d11d5fe58bccea6ad77ad2e8 +c1caacf32459014b7b91001b1efa8ad172a523fb8e365b577121bf9fd88a2c60 +c21e821d7b6acb47a5a995e40caced5c223b8fe6de5e18e9d2e5893aefebb7aa +e7ff1a146260e2f110e939528213a0025a38ec79aabc861b25ebc509a4674c13 +2aaacb7e0146f14efd11cfcaf4caa4f775a716ce325e0a435a4d349d720bcf13 +7450afc45046fc1a1f83a9d329777a7084e4aadae7122ce97005930528eb3c7f +7f1129b372887a371155a3ba201a25cbf1dcb64e7cdee092c3141fb5550fe3d0 +dd82e870e578b2b46500818113b8f6569773c677385b69a42b77dcba7acffd95 +fd4452e23aaa1d37e1da2151ea658d40a3596b27ac9f8129dc6cf0643772624b +59f4f461230df471ca26087c3942d5c6687df6082835935a3f87cb762b0c3b1d +0dda4a6533965bef1b7b8292e254c014d090fed857c44c1839c694c0a64e3fad +90a11f534722b6ee1574f2e149d55d744de4887024e08511431c062750e16c74 +ab9f3242f2db3ffb12a8d6107faa229d6f6373b07f36d3932b3bdb04c19dd64e +add7f93c3c564c358a1c81dcf1c9c31e5b06568f97544c17dc15698c5cb38983 +a9afc42783faa773a52c9d8260690be9e3156aa5bc1509dea3f69587695cd6ff +172ba83e6a6d8a7d6bbebbbcda3672731983f89bc5831dc37c3f3c5c56facc69 +7f3cb20bd5dbadbd702e54844ac2f626901fe159db93dfd4773d8fe73562b846 +c1fc856d1802762840ebc72d7988bde75cbca70d319d32ce0cc0253bb2ad4557 +23ee0c7f4736ce6e6665c5aca32a481c53839bc259167b013d0423395eeb9aaa +ee3206149a7d550d67fc5fdfe4a8a5c35d2510b664379ab8f72855a2af47abce +2a632048eaf89e5cb4a88debc53a595103acce4f1cff18acff07afe1eb5716aa +1e40b63134c3a3ae9579fa87f515be093c2d29db6d6b65c93661e00636b59270 +4d093cc6716c2342eb1853d48c85c63ac8a2854462c7b77e7e3bd1eac5bca28f +faa00b5d349f8a547ad875b96a8c2b2910c9301309a3f9138a5693111f55b3c0 +09ca947c39dfc82d98eb1caa4a9cbe885f786fa86e55be062222f8ba90a97407 +3326b31212aece0a34a60` } +} diff --git a/examples/README b/examples/README new file mode 100644 index 0000000..7700689 --- /dev/null +++ b/examples/README @@ -0,0 +1,11 @@ +To regenerate the ML-DSA private and public keys in *.priv and *.pub run + + go run generate.go + +The prettified versions are created with + + ./pretty + +Requires der-ascii: + + go install github.com/google/der-ascii/cmd/...@latest diff --git a/examples/pretty b/examples/pretty new file mode 100755 index 0000000..6351eab --- /dev/null +++ b/examples/pretty @@ -0,0 +1,8 @@ +#!/bin/sh + +for i in ML-DSA-{44,65,87}.{priv,pub,crt} +do + der2ascii -pem -i $i -o $i.tmp + fold -w 64 $i.tmp > $i.txt + rm $i.tmp +done