]> git.codecow.com Git - Monocypher.git/commitdiff
copying u32s manually is faster than memcpy
authorLoup Vaillant <loup@loup-vaillant.fr>
Thu, 8 Sep 2016 20:39:22 +0000 (22:39 +0200)
committerLoup Vaillant <loup@loup-vaillant.fr>
Thu, 8 Sep 2016 20:39:48 +0000 (22:39 +0200)
chacha20.c

index f5cca754ee0a1a603da147052685871f4e0ced24..96736c183fdc8fb5d4e64580704f312216068b24 100644 (file)
@@ -187,8 +187,14 @@ init_Xkey(crypto_chacha_ctx *output, const crypto_chacha_ctx *ctx)
     //
     // This lets us avoid a couple additional loads and additions,
     // for even moar speed.
-    memcpy(output->input + 4, buffer     , sizeof(uint32_t) * 4); // constant
-    memcpy(output->input + 8, buffer + 12, sizeof(uint32_t) * 4); // nonce, ctr
+    output->input[ 4] = buffer[ 0]; // constant
+    output->input[ 5] = buffer[ 1]; // constant
+    output->input[ 6] = buffer[ 2]; // constant
+    output->input[ 7] = buffer[ 3]; // constant
+    output->input[ 8] = buffer[12]; // nonce
+    output->input[ 9] = buffer[13]; // nonce
+    output->input[10] = buffer[14]; // counter
+    output->input[11] = buffer[15]; // counter
 }
 
 //////////////////////////////