@@ -426,16 +426,16 @@ int wc_MlKemKey_MakeKeyWithRandom(MlKemKey* key, const unsigned char* rand,
426426#ifndef WOLFSSL_MLKEM_MAKEKEY_SMALL_MEM
427427#ifndef WOLFSSL_MLKEM_CACHE_A
428428 /* e (v) | a (m) */
429- e = (sword16 * )XMALLOC ((k + 1 ) * k * MLKEM_N * sizeof (sword16 ),
429+ e = (sword16 * )XMALLOC ((( size_t ) k + 1 ) * ( size_t ) k * MLKEM_N * sizeof (sword16 ),
430430 key -> heap , DYNAMIC_TYPE_TMP_BUFFER );
431431#else
432432 /* e (v) */
433- e = (sword16 * )XMALLOC (k * MLKEM_N * sizeof (sword16 ),
433+ e = (sword16 * )XMALLOC (( size_t ) k * MLKEM_N * sizeof (sword16 ),
434434 key -> heap , DYNAMIC_TYPE_TMP_BUFFER );
435435#endif
436436#else
437437 /* e (v) */
438- e = (sword16 * )XMALLOC (k * MLKEM_N * sizeof (sword16 ),
438+ e = (sword16 * )XMALLOC (( size_t ) k * MLKEM_N * sizeof (sword16 ),
439439 key -> heap , DYNAMIC_TYPE_TMP_BUFFER );
440440#endif
441441 if (e == NULL ) {
@@ -467,7 +467,7 @@ int wc_MlKemKey_MakeKeyWithRandom(MlKemKey* key, const unsigned char* rand,
467467#endif
468468#ifndef WOLFSSL_NO_ML_KEM
469469 {
470- buf [0 ] = k ;
470+ buf [0 ] = ( byte ) k ;
471471 /* Expand 33 bytes of random to 32.
472472 * Alg 13: Step 1: (rho,sigma) <- G(d||k)
473473 */
@@ -663,7 +663,7 @@ static int mlkemkey_encapsulate(MlKemKey* key, const byte* m, byte* r, byte* c)
663663 sword16 * e1 = NULL ;
664664 sword16 * e2 = NULL ;
665665#endif
666- unsigned int k = 0 ;
666+ int k = 0 ;
667667 unsigned int compVecSz = 0 ;
668668#ifndef WOLFSSL_NO_MALLOC
669669 sword16 * y = NULL ;
@@ -729,10 +729,10 @@ static int mlkemkey_encapsulate(MlKemKey* key, const byte* m, byte* r, byte* c)
729729 if (ret == 0 ) {
730730 /* Allocate dynamic memory for all matrices, vectors and polynomials. */
731731#ifndef WOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM
732- y = (sword16 * )XMALLOC (((k + 3 ) * k + 3 ) * MLKEM_N * sizeof (sword16 ),
732+ y = (sword16 * )XMALLOC (((( size_t ) k + 3 ) * ( size_t ) k + 3 ) * MLKEM_N * sizeof (sword16 ),
733733 key -> heap , DYNAMIC_TYPE_TMP_BUFFER );
734734#else
735- y = (sword16 * )XMALLOC (3 * k * MLKEM_N * sizeof (sword16 ), key -> heap ,
735+ y = (sword16 * )XMALLOC (3 * ( size_t ) k * MLKEM_N * sizeof (sword16 ), key -> heap ,
736736 DYNAMIC_TYPE_TMP_BUFFER );
737737#endif
738738 if (y == NULL ) {
@@ -825,7 +825,7 @@ static int mlkemkey_encapsulate(MlKemKey* key, const byte* m, byte* r, byte* c)
825825 #if defined(WOLFSSL_KYBER512 ) || defined(WOLFSSL_WC_ML_KEM_512 )
826826 if (k == WC_ML_KEM_512_K ) {
827827 /* Step 22: c_1 <- ByteEncode_d_u(Compress_d_u(u)) */
828- mlkem_vec_compress_10 (c1 , u , k );
828+ mlkem_vec_compress_10 (c1 , u , ( unsigned ) k );
829829 /* Step 23: c_2 <- ByteEncode_d_v(Compress_d_v(v)) */
830830 mlkem_compress_4 (c2 , v );
831831 /* Step 24: return c <- (c_1||c_2) */
@@ -834,7 +834,7 @@ static int mlkemkey_encapsulate(MlKemKey* key, const byte* m, byte* r, byte* c)
834834 #if defined(WOLFSSL_KYBER768 ) || defined(WOLFSSL_WC_ML_KEM_768 )
835835 if (k == WC_ML_KEM_768_K ) {
836836 /* Step 22: c_1 <- ByteEncode_d_u(Compress_d_u(u)) */
837- mlkem_vec_compress_10 (c1 , u , k );
837+ mlkem_vec_compress_10 (c1 , u , ( unsigned ) k );
838838 /* Step 23: c_2 <- ByteEncode_d_v(Compress_d_v(v)) */
839839 mlkem_compress_4 (c2 , v );
840840 /* Step 24: return c <- (c_1||c_2) */
@@ -1148,7 +1148,7 @@ static MLKEM_NOINLINE int mlkemkey_decapsulate(MlKemKey* key, byte* m,
11481148 int ret = 0 ;
11491149 sword16 * v ;
11501150 sword16 * w ;
1151- unsigned int k = 0 ;
1151+ int k = 0 ;
11521152 unsigned int compVecSz ;
11531153#if defined(WOLFSSL_SMALL_STACK ) || \
11541154 (!defined(USE_INTEL_SPEEDUP ) && !defined(WOLFSSL_NO_MALLOC ))
@@ -1230,15 +1230,15 @@ static MLKEM_NOINLINE int mlkemkey_decapsulate(MlKemKey* key, byte* m,
12301230 #if defined(WOLFSSL_KYBER512 ) || defined(WOLFSSL_WC_ML_KEM_512 )
12311231 if (k == WC_ML_KEM_512_K ) {
12321232 /* Step 3: u' <= Decompress_d_u(ByteDecode_d_u(c1)) */
1233- mlkem_vec_decompress_10 (u , c1 , k );
1233+ mlkem_vec_decompress_10 (u , c1 , ( unsigned ) k );
12341234 /* Step 4: v' <= Decompress_d_v(ByteDecode_d_v(c2)) */
12351235 mlkem_decompress_4 (v , c2 );
12361236 }
12371237 #endif
12381238 #if defined(WOLFSSL_KYBER768 ) || defined(WOLFSSL_WC_ML_KEM_768 )
12391239 if (k == WC_ML_KEM_768_K ) {
12401240 /* Step 3: u' <= Decompress_d_u(ByteDecode_d_u(c1)) */
1241- mlkem_vec_decompress_10 (u , c1 , k );
1241+ mlkem_vec_decompress_10 (u , c1 , ( unsigned ) k );
12421242 /* Step 4: v' <= Decompress_d_v(ByteDecode_d_v(c2)) */
12431243 mlkem_decompress_4 (v , c2 );
12441244 }
@@ -1408,7 +1408,7 @@ int wc_MlKemKey_Decapsulate(MlKemKey* key, unsigned char* ss,
14081408 }
14091409 if (ret == 0 ) {
14101410 /* Compare generated cipher text with that passed in. */
1411- fail = mlkem_cmp (ct , cmp , ctSz );
1411+ fail = mlkem_cmp (ct , cmp , ( int ) ctSz );
14121412
14131413#if defined(WOLFSSL_MLKEM_KYBER ) && !defined(WOLFSSL_NO_ML_KEM )
14141414 if (key -> type & MLKEM_KYBER )
@@ -1437,7 +1437,7 @@ int wc_MlKemKey_Decapsulate(MlKemKey* key, unsigned char* ss,
14371437 if (ret == 0 ) {
14381438 /* Set secret to kr or fake secret on comparison failure. */
14391439 for (i = 0 ; i < WC_ML_KEM_SYM_SZ ; i ++ ) {
1440- ss [i ] = kr [i ] ^ ((kr [i ] ^ msg [i ]) & fail );
1440+ ss [i ] = ( byte )( kr [i ] ^ ((kr [i ] ^ msg [i ]) & fail ) );
14411441 }
14421442 }
14431443 }
@@ -1478,7 +1478,7 @@ static void mlkemkey_decode_public(sword16* pub, byte* pubSeed, const byte* p,
14781478
14791479 /* Decode public key that is vector of polynomials.
14801480 * Step 2: t <- ByteDecode_12(ek_PKE[0 : 384k]) */
1481- mlkem_from_bytes (pub , p , k );
1481+ mlkem_from_bytes (pub , p , ( int ) k );
14821482 p += k * WC_ML_KEM_POLY_SIZE ;
14831483
14841484 /* Read public key seed.
@@ -1594,7 +1594,7 @@ int wc_MlKemKey_DecodePrivateKey(MlKemKey* key, const unsigned char* in,
15941594 /* Decode private key that is vector of polynomials.
15951595 * Alg 18 Step 1: dk_PKE <- dk[0 : 384k]
15961596 * Alg 15 Step 5: s_hat <- ByteDecode_12(dk_PKE) */
1597- mlkem_from_bytes (key -> priv , p , k );
1597+ mlkem_from_bytes (key -> priv , p , ( int ) k );
15981598 p += k * WC_ML_KEM_POLY_SIZE ;
15991599
16001600 /* Decode the public key that is after the private key. */
@@ -1938,7 +1938,7 @@ int wc_MlKemKey_EncodePrivateKey(MlKemKey* key, unsigned char* out, word32 len)
19381938
19391939 if (ret == 0 ) {
19401940 /* Encode private key that is vector of polynomials. */
1941- mlkem_to_bytes (p , key -> priv , k );
1941+ mlkem_to_bytes (p , key -> priv , ( int ) k );
19421942 p += WC_ML_KEM_POLY_SIZE * k ;
19431943
19441944 /* Encode public key. */
@@ -2055,7 +2055,7 @@ int wc_MlKemKey_EncodePublicKey(MlKemKey* key, unsigned char* out, word32 len)
20552055 int i ;
20562056
20572057 /* Encode public key polynomial by polynomial. */
2058- mlkem_to_bytes (p , key -> pub , k );
2058+ mlkem_to_bytes (p , key -> pub , ( int ) k );
20592059 p += k * WC_ML_KEM_POLY_SIZE ;
20602060
20612061 /* Append public seed. */
0 commit comments