diff --git a/crypto_kem/kyber1024/clean/symmetric-fips202.c b/crypto_kem/kyber1024/clean/symmetric-fips202.c index b1dbf478..8b5c7d8d 100644 --- a/crypto_kem/kyber1024/clean/symmetric-fips202.c +++ b/crypto_kem/kyber1024/clean/symmetric-fips202.c @@ -13,7 +13,7 @@ * - unsigned char i additional byte of input * - unsigned char j additional byte of input **************************************************/ -void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y) { +void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y) { unsigned char extseed[KYBER_SYMBYTES + 2]; int i; @@ -22,7 +22,7 @@ void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsign } extseed[i++] = x; extseed[i] = y; - shake128_absorb(s->s, extseed, KYBER_SYMBYTES + 2); + shake128_absorb(s, extseed, KYBER_SYMBYTES + 2); } /************************************************* @@ -34,10 +34,10 @@ void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsign * * Arguments: - unsigned char *output: pointer to output blocks * - size_t nblocks: number of blocks to be squeezed (written to output) -* - keccak_state *s: pointer to in/output Keccak state +* - shake128ctx *s: pointer to in/output Keccak state **************************************************/ -void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s) { - shake128_squeezeblocks(output, nblocks, s->s); +void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s) { + shake128_squeezeblocks(output, nblocks, s); } /************************************************* diff --git a/crypto_kem/kyber1024/clean/symmetric.h b/crypto_kem/kyber1024/clean/symmetric.h index c67fbd6a..e79560e3 100644 --- a/crypto_kem/kyber1024/clean/symmetric.h +++ b/crypto_kem/kyber1024/clean/symmetric.h @@ -6,12 +6,8 @@ #include -typedef struct { - uint64_t s[25]; -} keccak_state; - -void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y); -void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s); +void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y); +void PQCLEAN_KYBER1024_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s); void PQCLEAN_KYBER1024_CLEAN_shake256_prf(unsigned char *output, size_t outlen, const unsigned char *key, unsigned char nonce); #define hash_h(OUT, IN, INBYTES) sha3_256(OUT, IN, INBYTES) @@ -23,6 +19,6 @@ void PQCLEAN_KYBER1024_CLEAN_shake256_prf(unsigned char *output, size_t outlen, #define XOF_BLOCKBYTES 168 -typedef keccak_state xof_state; +typedef shake128ctx xof_state; #endif /* SYMMETRIC_H */ diff --git a/crypto_kem/kyber512/clean/symmetric-fips202.c b/crypto_kem/kyber512/clean/symmetric-fips202.c index 345cebb4..cb17e0c2 100644 --- a/crypto_kem/kyber512/clean/symmetric-fips202.c +++ b/crypto_kem/kyber512/clean/symmetric-fips202.c @@ -8,12 +8,12 @@ * * Description: Absorb step of the SHAKE128 specialized for the Kyber context. * -* Arguments: - uint64_t *s: pointer to (uninitialized) output Keccak state +* Arguments: - shake128ctx *s: pointer to (uninitialized) output Keccak state * - const unsigned char *input: pointer to KYBER_SYMBYTES input to be absorbed into s * - unsigned char i additional byte of input * - unsigned char j additional byte of input **************************************************/ -void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y) { +void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y) { unsigned char extseed[KYBER_SYMBYTES + 2]; int i; @@ -22,7 +22,7 @@ void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigne } extseed[i++] = x; extseed[i] = y; - shake128_absorb(s->s, extseed, KYBER_SYMBYTES + 2); + shake128_absorb(s, extseed, KYBER_SYMBYTES + 2); } /************************************************* @@ -34,10 +34,10 @@ void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigne * * Arguments: - unsigned char *output: pointer to output blocks * - size_t nblocks: number of blocks to be squeezed (written to output) -* - keccak_state *s: pointer to in/output Keccak state +* - shake128ctx *s: pointer to in/output Keccak state **************************************************/ -void PQCLEAN_KYBER512_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s) { - shake128_squeezeblocks(output, nblocks, s->s); +void PQCLEAN_KYBER512_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s) { + shake128_squeezeblocks(output, nblocks, s); } /************************************************* diff --git a/crypto_kem/kyber512/clean/symmetric.h b/crypto_kem/kyber512/clean/symmetric.h index b0f61aeb..7ad121e1 100644 --- a/crypto_kem/kyber512/clean/symmetric.h +++ b/crypto_kem/kyber512/clean/symmetric.h @@ -4,12 +4,8 @@ #include "fips202.h" #include "params.h" -typedef struct { - uint64_t s[25]; -} keccak_state; - -void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y); -void PQCLEAN_KYBER512_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s); +void PQCLEAN_KYBER512_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y); +void PQCLEAN_KYBER512_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s); void PQCLEAN_KYBER512_CLEAN_shake256_prf(unsigned char *output, size_t outlen, const unsigned char *key, unsigned char nonce); #define hash_h(OUT, IN, INBYTES) sha3_256(OUT, IN, INBYTES) @@ -21,6 +17,6 @@ void PQCLEAN_KYBER512_CLEAN_shake256_prf(unsigned char *output, size_t outlen, c #define XOF_BLOCKBYTES 168 -typedef keccak_state xof_state; +typedef shake128ctx xof_state; #endif /* SYMMETRIC_H */ diff --git a/crypto_kem/kyber768/clean/symmetric-fips202.c b/crypto_kem/kyber768/clean/symmetric-fips202.c index 3d4e858c..c9e16068 100644 --- a/crypto_kem/kyber768/clean/symmetric-fips202.c +++ b/crypto_kem/kyber768/clean/symmetric-fips202.c @@ -8,12 +8,12 @@ * * Description: Absorb step of the SHAKE128 specialized for the Kyber context. * -* Arguments: - uint64_t *s: pointer to (uninitialized) output Keccak state +* Arguments: - shake128ctx *s: pointer to (uninitialized) output Keccak state * - const unsigned char *input: pointer to KYBER_SYMBYTES input to be absorbed into s * - unsigned char i additional byte of input * - unsigned char j additional byte of input **************************************************/ -void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y) { +void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y) { unsigned char extseed[KYBER_SYMBYTES + 2]; int i; @@ -22,7 +22,7 @@ void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigne } extseed[i++] = x; extseed[i] = y; - shake128_absorb(s->s, extseed, KYBER_SYMBYTES + 2); + shake128_absorb(s, extseed, KYBER_SYMBYTES + 2); } /************************************************* @@ -34,10 +34,10 @@ void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigne * * Arguments: - unsigned char *output: pointer to output blocks * - size_t nblocks: number of blocks to be squeezed (written to output) -* - keccak_state *s: pointer to in/output Keccak state +* - shake128ctx *s: pointer to in/output Keccak state **************************************************/ -void PQCLEAN_KYBER768_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s) { - shake128_squeezeblocks(output, nblocks, s->s); +void PQCLEAN_KYBER768_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s) { + shake128_squeezeblocks(output, nblocks, s); } /************************************************* diff --git a/crypto_kem/kyber768/clean/symmetric.h b/crypto_kem/kyber768/clean/symmetric.h index 7cdff295..b2c5126a 100644 --- a/crypto_kem/kyber768/clean/symmetric.h +++ b/crypto_kem/kyber768/clean/symmetric.h @@ -4,12 +4,8 @@ #include "fips202.h" #include "params.h" -typedef struct { - uint64_t s[25]; -} keccak_state; - -void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(keccak_state *s, const unsigned char *input, unsigned char x, unsigned char y); -void PQCLEAN_KYBER768_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, keccak_state *s); +void PQCLEAN_KYBER768_CLEAN_kyber_shake128_absorb(shake128ctx *s, const unsigned char *input, unsigned char x, unsigned char y); +void PQCLEAN_KYBER768_CLEAN_kyber_shake128_squeezeblocks(unsigned char *output, size_t nblocks, shake128ctx *s); void PQCLEAN_KYBER768_CLEAN_shake256_prf(unsigned char *output, size_t outlen, const unsigned char *key, unsigned char nonce); #define hash_h(OUT, IN, INBYTES) sha3_256(OUT, IN, INBYTES) @@ -21,6 +17,6 @@ void PQCLEAN_KYBER768_CLEAN_shake256_prf(unsigned char *output, size_t outlen, c #define XOF_BLOCKBYTES 168 -typedef keccak_state xof_state; +typedef shake128ctx xof_state; #endif /* SYMMETRIC_H */