Skip to content

Commit 9f243b0

Browse files
committed
Revise variants structure
Signed-off-by: Basil Hess <[email protected]>
1 parent 761903f commit 9f243b0

File tree

1 file changed

+177
-45
lines changed

1 file changed

+177
-45
lines changed

schema/cryptography-defs.json

Lines changed: 177 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,50 +8,74 @@
88
{"name": "RFC8017", "url": "https://doi.org/10.17487/RFC8017"},
99
{"name": "IEEE1363", "url": "https://doi.org/10.1109/IEEESTD.2000.92290"}
1010
],
11-
"variant": "RSA-PKCS1-1.5-{digestAlgorithm}-{keyLength}",
12-
"primitive": "signature"
11+
"variants": [
12+
{
13+
"pattern": "RSA-PKCS1-1.5-{digestAlgorithm}-{keyLength}",
14+
"primitive": "signature"
15+
}
16+
]
1317
},
1418
{
1519
"family": "RSASSA-PSS",
1620
"standard": [
1721
{"name": "RFC8017", "url": "https://doi.org/10.17487/RFC8017"},
1822
{"name": "IEEE1363A", "url": "https://doi.org/10.1109/IEEESTD.2004.94612"}
1923
],
20-
"variant": "RSA-PSS-{digestAlgorithm}-{saltLength}-{keyLength}",
21-
"primitive": "signature"
24+
"variants": [
25+
{
26+
"pattern": "RSA-PSS-{digestAlgorithm}-{saltLength}-{keyLength}",
27+
"primitive": "signature"
28+
}
29+
]
2230
},
2331
{
2432
"family": "RSAES-PKCS1",
2533
"standard": [
2634
{"name": "RFC8017", "url": "https://doi.org/10.17487/RFC8017"}
2735
],
28-
"variant": "RSA-PKCS1-1.5-{keyLength}",
29-
"primitive": "pke"
36+
"variants": [
37+
{
38+
"pattern": "RSA-PKCS1-1.5-{keyLength}",
39+
"primitive": "pke"
40+
}
41+
]
3042
},
3143
{
3244
"family": "RSAES-OAEP",
3345
"standard": [
3446
{"name": "RFC8017", "url": "https://doi.org/10.17487/RFC8017"}
3547
],
36-
"variant": "RSA-OAEP-{hashAlgorithm}-{maskGenAlgorithm}-{keyLength}",
37-
"primitive": "pke"
48+
"variants": [
49+
{
50+
"pattern": "RSA-OAEP-{hashAlgorithm}-{maskGenAlgorithm}-{keyLength}",
51+
"primitive": "pke"
52+
}
53+
]
3854
},
3955
{
4056
"family": "EdDSA",
4157
"standard": [
4258
{"name": "RFC8032", "url": "https://doi.org/10.17487/RFC8032"}
4359
],
44-
"variant": "Ed{25519|448}{|ph|ctx}",
45-
"primitive": "signature"
60+
"variants": [
61+
{
62+
"pattern": "Ed{25519|448}{|ph|ctx}",
63+
"primitive": "signature"
64+
}
65+
]
4666
},
4767
{
4868
"family": "ECDSA",
4969
"standard": [
5070
{"name": "FIPS186-4", "url": "https://doi.org/10.6028/NIST.FIPS.186-4"},
5171
{"name": "X9.62", "url": "https://standards.globalspec.com/std/1955141/ansi-x9-62"}
5272
],
53-
"variant": "ECDSA-{curve}-{hash}",
54-
"primitive": "signature"
73+
"variants": [
74+
{
75+
"pattern": "ECDSA-{curve}-{hash}",
76+
"primitive": "signature"
77+
}
78+
]
5579
},
5680
{
5781
"family": "ECDH",
@@ -60,33 +84,49 @@
6084
{"name": "IEEE1363", "url": "https://doi.org/10.1109/IEEESTD.2000.92290"},
6185
{"name": "X9.63", "url": "https://webstore.ansi.org/standards/ASCX9/ansix9632011r2017"}
6286
],
63-
"variant": "ECDH{E}-{curve}",
64-
"primitive": "key-agree"
87+
"variants": [
88+
{
89+
"pattern": "ECDH{E}-{curve}",
90+
"primitive": "key-agree"
91+
}
92+
]
6593
},
6694
{
6795
"family": "FFDH",
6896
"standard": [
6997
{"name": "RFC7919", "url": "https://doi.org/10.17487/RFC7919"},
7098
{"name": "SP800-56A", "url": "https://doi.org/10.6028/NIST.SP.800-56Ar3"}
7199
],
72-
"variant": "FFDH{E}-{named_group}",
73-
"primitive": "key-agree"
100+
"variants": [
101+
{
102+
"pattern": "FFDH{E}-{named_group}",
103+
"primitive": "key-agree"
104+
}
105+
]
74106
},
75107
{
76108
"family": "SHA-1",
77109
"standard": [
78110
{"name": "FIPS180-4", "url": "https://doi.org/10.6028/NIST.FIPS.180-4"}
79111
],
80-
"variant": "SHA-1",
81-
"primitive": "hash"
112+
"variants": [
113+
{
114+
"pattern": "SHA-1",
115+
"primitive": "hash"
116+
}
117+
]
82118
},
83119
{
84120
"family": "SHA-2",
85121
"standard": [
86122
{"name": "FIPS180-4", "url": "https://doi.org/10.6028/NIST.FIPS.180-4"}
87123
],
88-
"variant": "SHA-{224|256|384|512|512/224|512/256}",
89-
"primitive": "hash"
124+
"variants": [
125+
{
126+
"pattern": "SHA-{224|256|384|512|512/224|512/256}",
127+
"primitive": "hash"
128+
}
129+
]
90130
},
91131
{
92132
"family": "AES",
@@ -95,107 +135,199 @@
95135
{"name": "SP800-38{A-G}", "url": "https://doi.org/10.6028/NIST.SP.800-38A"},
96136
{"name": "RFC 5116", "url": "https://doi.org/10.17487/RFC5116"}
97137
],
98-
"variant": "AES-{128|192|256}-(ECB|CBC|CFB(1|8|128)|OFB|CTR|)",
99-
"primitive": "block-cipher"
138+
"variants": [
139+
{
140+
"pattern": "AES-{128|192|256}-(ECB|CBC|CFB(1|8|128)|OFB|CTR|)-(ivlen)",
141+
"primitive": "block-cipher"
142+
},
143+
{
144+
"standard": [
145+
{"name": "SP800-38D", "url": "https://doi.org/10.6028/NIST.SP.800-38D"},
146+
{"name": "RFC 3610", "url": "https://doi.org/10.17487/RFC5116"}
147+
],
148+
"pattern": "AES-{128|192|256}-(GCM|CCM)-(taglen)-(ivlen)",
149+
"primitive": "ae"
150+
}
151+
]
100152
},
101153
{
102154
"family": "HKDF",
103155
"standard": [
104156
{"name": "RFC5869", "url": "https://doi.org/10.17487/RFC5869"}
105157
],
106-
"variant": "HKDF-{hash}",
107-
"primitive": "kdf"
158+
"variants": [
159+
{
160+
"pattern": "HKDF-{hash}",
161+
"primitive": "kdf"
162+
}
163+
]
108164
},
109165
{
110166
"family": "HMAC",
111167
"standard": [
112168
{"name": "SP800-224", "url": "https://doi.org/10.6028/NIST.SP.800-224.ipd"},
113169
{"name": "RFC2104", "url": "https://doi.org/10.17487/RFC2104"}
114170
],
115-
"variant": "HMAC-{hash}-{length}",
116-
"primitive": "mac"
171+
"variants": [
172+
{
173+
"pattern": "HMAC-{hash}-{length}",
174+
"primitive": "mac"
175+
}
176+
]
117177
},
118178
{
119179
"family": "ChaCha",
120180
"standard": [
121181
{"name": "RFC8439", "url": "https://doi.org/10.17487/RFC8439"}
122182
],
123-
"variant": "ChaCha20-{AES|other}",
124-
"primitive": "stream-cipher"
183+
"variants": [
184+
{
185+
"pattern": "ChaCha20-{AES|other}",
186+
"primitive": "stream-cipher"
187+
}
188+
]
125189
},
126190
{
127191
"family": "Poly1305",
128192
"standard": [
129193
{"name": "RFC8439", "url": "https://doi.org/10.17487/RFC8439"}
130194
],
131-
"variant": "Poly1305",
132-
"primitive": "mac"
195+
"variants": [
196+
{
197+
"pattern": "Poly1305",
198+
"primitive": "mac"
199+
}
200+
]
133201
},
134202
{
135203
"family": "ChaCha20-Poly1305",
136204
"standard": [
137205
{"name": "RFC8439", "url": "https://doi.org/10.17487/RFC8439"}
138206
],
139-
"variant": "ChaCha20-Poly1305",
140-
"primitive": "ae"
207+
"variants": [
208+
{
209+
"pattern": "ChaCha20-Poly1305",
210+
"primitive": "ae"
211+
}
212+
]
141213
},
142214
{
143215
"family": "MD5",
144216
"standard": [
145217
{"name": "RFC1321", "url": "https://doi.org/10.17487/RFC1321"}
146218
],
147-
"variant": "MD5",
148-
"primitive": "hash"
219+
"variants": [
220+
{
221+
"pattern": "MD5",
222+
"primitive": "hash"
223+
}
224+
]
149225
},
150226
{
151227
"family": "MD4",
152228
"standard": [
153229
{"name": "RFC1320", "url": "https://doi.org/10.17487/RFC1320"}
154230
],
155-
"variant": "MD4",
231+
"pattern": "MD4",
156232
"primitive": "hash"
157233
},
158234
{
159235
"family": "RC4",
160236
"standard": [
161237
{"name": "Applied Cryptography: Protocols, Algorithms, and Source Code in C", "url": "https://dl.acm.org/doi/book/10.5555/572932"}
162238
],
163-
"variant": "RC4-{length}",
164-
"primitive": "stream-cipher"
239+
"variants": [
240+
{
241+
"pattern": "RC4-{length}",
242+
"primitive": "stream-cipher"
243+
}
244+
]
165245
},
166246
{
167247
"family": "3DES",
168248
"standard": [
169249
{"name": "RFC1851", "url": "https://doi.org/10.17487/RFC1851"},
170250
{"name": "FIPS PUB 46-3", "url": "https://csrc.nist.gov/pubs/fips/46-3/final"}
171251
],
172-
"variant": "3DES-{length}-{mode}",
173-
"primitive": "block-cipher"
252+
"variants": [
253+
{
254+
"pattern": "3DES-{length}-{mode}",
255+
"primitive": "block-cipher"
256+
}
257+
]
174258
},
175259
{
176260
"family": "DES",
177261
"standard": [
178262
{"name": "FIPS PUB 46-3", "url": "https://csrc.nist.gov/pubs/fips/46-3/final"},
179263
{"name": "ANSI INCITS 92-1981", "url": "https://csrc.nist.gov/pubs/fips/46-3/final"}
180264
],
181-
"variant": "DES-{length}-{mode}",
182-
"primitive": "block-cipher"
265+
"variants": [
266+
{
267+
"pattern": "DES-{length}-{mode}",
268+
"primitive": "block-cipher"
269+
}
270+
]
183271
},
184272
{
185273
"family": "IDEA",
186274
"standard": [
187275
{"name": "A Proposal for a New Block Encryption Standard", "url": "https://doi.org/10.1007%2F3-540-46877-3_35"}
188276
],
189-
"variant": "IDEA-{mode}",
190-
"primitive": "block-cipher"
277+
"variants": [
278+
{
279+
"pattern": "IDEA-{mode}",
280+
"primitive": "block-cipher"
281+
}
282+
]
191283
},
192284
{
193285
"family": "RC2",
194286
"standard": [
195287
{"name": "RFC2268", "url": "https://doi.org/10.17487/RFC2268"}
196288
],
197-
"variant": "RC2-{length}-{mode}",
198-
"primitive": "block-cipher"
289+
"variants": [
290+
{
291+
"pattern": "RC2-{length}-{mode}",
292+
"primitive": "block-cipher"
293+
}
294+
]
295+
},
296+
{
297+
"family": "ML-DSA",
298+
"standard": [
299+
{"name": "FIPS 204", "url": "https://doi.org/10.6028/NIST.FIPS.204"}
300+
],
301+
"variants": [
302+
{
303+
"pattern": "ML-DSA-(44|65|87)",
304+
"primitive": "signature"
305+
}
306+
]
307+
},
308+
{
309+
"family": "HashML-DSA",
310+
"standard": [
311+
{"name": "FIPS 204", "url": "https://doi.org/10.6028/NIST.FIPS.204"}
312+
],
313+
"variants": [
314+
{
315+
"pattern": "HashML-DSA-(44|65|87)-(hash)",
316+
"primitive": "signature"
317+
}
318+
]
319+
},
320+
{
321+
"family": "HashSLH-DSA",
322+
"standard": [
323+
{"name": "FIPS 205", "url": "https://doi.org/10.6028/NIST.FIPS.205"}
324+
],
325+
"variants": [
326+
{
327+
"pattern": "HashSLH-DSA-(SHA2|SHAKE)-(128s|128f|192s|192f|256s|256f)-",
328+
"primitive": "signature"
329+
}
330+
]
199331
}
200332
]
201333
}

0 commit comments

Comments
 (0)