diff options
Diffstat (limited to 'crypto/ChaCha20')
-rw-r--r-- | crypto/ChaCha20/chacha20.c | 29 | ||||
-rw-r--r-- | crypto/ChaCha20/chacha20.h | 15 |
2 files changed, 0 insertions, 44 deletions
diff --git a/crypto/ChaCha20/chacha20.c b/crypto/ChaCha20/chacha20.c deleted file mode 100644 index 5bf7aa2..0000000 --- a/crypto/ChaCha20/chacha20.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "chacha20.h" - -#define ROTL(a, b) (((a) << (b)) | ((a) >> (32 - (b)))) -#define QR(a, b, c, d) \ - (a += b, d ^= a, d = ROTL(d, 16), c += d, b ^= c, b = ROTL(b, 12), \ - a += b, d ^= a, d = ROTL(d, 8), c += d, b ^= c, b = ROTL(b, 7)) -#define ROUNDS 20 - -void chacha_block(uint32_t out[16], uint32_t const in[16]) -{ - int i; - uint32_t x[16]; - - for (i = 0; i < 16; ++i) - x[i] = in[i]; - for (i = 0; i < ROUNDS; i += 2) { - QR(x[0], x[4], x[8], x[12]); - QR(x[1], x[5], x[9], x[13]); - QR(x[2], x[6], x[10], x[14]); - QR(x[3], x[7], x[11], x[15]); - - QR(x[0], x[5], x[10], x[15]); - QR(x[1], x[6], x[11], x[12]); - QR(x[2], x[7], x[8], x[13]); - QR(x[3], x[4], x[9], x[14]); - } - for (i = 0; i < 16; ++i) - out[i] = x[i] + in[i]; -} diff --git a/crypto/ChaCha20/chacha20.h b/crypto/ChaCha20/chacha20.h deleted file mode 100644 index 17532f3..0000000 --- a/crypto/ChaCha20/chacha20.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef CHACHA20_H -#define CHACHA20_H -#include <stdint.h> - -#define KEY 4 -#define KEY_SIZE 8*sizeof(uint32_t) -#define COUNT 12 -#define COUNT_SIZE sizeof(uint32_t) -#define COUNT_MAX (0x100000000-1) // 2^32 - 1 -#define NONCE 13 -#define NONCE_SIZE 2*sizeof(uint32_t) -#define BLOCK_SIZE 16*sizeof(uint32_t) - -void chacha_block(uint32_t out[16], uint32_t const in[16]); -#endif |