This commit is contained in:
Markku-Juhani O. Saarinen
2016-03-23 15:09:21 +00:00
parent cc3d33a961
commit 3b1513ec11
3 changed files with 41 additions and 6 deletions

12
sha3.c
View File

@@ -8,7 +8,7 @@
// update the state with given number of rounds
static void sha3_keccakf(uint64_t st[25], int rounds)
void sha3_keccakf(uint64_t st[25])
{
// constants
const uint64_t keccakf_rndc[24] = {
@@ -48,7 +48,7 @@ static void sha3_keccakf(uint64_t st[25], int rounds)
#endif
// actual iteration
for (r = 0; r < rounds; r++) {
for (r = 0; r < KECCAKF_ROUNDS; r++) {
// Theta
for (i = 0; i < 5; i++)
@@ -124,7 +124,7 @@ int sha3_update(sha3_ctx_t *c, const void *data, size_t len)
for (i = 0; i < len; i++) {
c->st.b[j++] ^= ((const uint8_t *) data)[i];
if (j >= c->rsiz) {
sha3_keccakf(c->st.q, KECCAKF_ROUNDS);
sha3_keccakf(c->st.q);
j = 0;
}
}
@@ -141,7 +141,7 @@ int sha3_final(void *md, sha3_ctx_t *c)
c->st.b[c->pt] ^= 0x06;
c->st.b[c->rsiz - 1] ^= 0x80;
sha3_keccakf(c->st.q, KECCAKF_ROUNDS);
sha3_keccakf(c->st.q);
for (i = 0; i < c->mdlen; i++) {
((uint8_t *) md)[i] = c->st.b[i];
@@ -169,7 +169,7 @@ void shake_xof(sha3_ctx_t *c)
{
c->st.b[c->pt] ^= 0x1F;
c->st.b[c->rsiz - 1] ^= 0x80;
sha3_keccakf(c->st.q, KECCAKF_ROUNDS);
sha3_keccakf(c->st.q);
c->pt = 0;
}
@@ -181,7 +181,7 @@ void shake_out(sha3_ctx_t *c, void *out, size_t len)
j = c->pt;
for (i = 0; i < len; i++) {
if (j >= c->rsiz) {
sha3_keccakf(c->st.q, KECCAKF_ROUNDS);
sha3_keccakf(c->st.q);
j = 0;
}
((uint8_t *) out)[i] = c->st.b[j++];