diff options
author | Linus Nordberg <linus@nordberg.se> | 2019-12-18 23:35:46 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2019-12-18 23:35:46 +0100 |
commit | bef34ab8ac602d36d86b4a3f3013b89e3e2e5402 (patch) | |
tree | 49e3d625c250f18b7704ac25537e2e96f46ebcda /src/cc20rng/cc20_prng.c | |
parent | 15f056ce2278c75f7eadb3a33ffe7de6c21ab3b4 (diff) |
Formatting cc20rng
Keep indentation level 2 in main.c to minimise changes.
Diffstat (limited to 'src/cc20rng/cc20_prng.c')
-rw-r--r-- | src/cc20rng/cc20_prng.c | 87 |
1 files changed, 45 insertions, 42 deletions
diff --git a/src/cc20rng/cc20_prng.c b/src/cc20rng/cc20_prng.c index 3d52fc6..50739bd 100644 --- a/src/cc20rng/cc20_prng.c +++ b/src/cc20rng/cc20_prng.c @@ -44,12 +44,13 @@ void _dump(struct cc20_state *cc, char *str); #endif -inline uint32_t rotl32 (uint32_t x, uint32_t n) +inline uint32_t rotl32(uint32_t x, uint32_t n) { return (x << n) | (x >> (32 - n)); } -inline void _qr(struct cc20_state *cc, uint32_t a, uint32_t b, uint32_t c, uint32_t d) +inline void _qr(struct cc20_state *cc, uint32_t a, uint32_t b, uint32_t c, + uint32_t d) { cc->i[a] += cc->i[b]; cc->i[d] ^= cc->i[a]; @@ -72,11 +73,12 @@ void chacha20_prng_reseed(struct cc20_state *cc, uint32_t *entropy) { uint32_t i = 256 / 8 / 4; while (i--) { - cc->i[i] = entropy[i]; + cc->i[i] = entropy[i]; } } -void chacha20_prng_block(struct cc20_state *cc, uint32_t block_counter, struct cc20_state *out) +void chacha20_prng_block(struct cc20_state *cc, uint32_t block_counter, + struct cc20_state *out) { uint32_t i; @@ -88,22 +90,22 @@ void chacha20_prng_block(struct cc20_state *cc, uint32_t block_counter, struct c cc->i[12] = block_counter; for (i = 4; i < CHACHA20_NUM_WORDS; i++) { - out->i[i] = cc->i[i]; + out->i[i] = cc->i[i]; } for (i = 10; i; i--) { - _qr(out, 0, 4, 8,12); - _qr(out, 1, 5, 9,13); - _qr(out, 2, 6,10,14); - _qr(out, 3, 7,11,15); - _qr(out, 0, 5,10,15); - _qr(out, 1, 6,11,12); - _qr(out, 2, 7, 8,13); - _qr(out, 3, 4, 9,14); + _qr(out, 0, 4, 8, 12); + _qr(out, 1, 5, 9, 13); + _qr(out, 2, 6, 10, 14); + _qr(out, 3, 7, 11, 15); + _qr(out, 0, 5, 10, 15); + _qr(out, 1, 6, 11, 12); + _qr(out, 2, 7, 8, 13); + _qr(out, 3, 4, 9, 14); } for (i = 0; i < CHACHA20_NUM_WORDS; i++) { - out->i[i] += cc->i[i]; + out->i[i] += cc->i[i]; } } @@ -119,11 +121,11 @@ int chacha20_prng_self_test1() 0x00000001, 0x09000000, 0x4a000000, 0x00000000, }}; struct cc20_state expected = { - {0xe4e7f110, 0x15593bd1, 0x1fdd0f50, 0xc47120a3, - 0xc7f4d1c7, 0x0368c033, 0x9aaa2204, 0x4e6cd4c3, - 0x466482d2, 0x09aa9f07, 0x05d7c214, 0xa2028bd9, - 0xd19c12b5, 0xb94e16de, 0xe883d0cb, 0x4e3c50a2, - }}; + {0xe4e7f110, 0x15593bd1, 0x1fdd0f50, 0xc47120a3, + 0xc7f4d1c7, 0x0368c033, 0x9aaa2204, 0x4e6cd4c3, + 0x466482d2, 0x09aa9f07, 0x05d7c214, 0xa2028bd9, + 0xd19c12b5, 0xb94e16de, 0xe883d0cb, 0x4e3c50a2, + }}; uint32_t i; struct cc20_state out; @@ -137,7 +139,8 @@ int chacha20_prng_self_test1() #endif for (i = 0; i < CHACHA20_NUM_WORDS; i++) { - if (out.i[i] != expected.i[i]) return 0; + if (out.i[i] != expected.i[i]) + return 0; } return 1; @@ -149,23 +152,23 @@ int chacha20_prng_self_test2() * https://tools.ietf.org/html/rfc7539#section-2.4.2 */ struct cc20_state test = { - {0x61707865, 0x3320646e, 0x79622d32, 0x6b206574, - 0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c, - 0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c, - 0x00000001, 0x00000000, 0x4a000000, 0x00000000, - }}; + {0x61707865, 0x3320646e, 0x79622d32, 0x6b206574, + 0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c, + 0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c, + 0x00000001, 0x00000000, 0x4a000000, 0x00000000, + }}; struct cc20_state expected1 = { - {0xf3514f22, 0xe1d91b40, 0x6f27de2f, 0xed1d63b8, - 0x821f138c, 0xe2062c3d, 0xecca4f7e, 0x78cff39e, - 0xa30a3b8a, 0x920a6072, 0xcd7479b5, 0x34932bed, - 0x40ba4c79, 0xcd343ec6, 0x4c2c21ea, 0xb7417df0, - }}; + {0xf3514f22, 0xe1d91b40, 0x6f27de2f, 0xed1d63b8, + 0x821f138c, 0xe2062c3d, 0xecca4f7e, 0x78cff39e, + 0xa30a3b8a, 0x920a6072, 0xcd7479b5, 0x34932bed, + 0x40ba4c79, 0xcd343ec6, 0x4c2c21ea, 0xb7417df0, + }}; struct cc20_state expected2 = { - {0x9f74a669, 0x410f633f, 0x28feca22, 0x7ec44dec, - 0x6d34d426, 0x738cb970, 0x3ac5e9f3, 0x45590cc4, - 0xda6e8b39, 0x892c831a, 0xcdea67c1, 0x2b7e1d90, - 0x037463f3, 0xa11a2073, 0xe8bcfb88, 0xedc49139, - }}; + {0x9f74a669, 0x410f633f, 0x28feca22, 0x7ec44dec, + 0x6d34d426, 0x738cb970, 0x3ac5e9f3, 0x45590cc4, + 0xda6e8b39, 0x892c831a, 0xcdea67c1, 0x2b7e1d90, + 0x037463f3, 0xa11a2073, 0xe8bcfb88, 0xedc49139, + }}; struct cc20_state out; uint32_t i; @@ -178,7 +181,8 @@ int chacha20_prng_self_test2() _dump(&out, "First block"); #endif for (i = 0; i < CHACHA20_NUM_WORDS; i++) { - if (out.i[i] != expected1.i[i]) return 0; + if (out.i[i] != expected1.i[i]) + return 0; } chacha20_prng_block(&test, 2, &out); @@ -186,7 +190,8 @@ int chacha20_prng_self_test2() _dump(&out, "Second block"); #endif for (i = 0; i < CHACHA20_NUM_WORDS; i++) { - if (out.i[i] != expected2.i[i]) return 0; + if (out.i[i] != expected2.i[i]) + return 0; } return 1; @@ -201,8 +206,8 @@ void _dump(struct cc20_state *cc, char *str) printf("%s\n", str); for (i = 0; i < 4; i++) { - printf("%02i %08x %08x %08x %08x\n", i * 4, cc->i[i * 4 + 0], - cc->i[i * 4 + 1], cc->i[i * 4 + 2], cc->i[i * 4 + 3]); + printf("%02i %08x %08x %08x %08x\n", i * 4, cc->i[i * 4 + 0], + cc->i[i * 4 + 1], cc->i[i * 4 + 2], cc->i[i * 4 + 3]); } printf("\n"); } @@ -213,7 +218,5 @@ void _dump(struct cc20_state *cc, char *str) */ int chacha20_prng_self_test() { - return \ - chacha20_prng_self_test1() && \ - chacha20_prng_self_test2(); + return chacha20_prng_self_test1() && chacha20_prng_self_test2(); } |