@@ -117,12 +117,18 @@ pub mod oid {
117117 pub const SLH_DSA_SHA2_256F : & str = "2.16.840.1.101.3.4.3.25" ;
118118
119119 // SLH-DSA SHA2 DER-encoded bytes
120- pub const SLH_DSA_SHA2_128S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x14 ] ;
121- pub const SLH_DSA_SHA2_128F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x15 ] ;
122- pub const SLH_DSA_SHA2_192S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x16 ] ;
123- pub const SLH_DSA_SHA2_192F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x17 ] ;
124- pub const SLH_DSA_SHA2_256S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x18 ] ;
125- pub const SLH_DSA_SHA2_256F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x19 ] ;
120+ pub const SLH_DSA_SHA2_128S_BYTES : & [ u8 ] =
121+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x14 ] ;
122+ pub const SLH_DSA_SHA2_128F_BYTES : & [ u8 ] =
123+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x15 ] ;
124+ pub const SLH_DSA_SHA2_192S_BYTES : & [ u8 ] =
125+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x16 ] ;
126+ pub const SLH_DSA_SHA2_192F_BYTES : & [ u8 ] =
127+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x17 ] ;
128+ pub const SLH_DSA_SHA2_256S_BYTES : & [ u8 ] =
129+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x18 ] ;
130+ pub const SLH_DSA_SHA2_256F_BYTES : & [ u8 ] =
131+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x19 ] ;
126132
127133 // SLH-DSA SHAKE OIDs (FIPS 205)
128134 pub const SLH_DSA_SHAKE_128S : & str = "2.16.840.1.101.3.4.3.26" ;
@@ -133,12 +139,18 @@ pub mod oid {
133139 pub const SLH_DSA_SHAKE_256F : & str = "2.16.840.1.101.3.4.3.31" ;
134140
135141 // SLH-DSA SHAKE DER-encoded bytes
136- pub const SLH_DSA_SHAKE_128S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1a ] ;
137- pub const SLH_DSA_SHAKE_128F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1b ] ;
138- pub const SLH_DSA_SHAKE_192S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1c ] ;
139- pub const SLH_DSA_SHAKE_192F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1d ] ;
140- pub const SLH_DSA_SHAKE_256S_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1e ] ;
141- pub const SLH_DSA_SHAKE_256F_BYTES : & [ u8 ] = & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1f ] ;
142+ pub const SLH_DSA_SHAKE_128S_BYTES : & [ u8 ] =
143+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1a ] ;
144+ pub const SLH_DSA_SHAKE_128F_BYTES : & [ u8 ] =
145+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1b ] ;
146+ pub const SLH_DSA_SHAKE_192S_BYTES : & [ u8 ] =
147+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1c ] ;
148+ pub const SLH_DSA_SHAKE_192F_BYTES : & [ u8 ] =
149+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1d ] ;
150+ pub const SLH_DSA_SHAKE_256S_BYTES : & [ u8 ] =
151+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1e ] ;
152+ pub const SLH_DSA_SHAKE_256F_BYTES : & [ u8 ] =
153+ & [ 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x03 , 0x1f ] ;
142154}
143155
144156#[ cfg( test) ]
@@ -277,31 +289,70 @@ mod tests {
277289 #[ test]
278290 fn test_oid_bytes_constants ( ) {
279291 // Verify ALL pre-computed bytes match runtime encoding
280-
292+
281293 // ML-KEM
282294 assert_eq ! ( encode_oid( oid:: ML_KEM_512 ) . unwrap( ) , oid:: ML_KEM_512_BYTES ) ;
283295 assert_eq ! ( encode_oid( oid:: ML_KEM_768 ) . unwrap( ) , oid:: ML_KEM_768_BYTES ) ;
284- assert_eq ! ( encode_oid( oid:: ML_KEM_1024 ) . unwrap( ) , oid:: ML_KEM_1024_BYTES ) ;
285-
296+ assert_eq ! (
297+ encode_oid( oid:: ML_KEM_1024 ) . unwrap( ) ,
298+ oid:: ML_KEM_1024_BYTES
299+ ) ;
300+
286301 // ML-DSA
287302 assert_eq ! ( encode_oid( oid:: ML_DSA_44 ) . unwrap( ) , oid:: ML_DSA_44_BYTES ) ;
288303 assert_eq ! ( encode_oid( oid:: ML_DSA_65 ) . unwrap( ) , oid:: ML_DSA_65_BYTES ) ;
289304 assert_eq ! ( encode_oid( oid:: ML_DSA_87 ) . unwrap( ) , oid:: ML_DSA_87_BYTES ) ;
290-
305+
291306 // SLH-DSA SHA2
292- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_128S ) . unwrap( ) , oid:: SLH_DSA_SHA2_128S_BYTES ) ;
293- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_128F ) . unwrap( ) , oid:: SLH_DSA_SHA2_128F_BYTES ) ;
294- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_192S ) . unwrap( ) , oid:: SLH_DSA_SHA2_192S_BYTES ) ;
295- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_192F ) . unwrap( ) , oid:: SLH_DSA_SHA2_192F_BYTES ) ;
296- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_256S ) . unwrap( ) , oid:: SLH_DSA_SHA2_256S_BYTES ) ;
297- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHA2_256F ) . unwrap( ) , oid:: SLH_DSA_SHA2_256F_BYTES ) ;
298-
307+ assert_eq ! (
308+ encode_oid( oid:: SLH_DSA_SHA2_128S ) . unwrap( ) ,
309+ oid:: SLH_DSA_SHA2_128S_BYTES
310+ ) ;
311+ assert_eq ! (
312+ encode_oid( oid:: SLH_DSA_SHA2_128F ) . unwrap( ) ,
313+ oid:: SLH_DSA_SHA2_128F_BYTES
314+ ) ;
315+ assert_eq ! (
316+ encode_oid( oid:: SLH_DSA_SHA2_192S ) . unwrap( ) ,
317+ oid:: SLH_DSA_SHA2_192S_BYTES
318+ ) ;
319+ assert_eq ! (
320+ encode_oid( oid:: SLH_DSA_SHA2_192F ) . unwrap( ) ,
321+ oid:: SLH_DSA_SHA2_192F_BYTES
322+ ) ;
323+ assert_eq ! (
324+ encode_oid( oid:: SLH_DSA_SHA2_256S ) . unwrap( ) ,
325+ oid:: SLH_DSA_SHA2_256S_BYTES
326+ ) ;
327+ assert_eq ! (
328+ encode_oid( oid:: SLH_DSA_SHA2_256F ) . unwrap( ) ,
329+ oid:: SLH_DSA_SHA2_256F_BYTES
330+ ) ;
331+
299332 // SLH-DSA SHAKE
300- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_128S ) . unwrap( ) , oid:: SLH_DSA_SHAKE_128S_BYTES ) ;
301- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_128F ) . unwrap( ) , oid:: SLH_DSA_SHAKE_128F_BYTES ) ;
302- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_192S ) . unwrap( ) , oid:: SLH_DSA_SHAKE_192S_BYTES ) ;
303- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_192F ) . unwrap( ) , oid:: SLH_DSA_SHAKE_192F_BYTES ) ;
304- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_256S ) . unwrap( ) , oid:: SLH_DSA_SHAKE_256S_BYTES ) ;
305- assert_eq ! ( encode_oid( oid:: SLH_DSA_SHAKE_256F ) . unwrap( ) , oid:: SLH_DSA_SHAKE_256F_BYTES ) ;
333+ assert_eq ! (
334+ encode_oid( oid:: SLH_DSA_SHAKE_128S ) . unwrap( ) ,
335+ oid:: SLH_DSA_SHAKE_128S_BYTES
336+ ) ;
337+ assert_eq ! (
338+ encode_oid( oid:: SLH_DSA_SHAKE_128F ) . unwrap( ) ,
339+ oid:: SLH_DSA_SHAKE_128F_BYTES
340+ ) ;
341+ assert_eq ! (
342+ encode_oid( oid:: SLH_DSA_SHAKE_192S ) . unwrap( ) ,
343+ oid:: SLH_DSA_SHAKE_192S_BYTES
344+ ) ;
345+ assert_eq ! (
346+ encode_oid( oid:: SLH_DSA_SHAKE_192F ) . unwrap( ) ,
347+ oid:: SLH_DSA_SHAKE_192F_BYTES
348+ ) ;
349+ assert_eq ! (
350+ encode_oid( oid:: SLH_DSA_SHAKE_256S ) . unwrap( ) ,
351+ oid:: SLH_DSA_SHAKE_256S_BYTES
352+ ) ;
353+ assert_eq ! (
354+ encode_oid( oid:: SLH_DSA_SHAKE_256F ) . unwrap( ) ,
355+ oid:: SLH_DSA_SHAKE_256F_BYTES
356+ ) ;
306357 }
307358}
0 commit comments