@@ -47,6 +47,7 @@ typedef struct
4747void mlk_shake128_absorb_once (mlk_shake128ctx * state , const uint8_t * input ,
4848 size_t inlen )
4949__contract__ (
50+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
5051 requires (memory_no_alias (state , sizeof (mlk_shake128ctx )))
5152 requires (memory_no_alias (input , inlen ))
5253 assigns (memory_slice (state , sizeof (mlk_shake128ctx )))
@@ -96,6 +97,8 @@ void mlk_shake128_release(mlk_shake128ctx *state);
9697void mlk_shake256 (uint8_t * output , size_t outlen , const uint8_t * input ,
9798 size_t inlen )
9899__contract__ (
100+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
101+ requires (outlen <= MLK_MAX_BUFFER_SIZE )
99102 requires (memory_no_alias (input , inlen ))
100103 requires (memory_no_alias (output , outlen ))
101104 assigns (memory_slice (output , outlen ))
@@ -116,6 +119,7 @@ __contract__(
116119 **************************************************/
117120void mlk_sha3_256 (uint8_t * output , const uint8_t * input , size_t inlen )
118121__contract__ (
122+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
119123 requires (memory_no_alias (input , inlen ))
120124 requires (memory_no_alias (output , SHA3_256_HASHBYTES ))
121125 assigns (memory_slice (output , SHA3_256_HASHBYTES ))
@@ -136,6 +140,7 @@ __contract__(
136140 **************************************************/
137141void mlk_sha3_512 (uint8_t * output , const uint8_t * input , size_t inlen )
138142__contract__ (
143+ requires (inlen <= MLK_MAX_BUFFER_SIZE )
139144 requires (memory_no_alias (input , inlen ))
140145 requires (memory_no_alias (output , SHA3_512_HASHBYTES ))
141146 assigns (memory_slice (output , SHA3_512_HASHBYTES ))
0 commit comments