summaryrefslogtreecommitdiff
path: root/libs/libsodium/src/crypto_core/hchacha20
diff options
context:
space:
mode:
authordartraiden <wowemuh@gmail.com>2023-09-14 22:53:45 +0300
committerdartraiden <wowemuh@gmail.com>2023-09-14 22:53:45 +0300
commitc400f5c17af4996eb2ecf0597e17eb25c17857d8 (patch)
treec895207a210e5538c491ba9fc15ee0f28780a7f6 /libs/libsodium/src/crypto_core/hchacha20
parentcd3146d46f9b9e24065b9ec31d963d52da3cdcbe (diff)
libsodium: update to 1.0.19
Diffstat (limited to 'libs/libsodium/src/crypto_core/hchacha20')
-rw-r--r--libs/libsodium/src/crypto_core/hchacha20/core_hchacha20.c186
1 files changed, 93 insertions, 93 deletions
diff --git a/libs/libsodium/src/crypto_core/hchacha20/core_hchacha20.c b/libs/libsodium/src/crypto_core/hchacha20/core_hchacha20.c
index 39ab26a6da..84d3dc61b5 100644
--- a/libs/libsodium/src/crypto_core/hchacha20/core_hchacha20.c
+++ b/libs/libsodium/src/crypto_core/hchacha20/core_hchacha20.c
@@ -1,93 +1,93 @@
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#include "crypto_core_hchacha20.h"
-#include "private/common.h"
-
-#define QUARTERROUND(A, B, C, D) \
- do { \
- A += B; D = ROTL32(D ^ A, 16); \
- C += D; B = ROTL32(B ^ C, 12); \
- A += B; D = ROTL32(D ^ A, 8); \
- C += D; B = ROTL32(B ^ C, 7); \
- } while(0)
-
-int
-crypto_core_hchacha20(unsigned char *out, const unsigned char *in,
- const unsigned char *k, const unsigned char *c)
-{
- int i;
- uint32_t x0, x1, x2, x3, x4, x5, x6, x7;
- uint32_t x8, x9, x10, x11, x12, x13, x14, x15;
-
- if (c == NULL) {
- x0 = 0x61707865;
- x1 = 0x3320646e;
- x2 = 0x79622d32;
- x3 = 0x6b206574;
- } else {
- x0 = LOAD32_LE(c + 0);
- x1 = LOAD32_LE(c + 4);
- x2 = LOAD32_LE(c + 8);
- x3 = LOAD32_LE(c + 12);
- }
- x4 = LOAD32_LE(k + 0);
- x5 = LOAD32_LE(k + 4);
- x6 = LOAD32_LE(k + 8);
- x7 = LOAD32_LE(k + 12);
- x8 = LOAD32_LE(k + 16);
- x9 = LOAD32_LE(k + 20);
- x10 = LOAD32_LE(k + 24);
- x11 = LOAD32_LE(k + 28);
- x12 = LOAD32_LE(in + 0);
- x13 = LOAD32_LE(in + 4);
- x14 = LOAD32_LE(in + 8);
- x15 = LOAD32_LE(in + 12);
-
- for (i = 0; i < 10; i++) {
- QUARTERROUND(x0, x4, x8, x12);
- QUARTERROUND(x1, x5, x9, x13);
- QUARTERROUND(x2, x6, x10, x14);
- QUARTERROUND(x3, x7, x11, x15);
- QUARTERROUND(x0, x5, x10, x15);
- QUARTERROUND(x1, x6, x11, x12);
- QUARTERROUND(x2, x7, x8, x13);
- QUARTERROUND(x3, x4, x9, x14);
- }
-
- STORE32_LE(out + 0, x0);
- STORE32_LE(out + 4, x1);
- STORE32_LE(out + 8, x2);
- STORE32_LE(out + 12, x3);
- STORE32_LE(out + 16, x12);
- STORE32_LE(out + 20, x13);
- STORE32_LE(out + 24, x14);
- STORE32_LE(out + 28, x15);
-
- return 0;
-}
-
-size_t
-crypto_core_hchacha20_outputbytes(void)
-{
- return crypto_core_hchacha20_OUTPUTBYTES;
-}
-
-size_t
-crypto_core_hchacha20_inputbytes(void)
-{
- return crypto_core_hchacha20_INPUTBYTES;
-}
-
-size_t
-crypto_core_hchacha20_keybytes(void)
-{
- return crypto_core_hchacha20_KEYBYTES;
-}
-
-size_t
-crypto_core_hchacha20_constbytes(void)
-{
- return crypto_core_hchacha20_CONSTBYTES;
-}
+
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "crypto_core_hchacha20.h"
+#include "private/common.h"
+
+#define QUARTERROUND(A, B, C, D) \
+ do { \
+ A += B; D = ROTL32(D ^ A, 16); \
+ C += D; B = ROTL32(B ^ C, 12); \
+ A += B; D = ROTL32(D ^ A, 8); \
+ C += D; B = ROTL32(B ^ C, 7); \
+ } while(0)
+
+int
+crypto_core_hchacha20(unsigned char *out, const unsigned char *in,
+ const unsigned char *k, const unsigned char *c)
+{
+ int i;
+ uint32_t x0, x1, x2, x3, x4, x5, x6, x7;
+ uint32_t x8, x9, x10, x11, x12, x13, x14, x15;
+
+ if (c == NULL) {
+ x0 = 0x61707865;
+ x1 = 0x3320646e;
+ x2 = 0x79622d32;
+ x3 = 0x6b206574;
+ } else {
+ x0 = LOAD32_LE(c + 0);
+ x1 = LOAD32_LE(c + 4);
+ x2 = LOAD32_LE(c + 8);
+ x3 = LOAD32_LE(c + 12);
+ }
+ x4 = LOAD32_LE(k + 0);
+ x5 = LOAD32_LE(k + 4);
+ x6 = LOAD32_LE(k + 8);
+ x7 = LOAD32_LE(k + 12);
+ x8 = LOAD32_LE(k + 16);
+ x9 = LOAD32_LE(k + 20);
+ x10 = LOAD32_LE(k + 24);
+ x11 = LOAD32_LE(k + 28);
+ x12 = LOAD32_LE(in + 0);
+ x13 = LOAD32_LE(in + 4);
+ x14 = LOAD32_LE(in + 8);
+ x15 = LOAD32_LE(in + 12);
+
+ for (i = 0; i < 10; i++) {
+ QUARTERROUND(x0, x4, x8, x12);
+ QUARTERROUND(x1, x5, x9, x13);
+ QUARTERROUND(x2, x6, x10, x14);
+ QUARTERROUND(x3, x7, x11, x15);
+ QUARTERROUND(x0, x5, x10, x15);
+ QUARTERROUND(x1, x6, x11, x12);
+ QUARTERROUND(x2, x7, x8, x13);
+ QUARTERROUND(x3, x4, x9, x14);
+ }
+
+ STORE32_LE(out + 0, x0);
+ STORE32_LE(out + 4, x1);
+ STORE32_LE(out + 8, x2);
+ STORE32_LE(out + 12, x3);
+ STORE32_LE(out + 16, x12);
+ STORE32_LE(out + 20, x13);
+ STORE32_LE(out + 24, x14);
+ STORE32_LE(out + 28, x15);
+
+ return 0;
+}
+
+size_t
+crypto_core_hchacha20_outputbytes(void)
+{
+ return crypto_core_hchacha20_OUTPUTBYTES;
+}
+
+size_t
+crypto_core_hchacha20_inputbytes(void)
+{
+ return crypto_core_hchacha20_INPUTBYTES;
+}
+
+size_t
+crypto_core_hchacha20_keybytes(void)
+{
+ return crypto_core_hchacha20_KEYBYTES;
+}
+
+size_t
+crypto_core_hchacha20_constbytes(void)
+{
+ return crypto_core_hchacha20_CONSTBYTES;
+}