1515 * Description: Returns the OID of a given SHA-2/SHA-3 hash function.
1616 *
1717 * Arguments: - uint8_t oid[11]: pointer to output oid
18- * - mld_hash_alg_t hashAlg : hash algorithm enumeration
18+ * - int hashalg : hash algorithm constant (MLD_PREHASH_*)
1919 *
20- **************************************************/
21- static void mld_get_hash_oid (uint8_t oid [MLD_PRE_HASH_OID_LEN ],
22- mld_hash_alg_t hashAlg )
20+ ***************************************************/
21+ static void mld_get_hash_oid (uint8_t oid [MLD_PRE_HASH_OID_LEN ], int hashalg )
2322{
2423 unsigned int i ;
2524 static const struct
2625 {
27- mld_hash_alg_t alg ;
26+ int alg ;
2827 uint8_t oid [MLD_PRE_HASH_OID_LEN ];
2928 } oid_map [] = {
30- {MLD_SHA2_224 ,
29+ {MLD_PREHASH_SHA2_224 ,
3130 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x04 }},
32- {MLD_SHA2_256 ,
31+ {MLD_PREHASH_SHA2_256 ,
3332 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x01 }},
34- {MLD_SHA2_384 ,
33+ {MLD_PREHASH_SHA2_384 ,
3534 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x02 }},
36- {MLD_SHA2_512 ,
35+ {MLD_PREHASH_SHA2_512 ,
3736 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x03 }},
38- {MLD_SHA2_512_224 ,
37+ {MLD_PREHASH_SHA2_512_224 ,
3938 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x05 }},
40- {MLD_SHA2_512_256 ,
39+ {MLD_PREHASH_SHA2_512_256 ,
4140 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x06 }},
42- {MLD_SHA3_224 ,
41+ {MLD_PREHASH_SHA3_224 ,
4342 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x07 }},
44- {MLD_SHA3_256 ,
43+ {MLD_PREHASH_SHA3_256 ,
4544 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x08 }},
46- {MLD_SHA3_384 ,
45+ {MLD_PREHASH_SHA3_384 ,
4746 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x09 }},
48- {MLD_SHA3_512 ,
47+ {MLD_PREHASH_SHA3_512 ,
4948 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x0A }},
50- {MLD_SHAKE_128 ,
49+ {MLD_PREHASH_SHAKE_128 ,
5150 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x0B }},
52- {MLD_SHAKE_256 ,
51+ {MLD_PREHASH_SHAKE_256 ,
5352 {0x06 , 0x09 , 0x60 , 0x86 , 0x48 , 0x01 , 0x65 , 0x03 , 0x04 , 0x02 , 0x0C }}};
5453
5554 for (i = 0 ; i < sizeof (oid_map ) / sizeof (oid_map [0 ]); i ++ )
5655 __loop__ (
5756 invariant (i <= sizeof (oid_map ) / sizeof (oid_map [0 ]))
5857 )
5958 {
60- if (oid_map [i ].alg == hashAlg )
59+ if (oid_map [i ].alg == hashalg )
6160 {
6261 mld_memcpy (oid , oid_map [i ].oid , MLD_PRE_HASH_OID_LEN );
6362 return ;
6463 }
6564 }
6665}
6766
68- int mld_validate_hash_length (mld_hash_alg_t hashAlg , size_t len )
67+ int mld_validate_hash_length (int hashalg , size_t len )
6968{
70- switch (hashAlg )
69+ switch (hashalg )
7170 {
72- case MLD_SHA2_224 :
71+ case MLD_PREHASH_SHA2_224 :
7372 return (len == 224 / 8 ) ? 0 : -1 ;
74- case MLD_SHA2_256 :
73+ case MLD_PREHASH_SHA2_256 :
7574 return (len == 256 / 8 ) ? 0 : -1 ;
76- case MLD_SHA2_384 :
75+ case MLD_PREHASH_SHA2_384 :
7776 return (len == 384 / 8 ) ? 0 : -1 ;
78- case MLD_SHA2_512 :
77+ case MLD_PREHASH_SHA2_512 :
7978 return (len == 512 / 8 ) ? 0 : -1 ;
80- case MLD_SHA2_512_224 :
79+ case MLD_PREHASH_SHA2_512_224 :
8180 return (len == 224 / 8 ) ? 0 : -1 ;
82- case MLD_SHA2_512_256 :
81+ case MLD_PREHASH_SHA2_512_256 :
8382 return (len == 256 / 8 ) ? 0 : -1 ;
84- case MLD_SHA3_224 :
83+ case MLD_PREHASH_SHA3_224 :
8584 return (len == 224 / 8 ) ? 0 : -1 ;
86- case MLD_SHA3_256 :
85+ case MLD_PREHASH_SHA3_256 :
8786 return (len == 256 / 8 ) ? 0 : -1 ;
88- case MLD_SHA3_384 :
87+ case MLD_PREHASH_SHA3_384 :
8988 return (len == 384 / 8 ) ? 0 : -1 ;
90- case MLD_SHA3_512 :
89+ case MLD_PREHASH_SHA3_512 :
9190 return (len == 512 / 8 ) ? 0 : -1 ;
92- case MLD_SHAKE_128 :
91+ case MLD_PREHASH_SHAKE_128 :
9392 return (len == 256 / 8 ) ? 0 : -1 ;
94- case MLD_SHAKE_256 :
93+ case MLD_PREHASH_SHAKE_256 :
9594 return (len == 512 / 8 ) ? 0 : -1 ;
9695 }
9796 return -1 ;
9897}
9998
10099size_t mld_format_pre_hash_message (
101100 uint8_t fmsg [MLD_PRE_HASH_MAX_FORMATTED_MESSAGE_BYTES ], const uint8_t * ph ,
102- size_t phlen , const uint8_t * ctx , size_t ctxlen , mld_hash_alg_t hashAlg )
101+ size_t phlen , const uint8_t * ctx , size_t ctxlen , int hashalg )
103102{
104103 /* Format: 0x01 || ctxlen (1 byte) || ctx || oid (11 bytes) || ph */
105104 fmsg [0 ] = 1 ;
@@ -112,7 +111,7 @@ size_t mld_format_pre_hash_message(
112111 }
113112
114113 /* Write OID */
115- mld_get_hash_oid (fmsg + 2 + ctxlen , hashAlg );
114+ mld_get_hash_oid (fmsg + 2 + ctxlen , hashalg );
116115
117116 /* Copy pre-hash */
118117 mld_memcpy (fmsg + 2 + ctxlen + MLD_PRE_HASH_OID_LEN , ph , phlen );
0 commit comments