@@ -47,6 +47,7 @@ typedef struct
47
47
void mlk_shake128_absorb_once (mlk_shake128ctx * state , const uint8_t * input ,
48
48
size_t inlen )
49
49
__contract__ (
50
+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
50
51
requires (memory_no_alias (state , sizeof (mlk_shake128ctx )))
51
52
requires (memory_no_alias (input , inlen ))
52
53
assigns (memory_slice (state , sizeof (mlk_shake128ctx )))
@@ -96,6 +97,8 @@ void mlk_shake128_release(mlk_shake128ctx *state);
96
97
void mlk_shake256 (uint8_t * output , size_t outlen , const uint8_t * input ,
97
98
size_t inlen )
98
99
__contract__ (
100
+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
101
+ requires (outlen <= MLK_MAX_BUFFER_SIZE )
99
102
requires (memory_no_alias (input , inlen ))
100
103
requires (memory_no_alias (output , outlen ))
101
104
assigns (memory_slice (output , outlen ))
@@ -116,6 +119,7 @@ __contract__(
116
119
**************************************************/
117
120
void mlk_sha3_256 (uint8_t * output , const uint8_t * input , size_t inlen )
118
121
__contract__ (
122
+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
119
123
requires (memory_no_alias (input , inlen ))
120
124
requires (memory_no_alias (output , SHA3_256_HASHBYTES ))
121
125
assigns (memory_slice (output , SHA3_256_HASHBYTES ))
@@ -136,6 +140,7 @@ __contract__(
136
140
**************************************************/
137
141
void mlk_sha3_512 (uint8_t * output , const uint8_t * input , size_t inlen )
138
142
__contract__ (
143
+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
139
144
requires (memory_no_alias (input , inlen ))
140
145
requires (memory_no_alias (output , SHA3_512_HASHBYTES ))
141
146
assigns (memory_slice (output , SHA3_512_HASHBYTES ))
0 commit comments