diff --git a/AES128_8cpp_source.html b/AES128_8cpp_source.html
index cee8d34b..9bc0b6ed 100644
--- a/AES128_8cpp_source.html
+++ b/AES128_8cpp_source.html
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AES192_8cpp_source.html b/AES192_8cpp_source.html
index aa5b28f3..ca2b3d13 100644
--- a/AES192_8cpp_source.html
+++ b/AES192_8cpp_source.html
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AES256_8cpp_source.html b/AES256_8cpp_source.html
index 39d94062..01e98e6c 100644
--- a/AES256_8cpp_source.html
+++ b/AES256_8cpp_source.html
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AESCommon_8cpp_source.html b/AESCommon_8cpp_source.html
index a0d3de3d..26dfbdcc 100644
--- a/AESCommon_8cpp_source.html
+++ b/AESCommon_8cpp_source.html
@@ -415,7 +415,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AES_8h_source.html b/AES_8h_source.html
index 655e2117..f8ec2aaf 100644
--- a/AES_8h_source.html
+++ b/AES_8h_source.html
@@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AuthenticatedCipher_8cpp_source.html b/AuthenticatedCipher_8cpp_source.html
index 7989cdf1..f2799e3a 100644
--- a/AuthenticatedCipher_8cpp_source.html
+++ b/AuthenticatedCipher_8cpp_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/AuthenticatedCipher_8h_source.html b/AuthenticatedCipher_8h_source.html
index 92dd9600..b6e7d30c 100644
--- a/AuthenticatedCipher_8h_source.html
+++ b/AuthenticatedCipher_8h_source.html
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BLAKE2b_8cpp_source.html b/BLAKE2b_8cpp_source.html
index 3f96a53a..35e61732 100644
--- a/BLAKE2b_8cpp_source.html
+++ b/BLAKE2b_8cpp_source.html
@@ -365,7 +365,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BLAKE2b_8h_source.html b/BLAKE2b_8h_source.html
index d4b4f891..4d757b3b 100644
--- a/BLAKE2b_8h_source.html
+++ b/BLAKE2b_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BLAKE2s_8cpp_source.html b/BLAKE2s_8cpp_source.html
index d9c4a642..ad5441ab 100644
--- a/BLAKE2s_8cpp_source.html
+++ b/BLAKE2s_8cpp_source.html
@@ -356,7 +356,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BLAKE2s_8h_source.html b/BLAKE2s_8h_source.html
index 706529ae..3305324c 100644
--- a/BLAKE2s_8h_source.html
+++ b/BLAKE2s_8h_source.html
@@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BigNumberUtil_8cpp_source.html b/BigNumberUtil_8cpp_source.html
index 2b8cf073..9fbf18d5 100644
--- a/BigNumberUtil_8cpp_source.html
+++ b/BigNumberUtil_8cpp_source.html
@@ -682,7 +682,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BigNumberUtil_8h_source.html b/BigNumberUtil_8h_source.html
index bb83e832..8522a2d9 100644
--- a/BigNumberUtil_8h_source.html
+++ b/BigNumberUtil_8h_source.html
@@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Bitmap_8cpp_source.html b/Bitmap_8cpp_source.html
index 6224ce00..375846cf 100644
--- a/Bitmap_8cpp_source.html
+++ b/Bitmap_8cpp_source.html
@@ -694,7 +694,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Bitmap_8h_source.html b/Bitmap_8h_source.html
index 16f2c32b..6f46984c 100644
--- a/Bitmap_8h_source.html
+++ b/Bitmap_8h_source.html
@@ -271,7 +271,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BlinkLED_8cpp_source.html b/BlinkLED_8cpp_source.html
index d265ef39..e33d3fd5 100644
--- a/BlinkLED_8cpp_source.html
+++ b/BlinkLED_8cpp_source.html
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BlinkLED_8h_source.html b/BlinkLED_8h_source.html
index a1291142..8e469a9f 100644
--- a/BlinkLED_8h_source.html
+++ b/BlinkLED_8h_source.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BlockCipher_8cpp_source.html b/BlockCipher_8cpp_source.html
index 71457f26..3b30cf96 100644
--- a/BlockCipher_8cpp_source.html
+++ b/BlockCipher_8cpp_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BlockCipher_8h_source.html b/BlockCipher_8h_source.html
index 4e978250..3003850a 100644
--- a/BlockCipher_8h_source.html
+++ b/BlockCipher_8h_source.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BoolField_8cpp_source.html b/BoolField_8cpp_source.html
index 084a496b..ecb33407 100644
--- a/BoolField_8cpp_source.html
+++ b/BoolField_8cpp_source.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/BoolField_8h_source.html b/BoolField_8h_source.html
index 3a999791..5a491970 100644
--- a/BoolField_8h_source.html
+++ b/BoolField_8h_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CBC_8cpp_source.html b/CBC_8cpp_source.html
index b02524ce..898e349d 100644
--- a/CBC_8cpp_source.html
+++ b/CBC_8cpp_source.html
@@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CBC_8h_source.html b/CBC_8h_source.html
index 89afb4c4..7a110e78 100644
--- a/CBC_8h_source.html
+++ b/CBC_8h_source.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CFB_8cpp_source.html b/CFB_8cpp_source.html
index 2ec112fb..512c3002 100644
--- a/CFB_8cpp_source.html
+++ b/CFB_8cpp_source.html
@@ -233,7 +233,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CFB_8h_source.html b/CFB_8h_source.html
index 89911f69..d17d1e59 100644
--- a/CFB_8h_source.html
+++ b/CFB_8h_source.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CTR_8cpp_source.html b/CTR_8cpp_source.html
index f692c1ad..81efd47d 100644
--- a/CTR_8cpp_source.html
+++ b/CTR_8cpp_source.html
@@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/CTR_8h_source.html b/CTR_8h_source.html
index 7b9183ab..4e44d9a8 100644
--- a/CTR_8h_source.html
+++ b/CTR_8h_source.html
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaChaPoly_8cpp_source.html b/ChaChaPoly_8cpp_source.html
index 99e6caa0..42a0559c 100644
--- a/ChaChaPoly_8cpp_source.html
+++ b/ChaChaPoly_8cpp_source.html
@@ -263,7 +263,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaChaPoly_8h_source.html b/ChaChaPoly_8h_source.html
index 40a1491b..0e925c4f 100644
--- a/ChaChaPoly_8h_source.html
+++ b/ChaChaPoly_8h_source.html
@@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaCha_8cpp_source.html b/ChaCha_8cpp_source.html
index 41c12b59..c69511da 100644
--- a/ChaCha_8cpp_source.html
+++ b/ChaCha_8cpp_source.html
@@ -311,7 +311,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaCha_8h_source.html b/ChaCha_8h_source.html
index f5adf39e..d78f80d2 100644
--- a/ChaCha_8h_source.html
+++ b/ChaCha_8h_source.html
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Charlieplex_8cpp_source.html b/Charlieplex_8cpp_source.html
index 58c87903..a6eb6e81 100644
--- a/Charlieplex_8cpp_source.html
+++ b/Charlieplex_8cpp_source.html
@@ -232,7 +232,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Charlieplex_8h_source.html b/Charlieplex_8h_source.html
index 8c5e3bac..ba8a0dd7 100644
--- a/Charlieplex_8h_source.html
+++ b/Charlieplex_8h_source.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaseLEDs_8cpp_source.html b/ChaseLEDs_8cpp_source.html
index a6c86104..87d811f9 100644
--- a/ChaseLEDs_8cpp_source.html
+++ b/ChaseLEDs_8cpp_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ChaseLEDs_8h_source.html b/ChaseLEDs_8h_source.html
index e04351e6..adf129d3 100644
--- a/ChaseLEDs_8h_source.html
+++ b/ChaseLEDs_8h_source.html
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Cipher_8cpp_source.html b/Cipher_8cpp_source.html
index dcb01cae..e22713eb 100644
--- a/Cipher_8cpp_source.html
+++ b/Cipher_8cpp_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Cipher_8h_source.html b/Cipher_8h_source.html
index 258ca000..cc916724 100644
--- a/Cipher_8h_source.html
+++ b/Cipher_8h_source.html
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Crypto_8cpp_source.html b/Crypto_8cpp_source.html
index 88b68db1..2166efe1 100644
--- a/Crypto_8cpp_source.html
+++ b/Crypto_8cpp_source.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Crypto_8h_source.html b/Crypto_8h_source.html
index 7d6c092b..ca34904f 100644
--- a/Crypto_8h_source.html
+++ b/Crypto_8h_source.html
@@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Curve25519_8cpp_source.html b/Curve25519_8cpp_source.html
index 5e8f697a..f9b010bd 100644
--- a/Curve25519_8cpp_source.html
+++ b/Curve25519_8cpp_source.html
@@ -118,1346 +118,1347 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- 46 #define CURVE25519_ASM_AVR 1
-
-
-
-
-
-
-
- 54 #if defined(CURVE25519_STRICT_CLEAN)
- 55 #define strict_clean(x) clean(x)
-
- 57 #define strict_clean(x) do { ; } while (0)
-
-
-
-
- 81 limb_t x_1[NUM_LIMBS_256BIT];
- 82 limb_t x_2[NUM_LIMBS_256BIT];
- 83 limb_t x_3[NUM_LIMBS_256BIT];
- 84 limb_t z_2[NUM_LIMBS_256BIT];
- 85 limb_t z_3[NUM_LIMBS_256BIT];
- 86 limb_t A[NUM_LIMBS_256BIT];
- 87 limb_t B[NUM_LIMBS_256BIT];
- 88 limb_t C[NUM_LIMBS_256BIT];
- 89 limb_t D[NUM_LIMBS_256BIT];
- 90 limb_t E[NUM_LIMBS_256BIT];
- 91 limb_t AA[NUM_LIMBS_256BIT];
- 92 limb_t BB[NUM_LIMBS_256BIT];
- 93 limb_t DA[NUM_LIMBS_256BIT];
- 94 limb_t CB[NUM_LIMBS_256BIT];
-
-
-
-
-
-
-
-
-
-
-
- 106 x_1[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
-
- 108 memset(x_1, 0,
sizeof(x_1));
-
-
-
-
-
-
-
-
-
-
- 119 retval = (bool)(reduceQuick(x_1) & 0x01);
-
-
- 122 memset(x_2, 0,
sizeof(x_2));
-
- 124 memset(z_2, 0,
sizeof(z_2));
- 125 memcpy(x_3, x_1,
sizeof(x_1));
- 126 memcpy(z_3, x_2,
sizeof(x_2));
-
-
-
-
-
-
- 133 for (uint8_t t = 255; t > 0; --t) {
-
-
- 136 select = s[sposn] & mask;
-
- 138 cswap(swap, x_2, x_3);
- 139 cswap(swap, z_2, z_3);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 173 cswap(swap, x_2, x_3);
- 174 cswap(swap, z_2, z_3);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 253 f[31] = (f[31] & 0x7F) | 0x40;
-
-
-
-
-
-
-
-
-
-
- 264 }
while (isWeakPoint(k));
-
-
-
-
-
-
-
-
-
-
-
-
- 292 weak = isWeakPoint(k);
- 293 weak |= ((
eval(k, f, k) ^ 0x01) & 0x01);
- 294 weak |= isWeakPoint(k);
-
- 296 return (
bool)((weak ^ 0x01) & 0x01);
-
-
- 306 uint8_t Curve25519::isWeakPoint(
const uint8_t k[32])
-
-
-
-
-
- 312 static const uint8_t points[5][32] PROGMEM = {
- 313 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+
+
+
+
+
+
+
+
+ 55 #if defined(CURVE25519_STRICT_CLEAN)
+ 56 #define strict_clean(x) clean(x)
+
+ 58 #define strict_clean(x) do { ; } while (0)
+
+
+
+
+ 82 limb_t x_1[NUM_LIMBS_256BIT];
+ 83 limb_t x_2[NUM_LIMBS_256BIT];
+ 84 limb_t x_3[NUM_LIMBS_256BIT];
+ 85 limb_t z_2[NUM_LIMBS_256BIT];
+ 86 limb_t z_3[NUM_LIMBS_256BIT];
+ 87 limb_t A[NUM_LIMBS_256BIT];
+ 88 limb_t B[NUM_LIMBS_256BIT];
+ 89 limb_t C[NUM_LIMBS_256BIT];
+ 90 limb_t D[NUM_LIMBS_256BIT];
+ 91 limb_t E[NUM_LIMBS_256BIT];
+ 92 limb_t AA[NUM_LIMBS_256BIT];
+ 93 limb_t BB[NUM_LIMBS_256BIT];
+ 94 limb_t DA[NUM_LIMBS_256BIT];
+ 95 limb_t CB[NUM_LIMBS_256BIT];
+
+
+
+
+
+
+
+
+
+
+
+ 107 x_1[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+
+ 109 memset(x_1, 0,
sizeof(x_1));
+
+
+
+
+
+
+
+
+
+
+ 120 retval = (bool)(reduceQuick(x_1) & 0x01);
+
+
+ 123 memset(x_2, 0,
sizeof(x_2));
+
+ 125 memset(z_2, 0,
sizeof(z_2));
+ 126 memcpy(x_3, x_1,
sizeof(x_1));
+ 127 memcpy(z_3, x_2,
sizeof(x_2));
+
+
+
+
+
+
+ 134 for (uint8_t t = 255; t > 0; --t) {
+
+
+ 137 select = s[sposn] & mask;
+
+ 139 cswap(swap, x_2, x_3);
+ 140 cswap(swap, z_2, z_3);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 174 cswap(swap, x_2, x_3);
+ 175 cswap(swap, z_2, z_3);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 254 f[31] = (f[31] & 0x7F) | 0x40;
+
+
+
+
+
+
+
+
+
+
+ 265 }
while (isWeakPoint(k));
+
+
+
+
+
+
+
+
+
+
+
+
+ 293 weak = isWeakPoint(k);
+ 294 weak |= ((
eval(k, f, k) ^ 0x01) & 0x01);
+ 295 weak |= isWeakPoint(k);
+
+ 297 return (
bool)((weak ^ 0x01) & 0x01);
+
+
+ 307 uint8_t Curve25519::isWeakPoint(
const uint8_t k[32])
+
+
+
+
+
+ 313 static const uint8_t points[5][32] PROGMEM = {
+ 314 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- 317 {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 318 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 317 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ 318 {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 320 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- 321 {0xE0, 0xEB, 0x7A, 0x7C, 0x3B, 0x41, 0xB8, 0xAE,
- 322 0x16, 0x56, 0xE3, 0xFA, 0xF1, 0x9F, 0xC4, 0x6A,
- 323 0xDA, 0x09, 0x8D, 0xEB, 0x9C, 0x32, 0xB1, 0xFD,
- 324 0x86, 0x62, 0x05, 0x16, 0x5F, 0x49, 0xB8, 0x00},
- 325 {0x5F, 0x9C, 0x95, 0xBC, 0xA3, 0x50, 0x8C, 0x24,
- 326 0xB1, 0xD0, 0xB1, 0x55, 0x9C, 0x83, 0xEF, 0x5B,
- 327 0x04, 0x44, 0x5C, 0xC4, 0x58, 0x1C, 0x8E, 0x86,
- 328 0xD8, 0x22, 0x4E, 0xDD, 0xD0, 0x9F, 0x11, 0x57},
- 329 {0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 330 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 320 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
+ 322 {0xE0, 0xEB, 0x7A, 0x7C, 0x3B, 0x41, 0xB8, 0xAE,
+ 323 0x16, 0x56, 0xE3, 0xFA, 0xF1, 0x9F, 0xC4, 0x6A,
+ 324 0xDA, 0x09, 0x8D, 0xEB, 0x9C, 0x32, 0xB1, 0xFD,
+ 325 0x86, 0x62, 0x05, 0x16, 0x5F, 0x49, 0xB8, 0x00},
+ 326 {0x5F, 0x9C, 0x95, 0xBC, 0xA3, 0x50, 0x8C, 0x24,
+ 327 0xB1, 0xD0, 0xB1, 0x55, 0x9C, 0x83, 0xEF, 0x5B,
+ 328 0x04, 0x44, 0x5C, 0xC4, 0x58, 0x1C, 0x8E, 0x86,
+ 329 0xD8, 0x22, 0x4E, 0xDD, 0xD0, 0x9F, 0x11, 0x57},
+ 330 {0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
331 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 332 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F}
-
-
-
-
-
-
-
-
- 341 for (uint8_t posn = 0; posn < 5; ++posn) {
- 342 const uint8_t *point = points[posn];
- 343 uint8_t check = (pgm_read_byte(point + 31) ^ k[31]) & 0x7F;
- 344 for (uint8_t index = 31; index > 0; --index)
- 345 check |= (pgm_read_byte(point + index - 1) ^ k[index - 1]);
- 346 result |= (uint8_t)((((uint16_t)0x0100) - check) >> 8);
-
-
-
-
-
-
- 365 void Curve25519::reduce(limb_t *result, limb_t *x, uint8_t size)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 408 #if !defined(CURVE25519_ASM_AVR)
-
-
-
-
-
-
- 415 carry = ((dlimb_t)(x[NUM_LIMBS_256BIT - 1] >> (LIMB_BITS - 1))) * 19U;
- 416 x[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
- 417 for (posn = 0; posn < size; ++posn) {
- 418 carry += ((dlimb_t)(x[posn + NUM_LIMBS_256BIT])) * 38U;
-
- 420 x[posn] = (limb_t)carry;
-
-
- 423 if (size < NUM_LIMBS_256BIT) {
-
-
- 426 for (posn = size; posn < NUM_LIMBS_256BIT; ++posn) {
-
- 428 x[posn] = (limb_t)carry;
-
-
-
-
-
-
-
-
-
- 438 carry += ((dlimb_t)(x[NUM_LIMBS_256BIT - 1] >> (LIMB_BITS - 1))) * 19U;
- 439 x[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
- 440 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
-
- 442 x[posn] = (limb_t)carry;
-
-
-
-
-
-
-
-
-
- 452 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
-
- 454 x[posn + NUM_LIMBS_256BIT] = (limb_t)carry;
-
-
-
-
-
-
-
-
-
- 464 limb_t mask = (limb_t)(((slimb_t)(x[NUM_LIMBS_512BIT - 1])) >> (LIMB_BITS - 1));
- 465 limb_t nmask = ~mask;
- 466 x[NUM_LIMBS_512BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
- 467 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
- 468 result[posn] = (x[posn] & nmask) | (x[posn + NUM_LIMBS_256BIT] & mask);
-
-
- 471 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
- 480 "mov r24,__zero_reg__\n"
- 481 "sbc r24,__zero_reg__\n"
-
-
-
-
- 486 "mov r22,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 506 "add __tmp_reg__,r24\n"
- 507 "st Z+,__tmp_reg__\n"
-
-
-
- 511 "adc __tmp_reg__,r22\n"
- 512 "st Z+,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 554 "mov __zero_reg__,r22\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 569 "adc r17,__zero_reg__\n"
- 570 "adc r18,__zero_reg__\n"
- 571 "adc r19,__zero_reg__\n"
- 572 "mov r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 588 "mov r25,__zero_reg__\n"
- 589 "sbc r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 625 : :
"z"(x),
"r"((uint8_t)(size *
sizeof(limb_t))),
"x"(result)
- 626 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
-
-
-
- 645 limb_t Curve25519::reduceQuick(limb_t *x)
-
- 647 #if !defined(CURVE25519_ASM_AVR)
- 648 limb_t temp[NUM_LIMBS_256BIT];
-
-
-
-
-
-
-
-
-
-
-
- 660 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
-
- 662 *tt++ = (limb_t)carry;
-
-
-
-
-
-
-
-
- 671 limb_t mask = (limb_t)(((slimb_t)(temp[NUM_LIMBS_256BIT - 1])) >> (LIMB_BITS - 1));
- 672 limb_t nmask = ~mask;
- 673 temp[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
-
-
- 676 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
- 677 *xx = ((*xx) & nmask) | ((*tt++) & mask);
-
-
-
-
-
-
-
-
- 686 #else // CURVE25519_ASM_AVR
- 687 limb_t temp[NUM_LIMBS_256BIT];
-
- 689 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
- 700 "adc r17,__zero_reg__\n"
- 701 "adc r18,__zero_reg__\n"
- 702 "adc r19,__zero_reg__\n"
- 703 "mov r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 719 "mov r25,__zero_reg__\n"
- 720 "sbc r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 758 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
-
-
- 763 #endif // CURVE25519_ASM_AVR
-
-
- 778 void Curve25519::mulNoReduce(limb_t *result,
const limb_t *x,
const limb_t *y)
-
- 780 #if !defined(CURVE25519_ASM_AVR)
-
-
-
-
-
-
-
-
-
-
-
- 792 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
- 793 carry += ((dlimb_t)(*yy++)) * word;
- 794 *rr++ = (limb_t)carry;
-
-
-
-
-
- 800 for (i = 1; i < NUM_LIMBS_256BIT; ++i) {
-
-
-
-
- 805 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
- 806 carry += ((dlimb_t)(*yy++)) * word;
-
- 808 *rr++ = (limb_t)carry;
-
-
-
-
-
- 814 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 913 : :
"x"(x),
"z"(y),
"r"(result)
- 914 :
"r8",
"r9",
"r10",
"r11",
"r16",
"r20",
"r21",
"r22",
-
-
-
-
-
- 930 void Curve25519::mul(limb_t *result,
const limb_t *x,
const limb_t *y)
-
- 932 limb_t temp[NUM_LIMBS_512BIT];
- 933 mulNoReduce(temp, x, y);
- 934 reduce(result, temp, NUM_LIMBS_256BIT);
-
-
-
- 957 void Curve25519::mulA24(limb_t *result,
const limb_t *x)
-
- 959 #if !defined(CURVE25519_ASM_AVR)
-
- 961 #if BIGNUMBER_LIMB_8BIT
- 962 static limb_t
const a24[3] PROGMEM = {0x41, 0xDB, 0x01};
- 963 #elif BIGNUMBER_LIMB_16BIT
- 964 static limb_t
const a24[2] PROGMEM = {0xDB41, 0x0001};
- 965 #elif BIGNUMBER_LIMB_32BIT || BIGNUMBER_LIMB_64BIT
- 966 static limb_t
const a24[1] PROGMEM = {0x0001DB41};
-
- 968 #error "limb_t must be 8, 16, 32, or 64 bits in size"
-
- 970 #define NUM_A24_LIMBS (sizeof(a24) / sizeof(limb_t))
-
-
- 973 limb_t temp[NUM_LIMBS_512BIT];
-
-
- 976 limb_t word = pgm_read_limb(&(a24[0]));
- 977 const limb_t *xx = x;
-
- 979 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
- 980 carry += ((dlimb_t)(*xx++)) * word;
- 981 *tt++ = (limb_t)carry;
-
-
-
-
-
- 987 for (i = 1; i < NUM_A24_LIMBS; ++i) {
- 988 word = pgm_read_limb(&(a24[i]));
-
-
-
- 992 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
- 993 carry += ((dlimb_t)(*xx++)) * word;
-
- 995 *tt++ = (limb_t)carry;
-
-
-
-
-
- 1001 limb_t temp[NUM_LIMBS_512BIT];
- 1002 #define NUM_A24_LIMBS ((3 + sizeof(limb_t) - 1) / sizeof(limb_t))
- 1003 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1037 #
if BIGNUMBER_LIMB_16BIT || BIGNUMBER_LIMB_32BIT
-
-
-
-
- 1042 "clr __zero_reg__\n"
-
- 1044 : :
"x"(x),
"z"(temp)
- 1045 :
"r8",
"r9",
"r10",
"r11",
"r16",
"r17",
"r18",
"r19",
- 1046 "r20",
"r21",
"r22",
"r25"
-
-
-
-
- 1051 reduce(result, temp, NUM_A24_LIMBS);
-
-
-
- 1066 void Curve25519::mul_P(limb_t *result,
const limb_t *x,
const limb_t *y)
-
- 1068 limb_t temp[NUM_LIMBS_512BIT];
-
-
-
-
-
-
-
-
- 1077 word = pgm_read_limb(&(y[0]));
-
-
- 1080 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
- 1081 carry += ((dlimb_t)(*xx++)) * word;
- 1082 *tt++ = (limb_t)carry;
- 1083 carry >>= LIMB_BITS;
-
- 1085 *tt = (limb_t)carry;
-
-
- 1088 for (i = 1; i < NUM_LIMBS_256BIT; ++i) {
- 1089 word = pgm_read_limb(&(y[i]));
-
-
-
- 1093 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
- 1094 carry += ((dlimb_t)(*xx++)) * word;
-
- 1096 *tt++ = (limb_t)carry;
- 1097 carry >>= LIMB_BITS;
-
- 1099 *tt = (limb_t)carry;
-
-
-
- 1103 reduce(result, temp, NUM_LIMBS_256BIT);
-
-
-
- 1117 void Curve25519::add(limb_t *result,
const limb_t *x,
const limb_t *y)
-
- 1119 #if !defined(CURVE25519_ASM_AVR)
-
-
- 1122 limb_t *rr = result;
-
-
- 1125 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
-
-
- 1128 *rr++ = (limb_t)carry;
- 1129 carry >>= LIMB_BITS;
-
- 1131 #else // CURVE25519_ASM_AVR
- 1132 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1152 "adc r17,__zero_reg__\n"
- 1153 "adc r18,__zero_reg__\n"
- 1154 "adc r19,__zero_reg__\n"
- 1155 "mov r25,__zero_reg__\n"
-
-
-
-
-
- 1161 "adc r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 1172 : :
"x"(x),
"z"(y),
"r"(result)
- 1173 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
- 1176 #endif // CURVE25519_ASM_AVR
-
-
- 1179 reduceQuick(result);
-
-
- 1192 void Curve25519::sub(limb_t *result,
const limb_t *x,
const limb_t *y)
-
- 1194 #if !defined(CURVE25519_ASM_AVR)
-
-
- 1197 limb_t *rr = result;
-
-
-
- 1201 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
- 1202 borrow = ((dlimb_t)(*x++)) - (*y++) - ((borrow >> LIMB_BITS) & 0x01);
- 1203 *rr++ = (limb_t)borrow;
-
-
-
-
-
-
-
-
- 1212 borrow = (borrow >> LIMB_BITS) & 19U;
- 1213 borrow = ((dlimb_t)(*rr)) - borrow;
- 1214 *rr++ = (limb_t)borrow;
- 1215 for (posn = 1; posn < NUM_LIMBS_256BIT; ++posn) {
- 1216 borrow = ((dlimb_t)(*rr)) - ((borrow >> LIMB_BITS) & 0x01);
- 1217 *rr++ = (limb_t)borrow;
-
- 1219 *(--rr) &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
- 1220 #else // CURVE25519_ASM_AVR
- 1221 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1241 "sbc r17,__zero_reg__\n"
- 1242 "sbc r18,__zero_reg__\n"
- 1243 "sbc r19,__zero_reg__\n"
- 1244 "mov r25,__zero_reg__\n"
- 1245 "sbc r25,__zero_reg__\n"
-
-
-
-
- 1250 "sbc r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1271 "sbc r17,__zero_reg__\n"
- 1272 "sbc r18,__zero_reg__\n"
- 1273 "sbc r19,__zero_reg__\n"
- 1274 "mov r25,__zero_reg__\n"
- 1275 "sbc r25,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1290 : :
"x"(x),
"z"(y),
"r"(result)
- 1291 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
- 1294 #endif // CURVE25519_ASM_AVR
-
-
- 1309 void Curve25519::cswap(limb_t select, limb_t *x, limb_t *y)
-
- 1311 #if !defined(CURVE25519_ASM_AVR)
-
-
-
-
-
-
- 1318 sel = (limb_t)(((((dlimb_t)1) << LIMB_BITS) - select) >> LIMB_BITS);
-
-
-
-
- 1323 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
- 1324 dummy = sel & (x[posn] ^ y[posn]);
-
-
-
- 1328 #else // CURVE25519_ASM_AVR
- 1329 __asm__ __volatile__ (
-
-
-
- 1333 #
if BIGNUMBER_LIMB_8BIT
-
- 1335 #elif BIGNUMBER_LIMB_16BIT
-
-
- 1338 #elif BIGNUMBER_LIMB_32BIT
-
-
-
-
-
- 1344 "mov r24,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1390 : :
"x"(x),
"z"(y),
"r"(select)
- 1391 :
"r12",
"r13",
"r14",
"r15",
"r16",
"r17",
"r18",
"r19",
- 1392 "r20",
"r21",
"r22",
"r23",
"r24",
"r25"
-
- 1394 #endif // CURVE25519_ASM_AVR
-
-
- 1409 void Curve25519::cmove(limb_t select, limb_t *x,
const limb_t *y)
-
- 1411 #if !defined(CURVE25519_ASM_AVR)
-
-
-
-
-
-
- 1418 sel = (limb_t)(((((dlimb_t)1) << LIMB_BITS) - select) >> LIMB_BITS);
-
-
-
- 1422 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
- 1423 dummy = sel & (x[posn] ^ y[posn]);
-
-
- 1426 #else // CURVE25519_ASM_AVR
- 1427 __asm__ __volatile__ (
-
-
-
- 1431 #
if BIGNUMBER_LIMB_8BIT
-
- 1433 #elif BIGNUMBER_LIMB_16BIT
-
-
- 1436 #elif BIGNUMBER_LIMB_32BIT
-
-
-
-
-
- 1442 "mov r24,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1476 : :
"x"(x),
"z"(y),
"r"(select)
- 1477 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
- 1480 #endif // CURVE25519_ASM_AVR
-
-
- 1489 void Curve25519::pow250(limb_t *result,
const limb_t *x)
-
- 1491 limb_t t1[NUM_LIMBS_256BIT];
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1505 #define RECIP_GROUP_SIZE 10
- 1506 #define RECIP_GROUP_BITS 250 // Must be a multiple of RECIP_GROUP_SIZE.
-
- 1508 for (j = 0; j < (RECIP_GROUP_SIZE - 1); ++j)
-
-
- 1511 for (i = 0; i < ((RECIP_GROUP_BITS / RECIP_GROUP_SIZE) - 2); ++i) {
- 1512 for (j = 0; j < RECIP_GROUP_SIZE; ++j)
-
- 1514 mul(result, result, t1);
-
-
-
-
-
- 1520 mul(result, result, t1);
- 1521 for (j = 0; j < (RECIP_GROUP_SIZE - 2); ++j) {
-
- 1523 mul(result, result, t1);
-
-
-
-
-
-
- 1537 void Curve25519::recip(limb_t *result,
const limb_t *x)
-
-
-
-
-
-
-
-
- 1546 square(result, result);
+ 332 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 333 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F}
+
+
+
+
+
+
+
+
+ 342 for (uint8_t posn = 0; posn < 5; ++posn) {
+ 343 const uint8_t *point = points[posn];
+ 344 uint8_t check = (pgm_read_byte(point + 31) ^ k[31]) & 0x7F;
+ 345 for (uint8_t index = 31; index > 0; --index)
+ 346 check |= (pgm_read_byte(point + index - 1) ^ k[index - 1]);
+ 347 result |= (uint8_t)((((uint16_t)0x0100) - check) >> 8);
+
+
+
+
+
+
+ 366 void Curve25519::reduce(limb_t *result, limb_t *x, uint8_t size)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 409 #if !defined(CURVE25519_ASM_AVR)
+
+
+
+
+
+
+ 416 carry = ((dlimb_t)(x[NUM_LIMBS_256BIT - 1] >> (LIMB_BITS - 1))) * 19U;
+ 417 x[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+ 418 for (posn = 0; posn < size; ++posn) {
+ 419 carry += ((dlimb_t)(x[posn + NUM_LIMBS_256BIT])) * 38U;
+
+ 421 x[posn] = (limb_t)carry;
+
+
+ 424 if (size < NUM_LIMBS_256BIT) {
+
+
+ 427 for (posn = size; posn < NUM_LIMBS_256BIT; ++posn) {
+
+ 429 x[posn] = (limb_t)carry;
+
+
+
+
+
+
+
+
+
+ 439 carry += ((dlimb_t)(x[NUM_LIMBS_256BIT - 1] >> (LIMB_BITS - 1))) * 19U;
+ 440 x[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+ 441 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+
+ 443 x[posn] = (limb_t)carry;
+
+
+
+
+
+
+
+
+
+ 453 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+
+ 455 x[posn + NUM_LIMBS_256BIT] = (limb_t)carry;
+
+
+
+
+
+
+
+
+
+ 465 limb_t mask = (limb_t)(((slimb_t)(x[NUM_LIMBS_512BIT - 1])) >> (LIMB_BITS - 1));
+ 466 limb_t nmask = ~mask;
+ 467 x[NUM_LIMBS_512BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+ 468 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+ 469 result[posn] = (x[posn] & nmask) | (x[posn + NUM_LIMBS_256BIT] & mask);
+
+
+ 472 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+ 481 "mov r24,__zero_reg__\n"
+ 482 "sbc r24,__zero_reg__\n"
+
+
+
+
+ 487 "mov r22,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 507 "add __tmp_reg__,r24\n"
+ 508 "st Z+,__tmp_reg__\n"
+
+
+
+ 512 "adc __tmp_reg__,r22\n"
+ 513 "st Z+,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 555 "mov __zero_reg__,r22\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 570 "adc r17,__zero_reg__\n"
+ 571 "adc r18,__zero_reg__\n"
+ 572 "adc r19,__zero_reg__\n"
+ 573 "mov r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 589 "mov r25,__zero_reg__\n"
+ 590 "sbc r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 626 : :
"z"(x),
"r"((uint8_t)(size *
sizeof(limb_t))),
"x"(result)
+ 627 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
+
+
+
+
+
+ 646 limb_t Curve25519::reduceQuick(limb_t *x)
+
+ 648 #if !defined(CURVE25519_ASM_AVR)
+ 649 limb_t temp[NUM_LIMBS_256BIT];
+
+
+
+
+
+
+
+
+
+
+
+ 661 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+
+ 663 *tt++ = (limb_t)carry;
+
+
+
+
+
+
+
+
+ 672 limb_t mask = (limb_t)(((slimb_t)(temp[NUM_LIMBS_256BIT - 1])) >> (LIMB_BITS - 1));
+ 673 limb_t nmask = ~mask;
+ 674 temp[NUM_LIMBS_256BIT - 1] &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+
+
+ 677 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+ 678 *xx = ((*xx) & nmask) | ((*tt++) & mask);
+
+
+
+
+
+
+
+
+ 687 #else // CURVE25519_ASM_AVR
+ 688 limb_t temp[NUM_LIMBS_256BIT];
+
+ 690 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+ 701 "adc r17,__zero_reg__\n"
+ 702 "adc r18,__zero_reg__\n"
+ 703 "adc r19,__zero_reg__\n"
+ 704 "mov r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 720 "mov r25,__zero_reg__\n"
+ 721 "sbc r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 759 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
+
+
+
+
+ 764 #endif // CURVE25519_ASM_AVR
+
+
+ 779 void Curve25519::mulNoReduce(limb_t *result,
const limb_t *x,
const limb_t *y)
+
+ 781 #if !defined(CURVE25519_ASM_AVR)
+
+
+
+
+
+
+
+
+
+
+
+ 793 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
+ 794 carry += ((dlimb_t)(*yy++)) * word;
+ 795 *rr++ = (limb_t)carry;
+
+
+
+
+
+ 801 for (i = 1; i < NUM_LIMBS_256BIT; ++i) {
+
+
+
+
+ 806 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
+ 807 carry += ((dlimb_t)(*yy++)) * word;
+
+ 809 *rr++ = (limb_t)carry;
+
+
+
+
+
+ 815 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 914 : :
"x"(x),
"z"(y),
"r"(result)
+ 915 :
"r8",
"r9",
"r10",
"r11",
"r16",
"r20",
"r21",
"r22",
+
+
+
+
+
+ 931 void Curve25519::mul(limb_t *result,
const limb_t *x,
const limb_t *y)
+
+ 933 limb_t temp[NUM_LIMBS_512BIT];
+ 934 mulNoReduce(temp, x, y);
+ 935 reduce(result, temp, NUM_LIMBS_256BIT);
+
+
+
+ 958 void Curve25519::mulA24(limb_t *result,
const limb_t *x)
+
+ 960 #if !defined(CURVE25519_ASM_AVR)
+
+ 962 #if BIGNUMBER_LIMB_8BIT
+ 963 static limb_t
const a24[3] PROGMEM = {0x41, 0xDB, 0x01};
+ 964 #elif BIGNUMBER_LIMB_16BIT
+ 965 static limb_t
const a24[2] PROGMEM = {0xDB41, 0x0001};
+ 966 #elif BIGNUMBER_LIMB_32BIT || BIGNUMBER_LIMB_64BIT
+ 967 static limb_t
const a24[1] PROGMEM = {0x0001DB41};
+
+ 969 #error "limb_t must be 8, 16, 32, or 64 bits in size"
+
+ 971 #define NUM_A24_LIMBS (sizeof(a24) / sizeof(limb_t))
+
+
+ 974 limb_t temp[NUM_LIMBS_512BIT];
+
+
+ 977 limb_t word = pgm_read_limb(&(a24[0]));
+ 978 const limb_t *xx = x;
+
+ 980 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
+ 981 carry += ((dlimb_t)(*xx++)) * word;
+ 982 *tt++ = (limb_t)carry;
+
+
+
+
+
+ 988 for (i = 1; i < NUM_A24_LIMBS; ++i) {
+ 989 word = pgm_read_limb(&(a24[i]));
+
+
+
+ 993 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
+ 994 carry += ((dlimb_t)(*xx++)) * word;
+
+ 996 *tt++ = (limb_t)carry;
+
+
+
+
+
+ 1002 limb_t temp[NUM_LIMBS_512BIT];
+ 1003 #define NUM_A24_LIMBS ((3 + sizeof(limb_t) - 1) / sizeof(limb_t))
+ 1004 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1038 #
if BIGNUMBER_LIMB_16BIT || BIGNUMBER_LIMB_32BIT
+
+
+
+
+ 1043 "clr __zero_reg__\n"
+
+ 1045 : :
"x"(x),
"z"(temp)
+ 1046 :
"r8",
"r9",
"r10",
"r11",
"r16",
"r17",
"r18",
"r19",
+ 1047 "r20",
"r21",
"r22",
"r25"
+
+
+
+
+ 1052 reduce(result, temp, NUM_A24_LIMBS);
+
+
+
+ 1067 void Curve25519::mul_P(limb_t *result,
const limb_t *x,
const limb_t *y)
+
+ 1069 limb_t temp[NUM_LIMBS_512BIT];
+
+
+
+
+
+
+
+
+ 1078 word = pgm_read_limb(&(y[0]));
+
+
+ 1081 for (i = 0; i < NUM_LIMBS_256BIT; ++i) {
+ 1082 carry += ((dlimb_t)(*xx++)) * word;
+ 1083 *tt++ = (limb_t)carry;
+ 1084 carry >>= LIMB_BITS;
+
+ 1086 *tt = (limb_t)carry;
+
+
+ 1089 for (i = 1; i < NUM_LIMBS_256BIT; ++i) {
+ 1090 word = pgm_read_limb(&(y[i]));
+
+
+
+ 1094 for (j = 0; j < NUM_LIMBS_256BIT; ++j) {
+ 1095 carry += ((dlimb_t)(*xx++)) * word;
+
+ 1097 *tt++ = (limb_t)carry;
+ 1098 carry >>= LIMB_BITS;
+
+ 1100 *tt = (limb_t)carry;
+
+
+
+ 1104 reduce(result, temp, NUM_LIMBS_256BIT);
+
+
+
+ 1118 void Curve25519::add(limb_t *result,
const limb_t *x,
const limb_t *y)
+
+ 1120 #if !defined(CURVE25519_ASM_AVR)
+
+
+ 1123 limb_t *rr = result;
+
+
+ 1126 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+
+
+ 1129 *rr++ = (limb_t)carry;
+ 1130 carry >>= LIMB_BITS;
+
+ 1132 #else // CURVE25519_ASM_AVR
+ 1133 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1153 "adc r17,__zero_reg__\n"
+ 1154 "adc r18,__zero_reg__\n"
+ 1155 "adc r19,__zero_reg__\n"
+ 1156 "mov r25,__zero_reg__\n"
+
+
+
+
+
+ 1162 "adc r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+ 1173 : :
"x"(x),
"z"(y),
"r"(result)
+ 1174 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
+
+
+ 1177 #endif // CURVE25519_ASM_AVR
+
+
+ 1180 reduceQuick(result);
+
+
+ 1193 void Curve25519::sub(limb_t *result,
const limb_t *x,
const limb_t *y)
+
+ 1195 #if !defined(CURVE25519_ASM_AVR)
+
+
+ 1198 limb_t *rr = result;
+
+
+
+ 1202 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+ 1203 borrow = ((dlimb_t)(*x++)) - (*y++) - ((borrow >> LIMB_BITS) & 0x01);
+ 1204 *rr++ = (limb_t)borrow;
+
+
+
+
+
+
+
+
+ 1213 borrow = (borrow >> LIMB_BITS) & 19U;
+ 1214 borrow = ((dlimb_t)(*rr)) - borrow;
+ 1215 *rr++ = (limb_t)borrow;
+ 1216 for (posn = 1; posn < NUM_LIMBS_256BIT; ++posn) {
+ 1217 borrow = ((dlimb_t)(*rr)) - ((borrow >> LIMB_BITS) & 0x01);
+ 1218 *rr++ = (limb_t)borrow;
+
+ 1220 *(--rr) &= ((((limb_t)1) << (LIMB_BITS - 1)) - 1);
+ 1221 #else // CURVE25519_ASM_AVR
+ 1222 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1242 "sbc r17,__zero_reg__\n"
+ 1243 "sbc r18,__zero_reg__\n"
+ 1244 "sbc r19,__zero_reg__\n"
+ 1245 "mov r25,__zero_reg__\n"
+ 1246 "sbc r25,__zero_reg__\n"
+
+
+
+
+ 1251 "sbc r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1272 "sbc r17,__zero_reg__\n"
+ 1273 "sbc r18,__zero_reg__\n"
+ 1274 "sbc r19,__zero_reg__\n"
+ 1275 "mov r25,__zero_reg__\n"
+ 1276 "sbc r25,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1291 : :
"x"(x),
"z"(y),
"r"(result)
+ 1292 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
+
+
+ 1295 #endif // CURVE25519_ASM_AVR
+
+
+ 1310 void Curve25519::cswap(limb_t select, limb_t *x, limb_t *y)
+
+ 1312 #if !defined(CURVE25519_ASM_AVR)
+
+
+
+
+
+
+ 1319 sel = (limb_t)(((((dlimb_t)1) << LIMB_BITS) - select) >> LIMB_BITS);
+
+
+
+
+ 1324 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+ 1325 dummy = sel & (x[posn] ^ y[posn]);
+
+
+
+ 1329 #else // CURVE25519_ASM_AVR
+ 1330 __asm__ __volatile__ (
+
+
+
+ 1334 #
if BIGNUMBER_LIMB_8BIT
+
+ 1336 #elif BIGNUMBER_LIMB_16BIT
+
+
+ 1339 #elif BIGNUMBER_LIMB_32BIT
+
+
+
+
+
+ 1345 "mov r24,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1391 : :
"x"(x),
"z"(y),
"r"(select)
+ 1392 :
"r12",
"r13",
"r14",
"r15",
"r16",
"r17",
"r18",
"r19",
+ 1393 "r20",
"r21",
"r22",
"r23",
"r24",
"r25"
+
+ 1395 #endif // CURVE25519_ASM_AVR
+
+
+ 1410 void Curve25519::cmove(limb_t select, limb_t *x,
const limb_t *y)
+
+ 1412 #if !defined(CURVE25519_ASM_AVR)
+
+
+
+
+
+
+ 1419 sel = (limb_t)(((((dlimb_t)1) << LIMB_BITS) - select) >> LIMB_BITS);
+
+
+
+ 1423 for (posn = 0; posn < NUM_LIMBS_256BIT; ++posn) {
+ 1424 dummy = sel & (x[posn] ^ y[posn]);
+
+
+ 1427 #else // CURVE25519_ASM_AVR
+ 1428 __asm__ __volatile__ (
+
+
+
+ 1432 #
if BIGNUMBER_LIMB_8BIT
+
+ 1434 #elif BIGNUMBER_LIMB_16BIT
+
+
+ 1437 #elif BIGNUMBER_LIMB_32BIT
+
+
+
+
+
+ 1443 "mov r24,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1477 : :
"x"(x),
"z"(y),
"r"(select)
+ 1478 :
"r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
+
+
+ 1481 #endif // CURVE25519_ASM_AVR
+
+
+ 1490 void Curve25519::pow250(limb_t *result,
const limb_t *x)
+
+ 1492 limb_t t1[NUM_LIMBS_256BIT];
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1506 #define RECIP_GROUP_SIZE 10
+ 1507 #define RECIP_GROUP_BITS 250 // Must be a multiple of RECIP_GROUP_SIZE.
+
+ 1509 for (j = 0; j < (RECIP_GROUP_SIZE - 1); ++j)
+
+
+ 1512 for (i = 0; i < ((RECIP_GROUP_BITS / RECIP_GROUP_SIZE) - 2); ++i) {
+ 1513 for (j = 0; j < RECIP_GROUP_SIZE; ++j)
+
+ 1515 mul(result, result, t1);
+
+
+
+
+
+ 1521 mul(result, result, t1);
+ 1522 for (j = 0; j < (RECIP_GROUP_SIZE - 2); ++j) {
+
+ 1524 mul(result, result, t1);
+
+
+
+
+
+
+ 1538 void Curve25519::recip(limb_t *result,
const limb_t *x)
+
+
+
+
+
+
+
+
1547 square(result, result);
- 1548 mul(result, result, x);
- 1549 square(result, result);
+ 1548 square(result, result);
+ 1549 mul(result, result, x);
1550 square(result, result);
- 1551 mul(result, result, x);
- 1552 square(result, result);
- 1553 mul(result, result, x);
-
-
- 1571 bool Curve25519::sqrt(limb_t *result,
const limb_t *x)
-
-
- 1574 static limb_t
const numSqrtM1[NUM_LIMBS_256BIT] PROGMEM = {
- 1575 LIMB_PAIR(0x4A0EA0B0, 0xC4EE1B27), LIMB_PAIR(0xAD2FE478, 0x2F431806),
- 1576 LIMB_PAIR(0x3DFBD7A7, 0x2B4D0099), LIMB_PAIR(0x4FC1DF0B, 0x2B832480)
-
- 1578 limb_t y[NUM_LIMBS_256BIT];
-
-
-
-
-
-
-
- 1586 square(result, result);
- 1587 mul(result, result, x);
- 1588 square(result, result);
-
-
-
- 1592 if (memcmp(x, y,
sizeof(y)) == 0) {
-
-
-
-
-
- 1598 mul_P(result, result, numSqrtM1);
-
- 1600 if (memcmp(x, y,
sizeof(y)) == 0) {
-
-
-
-
-
-
-
-
+ 1551 square(result, result);
+ 1552 mul(result, result, x);
+ 1553 square(result, result);
+ 1554 mul(result, result, x);
+
+
+ 1572 bool Curve25519::sqrt(limb_t *result,
const limb_t *x)
+
+
+ 1575 static limb_t
const numSqrtM1[NUM_LIMBS_256BIT] PROGMEM = {
+ 1576 LIMB_PAIR(0x4A0EA0B0, 0xC4EE1B27), LIMB_PAIR(0xAD2FE478, 0x2F431806),
+ 1577 LIMB_PAIR(0x3DFBD7A7, 0x2B4D0099), LIMB_PAIR(0x4FC1DF0B, 0x2B832480)
+
+ 1579 limb_t y[NUM_LIMBS_256BIT];
+
+
+
+
+
+
+
+ 1587 square(result, result);
+ 1588 mul(result, result, x);
+ 1589 square(result, result);
+
+
+
+ 1593 if (memcmp(x, y,
sizeof(y)) == 0) {
+
+
+
+
+
+ 1599 mul_P(result, result, numSqrtM1);
+
+ 1601 if (memcmp(x, y,
sizeof(y)) == 0) {
+
+
+
+
+
+
+
+
void rand(uint8_t *data, size_t len)
Generates random bytes into a caller-supplied buffer.
-static bool eval(uint8_t result[32], const uint8_t s[32], const uint8_t x[32])
Evaluates the raw Curve25519 function.
+static bool eval(uint8_t result[32], const uint8_t s[32], const uint8_t x[32])
Evaluates the raw Curve25519 function.
static void unpackLE(limb_t *limbs, size_t count, const uint8_t *bytes, size_t len)
Unpacks the little-endian byte representation of a big number into a limb array.
static void packLE(uint8_t *bytes, size_t len, const limb_t *limbs, size_t count)
Packs the little-endian byte representation of a big number into a byte array.
-static void dh1(uint8_t k[32], uint8_t f[32])
Performs phase 1 of a Diffie-Hellman key exchange using Curve25519.
-static bool dh2(uint8_t k[32], uint8_t f[32])
Performs phase 2 of a Diffie-Hellman key exchange using Curve25519.
+static void dh1(uint8_t k[32], uint8_t f[32])
Performs phase 1 of a Diffie-Hellman key exchange using Curve25519.
+static bool dh2(uint8_t k[32], uint8_t f[32])
Performs phase 2 of a Diffie-Hellman key exchange using Curve25519.
diff --git a/Curve25519_8h_source.html b/Curve25519_8h_source.html
index a71842a6..c8beb4c2 100644
--- a/Curve25519_8h_source.html
+++ b/Curve25519_8h_source.html
@@ -166,14 +166,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19.
-static bool eval(uint8_t result[32], const uint8_t s[32], const uint8_t x[32])
Evaluates the raw Curve25519 function.
+static bool eval(uint8_t result[32], const uint8_t s[32], const uint8_t x[32])
Evaluates the raw Curve25519 function.
Digital signatures based on the elliptic curve modulo 2^255 - 19.
-static void dh1(uint8_t k[32], uint8_t f[32])
Performs phase 1 of a Diffie-Hellman key exchange using Curve25519.
-static bool dh2(uint8_t k[32], uint8_t f[32])
Performs phase 2 of a Diffie-Hellman key exchange using Curve25519.
+static void dh1(uint8_t k[32], uint8_t f[32])
Performs phase 1 of a Diffie-Hellman key exchange using Curve25519.
+static bool dh2(uint8_t k[32], uint8_t f[32])
Performs phase 2 of a Diffie-Hellman key exchange using Curve25519.
diff --git a/DMD_8cpp_source.html b/DMD_8cpp_source.html
index b1585068..604dce6e 100644
--- a/DMD_8cpp_source.html
+++ b/DMD_8cpp_source.html
@@ -456,7 +456,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DMD_8h_source.html b/DMD_8h_source.html
index fd3841d0..096235b9 100644
--- a/DMD_8h_source.html
+++ b/DMD_8h_source.html
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS1307RTC_8cpp_source.html b/DS1307RTC_8cpp_source.html
index 9c8d538f..aeb62be3 100644
--- a/DS1307RTC_8cpp_source.html
+++ b/DS1307RTC_8cpp_source.html
@@ -415,7 +415,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS1307RTC_8h_source.html b/DS1307RTC_8h_source.html
index cad18f98..938f582b 100644
--- a/DS1307RTC_8h_source.html
+++ b/DS1307RTC_8h_source.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS3231RTC_8cpp_source.html b/DS3231RTC_8cpp_source.html
index 3902f7e1..dd0d3cdb 100644
--- a/DS3231RTC_8cpp_source.html
+++ b/DS3231RTC_8cpp_source.html
@@ -657,7 +657,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS3231RTC_8h_source.html b/DS3231RTC_8h_source.html
index eebd6a8d..71616790 100644
--- a/DS3231RTC_8h_source.html
+++ b/DS3231RTC_8h_source.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS3232RTC_8cpp_source.html b/DS3232RTC_8cpp_source.html
index 876dbef5..6daaa1bd 100644
--- a/DS3232RTC_8cpp_source.html
+++ b/DS3232RTC_8cpp_source.html
@@ -575,7 +575,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DS3232RTC_8h_source.html b/DS3232RTC_8h_source.html
index ed798fe2..b9dfcd8c 100644
--- a/DS3232RTC_8h_source.html
+++ b/DS3232RTC_8h_source.html
@@ -190,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DejaVuSans9_8h_source.html b/DejaVuSans9_8h_source.html
index a9ae51fa..d4bc123d 100644
--- a/DejaVuSans9_8h_source.html
+++ b/DejaVuSans9_8h_source.html
@@ -257,7 +257,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DejaVuSansBold9_8h_source.html b/DejaVuSansBold9_8h_source.html
index 641f415b..107787b7 100644
--- a/DejaVuSansBold9_8h_source.html
+++ b/DejaVuSansBold9_8h_source.html
@@ -257,7 +257,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/DejaVuSansItalic9_8h_source.html b/DejaVuSansItalic9_8h_source.html
index 4cc1474d..d8c4ac37 100644
--- a/DejaVuSansItalic9_8h_source.html
+++ b/DejaVuSansItalic9_8h_source.html
@@ -257,7 +257,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/EAX_8cpp_source.html b/EAX_8cpp_source.html
index 58161502..05d1d2d4 100644
--- a/EAX_8cpp_source.html
+++ b/EAX_8cpp_source.html
@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/EAX_8h_source.html b/EAX_8h_source.html
index b40a7e11..d286dfa6 100644
--- a/EAX_8h_source.html
+++ b/EAX_8h_source.html
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/EEPROM24_8cpp_source.html b/EEPROM24_8cpp_source.html
index e2f75d25..ff396923 100644
--- a/EEPROM24_8cpp_source.html
+++ b/EEPROM24_8cpp_source.html
@@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/EEPROM24_8h_source.html b/EEPROM24_8h_source.html
index f528689e..d6a32236 100644
--- a/EEPROM24_8h_source.html
+++ b/EEPROM24_8h_source.html
@@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Ed25519_8cpp_source.html b/Ed25519_8cpp_source.html
index 382729b5..4b682c2f 100644
--- a/Ed25519_8cpp_source.html
+++ b/Ed25519_8cpp_source.html
@@ -571,7 +571,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Ed25519_8h_source.html b/Ed25519_8h_source.html
index 3b24c612..c7814185 100644
--- a/Ed25519_8h_source.html
+++ b/Ed25519_8h_source.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Field_8cpp_source.html b/Field_8cpp_source.html
index c608c73b..2801ad5d 100644
--- a/Field_8cpp_source.html
+++ b/Field_8cpp_source.html
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Field_8h_source.html b/Field_8h_source.html
index 101bf55f..d8da47aa 100644
--- a/Field_8h_source.html
+++ b/Field_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Form_8cpp_source.html b/Form_8cpp_source.html
index bdcbfc74..bd1170b6 100644
--- a/Form_8cpp_source.html
+++ b/Form_8cpp_source.html
@@ -278,7 +278,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Form_8h_source.html b/Form_8h_source.html
index 7764398d..0ff78206 100644
--- a/Form_8h_source.html
+++ b/Form_8h_source.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GCM_8cpp_source.html b/GCM_8cpp_source.html
index a932ec2b..b2fdafd4 100644
--- a/GCM_8cpp_source.html
+++ b/GCM_8cpp_source.html
@@ -353,7 +353,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GCM_8h_source.html b/GCM_8h_source.html
index 2bbb10c1..a5960617 100644
--- a/GCM_8h_source.html
+++ b/GCM_8h_source.html
@@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GF128_8cpp_source.html b/GF128_8cpp_source.html
index 728ef341..056b6dbb 100644
--- a/GF128_8cpp_source.html
+++ b/GF128_8cpp_source.html
@@ -578,7 +578,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GF128_8h_source.html b/GF128_8h_source.html
index b9046e7a..cba4b10b 100644
--- a/GF128_8h_source.html
+++ b/GF128_8h_source.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GHASH_8cpp_source.html b/GHASH_8cpp_source.html
index dda6e7d0..36c0dfa8 100644
--- a/GHASH_8cpp_source.html
+++ b/GHASH_8cpp_source.html
@@ -190,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/GHASH_8h_source.html b/GHASH_8h_source.html
index b14470e0..c935f5fb 100644
--- a/GHASH_8h_source.html
+++ b/GHASH_8h_source.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Hash_8cpp_source.html b/Hash_8cpp_source.html
index 619d6b08..01134fb7 100644
--- a/Hash_8cpp_source.html
+++ b/Hash_8cpp_source.html
@@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Hash_8h_source.html b/Hash_8h_source.html
index bd761edb..c6552015 100644
--- a/Hash_8h_source.html
+++ b/Hash_8h_source.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/I2CMaster_8cpp_source.html b/I2CMaster_8cpp_source.html
index b2c26877..715f7fca 100644
--- a/I2CMaster_8cpp_source.html
+++ b/I2CMaster_8cpp_source.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/I2CMaster_8h_source.html b/I2CMaster_8h_source.html
index b9fae769..48db898d 100644
--- a/I2CMaster_8h_source.html
+++ b/I2CMaster_8h_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/IRreceiver_8cpp_source.html b/IRreceiver_8cpp_source.html
index 78e6f4ae..8e9fbcd6 100644
--- a/IRreceiver_8cpp_source.html
+++ b/IRreceiver_8cpp_source.html
@@ -261,7 +261,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/IRreceiver_8h_source.html b/IRreceiver_8h_source.html
index 1904726d..738e940b 100644
--- a/IRreceiver_8h_source.html
+++ b/IRreceiver_8h_source.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/IntField_8cpp_source.html b/IntField_8cpp_source.html
index 58368922..312b4fe9 100644
--- a/IntField_8cpp_source.html
+++ b/IntField_8cpp_source.html
@@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/IntField_8h_source.html b/IntField_8h_source.html
index b0e0683d..ab345ff8 100644
--- a/IntField_8h_source.html
+++ b/IntField_8h_source.html
@@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/KeccakCore_8cpp_source.html b/KeccakCore_8cpp_source.html
index ef20c045..af13cdec 100644
--- a/KeccakCore_8cpp_source.html
+++ b/KeccakCore_8cpp_source.html
@@ -1991,7 +1991,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/KeccakCore_8h_source.html b/KeccakCore_8h_source.html
index ac7d961d..cf74eea9 100644
--- a/KeccakCore_8h_source.html
+++ b/KeccakCore_8h_source.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/LCD_8cpp_source.html b/LCD_8cpp_source.html
index f79f7146..ed995a0e 100644
--- a/LCD_8cpp_source.html
+++ b/LCD_8cpp_source.html
@@ -290,7 +290,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/LCD_8h_source.html b/LCD_8h_source.html
index 17a324e6..1b9a5765 100644
--- a/LCD_8h_source.html
+++ b/LCD_8h_source.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ListField_8cpp_source.html b/ListField_8cpp_source.html
index 9441d5df..e1c9173d 100644
--- a/ListField_8cpp_source.html
+++ b/ListField_8cpp_source.html
@@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ListField_8h_source.html b/ListField_8h_source.html
index 1f7c7c94..18d3b370 100644
--- a/ListField_8h_source.html
+++ b/ListField_8h_source.html
@@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/LoginShell_8cpp_source.html b/LoginShell_8cpp_source.html
index cd3e2fc5..4729ef32 100644
--- a/LoginShell_8cpp_source.html
+++ b/LoginShell_8cpp_source.html
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/LoginShell_8h_source.html b/LoginShell_8h_source.html
index 06f21098..1fded03b 100644
--- a/LoginShell_8h_source.html
+++ b/LoginShell_8h_source.html
@@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Melody_8cpp_source.html b/Melody_8cpp_source.html
index 2738ab03..e71b5b5e 100644
--- a/Melody_8cpp_source.html
+++ b/Melody_8cpp_source.html
@@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Melody_8h_source.html b/Melody_8h_source.html
index f196cee1..6fe83142 100644
--- a/Melody_8h_source.html
+++ b/Melody_8h_source.html
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Mono5x7_8h_source.html b/Mono5x7_8h_source.html
index 23c06e5f..d8dd7594 100644
--- a/Mono5x7_8h_source.html
+++ b/Mono5x7_8h_source.html
@@ -246,7 +246,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/NewHope_8cpp_source.html b/NewHope_8cpp_source.html
index d0e287f6..c400ed03 100644
--- a/NewHope_8cpp_source.html
+++ b/NewHope_8cpp_source.html
@@ -1253,7 +1253,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/NewHope_8h_source.html b/NewHope_8h_source.html
index ef800adb..c3eea3ee 100644
--- a/NewHope_8h_source.html
+++ b/NewHope_8h_source.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/NoiseSource_8cpp_source.html b/NoiseSource_8cpp_source.html
index 9746d325..d9ae3cda 100644
--- a/NoiseSource_8cpp_source.html
+++ b/NoiseSource_8cpp_source.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/NoiseSource_8h_source.html b/NoiseSource_8h_source.html
index 0e3b7618..86000179 100644
--- a/NoiseSource_8h_source.html
+++ b/NoiseSource_8h_source.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/OFB_8cpp_source.html b/OFB_8cpp_source.html
index 8552bca8..d91aaca1 100644
--- a/OFB_8cpp_source.html
+++ b/OFB_8cpp_source.html
@@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/OFB_8h_source.html b/OFB_8h_source.html
index 2cf95bbd..2ba468cf 100644
--- a/OFB_8h_source.html
+++ b/OFB_8h_source.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/OMAC_8cpp_source.html b/OMAC_8cpp_source.html
index 4e40f923..2488b646 100644
--- a/OMAC_8cpp_source.html
+++ b/OMAC_8cpp_source.html
@@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/OMAC_8h_source.html b/OMAC_8h_source.html
index 1ad42c0c..1ddac239 100644
--- a/OMAC_8h_source.html
+++ b/OMAC_8h_source.html
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/P521_8cpp_source.html b/P521_8cpp_source.html
index 744a2a9a..81f682f8 100644
--- a/P521_8cpp_source.html
+++ b/P521_8cpp_source.html
@@ -1333,7 +1333,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/P521_8h_source.html b/P521_8h_source.html
index 58b8a7e3..fea62787 100644
--- a/P521_8h_source.html
+++ b/P521_8h_source.html
@@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Poly1305_8cpp_source.html b/Poly1305_8cpp_source.html
index 9309443e..d3b439ef 100644
--- a/Poly1305_8cpp_source.html
+++ b/Poly1305_8cpp_source.html
@@ -358,7 +358,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Poly1305_8h_source.html b/Poly1305_8h_source.html
index ceee0906..a79edf58 100644
--- a/Poly1305_8h_source.html
+++ b/Poly1305_8h_source.html
@@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/PowerSave_8cpp_source.html b/PowerSave_8cpp_source.html
index 3adefbbb..293df9b2 100644
--- a/PowerSave_8cpp_source.html
+++ b/PowerSave_8cpp_source.html
@@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/PowerSave_8h_source.html b/PowerSave_8h_source.html
index b94a7a83..0fb8682a 100644
--- a/PowerSave_8h_source.html
+++ b/PowerSave_8h_source.html
@@ -158,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RC5_8h_source.html b/RC5_8h_source.html
index f1d78d62..089f4d91 100644
--- a/RC5_8h_source.html
+++ b/RC5_8h_source.html
@@ -435,7 +435,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RNG_8cpp_source.html b/RNG_8cpp_source.html
index 803dcc51..2a9ca811 100644
--- a/RNG_8cpp_source.html
+++ b/RNG_8cpp_source.html
@@ -651,7 +651,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RNG_8h_source.html b/RNG_8h_source.html
index 631ac31f..47c6b101 100644
--- a/RNG_8h_source.html
+++ b/RNG_8h_source.html
@@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RTC_8cpp_source.html b/RTC_8cpp_source.html
index 02111500..65094720 100644
--- a/RTC_8cpp_source.html
+++ b/RTC_8cpp_source.html
@@ -380,7 +380,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RTC_8h_source.html b/RTC_8h_source.html
index 2398d2e2..85cf626c 100644
--- a/RTC_8h_source.html
+++ b/RTC_8h_source.html
@@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RingOscillatorNoiseSource_8cpp_source.html b/RingOscillatorNoiseSource_8cpp_source.html
index 5501d9c3..f5470b4a 100644
--- a/RingOscillatorNoiseSource_8cpp_source.html
+++ b/RingOscillatorNoiseSource_8cpp_source.html
@@ -285,7 +285,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/RingOscillatorNoiseSource_8h_source.html b/RingOscillatorNoiseSource_8h_source.html
index 815b4f69..63de51b4 100644
--- a/RingOscillatorNoiseSource_8h_source.html
+++ b/RingOscillatorNoiseSource_8h_source.html
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA256_8cpp_source.html b/SHA256_8cpp_source.html
index be282a5d..05250219 100644
--- a/SHA256_8cpp_source.html
+++ b/SHA256_8cpp_source.html
@@ -339,7 +339,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA256_8h_source.html b/SHA256_8h_source.html
index d866d2a8..8a4a6b76 100644
--- a/SHA256_8h_source.html
+++ b/SHA256_8h_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA3_8cpp_source.html b/SHA3_8cpp_source.html
index 030351ef..202fdddf 100644
--- a/SHA3_8cpp_source.html
+++ b/SHA3_8cpp_source.html
@@ -257,7 +257,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA3_8h_source.html b/SHA3_8h_source.html
index 499495c2..32c4d86d 100644
--- a/SHA3_8h_source.html
+++ b/SHA3_8h_source.html
@@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA512_8cpp_source.html b/SHA512_8cpp_source.html
index d886205c..cf7e7e1f 100644
--- a/SHA512_8cpp_source.html
+++ b/SHA512_8cpp_source.html
@@ -355,7 +355,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHA512_8h_source.html b/SHA512_8h_source.html
index a72e7bf2..71907522 100644
--- a/SHA512_8h_source.html
+++ b/SHA512_8h_source.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHAKE_8cpp_source.html b/SHAKE_8cpp_source.html
index 97d965a3..519e07ea 100644
--- a/SHAKE_8cpp_source.html
+++ b/SHAKE_8cpp_source.html
@@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SHAKE_8h_source.html b/SHAKE_8h_source.html
index 5ab9594b..3a5f8291 100644
--- a/SHAKE_8h_source.html
+++ b/SHAKE_8h_source.html
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Shell_8cpp_source.html b/Shell_8cpp_source.html
index 8167448a..396af323 100644
--- a/Shell_8cpp_source.html
+++ b/Shell_8cpp_source.html
@@ -848,7 +848,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Shell_8h_source.html b/Shell_8h_source.html
index 348a310a..61e2e627 100644
--- a/Shell_8h_source.html
+++ b/Shell_8h_source.html
@@ -273,7 +273,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SoftI2C_8cpp_source.html b/SoftI2C_8cpp_source.html
index a820bbb7..e71f4e16 100644
--- a/SoftI2C_8cpp_source.html
+++ b/SoftI2C_8cpp_source.html
@@ -283,7 +283,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SoftI2C_8h_source.html b/SoftI2C_8h_source.html
index 23642c8c..c9ac8433 100644
--- a/SoftI2C_8h_source.html
+++ b/SoftI2C_8h_source.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/SpeckSmall_8cpp_source.html b/SpeckSmall_8cpp_source.html
index e2ccad70..cdc67251 100644
--- a/SpeckSmall_8cpp_source.html
+++ b/SpeckSmall_8cpp_source.html
@@ -317,405 +317,339 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
263 #if USE_AVR_INLINE_ASM
-
- 265 uint32_t xlow, xhigh, ylow, yhigh;
- 266 uint32_t slow, shigh;
- 267 uint8_t li_in = (rounds + 3) & 0x03;
- 268 uint8_t li_out = (((rounds - 31) + li_in) & 0x03) * 8;
-
-
-
- 272 __asm__ __volatile__ (
-
- 274 "adc r31,__zero_reg__\n"
-
- 276 "std %A0,__tmp_reg__\n"
- 277 "ldd __tmp_reg__,Z+1\n"
- 278 "std %B0,__tmp_reg__\n"
- 279 "ldd __tmp_reg__,Z+2\n"
- 280 "std %C0,__tmp_reg__\n"
- 281 "ldd __tmp_reg__,Z+3\n"
- 282 "std %D0,__tmp_reg__\n"
- 283 "ldd __tmp_reg__,Z+4\n"
- 284 "std %A1,__tmp_reg__\n"
- 285 "ldd __tmp_reg__,Z+5\n"
- 286 "std %B1,__tmp_reg__\n"
- 287 "ldd __tmp_reg__,Z+6\n"
- 288 "std %C1,__tmp_reg__\n"
- 289 "ldd __tmp_reg__,Z+7\n"
- 290 "std %D1,__tmp_reg__\n"
-
- 292 "sbc r31,__zero_reg__\n"
-
-
-
- 296 "ld __tmp_reg__,Z+\n"
- 297 "st X+,__tmp_reg__\n"
-
-
- 300 :
"=Q"(slow),
"=Q"(shigh)
- 301 :
"z"(this->l),
"x"(l),
"r"(li_out)
-
-
-
-
-
- 307 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 324 :
"=r"(xlow),
"=r"(xhigh),
"=r"(ylow),
"=r"(yhigh)
-
-
-
-
- 329 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 380 "ldd __tmp_reg__,%A4\n"
- 381 "eor %A0,__tmp_reg__\n"
- 382 "ldd __tmp_reg__,%B4\n"
- 383 "eor %B0,__tmp_reg__\n"
- 384 "ldd __tmp_reg__,%C4\n"
- 385 "eor %C0,__tmp_reg__\n"
- 386 "ldd __tmp_reg__,%D4\n"
- 387 "eor %D0,__tmp_reg__\n"
- 388 "ldd __tmp_reg__,%A5\n"
- 389 "eor %A1,__tmp_reg__\n"
- 390 "ldd __tmp_reg__,%B5\n"
- 391 "eor %B1,__tmp_reg__\n"
- 392 "ldd __tmp_reg__,%C5\n"
- 393 "eor %C1,__tmp_reg__\n"
- 394 "ldd __tmp_reg__,%D5\n"
- 395 "eor %D1,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 406 "mov __tmp_reg__,%D1\n"
-
-
-
-
-
-
-
- 414 "mov %A0,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 453 "adc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 516 "sbc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 526 "adc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 549 "sbc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 267 uint8_t li_in = ((r + 3) & 0x03) * 8;
+ 268 uint8_t li_out = ((((r - 31) & 0x03) * 8) + li_in) & 0x1F;
+ 269 __asm__ __volatile__ (
+
+
+
+ 273 "ld __tmp_reg__,X+\n"
+ 274 "st Z+,__tmp_reg__\n"
+
+
+
+
+
+ 280 "adc r31,__zero_reg__\n"
+
+ 282 "st X+,__tmp_reg__\n"
+ 283 "ldd __tmp_reg__,Z+1\n"
+ 284 "st X+,__tmp_reg__\n"
+ 285 "ldd __tmp_reg__,Z+2\n"
+ 286 "st X+,__tmp_reg__\n"
+ 287 "ldd __tmp_reg__,Z+3\n"
+ 288 "st X+,__tmp_reg__\n"
+ 289 "ldd __tmp_reg__,Z+4\n"
+ 290 "st X+,__tmp_reg__\n"
+ 291 "ldd __tmp_reg__,Z+5\n"
+ 292 "st X+,__tmp_reg__\n"
+ 293 "ldd __tmp_reg__,Z+6\n"
+ 294 "st X+,__tmp_reg__\n"
+ 295 "ldd __tmp_reg__,Z+7\n"
+ 296 "st X+,__tmp_reg__\n"
+
+ 298 "sbc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 361 "ld __tmp_reg__,-X\n"
+ 362 "eor __tmp_reg__,r15\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 377 "mov r8,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 422 "adc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 432 "sbc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 490 "adc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 500 "sbc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 537 : :
"x"(this->l),
"z"(l),
"r"(input),
"Q"(output),
"Q"(li_out),
"Q"(r),
"Q"(li_in)
+ 538 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
+ 539 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
"memory"
+
+
+
+
+
+
+ 546 uint8_t li_in = (rounds + 3) & 0x03;
+ 547 uint8_t li_out = ((rounds - 31) + li_in) & 0x03;
+
+
+ 550 for (round = li_in; round != li_out; round = (round + 1) & 0x03)
+ 551 l[round] = this->l[round];
+
+
+
+
+ 556 unpack64(y, input + 8);
+
+
+
+ 560 for (uint8_t round = rounds - 1; round > 0; --round) {
+
+ 562 y = rightRotate3_64(x ^ y);
+ 563 x = leftRotate8_64((x ^ s) - y);
+
+
+ 566 li_in = (li_in + 3) & 0x03;
+ 567 li_out = (li_out + 3) & 0x03;
+ 568 s = rightRotate3_64(s ^ l[li_out]);
+ 569 l[li_in] = leftRotate8_64((l[li_out] ^ (round - 1)) - s);
+
+
+
+ 573 y = rightRotate3_64(x ^ y);
+ 574 x = leftRotate8_64((x ^ s) - y);
+
+
+
+ 578 pack64(output + 8, y);
+
+
- 582 :
"+r"(xlow),
"+r"(xhigh),
"+r"(ylow),
"+r"(yhigh),
- 583 "+Q"(slow),
"+Q"(shigh),
"+Q"(li_in),
"+Q"(li_out)
- 584 :
"z"(l),
"r"(rounds)
- 585 :
"r23",
"r24",
"r25"
-
-
-
- 589 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 606 : :
"r"(xlow),
"r"(xhigh),
"r"(ylow),
"r"(yhigh),
"z"(output)
-
-
-
-
-
- 612 uint8_t li_in = (rounds + 3) & 0x03;
- 613 uint8_t li_out = ((rounds - 31) + li_in) & 0x03;
-
-
- 616 for (round = li_in; round != li_out; round = (round + 1) & 0x03)
- 617 l[round] = this->l[round];
-
-
-
-
- 622 unpack64(y, input + 8);
-
-
-
- 626 for (uint8_t round = rounds - 1; round > 0; --round) {
-
- 628 y = rightRotate3_64(x ^ y);
- 629 x = leftRotate8_64((x ^ s) - y);
-
-
- 632 li_in = (li_in + 3) & 0x03;
- 633 li_out = (li_out + 3) & 0x03;
- 634 s = rightRotate3_64(s ^ l[li_out]);
- 635 l[li_in] = leftRotate8_64((l[li_out] ^ (round - 1)) - s);
-
-
-
- 639 y = rightRotate3_64(x ^ y);
- 640 x = leftRotate8_64((x ^ s) - y);
-
-
-
- 644 pack64(output + 8, y);
-
-
-
-
-
-
-
-
+
+
+
+
+
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
-void clear()
Clears all security-sensitive state from this block cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
SpeckSmall()
Constructs a small-memory Speck block cipher with no initial key.
-void clear()
Clears all security-sensitive state from this block cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
diff --git a/SpeckSmall_8h_source.html b/SpeckSmall_8h_source.html
index e55d2818..17036858 100644
--- a/SpeckSmall_8h_source.html
+++ b/SpeckSmall_8h_source.html
@@ -136,12 +136,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Speck block cipher with a 128-bit block size (small-memory version).
void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
-void clear()
Clears all security-sensitive state from this block cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
SpeckSmall()
Constructs a small-memory Speck block cipher with no initial key.
diff --git a/SpeckTiny_8cpp_source.html b/SpeckTiny_8cpp_source.html
index d3ae3efd..d0f1a3ef 100644
--- a/SpeckTiny_8cpp_source.html
+++ b/SpeckTiny_8cpp_source.html
@@ -209,394 +209,315 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
158 #if USE_AVR_INLINE_ASM
-
- 160 uint32_t xlow, xhigh, ylow, yhigh;
- 161 uint32_t slow, shigh;
-
- 163 uint8_t li_out = (rounds - 31) * 8;
-
-
- 166 __asm__ __volatile__ (
-
-
- 169 "ld __tmp_reg__,Z+\n"
- 170 "std %A0,__tmp_reg__\n"
- 171 "ld __tmp_reg__,Z+\n"
- 172 "std %B0,__tmp_reg__\n"
- 173 "ld __tmp_reg__,Z+\n"
- 174 "std %C0,__tmp_reg__\n"
- 175 "ld __tmp_reg__,Z+\n"
- 176 "std %D0,__tmp_reg__\n"
- 177 "ld __tmp_reg__,Z+\n"
- 178 "std %A1,__tmp_reg__\n"
- 179 "ld __tmp_reg__,Z+\n"
- 180 "std %B1,__tmp_reg__\n"
- 181 "ld __tmp_reg__,Z+\n"
- 182 "std %C1,__tmp_reg__\n"
- 183 "ld __tmp_reg__,Z+\n"
- 184 "std %D1,__tmp_reg__\n"
-
-
- 187 "ld __tmp_reg__,Z+\n"
- 188 "st X+,__tmp_reg__\n"
-
-
- 191 :
"=Q"(slow),
"=Q"(shigh)
- 192 :
"z"(k),
"x"(l),
"Q"(li_out)
-
-
-
-
-
- 198 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 215 :
"=r"(xlow),
"=r"(xhigh),
"=r"(ylow),
"=r"(yhigh)
-
-
-
-
- 220 __asm__ __volatile__ (
- 221 "mov r23,__zero_reg__\n"
-
-
-
-
-
- 227 "mov __tmp_reg__,%A0\n"
-
-
-
-
-
-
-
- 235 "mov %D1,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 246 "ldd __tmp_reg__,%A4\n"
- 247 "eor %A0,__tmp_reg__\n"
- 248 "ldd __tmp_reg__,%B4\n"
- 249 "eor %B0,__tmp_reg__\n"
- 250 "ldd __tmp_reg__,%C4\n"
- 251 "eor %C0,__tmp_reg__\n"
- 252 "ldd __tmp_reg__,%D4\n"
- 253 "eor %D0,__tmp_reg__\n"
- 254 "ldd __tmp_reg__,%A5\n"
- 255 "eor %A1,__tmp_reg__\n"
- 256 "ldd __tmp_reg__,%B5\n"
- 257 "eor %B1,__tmp_reg__\n"
- 258 "ldd __tmp_reg__,%C5\n"
- 259 "eor %C1,__tmp_reg__\n"
- 260 "ldd __tmp_reg__,%D5\n"
- 261 "eor %D1,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 272 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 283 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
- 292 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
- 305 "mov __tmp_reg__,r23\n"
-
- 307 "cp __tmp_reg__,%9\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 335 "adc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 370 "sbc %B8,__zero_reg__\n"
-
-
-
-
- 375 "adc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
- 388 "sbc %B8,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
- 401 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 411 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 421 "adc %A2,__zero_reg__\n"
+
+
+
+ 162 uint8_t mb = (r - 31) * 8;
+ 163 __asm__ __volatile__ (
+
+
+
+
+
+ 169 "ld __tmp_reg__,X+\n"
+ 170 "st Z+,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 203 "ld __tmp_reg__,Z+\n"
+ 204 "eor __tmp_reg__,r9\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 219 "mov r8,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+ 228 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 237 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 246 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 255 "mov __tmp_reg__,r25\n"
+
+
+ 258 "cp __tmp_reg__,r24\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 288 "adc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 307 "sbc r31,__zero_reg__\n"
+
+ 309 "adc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 319 "sbc r31,__zero_reg__\n"
+
+
+
+
+
+
+
+
+ 328 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 337 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 346 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 406 : :
"x"(k),
"z"(l),
"r"(input),
"Q"(output),
"Q"(mb),
"Q"(r)
+ 407 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
+ 408 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
"memory"
+
+
+
+
+
+
+
+ 416 uint8_t li_out = rounds - 31;
+
+
+
+
+ 421 unpack64(y, input + 8);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 464 :
"+r"(xlow),
"+r"(xhigh),
"+r"(ylow),
"+r"(yhigh),
- 465 "+Q"(slow),
"+Q"(shigh),
"+Q"(li_in),
"+Q"(li_out)
- 466 :
"z"(l),
"r"(rounds)
- 467 :
"r23",
"r24",
"r25"
-
-
-
- 471 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 488 : :
"r"(xlow),
"r"(xhigh),
"r"(ylow),
"r"(yhigh),
"z"(output)
-
-
-
-
-
-
- 495 uint8_t li_out = rounds - 31;
-
-
-
-
- 500 unpack64(y, input + 8);
-
-
- 503 memcpy(l, k + 1, li_out *
sizeof(uint64_t));
-
-
-
- 507 for (round = rounds - 1; round > 0; --round, ++i) {
-
- 509 x = (rightRotate8_64(x) + y) ^ s;
- 510 y = leftRotate3_64(y) ^ x;
-
-
- 513 l[li_out] = (s + rightRotate8_64(l[li_in])) ^ i;
- 514 s = leftRotate3_64(s) ^ l[li_out];
- 515 li_in = (li_in + 1) & 0x03;
- 516 li_out = (li_out + 1) & 0x03;
-
-
-
- 520 x = (rightRotate8_64(x) + y) ^ s;
- 521 y = leftRotate3_64(y) ^ x;
-
- 523 pack64(output + 8, y);
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 424 memcpy(l, k + 1, li_out *
sizeof(uint64_t));
+
+
+
+ 428 for (round = rounds - 1; round > 0; --round, ++i) {
+
+ 430 x = (rightRotate8_64(x) + y) ^ s;
+ 431 y = leftRotate3_64(y) ^ x;
+
+
+ 434 l[li_out] = (s + rightRotate8_64(l[li_in])) ^ i;
+ 435 s = leftRotate3_64(s) ^ l[li_out];
+ 436 li_in = (li_in + 1) & 0x03;
+ 437 li_out = (li_out + 1) & 0x03;
+
+
+
+ 441 x = (rightRotate8_64(x) + y) ^ s;
+ 442 y = leftRotate3_64(y) ^ x;
+
+ 444 pack64(output + 8, y);
+
+
+
+
+
+
+
+
+
+
+
+
SpeckTiny()
Constructs a tiny-memory Speck block cipher with no initial key.
size_t blockSize() const
Size of a single block processed by this cipher, in bytes.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
size_t keySize() const
Default size of the key for this block cipher, in bytes.
-void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
-void clear()
Clears all security-sensitive state from this block cipher.
+void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
diff --git a/SpeckTiny_8h_source.html b/SpeckTiny_8h_source.html
index 8d4ee0e0..0297d7c5 100644
--- a/SpeckTiny_8h_source.html
+++ b/SpeckTiny_8h_source.html
@@ -149,12 +149,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Speck block cipher with a 128-bit block size (small-memory version).
void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
size_t keySize() const
Default size of the key for this block cipher, in bytes.
-void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
-void clear()
Clears all security-sensitive state from this block cipher.
+void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
diff --git a/Speck_8cpp_source.html b/Speck_8cpp_source.html
index 61973bc5..3fb96a85 100644
--- a/Speck_8cpp_source.html
+++ b/Speck_8cpp_source.html
@@ -162,524 +162,463 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
107 #if USE_AVR_INLINE_ASM
-
-
-
-
-
- 113 }
else if (len == 24) {
-
-
- 116 }
else if (len == 16) {
-
-
-
-
-
-
-
-
-
- 126 __asm__ __volatile__ (
-
- 128 "ld __tmp_reg__,-Z\n"
- 129 "st X+,__tmp_reg__\n"
-
-
- 132 : :
"x"(l),
"z"(key + len - 8),
"r"(mb)
-
-
-
- 136 __asm__ __volatile__ (
-
- 138 "ld __tmp_reg__,-Z\n"
- 139 "st X+,__tmp_reg__\n"
-
-
- 142 : :
"x"(k),
"z"(key + len),
"r"(8)
-
-
-
- 146 __asm__ __volatile__ (
-
-
-
- 150 "adc %B1,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 184 "sbc %B1,__zero_reg__\n"
-
-
-
- 188 "adc %B1,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
- 201 "sbc %B1,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
- 213 "adc r16,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 223 "adc r16,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 233 "adc r16,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 262 "r"((uint8_t)((m - 1) * 8)),
-
-
- 265 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
- 266 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
-
-
-
-
-
-
-
-
- 275 unpack64(l[1], key + 8);
- 276 unpack64(l[0], key + 16);
- 277 unpack64(k[0], key + 24);
- 278 }
else if (len == 24) {
-
-
- 281 unpack64(l[0], key + 8);
- 282 unpack64(k[0], key + 16);
- 283 }
else if (len == 16) {
-
-
- 286 unpack64(k[0], key + 8);
-
-
-
-
-
- 292 uint8_t li_out = m - 1;
- 293 for (uint8_t i = 0; i < (rounds - 1); ++i) {
- 294 l[li_out] = (k[i] + rightRotate8_64(l[li_in])) ^ i;
- 295 k[i + 1] = leftRotate3_64(k[i]) ^ l[li_out];
-
-
-
-
-
-
-
-
-
-
-
-
- 308 #if USE_AVR_INLINE_ASM
- 309 uint32_t xlow, xhigh, ylow, yhigh;
-
-
-
- 313 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 330 :
"=r"(xlow),
"=r"(xhigh),
"=r"(ylow),
"=r"(yhigh)
-
-
-
-
- 335 __asm__ __volatile__ (
-
-
- 338 "mov __tmp_reg__,%A0\n"
-
-
-
-
-
-
-
- 346 "mov %D1,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 357 "ld __tmp_reg__,Z+\n"
- 358 "eor %A0,__tmp_reg__\n"
- 359 "ld __tmp_reg__,Z+\n"
- 360 "eor %B0,__tmp_reg__\n"
- 361 "ld __tmp_reg__,Z+\n"
- 362 "eor %C0,__tmp_reg__\n"
- 363 "ld __tmp_reg__,Z+\n"
- 364 "eor %D0,__tmp_reg__\n"
- 365 "ld __tmp_reg__,Z+\n"
- 366 "eor %A1,__tmp_reg__\n"
- 367 "ld __tmp_reg__,Z+\n"
- 368 "eor %B1,__tmp_reg__\n"
- 369 "ld __tmp_reg__,Z+\n"
- 370 "eor %C1,__tmp_reg__\n"
- 371 "ld __tmp_reg__,Z+\n"
- 372 "eor %D1,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 383 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 393 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
- 403 "adc %A2,__zero_reg__\n"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 419 :
"+r"(xlow),
"+r"(xhigh),
"+r"(ylow),
"+r"(yhigh)
- 420 :
"z"(k),
"r"(rounds)
-
-
-
- 424 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 441 : :
"r"(xlow),
"r"(xhigh),
"r"(ylow),
"r"(yhigh),
"z"(output)
-
-
-
- 445 const uint64_t *s = k;
-
- 447 unpack64(y, input + 8);
- 448 for (uint8_t round = rounds; round > 0; --round, ++s) {
- 449 x = (rightRotate8_64(x) + y) ^ s[0];
- 450 y = leftRotate3_64(y) ^ x;
-
-
- 453 pack64(output + 8, y);
-
-
-
-
-
- 459 #if USE_AVR_INLINE_ASM
- 460 uint32_t xlow, xhigh, ylow, yhigh;
-
-
-
- 464 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 481 :
"=r"(xlow),
"=r"(xhigh),
"=r"(ylow),
"=r"(yhigh)
-
-
-
-
- 486 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 532 "ld __tmp_reg__,-Z\n"
- 533 "eor %D1,__tmp_reg__\n"
- 534 "ld __tmp_reg__,-Z\n"
- 535 "eor %C1,__tmp_reg__\n"
- 536 "ld __tmp_reg__,-Z\n"
- 537 "eor %B1,__tmp_reg__\n"
- 538 "ld __tmp_reg__,-Z\n"
- 539 "eor %A1,__tmp_reg__\n"
- 540 "ld __tmp_reg__,-Z\n"
- 541 "eor %D0,__tmp_reg__\n"
- 542 "ld __tmp_reg__,-Z\n"
- 543 "eor %C0,__tmp_reg__\n"
- 544 "ld __tmp_reg__,-Z\n"
- 545 "eor %B0,__tmp_reg__\n"
- 546 "ld __tmp_reg__,-Z\n"
- 547 "eor %A0,__tmp_reg__\n"
-
-
-
-
-
-
-
-
-
-
- 558 "mov __tmp_reg__,%D1\n"
-
-
-
-
-
-
-
- 566 "mov %A0,__tmp_reg__\n"
-
-
-
-
-
-
- 573 :
"+r"(xlow),
"+r"(xhigh),
"+r"(ylow),
"+r"(yhigh)
- 574 :
"z"(k + rounds),
"r"(rounds)
-
-
-
- 578 __asm__ __volatile__ (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 595 : :
"r"(xlow),
"r"(xhigh),
"r"(ylow),
"r"(yhigh),
"z"(output)
-
-
-
- 599 const uint64_t *s = k + rounds - 1;
-
- 601 unpack64(y, input + 8);
- 602 for (uint8_t round = rounds; round > 0; --round, --s) {
- 603 y = rightRotate3_64(x ^ y);
- 604 x = leftRotate8_64((x ^ s[0]) - y);
-
-
- 607 pack64(output + 8, y);
-
-
-
-
-
-
-
+
+
+
+
+
+
+ 114 }
else if (len == 24) {
+
+
+ 117 }
else if (len == 16) {
+
+
+
+
+
+
+ 124 uint8_t r = rounds - 1;
+ 125 __asm__ __volatile__ (
+ 126 "ld __tmp_reg__,-X\n"
+ 127 "st Z+,__tmp_reg__\n"
+ 128 "ld __tmp_reg__,-X\n"
+ 129 "st Z+,__tmp_reg__\n"
+ 130 "ld __tmp_reg__,-X\n"
+ 131 "st Z+,__tmp_reg__\n"
+ 132 "ld __tmp_reg__,-X\n"
+ 133 "st Z+,__tmp_reg__\n"
+ 134 "ld __tmp_reg__,-X\n"
+ 135 "st Z+,__tmp_reg__\n"
+ 136 "ld __tmp_reg__,-X\n"
+ 137 "st Z+,__tmp_reg__\n"
+ 138 "ld __tmp_reg__,-X\n"
+ 139 "st Z+,__tmp_reg__\n"
+ 140 "ld __tmp_reg__,-X\n"
+ 141 "st Z+,__tmp_reg__\n"
+
+
+
+
+
+ 147 "ld __tmp_reg__,-X\n"
+ 148 "st Z+,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 166 "adc r27,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 176 "sbc r27,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+ 188 "adc r27,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 198 "sbc r27,__zero_reg__\n"
+
+
+
+
+
+
+
+
+
+ 208 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 217 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 226 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 257 "st X+,__zero_reg__\n"
+
+
+ 260 : :
"z"(k),
"x"(key + len),
"r"(l),
"Q"(mb),
"Q"(r)
+ 261 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
+ 262 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
"memory"
+
+
+
+
+
+
+
+
+
+ 272 unpack64(l[1], key + 8);
+ 273 unpack64(l[0], key + 16);
+ 274 unpack64(k[0], key + 24);
+ 275 }
else if (len == 24) {
+
+
+ 278 unpack64(l[0], key + 8);
+ 279 unpack64(k[0], key + 16);
+ 280 }
else if (len == 16) {
+
+
+ 283 unpack64(k[0], key + 8);
+
+
+
+
+
+ 289 uint8_t li_out = m - 1;
+ 290 for (uint8_t i = 0; i < (rounds - 1); ++i) {
+ 291 l[li_out] = (k[i] + rightRotate8_64(l[li_in])) ^ i;
+ 292 k[i + 1] = leftRotate3_64(k[i]) ^ l[li_out];
+
+
+
+
+
+
+
+
+
+
+
+
+ 305 #if USE_AVR_INLINE_ASM
+
+ 307 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 333 "ld __tmp_reg__,Z+\n"
+ 334 "eor __tmp_reg__,r9\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 349 "mov r8,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+ 358 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 367 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+ 376 "adc r16, __zero_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 407 : :
"x"(input),
"z"(k),
"r"(rounds),
"Q"(output)
+ 408 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
+ 409 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
"memory"
+
+
+
+ 413 const uint64_t *s = k;
+
+ 415 unpack64(y, input + 8);
+ 416 for (uint8_t round = rounds; round > 0; --round, ++s) {
+ 417 x = (rightRotate8_64(x) + y) ^ s[0];
+ 418 y = leftRotate3_64(y) ^ x;
+
+
+ 421 pack64(output + 8, y);
+
+
+
+
+
+ 427 #if USE_AVR_INLINE_ASM
+
+ 429 __asm__ __volatile__ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 485 "ld __tmp_reg__,-Z\n"
+ 486 "eor __tmp_reg__,r15\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 501 "mov r8,__tmp_reg__\n"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 532 : :
"x"(input),
"z"(k + rounds),
"r"(rounds),
"Q"(output)
+ 533 :
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
+ 534 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
"memory"
+
+
+
+ 538 const uint64_t *s = k + rounds - 1;
+
+ 540 unpack64(y, input + 8);
+ 541 for (uint8_t round = rounds; round > 0; --round, --s) {
+ 542 y = rightRotate3_64(x ^ y);
+ 543 x = leftRotate8_64((x ^ s[0]) - y);
+
+
+ 546 pack64(output + 8, y);
+
+
+
+
+
+
+
size_t keySize() const
Default size of the key for this block cipher, in bytes.
size_t blockSize() const
Size of a single block processed by this cipher, in bytes.
Speck()
Constructs a Speck block cipher with no initial key.
-void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
-void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
+void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
+void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
-void clear()
Clears all security-sensitive state from this block cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
diff --git a/Speck_8h_source.html b/Speck_8h_source.html
index fba35da6..d8012b2f 100644
--- a/Speck_8h_source.html
+++ b/Speck_8h_source.html
@@ -142,14 +142,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
size_t blockSize() const
Size of a single block processed by this cipher, in bytes.
Speck()
Constructs a Speck block cipher with no initial key.
Speck block cipher with a 128-bit block size.
-void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
-void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
+void encryptBlock(uint8_t *output, const uint8_t *input)
Encrypts a single block using this cipher.
+void decryptBlock(uint8_t *output, const uint8_t *input)
Decrypts a single block using this cipher.
bool setKey(const uint8_t *key, size_t len)
Sets the key to use for future encryption and decryption operations.
-void clear()
Clears all security-sensitive state from this block cipher.
+void clear()
Clears all security-sensitive state from this block cipher.
diff --git a/TelnetDefs_8h_source.html b/TelnetDefs_8h_source.html
index 6e114718..a9aa983a 100644
--- a/TelnetDefs_8h_source.html
+++ b/TelnetDefs_8h_source.html
@@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Terminal_8cpp_source.html b/Terminal_8cpp_source.html
index 0bd001b6..e6bdabb0 100644
--- a/Terminal_8cpp_source.html
+++ b/Terminal_8cpp_source.html
@@ -1037,7 +1037,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/Terminal_8h_source.html b/Terminal_8h_source.html
index 7690bf84..701599d6 100644
--- a/Terminal_8h_source.html
+++ b/Terminal_8h_source.html
@@ -299,7 +299,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TextField_8cpp_source.html b/TextField_8cpp_source.html
index 531cc7d2..763a1635 100644
--- a/TextField_8cpp_source.html
+++ b/TextField_8cpp_source.html
@@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TextField_8h_source.html b/TextField_8h_source.html
index e75a3bfd..036b73dd 100644
--- a/TextField_8h_source.html
+++ b/TextField_8h_source.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TimeField_8cpp_source.html b/TimeField_8cpp_source.html
index b221f19f..5f793c76 100644
--- a/TimeField_8cpp_source.html
+++ b/TimeField_8cpp_source.html
@@ -325,7 +325,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TimeField_8h_source.html b/TimeField_8h_source.html
index 3d3be857..f260c289 100644
--- a/TimeField_8h_source.html
+++ b/TimeField_8h_source.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TransistorNoiseSource_8cpp_source.html b/TransistorNoiseSource_8cpp_source.html
index d62bd755..36f496cf 100644
--- a/TransistorNoiseSource_8cpp_source.html
+++ b/TransistorNoiseSource_8cpp_source.html
@@ -295,7 +295,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/TransistorNoiseSource_8h_source.html b/TransistorNoiseSource_8h_source.html
index f7be6a98..e3b0ca47 100644
--- a/TransistorNoiseSource_8h_source.html
+++ b/TransistorNoiseSource_8h_source.html
@@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/USBKeysExtra_8h_source.html b/USBKeysExtra_8h_source.html
index 70e5827e..9e564f66 100644
--- a/USBKeysExtra_8h_source.html
+++ b/USBKeysExtra_8h_source.html
@@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/XOF_8cpp_source.html b/XOF_8cpp_source.html
index 3a12f486..78bba94b 100644
--- a/XOF_8cpp_source.html
+++ b/XOF_8cpp_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/XOF_8h_source.html b/XOF_8h_source.html
index 7a707575..2b90d3ee 100644
--- a/XOF_8h_source.html
+++ b/XOF_8h_source.html
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/XTS_8cpp_source.html b/XTS_8cpp_source.html
index bbb7128e..721f66d1 100644
--- a/XTS_8cpp_source.html
+++ b/XTS_8cpp_source.html
@@ -290,7 +290,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/XTS_8h_source.html b/XTS_8h_source.html
index ca15d1fd..45b125e4 100644
--- a/XTS_8h_source.html
+++ b/XTS_8h_source.html
@@ -217,7 +217,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/alarm-clock_8dox.html b/alarm-clock_8dox.html
index 8a2f0a74..a66c4f2b 100644
--- a/alarm-clock_8dox.html
+++ b/alarm-clock_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/alarm_clock.html b/alarm_clock.html
index 7b5bfdd5..b7bf0008 100644
--- a/alarm_clock.html
+++ b/alarm_clock.html
@@ -140,7 +140,7 @@ Completed Clock
diff --git a/annotated.html b/annotated.html
index ca8057cf..24e0d00a 100644
--- a/annotated.html
+++ b/annotated.html
@@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink-blink_8dox.html b/blink-blink_8dox.html
index 1acc2497..40988407 100644
--- a/blink-blink_8dox.html
+++ b/blink-blink_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink-charlieplex_8dox.html b/blink-charlieplex_8dox.html
index a695878e..bc1ce360 100644
--- a/blink-charlieplex_8dox.html
+++ b/blink-charlieplex_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink-cylon_8dox.html b/blink-cylon_8dox.html
index c3420d8f..c62cd998 100644
--- a/blink-cylon_8dox.html
+++ b/blink-cylon_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink-startrek_8dox.html b/blink-startrek_8dox.html
index 5c4b1f85..20545bf6 100644
--- a/blink-startrek_8dox.html
+++ b/blink-startrek_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink_blink.html b/blink_blink.html
index aac87850..4bebb90d 100644
--- a/blink_blink.html
+++ b/blink_blink.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink_charlieplex.html b/blink_charlieplex.html
index 2b686cfe..045f7601 100644
--- a/blink_charlieplex.html
+++ b/blink_charlieplex.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink_cylon.html b/blink_cylon.html
index eee3d6c7..d4680305 100644
--- a/blink_cylon.html
+++ b/blink_cylon.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/blink_startrek.html b/blink_startrek.html
index 66a10cc4..17bc62ee 100644
--- a/blink_startrek.html
+++ b/blink_startrek.html
@@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAES128-members.html b/classAES128-members.html
index 029936ac..23218a8b 100644
--- a/classAES128-members.html
+++ b/classAES128-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAES128.html b/classAES128.html
index 299853b7..b242c352 100644
--- a/classAES128.html
+++ b/classAES128.html
@@ -265,7 +265,7 @@ Additional Inherited Members
diff --git a/classAES192-members.html b/classAES192-members.html
index f8e1b3ed..6b1e03db 100644
--- a/classAES192-members.html
+++ b/classAES192-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAES192.html b/classAES192.html
index d0381142..97cd3cbf 100644
--- a/classAES192.html
+++ b/classAES192.html
@@ -265,7 +265,7 @@ Additional Inherited Members
diff --git a/classAES256-members.html b/classAES256-members.html
index 7647940e..806b4fdf 100644
--- a/classAES256-members.html
+++ b/classAES256-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAES256.html b/classAES256.html
index 65f17ac2..f63ce5eb 100644
--- a/classAES256.html
+++ b/classAES256.html
@@ -265,7 +265,7 @@ Additional Inherited Members
diff --git a/classAESCommon-members.html b/classAESCommon-members.html
index 8bf73cd9..73b83002 100644
--- a/classAESCommon-members.html
+++ b/classAESCommon-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAESCommon.html b/classAESCommon.html
index 9cfee979..78729af1 100644
--- a/classAESCommon.html
+++ b/classAESCommon.html
@@ -322,7 +322,7 @@ Protected Member Functions
diff --git a/classAuthenticatedCipher-members.html b/classAuthenticatedCipher-members.html
index 951dbf6e..d49a5329 100644
--- a/classAuthenticatedCipher-members.html
+++ b/classAuthenticatedCipher-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classAuthenticatedCipher.html b/classAuthenticatedCipher.html
index 7739f74c..6e2768c8 100644
--- a/classAuthenticatedCipher.html
+++ b/classAuthenticatedCipher.html
@@ -351,7 +351,7 @@ virtual
diff --git a/classBLAKE2b-members.html b/classBLAKE2b-members.html
index 94955396..ef5da5dc 100644
--- a/classBLAKE2b-members.html
+++ b/classBLAKE2b-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBLAKE2b.html b/classBLAKE2b.html
index 5b5e6ea0..2e206e51 100644
--- a/classBLAKE2b.html
+++ b/classBLAKE2b.html
@@ -600,7 +600,7 @@ Additional Inherited Members |
diff --git a/classBLAKE2s-members.html b/classBLAKE2s-members.html
index 90a351af..b7fcb050 100644
--- a/classBLAKE2s-members.html
+++ b/classBLAKE2s-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBLAKE2s.html b/classBLAKE2s.html
index 7fdf7053..b7f9a358 100644
--- a/classBLAKE2s.html
+++ b/classBLAKE2s.html
@@ -600,7 +600,7 @@ Additional Inherited Members
diff --git a/classBigNumberUtil-members.html b/classBigNumberUtil-members.html
index fc62275b..3a7a4109 100644
--- a/classBigNumberUtil-members.html
+++ b/classBigNumberUtil-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBigNumberUtil.html b/classBigNumberUtil.html
index 2bd34db1..47742c39 100644
--- a/classBigNumberUtil.html
+++ b/classBigNumberUtil.html
@@ -943,7 +943,7 @@ Static Public Member Functions
diff --git a/classBitmap-members.html b/classBitmap-members.html
index be22cbda..e9a99072 100644
--- a/classBitmap-members.html
+++ b/classBitmap-members.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBitmap.html b/classBitmap.html
index d1ba82c6..5f4566c0 100644
--- a/classBitmap.html
+++ b/classBitmap.html
@@ -1745,7 +1745,7 @@ class DMD |
diff --git a/classBlinkLED-members.html b/classBlinkLED-members.html
index bdf6a586..6ff3d4a3 100644
--- a/classBlinkLED-members.html
+++ b/classBlinkLED-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBlinkLED.html b/classBlinkLED.html
index 7b3c76e5..84149020 100644
--- a/classBlinkLED.html
+++ b/classBlinkLED.html
@@ -428,7 +428,7 @@ Public Member Functions
diff --git a/classBlockCipher-members.html b/classBlockCipher-members.html
index b4398815..73779b9a 100644
--- a/classBlockCipher-members.html
+++ b/classBlockCipher-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBlockCipher.html b/classBlockCipher.html
index 98455a19..13e9a632 100644
--- a/classBlockCipher.html
+++ b/classBlockCipher.html
@@ -410,7 +410,7 @@ Public Member Functions
diff --git a/classBoolField-members.html b/classBoolField-members.html
index ff56cfdf..9686b290 100644
--- a/classBoolField-members.html
+++ b/classBoolField-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classBoolField.html b/classBoolField.html
index e654b82d..4e20e9f4 100644
--- a/classBoolField.html
+++ b/classBoolField.html
@@ -506,7 +506,7 @@ LiquidCrystal *
diff --git a/classCBC-members.html b/classCBC-members.html
index 1b8b41f6..2ddffa2b 100644
--- a/classCBC-members.html
+++ b/classCBC-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCBC.html b/classCBC.html
index 5d9b1c05..c71250b9 100644
--- a/classCBC.html
+++ b/classCBC.html
@@ -185,7 +185,7 @@ class CBC< T >
diff --git a/classCBCCommon-members.html b/classCBCCommon-members.html
index a38f06cd..e0078ed4 100644
--- a/classCBCCommon-members.html
+++ b/classCBCCommon-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCBCCommon.html b/classCBCCommon.html
index ed6e8618..ba6750eb 100644
--- a/classCBCCommon.html
+++ b/classCBCCommon.html
@@ -534,7 +534,7 @@ Protected Member Functions |
diff --git a/classCFB-members.html b/classCFB-members.html
index 0de5ea8d..f8b7e765 100644
--- a/classCFB-members.html
+++ b/classCFB-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCFB.html b/classCFB.html
index b1275c45..18588d75 100644
--- a/classCFB.html
+++ b/classCFB.html
@@ -185,7 +185,7 @@ class CFB< T >
diff --git a/classCFBCommon-members.html b/classCFBCommon-members.html
index c8b0dfc2..dbb14243 100644
--- a/classCFBCommon-members.html
+++ b/classCFBCommon-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCFBCommon.html b/classCFBCommon.html
index 216f6111..768ac276 100644
--- a/classCFBCommon.html
+++ b/classCFBCommon.html
@@ -534,7 +534,7 @@ Protected Member Functions
diff --git a/classCTR-members.html b/classCTR-members.html
index 7ea27047..dfbe1ffa 100644
--- a/classCTR-members.html
+++ b/classCTR-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCTR.html b/classCTR.html
index 73a87a8c..87f5e0ad 100644
--- a/classCTR.html
+++ b/classCTR.html
@@ -181,7 +181,7 @@ class CTR< T >
diff --git a/classCTRCommon-members.html b/classCTRCommon-members.html
index 2c9a9a7e..8f506c12 100644
--- a/classCTRCommon-members.html
+++ b/classCTRCommon-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCTRCommon.html b/classCTRCommon.html
index e0ca90c0..4085aba6 100644
--- a/classCTRCommon.html
+++ b/classCTRCommon.html
@@ -563,7 +563,7 @@ Protected Member Functions
diff --git a/classChaCha-members.html b/classChaCha-members.html
index 92c926f9..03461835 100644
--- a/classChaCha-members.html
+++ b/classChaCha-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classChaCha.html b/classChaCha.html
index 7edadda2..5c31202d 100644
--- a/classChaCha.html
+++ b/classChaCha.html
@@ -673,7 +673,7 @@ class ChaChaPoly | <
diff --git a/classChaChaPoly-members.html b/classChaChaPoly-members.html
index 906adc23..569a4b94 100644
--- a/classChaChaPoly-members.html
+++ b/classChaChaPoly-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classChaChaPoly.html b/classChaChaPoly.html
index 448b47fc..ee118bf0 100644
--- a/classChaChaPoly.html
+++ b/classChaChaPoly.html
@@ -665,7 +665,7 @@ virtual
diff --git a/classCharlieplex-members.html b/classCharlieplex-members.html
index b43d551e..8ebd0ef9 100644
--- a/classCharlieplex-members.html
+++ b/classCharlieplex-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCharlieplex.html b/classCharlieplex.html
index 067bf945..1eb3fad2 100644
--- a/classCharlieplex.html
+++ b/classCharlieplex.html
@@ -538,7 +538,7 @@ Public Member Functions |
diff --git a/classChaseLEDs-members.html b/classChaseLEDs-members.html
index d9541ecc..31264482 100644
--- a/classChaseLEDs-members.html
+++ b/classChaseLEDs-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classChaseLEDs.html b/classChaseLEDs.html
index 34d0c7e7..9212f808 100644
--- a/classChaseLEDs.html
+++ b/classChaseLEDs.html
@@ -347,7 +347,7 @@ Protected Member Functions
diff --git a/classCipher-members.html b/classCipher-members.html
index 06ca295b..1b82005e 100644
--- a/classCipher-members.html
+++ b/classCipher-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCipher.html b/classCipher.html
index c17b456a..ebcb5ce3 100644
--- a/classCipher.html
+++ b/classCipher.html
@@ -485,7 +485,7 @@ Public Member Functions
diff --git a/classCurve25519-members.html b/classCurve25519-members.html
index df2fbfbb..65735433 100644
--- a/classCurve25519-members.html
+++ b/classCurve25519-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classCurve25519.html b/classCurve25519.html
index ff844755..c48ddf97 100644
--- a/classCurve25519.html
+++ b/classCurve25519.html
@@ -188,7 +188,7 @@ class Ed25519 | Reference: RFC 7748
- See Also
- dh2()
-Definition at line 244 of file Curve25519.cpp.
+Definition at line 245 of file Curve25519.cpp.
@@ -236,7 +236,7 @@ class Ed25519 | Reference: RFC 7748
- See Also
- dh1()
-Definition at line 282 of file Curve25519.cpp.
+Definition at line 283 of file Curve25519.cpp.
@@ -292,7 +292,7 @@ class Ed25519 | Reference: RFC 7748
- See Also
- dh1(), dh2()
-Definition at line 79 of file Curve25519.cpp.
+Definition at line 80 of file Curve25519.cpp.
@@ -303,7 +303,7 @@ class Ed25519 |
diff --git a/classDMD-members.html b/classDMD-members.html
index d4b874f8..d931702e 100644
--- a/classDMD-members.html
+++ b/classDMD-members.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classDMD.html b/classDMD.html
index 90bc6e9e..704536a9 100644
--- a/classDMD.html
+++ b/classDMD.html
@@ -755,7 +755,7 @@ Multiple panels
diff --git a/classDS1307RTC-members.html b/classDS1307RTC-members.html
index 5a2136fa..40e37ee8 100644
--- a/classDS1307RTC-members.html
+++ b/classDS1307RTC-members.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classDS1307RTC.html b/classDS1307RTC.html
index 5ef278ae..3525ff13 100644
--- a/classDS1307RTC.html
+++ b/classDS1307RTC.html
@@ -598,7 +598,7 @@ static const uint8_t
diff --git a/classDS3231RTC-members.html b/classDS3231RTC-members.html
index fb4d27d3..8cf2d511 100644
--- a/classDS3231RTC-members.html
+++ b/classDS3231RTC-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classDS3231RTC.html b/classDS3231RTC.html
index 9e27b327..07ee47d7 100644
--- a/classDS3231RTC.html
+++ b/classDS3231RTC.html
@@ -713,7 +713,7 @@ static const uint8_t |
diff --git a/classDS3232RTC-members.html b/classDS3232RTC-members.html
index a20d60cf..918e97a8 100644
--- a/classDS3232RTC-members.html
+++ b/classDS3232RTC-members.html
@@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classDS3232RTC.html b/classDS3232RTC.html
index c2ae0c43..c9e11377 100644
--- a/classDS3232RTC.html
+++ b/classDS3232RTC.html
@@ -750,7 +750,7 @@ static const uint8_t |
diff --git a/classEAX-members.html b/classEAX-members.html
index 5a303d89..dcef3bb0 100644
--- a/classEAX-members.html
+++ b/classEAX-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classEAX.html b/classEAX.html
index 1fe6b303..ee314974 100644
--- a/classEAX.html
+++ b/classEAX.html
@@ -219,7 +219,7 @@ class EAX< T >
diff --git a/classEAXCommon-members.html b/classEAXCommon-members.html
index 3dd677dd..6f341d1d 100644
--- a/classEAXCommon-members.html
+++ b/classEAXCommon-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classEAXCommon.html b/classEAXCommon.html
index 910793b8..200a4955 100644
--- a/classEAXCommon.html
+++ b/classEAXCommon.html
@@ -732,7 +732,7 @@ Protected Member Functions |
diff --git a/classEEPROM24-members.html b/classEEPROM24-members.html
index 599269ad..0d6586f6 100644
--- a/classEEPROM24-members.html
+++ b/classEEPROM24-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classEEPROM24.html b/classEEPROM24.html
index a7c86576..df642617 100644
--- a/classEEPROM24.html
+++ b/classEEPROM24.html
@@ -431,7 +431,7 @@ Public Member Functions
diff --git a/classEd25519-members.html b/classEd25519-members.html
index b6400027..4980c851 100644
--- a/classEd25519-members.html
+++ b/classEd25519-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classEd25519.html b/classEd25519.html
index 003fecd1..c930499f 100644
--- a/classEd25519.html
+++ b/classEd25519.html
@@ -354,7 +354,7 @@ Static Public Member Functions
diff --git a/classField-members.html b/classField-members.html
index a39aaeda..7cfece90 100644
--- a/classField-members.html
+++ b/classField-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classField.html b/classField.html
index 0f71c427..c48b833c 100644
--- a/classField.html
+++ b/classField.html
@@ -424,7 +424,7 @@ class Form |
diff --git a/classForm-members.html b/classForm-members.html
index 5a848cf6..f56ef99c 100644
--- a/classForm-members.html
+++ b/classForm-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classForm.html b/classForm.html
index c495c190..a3780a1c 100644
--- a/classForm.html
+++ b/classForm.html
@@ -485,7 +485,7 @@ class Field |
diff --git a/classGCM-members.html b/classGCM-members.html
index b5af0fb8..99f06773 100644
--- a/classGCM-members.html
+++ b/classGCM-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classGCM.html b/classGCM.html
index a84df50e..4048348e 100644
--- a/classGCM.html
+++ b/classGCM.html
@@ -223,7 +223,7 @@ class GCM< T >
diff --git a/classGCMCommon-members.html b/classGCMCommon-members.html
index 0fed898e..68f28dc0 100644
--- a/classGCMCommon-members.html
+++ b/classGCMCommon-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classGCMCommon.html b/classGCMCommon.html
index fd9e4418..41daa8a8 100644
--- a/classGCMCommon.html
+++ b/classGCMCommon.html
@@ -736,7 +736,7 @@ Protected Member Functions
diff --git a/classGF128-members.html b/classGF128-members.html
index f090f783..9e1cbddc 100644
--- a/classGF128-members.html
+++ b/classGF128-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classGF128.html b/classGF128.html
index 6a4cc977..81847a50 100644
--- a/classGF128.html
+++ b/classGF128.html
@@ -334,7 +334,7 @@ Static Public Member Functions
diff --git a/classGHASH-members.html b/classGHASH-members.html
index e732379e..466ad109 100644
--- a/classGHASH-members.html
+++ b/classGHASH-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classGHASH.html b/classGHASH.html
index 09bdf3a8..dbc05cb9 100644
--- a/classGHASH.html
+++ b/classGHASH.html
@@ -265,7 +265,7 @@ void
diff --git a/classHash-members.html b/classHash-members.html
index 3362e388..91ddf207 100644
--- a/classHash-members.html
+++ b/classHash-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classHash.html b/classHash.html
index 8cd71ba4..7cd24355 100644
--- a/classHash.html
+++ b/classHash.html
@@ -575,7 +575,7 @@ Protected Member Functions |
diff --git a/classI2CMaster-members.html b/classI2CMaster-members.html
index 5d76311d..59bb4f8c 100644
--- a/classI2CMaster-members.html
+++ b/classI2CMaster-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classI2CMaster.html b/classI2CMaster.html
index 0ec78382..d5b457b2 100644
--- a/classI2CMaster.html
+++ b/classI2CMaster.html
@@ -328,7 +328,7 @@ virtual unsigned int
diff --git a/classIRreceiver-members.html b/classIRreceiver-members.html
index 7b51aaf8..f52e681a 100644
--- a/classIRreceiver-members.html
+++ b/classIRreceiver-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classIRreceiver.html b/classIRreceiver.html
index 2a111f7f..3931fd2d 100644
--- a/classIRreceiver.html
+++ b/classIRreceiver.html
@@ -328,7 +328,7 @@ void | _IR_receive_interrupt
diff --git a/classIntField-members.html b/classIntField-members.html
index 881ef6fa..1bfa2a3e 100644
--- a/classIntField-members.html
+++ b/classIntField-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classIntField.html b/classIntField.html
index 5141da47..87edf500 100644
--- a/classIntField.html
+++ b/classIntField.html
@@ -647,7 +647,7 @@ LiquidCrystal * |
diff --git a/classKeccakCore-members.html b/classKeccakCore-members.html
index bc3a2d68..e7c0ce49 100644
--- a/classKeccakCore-members.html
+++ b/classKeccakCore-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classKeccakCore.html b/classKeccakCore.html
index 35a0a844..aee70245 100644
--- a/classKeccakCore.html
+++ b/classKeccakCore.html
@@ -475,7 +475,7 @@ void |
diff --git a/classLCD-members.html b/classLCD-members.html
index ab5194b7..6493e2a2 100644
--- a/classLCD-members.html
+++ b/classLCD-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classLCD.html b/classLCD.html
index 63b680e9..c9a4bf86 100644
--- a/classLCD.html
+++ b/classLCD.html
@@ -592,7 +592,7 @@ Support for DFRobot LCD Shield
diff --git a/classListField-members.html b/classListField-members.html
index 323831a3..462b4567 100644
--- a/classListField-members.html
+++ b/classListField-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classListField.html b/classListField.html
index d5a24941..225833eb 100644
--- a/classListField.html
+++ b/classListField.html
@@ -411,7 +411,7 @@ LiquidCrystal * |
diff --git a/classLoginShell-members.html b/classLoginShell-members.html
index 4473a77b..c1b24791 100644
--- a/classLoginShell-members.html
+++ b/classLoginShell-members.html
@@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classLoginShell.html b/classLoginShell.html
index 484f11bf..e71b86cf 100644
--- a/classLoginShell.html
+++ b/classLoginShell.html
@@ -572,7 +572,7 @@ Additional Inherited Members |
diff --git a/classMelody-members.html b/classMelody-members.html
index 88ede0b9..eb39b00b 100644
--- a/classMelody-members.html
+++ b/classMelody-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classMelody.html b/classMelody.html
index 6bba2db9..0a7a74b6 100644
--- a/classMelody.html
+++ b/classMelody.html
@@ -371,7 +371,7 @@ bool
diff --git a/classNewHope-members.html b/classNewHope-members.html
index f9becfc0..f9934251 100644
--- a/classNewHope-members.html
+++ b/classNewHope-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classNewHope.html b/classNewHope.html
index 6a720d64..9fe09912 100644
--- a/classNewHope.html
+++ b/classNewHope.html
@@ -362,7 +362,7 @@ Static Public Member Functions |
diff --git a/classNoiseSource-members.html b/classNoiseSource-members.html
index fdca8938..1b0c5855 100644
--- a/classNoiseSource-members.html
+++ b/classNoiseSource-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classNoiseSource.html b/classNoiseSource.html
index 54728015..29454979 100644
--- a/classNoiseSource.html
+++ b/classNoiseSource.html
@@ -289,7 +289,7 @@ Protected Member Functions
diff --git a/classOFB-members.html b/classOFB-members.html
index 77516583..1466556a 100644
--- a/classOFB-members.html
+++ b/classOFB-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classOFB.html b/classOFB.html
index 11dd1e4c..d23f4c22 100644
--- a/classOFB.html
+++ b/classOFB.html
@@ -181,7 +181,7 @@ class OFB< T >
diff --git a/classOFBCommon-members.html b/classOFBCommon-members.html
index 0763b28a..b01413b8 100644
--- a/classOFBCommon-members.html
+++ b/classOFBCommon-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classOFBCommon.html b/classOFBCommon.html
index a3585dae..d4dafeb8 100644
--- a/classOFBCommon.html
+++ b/classOFBCommon.html
@@ -534,7 +534,7 @@ Protected Member Functions
diff --git a/classOMAC-members.html b/classOMAC-members.html
index 1bfc1d89..4d2154a8 100644
--- a/classOMAC-members.html
+++ b/classOMAC-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classOMAC.html b/classOMAC.html
index bc9aaa13..f3eff6a1 100644
--- a/classOMAC.html
+++ b/classOMAC.html
@@ -387,7 +387,7 @@ void
diff --git a/classP521-members.html b/classP521-members.html
index 5b8070d5..7109240a 100644
--- a/classP521-members.html
+++ b/classP521-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classP521.html b/classP521.html
index b51aa289..066c881e 100644
--- a/classP521.html
+++ b/classP521.html
@@ -646,7 +646,7 @@ Static Public Member Functions |
diff --git a/classPoly1305-members.html b/classPoly1305-members.html
index aa2ce15a..f835cd35 100644
--- a/classPoly1305-members.html
+++ b/classPoly1305-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classPoly1305.html b/classPoly1305.html
index ff86fb1c..2230a5aa 100644
--- a/classPoly1305.html
+++ b/classPoly1305.html
@@ -280,7 +280,7 @@ void
diff --git a/classRNGClass-members.html b/classRNGClass-members.html
index b6782185..698c911d 100644
--- a/classRNGClass-members.html
+++ b/classRNGClass-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRNGClass.html b/classRNGClass.html
index a3df81cf..54609e1a 100644
--- a/classRNGClass.html
+++ b/classRNGClass.html
@@ -519,7 +519,7 @@ static const int |
diff --git a/classRTC-members.html b/classRTC-members.html
index 3f2f69c1..293a8c35 100644
--- a/classRTC-members.html
+++ b/classRTC-members.html
@@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRTC.html b/classRTC.html
index 63cfb941..48c37b5d 100644
--- a/classRTC.html
+++ b/classRTC.html
@@ -779,7 +779,7 @@ static const uint8_t |
diff --git a/classRTCAlarm-members.html b/classRTCAlarm-members.html
index 7f595918..f8886d9c 100644
--- a/classRTCAlarm-members.html
+++ b/classRTCAlarm-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRTCDate-members.html b/classRTCDate-members.html
index e0e0ed6b..b3e1497d 100644
--- a/classRTCDate-members.html
+++ b/classRTCDate-members.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRTCTime-members.html b/classRTCTime-members.html
index 38b6c030..d30b63b6 100644
--- a/classRTCTime-members.html
+++ b/classRTCTime-members.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRingOscillatorNoiseSource-members.html b/classRingOscillatorNoiseSource-members.html
index 6c4b8c91..010074d2 100644
--- a/classRingOscillatorNoiseSource-members.html
+++ b/classRingOscillatorNoiseSource-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classRingOscillatorNoiseSource.html b/classRingOscillatorNoiseSource.html
index 3f58578f..abaf1d61 100644
--- a/classRingOscillatorNoiseSource.html
+++ b/classRingOscillatorNoiseSource.html
@@ -253,7 +253,7 @@ Additional Inherited Members |
diff --git a/classSHA256-members.html b/classSHA256-members.html
index 828dbc58..8f631c9e 100644
--- a/classSHA256-members.html
+++ b/classSHA256-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHA256.html b/classSHA256.html
index e0639229..0d6111b7 100644
--- a/classSHA256.html
+++ b/classSHA256.html
@@ -506,7 +506,7 @@ Additional Inherited Members
diff --git a/classSHA3__256-members.html b/classSHA3__256-members.html
index 93431bb2..56a1a00e 100644
--- a/classSHA3__256-members.html
+++ b/classSHA3__256-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHA3__256.html b/classSHA3__256.html
index 83ddab16..67d4850c 100644
--- a/classSHA3__256.html
+++ b/classSHA3__256.html
@@ -506,7 +506,7 @@ Additional Inherited Members
diff --git a/classSHA3__512-members.html b/classSHA3__512-members.html
index 3636a6b7..9e2de975 100644
--- a/classSHA3__512-members.html
+++ b/classSHA3__512-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHA3__512.html b/classSHA3__512.html
index 099e57bd..9bf19340 100644
--- a/classSHA3__512.html
+++ b/classSHA3__512.html
@@ -506,7 +506,7 @@ Additional Inherited Members
diff --git a/classSHA512-members.html b/classSHA512-members.html
index f5ef6b43..3517aad6 100644
--- a/classSHA512-members.html
+++ b/classSHA512-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHA512.html b/classSHA512.html
index 1b01b62f..69455d4b 100644
--- a/classSHA512.html
+++ b/classSHA512.html
@@ -513,7 +513,7 @@ Additional Inherited Members
diff --git a/classSHAKE-members.html b/classSHAKE-members.html
index 2faa0471..77c89bf8 100644
--- a/classSHAKE-members.html
+++ b/classSHAKE-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHAKE.html b/classSHAKE.html
index c37cb65c..2ebe3cb8 100644
--- a/classSHAKE.html
+++ b/classSHAKE.html
@@ -443,7 +443,7 @@ Protected Member Functions
diff --git a/classSHAKE128-members.html b/classSHAKE128-members.html
index bbcad846..4234aca2 100644
--- a/classSHAKE128-members.html
+++ b/classSHAKE128-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHAKE128.html b/classSHAKE128.html
index 171117e6..e79227aa 100644
--- a/classSHAKE128.html
+++ b/classSHAKE128.html
@@ -171,7 +171,7 @@ Additional Inherited Members
diff --git a/classSHAKE256-members.html b/classSHAKE256-members.html
index 02d6797f..81554e3b 100644
--- a/classSHAKE256-members.html
+++ b/classSHAKE256-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSHAKE256.html b/classSHAKE256.html
index 806fe668..58642c87 100644
--- a/classSHAKE256.html
+++ b/classSHAKE256.html
@@ -171,7 +171,7 @@ Additional Inherited Members
diff --git a/classShell-members.html b/classShell-members.html
index 6be146f9..68ceadb4 100644
--- a/classShell-members.html
+++ b/classShell-members.html
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classShell.html b/classShell.html
index 02c17b10..0591ca40 100644
--- a/classShell.html
+++ b/classShell.html
@@ -837,7 +837,7 @@ Additional Inherited Members
diff --git a/classShellArguments-members.html b/classShellArguments-members.html
index 46a036c1..4dc0228c 100644
--- a/classShellArguments-members.html
+++ b/classShellArguments-members.html
@@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classShellArguments.html b/classShellArguments.html
index a65597e9..a453fa2f 100644
--- a/classShellArguments.html
+++ b/classShellArguments.html
@@ -182,7 +182,7 @@ class Shell |
diff --git a/classSoftI2C-members.html b/classSoftI2C-members.html
index 3b79298c..4cc1b915 100644
--- a/classSoftI2C-members.html
+++ b/classSoftI2C-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSoftI2C.html b/classSoftI2C.html
index c0325937..b6d43d9b 100644
--- a/classSoftI2C.html
+++ b/classSoftI2C.html
@@ -346,7 +346,7 @@ unsigned int
diff --git a/classSpeck-members.html b/classSpeck-members.html
index e5198ce0..26fb9265 100644
--- a/classSpeck-members.html
+++ b/classSpeck-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSpeck.html b/classSpeck.html
index 0928b712..d6ec54c8 100644
--- a/classSpeck.html
+++ b/classSpeck.html
@@ -227,7 +227,7 @@ Public Member Functions |
Implements BlockCipher.
-Definition at line 611 of file Speck.cpp.
+Definition at line 550 of file Speck.cpp.
@@ -275,7 +275,7 @@ Public Member Functions
Implements BlockCipher.
-Definition at line 457 of file Speck.cpp.
+Definition at line 425 of file Speck.cpp.
@@ -323,7 +323,7 @@ Public Member Functions
Implements BlockCipher.
-Definition at line 306 of file Speck.cpp.
+Definition at line 303 of file Speck.cpp.
@@ -415,7 +415,7 @@ Public Member Functions
diff --git a/classSpeckSmall-members.html b/classSpeckSmall-members.html
index 74837d9d..72ab8f1f 100644
--- a/classSpeckSmall-members.html
+++ b/classSpeckSmall-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSpeckSmall.html b/classSpeckSmall.html
index 08ebe7ca..e5f2d531 100644
--- a/classSpeckSmall.html
+++ b/classSpeckSmall.html
@@ -210,7 +210,7 @@ Public Member Functions
Implements BlockCipher.
-Definition at line 648 of file SpeckSmall.cpp.
+Definition at line 582 of file SpeckSmall.cpp.
@@ -319,7 +319,7 @@ Public Member Functions
diff --git a/classSpeckTiny-members.html b/classSpeckTiny-members.html
index 7b54a262..ad7c92ec 100644
--- a/classSpeckTiny-members.html
+++ b/classSpeckTiny-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classSpeckTiny.html b/classSpeckTiny.html
index 069597de..08cbffaa 100644
--- a/classSpeckTiny.html
+++ b/classSpeckTiny.html
@@ -240,7 +240,7 @@ class SpeckSmall | <
Implements BlockCipher.
-Definition at line 532 of file SpeckTiny.cpp.
+Definition at line 453 of file SpeckTiny.cpp.
@@ -288,7 +288,7 @@ class SpeckSmall | <
Implements BlockCipher.
-Definition at line 527 of file SpeckTiny.cpp.
+Definition at line 448 of file SpeckTiny.cpp.
@@ -428,7 +428,7 @@ class SpeckSmall | <
diff --git a/classTerminal-members.html b/classTerminal-members.html
index 7f509598..c9c5939d 100644
--- a/classTerminal-members.html
+++ b/classTerminal-members.html
@@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classTerminal.html b/classTerminal.html
index 906a3326..f2152bac 100644
--- a/classTerminal.html
+++ b/classTerminal.html
@@ -1443,7 +1443,7 @@ Static Public Member Functions
diff --git a/classTextField-members.html b/classTextField-members.html
index dae0eb31..45abb018 100644
--- a/classTextField-members.html
+++ b/classTextField-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classTextField.html b/classTextField.html
index 4f27f154..5dfd063f 100644
--- a/classTextField.html
+++ b/classTextField.html
@@ -343,7 +343,7 @@ LiquidCrystal *
diff --git a/classTimeField-members.html b/classTimeField-members.html
index a90dbaed..0aa8958d 100644
--- a/classTimeField-members.html
+++ b/classTimeField-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classTimeField.html b/classTimeField.html
index 4127bedd..477717ac 100644
--- a/classTimeField.html
+++ b/classTimeField.html
@@ -541,7 +541,7 @@ LiquidCrystal * |
diff --git a/classTransistorNoiseSource-members.html b/classTransistorNoiseSource-members.html
index c7f13fe4..c5726e40 100644
--- a/classTransistorNoiseSource-members.html
+++ b/classTransistorNoiseSource-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classTransistorNoiseSource.html b/classTransistorNoiseSource.html
index 1938cc92..2a545a84 100644
--- a/classTransistorNoiseSource.html
+++ b/classTransistorNoiseSource.html
@@ -280,7 +280,7 @@ Additional Inherited Members |
diff --git a/classXOF-members.html b/classXOF-members.html
index be11f7b7..4ae9569e 100644
--- a/classXOF-members.html
+++ b/classXOF-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classXOF.html b/classXOF.html
index ca0c8101..c96e43d3 100644
--- a/classXOF.html
+++ b/classXOF.html
@@ -508,7 +508,7 @@ Public Member Functions
diff --git a/classXTS-members.html b/classXTS-members.html
index b611f474..fcaae164 100644
--- a/classXTS-members.html
+++ b/classXTS-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classXTS.html b/classXTS.html
index be7ebf61..96702d77 100644
--- a/classXTS.html
+++ b/classXTS.html
@@ -220,7 +220,7 @@ template<typename T1, typename T2 = T1>
diff --git a/classXTSCommon-members.html b/classXTSCommon-members.html
index 6fc5fc72..d24ebc34 100644
--- a/classXTSCommon-members.html
+++ b/classXTSCommon-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classXTSCommon.html b/classXTSCommon.html
index 5f1497f2..11db097c 100644
--- a/classXTSCommon.html
+++ b/classXTSCommon.html
@@ -497,7 +497,7 @@ class XTSSingleKeyCommon
diff --git a/classXTSSingleKey-members.html b/classXTSSingleKey-members.html
index 62087af7..0fcd20ba 100644
--- a/classXTSSingleKey-members.html
+++ b/classXTSSingleKey-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classXTSSingleKey.html b/classXTSSingleKey.html
index e49d7753..22c7429e 100644
--- a/classXTSSingleKey.html
+++ b/classXTSSingleKey.html
@@ -218,7 +218,7 @@ template<typename T >
diff --git a/classXTSSingleKeyCommon-members.html b/classXTSSingleKeyCommon-members.html
index 9b4af14b..5ae0ce38 100644
--- a/classXTSSingleKeyCommon-members.html
+++ b/classXTSSingleKeyCommon-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/classXTSSingleKeyCommon.html b/classXTSSingleKeyCommon.html
index 6f71f59b..3344f5ba 100644
--- a/classXTSSingleKeyCommon.html
+++ b/classXTSSingleKeyCommon.html
@@ -257,7 +257,7 @@ Protected Member Functions |
diff --git a/classes.html b/classes.html
index 0ceff76d..c8f9ebdb 100644
--- a/classes.html
+++ b/classes.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/crypto-rng-ring_8dox.html b/crypto-rng-ring_8dox.html
index 572505ff..aa98fd74 100644
--- a/crypto-rng-ring_8dox.html
+++ b/crypto-rng-ring_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/crypto-rng_8dox.html b/crypto-rng_8dox.html
index e0bc7b44..a9b0e261 100644
--- a/crypto-rng_8dox.html
+++ b/crypto-rng_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/crypto.html b/crypto.html
index baf62af6..98883999 100644
--- a/crypto.html
+++ b/crypto.html
@@ -123,23 +123,23 @@ Performance on AVR
ChaCha (8 rounds) | 8.13us | 8.14us | 43.74us | 132 |
-Speck (128-bit key, ECB mode) | 10.72us | 11.09us | 287.02us | 275 |
+Speck (128-bit key, ECB mode) | 9.74us | 10.12us | 253.94us | 275 |
-Speck (192-bit key, ECB mode) | 11.03us | 11.42us | 298.21us | 275 |
+Speck (192-bit key, ECB mode) | 10.03us | 10.41us | 264.63us | 275 |
-Speck (256-bit key, ECB mode) | 11.35us | 11.74us | 309.66us | 275 |
+Speck (256-bit key, ECB mode) | 10.31us | 10.71us | 275.26us | 275 |
-SpeckSmall (128-bit key, ECB mode) | 35.25us | 36.46us | 207.66us | 67 |
+SpeckSmall (128-bit key, ECB mode) | 33.93us | 34.82us | 207.66us | 67 |
-SpeckSmall (192-bit key, ECB mode) | 36.56us | 37.56us | 220.55us | 67 |
+SpeckSmall (192-bit key, ECB mode) | 35.20us | 35.88us | 220.55us | 67 |
-SpeckSmall (256-bit key, ECB mode) | 37.87us | 38.67us | 233.32us | 67 |
+SpeckSmall (256-bit key, ECB mode) | 36.46us | 36.93us | 233.32us | 67 |
-SpeckTiny (128-bit key, ECB mode) | 35.25us | | 10.22us | 35 |
+SpeckTiny (128-bit key, ECB mode) | 33.93us | | 10.22us | 35 |
-SpeckTiny (192-bit key, ECB mode) | 36.56us | | 13.62us | 35 |
+SpeckTiny (192-bit key, ECB mode) | 35.20us | | 13.62us | 35 |
-SpeckTiny (256-bit key, ECB mode) | 37.87us | | 16.89us | 35 |
+SpeckTiny (256-bit key, ECB mode) | 36.46us | | 16.89us | 35 |
|
@@ -153,17 +153,17 @@ Performance on AVR
GCM<AES256> | 123.04us | 122.59us | 1760.28us | 348 |
-GCM<Speck> (256-bit key) | 87.78us | 87.32us | 714.41us | 378 |
+GCM<Speck> (256-bit key) | 86.74us | 86.29us | 646.88us | 378 |
-GCM<SpeckTiny> (256-bit key) | 114.30us | 113.84us | 1270.32us | 138 |
+GCM<SpeckTiny> (256-bit key) | 112.90us | 112.44us | 1225.48us | 138 |
EAX<AES128> | 71.14us | 71.14us | 1311.97us | 268 |
EAX<AES256> | 97.80us | 97.80us | 1806.57us | 332 |
-EAX<Speck> (256-bit key) | 27.27us | 27.26us | 760.74us | 362 |
+EAX<Speck> (256-bit key) | 25.89us | 25.88us | 690.63us | 362 |
-EAX<SpeckTiny> (256-bit key) | 80.31us | 80.31us | 1316.60us | 122 |
+EAX<SpeckTiny> (256-bit key) | 78.20us | 78.20us | 1269.19us | 122 |
|
@@ -391,7 +391,7 @@ Performance on ARM
diff --git a/crypto_8dox.html b/crypto_8dox.html
index 15f27304..277c0d52 100644
--- a/crypto_8dox.html
+++ b/crypto_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/crypto_rng.html b/crypto_rng.html
index 4adedd7b..31b5ed8e 100644
--- a/crypto_rng.html
+++ b/crypto_rng.html
@@ -190,7 +190,7 @@ Destroying secret data
diff --git a/crypto_rng_ring.html b/crypto_rng_ring.html
index 3f2f8847..1a8e2c2b 100644
--- a/crypto_rng_ring.html
+++ b/crypto_rng_ring.html
@@ -151,7 +151,7 @@ Connecting to the Arduino
diff --git a/dir_1586d320a3b1e622174530fde769cda9.html b/dir_1586d320a3b1e622174530fde769cda9.html
index fb156f32..98f69c77 100644
--- a/dir_1586d320a3b1e622174530fde769cda9.html
+++ b/dir_1586d320a3b1e622174530fde769cda9.html
@@ -102,7 +102,7 @@ Files
diff --git a/dir_1de32c476debcefedf4aa8bb43bea551.html b/dir_1de32c476debcefedf4aa8bb43bea551.html
index 9b674c22..654bfc05 100644
--- a/dir_1de32c476debcefedf4aa8bb43bea551.html
+++ b/dir_1de32c476debcefedf4aa8bb43bea551.html
@@ -106,7 +106,7 @@ Files
diff --git a/dir_3dd03323535933fb3f714c41ff7a94da.html b/dir_3dd03323535933fb3f714c41ff7a94da.html
index 29b22213..0fb8614f 100644
--- a/dir_3dd03323535933fb3f714c41ff7a94da.html
+++ b/dir_3dd03323535933fb3f714c41ff7a94da.html
@@ -94,7 +94,7 @@ Files
diff --git a/dir_470c03f38356b1f63943514897cb198b.html b/dir_470c03f38356b1f63943514897cb198b.html
index 306acc77..6000583c 100644
--- a/dir_470c03f38356b1f63943514897cb198b.html
+++ b/dir_470c03f38356b1f63943514897cb198b.html
@@ -94,7 +94,7 @@ Files
diff --git a/dir_48f64e79f12bd77ba047e9e436ec978c.html b/dir_48f64e79f12bd77ba047e9e436ec978c.html
index 4148b909..6d22ca81 100644
--- a/dir_48f64e79f12bd77ba047e9e436ec978c.html
+++ b/dir_48f64e79f12bd77ba047e9e436ec978c.html
@@ -122,7 +122,7 @@ Files
diff --git a/dir_5e87a7229a108582288ef7eda1233dc3.html b/dir_5e87a7229a108582288ef7eda1233dc3.html
index 3652aee5..01d62c36 100644
--- a/dir_5e87a7229a108582288ef7eda1233dc3.html
+++ b/dir_5e87a7229a108582288ef7eda1233dc3.html
@@ -94,7 +94,7 @@ Files
diff --git a/dir_6591a2127a29f6cea3994dcb5b0596d1.html b/dir_6591a2127a29f6cea3994dcb5b0596d1.html
index bbda6af9..75fbc6d3 100644
--- a/dir_6591a2127a29f6cea3994dcb5b0596d1.html
+++ b/dir_6591a2127a29f6cea3994dcb5b0596d1.html
@@ -106,7 +106,7 @@ Files
diff --git a/dir_7e6ab9b017486261fe80629d442521f0.html b/dir_7e6ab9b017486261fe80629d442521f0.html
index 99e7461f..5f7069af 100644
--- a/dir_7e6ab9b017486261fe80629d442521f0.html
+++ b/dir_7e6ab9b017486261fe80629d442521f0.html
@@ -94,7 +94,7 @@ Files
diff --git a/dir_9a34040863d1190c0e01b23e6b44de01.html b/dir_9a34040863d1190c0e01b23e6b44de01.html
index c910ef3b..b29b1cdb 100644
--- a/dir_9a34040863d1190c0e01b23e6b44de01.html
+++ b/dir_9a34040863d1190c0e01b23e6b44de01.html
@@ -96,7 +96,7 @@ Files
diff --git a/dir_bc0718b08fb2015b8e59c47b2805f60c.html b/dir_bc0718b08fb2015b8e59c47b2805f60c.html
index 864d8471..c9beb9cd 100644
--- a/dir_bc0718b08fb2015b8e59c47b2805f60c.html
+++ b/dir_bc0718b08fb2015b8e59c47b2805f60c.html
@@ -116,7 +116,7 @@ Directories
diff --git a/dir_be059bf9978ae156837504b1b8a7568c.html b/dir_be059bf9978ae156837504b1b8a7568c.html
index 1a107615..64ed8ebf 100644
--- a/dir_be059bf9978ae156837504b1b8a7568c.html
+++ b/dir_be059bf9978ae156837504b1b8a7568c.html
@@ -94,7 +94,7 @@ Files
diff --git a/dir_e2ce51835550ba18edf07a8311722290.html b/dir_e2ce51835550ba18edf07a8311722290.html
index 42264c3c..1798c024 100644
--- a/dir_e2ce51835550ba18edf07a8311722290.html
+++ b/dir_e2ce51835550ba18edf07a8311722290.html
@@ -240,7 +240,7 @@ Files
diff --git a/dir_f34881fcf60f680b800190d5274dfaea.html b/dir_f34881fcf60f680b800190d5274dfaea.html
index 2f568a1d..a2998b43 100644
--- a/dir_f34881fcf60f680b800190d5274dfaea.html
+++ b/dir_f34881fcf60f680b800190d5274dfaea.html
@@ -106,7 +106,7 @@ Files
diff --git a/dir_f9b96888882c2691b8eeaeafd1b9501d.html b/dir_f9b96888882c2691b8eeaeafd1b9501d.html
index 71730376..d29893d0 100644
--- a/dir_f9b96888882c2691b8eeaeafd1b9501d.html
+++ b/dir_f9b96888882c2691b8eeaeafd1b9501d.html
@@ -102,7 +102,7 @@ Files
diff --git a/dmd-demo_8dox.html b/dmd-demo_8dox.html
index bee8c4e6..2723153d 100644
--- a/dmd-demo_8dox.html
+++ b/dmd-demo_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/dmd-running-figure_8dox.html b/dmd-running-figure_8dox.html
index 53f36ab6..ca20374e 100644
--- a/dmd-running-figure_8dox.html
+++ b/dmd-running-figure_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/dmd_demo.html b/dmd_demo.html
index 67bb1edd..73fa7dcb 100644
--- a/dmd_demo.html
+++ b/dmd_demo.html
@@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/dmd_running_figure.html b/dmd_running_figure.html
index d1c246d5..aeb77960 100644
--- a/dmd_running_figure.html
+++ b/dmd_running_figure.html
@@ -430,7 +430,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/files.html b/files.html
index 1852f736..056716de 100644
--- a/files.html
+++ b/files.html
@@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions.html b/functions.html
index 1b83d08e..31320321 100644
--- a/functions.html
+++ b/functions.html
@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_b.html b/functions_b.html
index 95ac17b7..08fff64c 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_c.html b/functions_c.html
index d506d1a9..fe06c667 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -261,7 +261,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_d.html b/functions_d.html
index b6197209..7760e041 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -300,7 +300,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_e.html b/functions_e.html
index 9168e124..9b8a016e 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_enum.html b/functions_enum.html
index 511ae1ab..268b092d 100644
--- a/functions_enum.html
+++ b/functions_enum.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_eval.html b/functions_eval.html
index 3bb44817..321357dc 100644
--- a/functions_eval.html
+++ b/functions_eval.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_f.html b/functions_f.html
index d64b4015..86a6efb7 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func.html b/functions_func.html
index adfd4863..472264ba 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_b.html b/functions_func_b.html
index b9bf3701..fde803d0 100644
--- a/functions_func_b.html
+++ b/functions_func_b.html
@@ -194,7 +194,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_c.html b/functions_func_c.html
index 43fc1d10..a77bdeec 100644
--- a/functions_func_c.html
+++ b/functions_func_c.html
@@ -253,7 +253,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_d.html b/functions_func_d.html
index 0981a161..6603f8a8 100644
--- a/functions_func_d.html
+++ b/functions_func_d.html
@@ -262,7 +262,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_e.html b/functions_func_e.html
index b509bdbd..232fc250 100644
--- a/functions_func_e.html
+++ b/functions_func_e.html
@@ -218,7 +218,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_f.html b/functions_func_f.html
index 94ff46b8..505525a5 100644
--- a/functions_func_f.html
+++ b/functions_func_f.html
@@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_g.html b/functions_func_g.html
index af2417c0..e76ba3d4 100644
--- a/functions_func_g.html
+++ b/functions_func_g.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_h.html b/functions_func_h.html
index 3e817ab0..38f4039b 100644
--- a/functions_func_h.html
+++ b/functions_func_h.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_i.html b/functions_func_i.html
index 9e747128..66624444 100644
--- a/functions_func_i.html
+++ b/functions_func_i.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_k.html b/functions_func_k.html
index e0f74345..da422ae7 100644
--- a/functions_func_k.html
+++ b/functions_func_k.html
@@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_l.html b/functions_func_l.html
index 3b593040..3cc4d998 100644
--- a/functions_func_l.html
+++ b/functions_func_l.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_m.html b/functions_func_m.html
index a5ed966d..8e375a45 100644
--- a/functions_func_m.html
+++ b/functions_func_m.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_n.html b/functions_func_n.html
index 1e578f4f..f8055743 100644
--- a/functions_func_n.html
+++ b/functions_func_n.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_o.html b/functions_func_o.html
index f2f778e1..ae448a96 100644
--- a/functions_func_o.html
+++ b/functions_func_o.html
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_p.html b/functions_func_p.html
index cefbd2bc..658320fa 100644
--- a/functions_func_p.html
+++ b/functions_func_p.html
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_r.html b/functions_func_r.html
index 89752f23..67b00abb 100644
--- a/functions_func_r.html
+++ b/functions_func_r.html
@@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_s.html b/functions_func_s.html
index 96353537..1dddbace 100644
--- a/functions_func_s.html
+++ b/functions_func_s.html
@@ -427,7 +427,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_t.html b/functions_func_t.html
index 48f58726..005d18d5 100644
--- a/functions_func_t.html
+++ b/functions_func_t.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_u.html b/functions_func_u.html
index 6323fb3f..c07f911b 100644
--- a/functions_func_u.html
+++ b/functions_func_u.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_v.html b/functions_func_v.html
index 4d18e9ed..7cb0fc43 100644
--- a/functions_func_v.html
+++ b/functions_func_v.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_w.html b/functions_func_w.html
index ce8ee67d..1615cddd 100644
--- a/functions_func_w.html
+++ b/functions_func_w.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_x.html b/functions_func_x.html
index d7890a49..bf09d53c 100644
--- a/functions_func_x.html
+++ b/functions_func_x.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_func_~.html b/functions_func_~.html
index bbf66b87..74c75f74 100644
--- a/functions_func_~.html
+++ b/functions_func_~.html
@@ -242,7 +242,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_g.html b/functions_g.html
index 3658c9af..394a2ed3 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_h.html b/functions_h.html
index 6daaec61..36666a28 100644
--- a/functions_h.html
+++ b/functions_h.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_i.html b/functions_i.html
index 5b850151..781cff23 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_k.html b/functions_k.html
index 8498b8e7..7429a374 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_l.html b/functions_l.html
index a4fcf214..d22ae388 100644
--- a/functions_l.html
+++ b/functions_l.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_m.html b/functions_m.html
index d079c298..4991da90 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_n.html b/functions_n.html
index 5b7f85be..bba54974 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_o.html b/functions_o.html
index be817c78..a654d0e4 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_p.html b/functions_p.html
index 2b4366dc..2b67cd6b 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_r.html b/functions_r.html
index f7fb5ebe..5f709270 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -235,7 +235,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_rela.html b/functions_rela.html
index 6df85f18..343e3685 100644
--- a/functions_rela.html
+++ b/functions_rela.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_s.html b/functions_s.html
index a09a6418..78898a4c 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -444,7 +444,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_t.html b/functions_t.html
index 4eb695a3..d58ffc67 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_type.html b/functions_type.html
index e075d2fd..16aa4b64 100644
--- a/functions_type.html
+++ b/functions_type.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_u.html b/functions_u.html
index 8bdcddd2..6d4aa1f3 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_v.html b/functions_v.html
index 4895b6a7..0e30a370 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_vars.html b/functions_vars.html
index 6e3a5faa..633553de 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_w.html b/functions_w.html
index 562c7008..4dca23a0 100644
--- a/functions_w.html
+++ b/functions_w.html
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_x.html b/functions_x.html
index 6c11eb31..4691efe8 100644
--- a/functions_x.html
+++ b/functions_x.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_y.html b/functions_y.html
index 3bdaefde..c9c54ebb 100644
--- a/functions_y.html
+++ b/functions_y.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/functions_~.html b/functions_~.html
index c3e594b5..366efe43 100644
--- a/functions_~.html
+++ b/functions_~.html
@@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/group__power__save.html b/group__power__save.html
index b3dd18ab..63a904f0 100644
--- a/group__power__save.html
+++ b/group__power__save.html
@@ -201,7 +201,7 @@ void
diff --git a/hierarchy.html b/hierarchy.html
index 232e22f3..214e4352 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/index.html b/index.html
index ec1bc237..595456ae 100644
--- a/index.html
+++ b/index.html
@@ -165,7 +165,7 @@ Other
diff --git a/ir-dumpir_8dox.html b/ir-dumpir_8dox.html
index 5ab07b8f..30d62ee4 100644
--- a/ir-dumpir_8dox.html
+++ b/ir-dumpir_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ir-snake_8dox.html b/ir-snake_8dox.html
index 7157aca8..0787068c 100644
--- a/ir-snake_8dox.html
+++ b/ir-snake_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ir_dumpir.html b/ir_dumpir.html
index bc850256..cccbcc79 100644
--- a/ir_dumpir.html
+++ b/ir_dumpir.html
@@ -283,7 +283,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/ir_snake.html b/ir_snake.html
index 73743ff3..9c87439f 100644
--- a/ir_snake.html
+++ b/ir_snake.html
@@ -273,7 +273,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/lcd-form_8dox.html b/lcd-form_8dox.html
index 2c82e353..0391fba3 100644
--- a/lcd-form_8dox.html
+++ b/lcd-form_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/lcd-helloworld_8dox.html b/lcd-helloworld_8dox.html
index 21155eac..191598db 100644
--- a/lcd-helloworld_8dox.html
+++ b/lcd-helloworld_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/lcd_form.html b/lcd_form.html
index 464b8692..81dfd2a6 100644
--- a/lcd_form.html
+++ b/lcd_form.html
@@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/lcd_hello_world.html b/lcd_hello_world.html
index 9b73738c..d936f273 100644
--- a/lcd_hello_world.html
+++ b/lcd_hello_world.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/mainpage_8dox.html b/mainpage_8dox.html
index 72976aea..a7b484c1 100644
--- a/mainpage_8dox.html
+++ b/mainpage_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/modules.html b/modules.html
index 960a6656..76d8b3f6 100644
--- a/modules.html
+++ b/modules.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/newhope-small_8dox.html b/newhope-small_8dox.html
index b30744b6..d60d607d 100644
--- a/newhope-small_8dox.html
+++ b/newhope-small_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/newhope_small.html b/newhope_small.html
index 125b9740..b78174ba 100644
--- a/newhope_small.html
+++ b/newhope_small.html
@@ -250,7 +250,7 @@ Summary
diff --git a/pages.html b/pages.html
index 946b1e78..cf857287 100644
--- a/pages.html
+++ b/pages.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/shell-serial_8dox.html b/shell-serial_8dox.html
index 4a0cc7a6..d581d577 100644
--- a/shell-serial_8dox.html
+++ b/shell-serial_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/shell-telnet_8dox.html b/shell-telnet_8dox.html
index 4f7bdf98..e003df0d 100644
--- a/shell-telnet_8dox.html
+++ b/shell-telnet_8dox.html
@@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/shell_serial.html b/shell_serial.html
index 6a385eda..baea5474 100644
--- a/shell_serial.html
+++ b/shell_serial.html
@@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/shell_telnet.html b/shell_telnet.html
index 6a163292..d9e67dfe 100644
--- a/shell_telnet.html
+++ b/shell_telnet.html
@@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/structNewHopePrivateKey.html b/structNewHopePrivateKey.html
index 3f5700ab..a6a3a48e 100644
--- a/structNewHopePrivateKey.html
+++ b/structNewHopePrivateKey.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/structRTCAlarm.html b/structRTCAlarm.html
index 457f6e79..0a75092c 100644
--- a/structRTCAlarm.html
+++ b/structRTCAlarm.html
@@ -200,7 +200,7 @@ uint8_t |
diff --git a/structRTCDate.html b/structRTCDate.html
index 8c8ea468..aaf002d9 100644
--- a/structRTCDate.html
+++ b/structRTCDate.html
@@ -123,7 +123,7 @@ uint8_t |
diff --git a/structRTCTime.html b/structRTCTime.html
index 68f6fcd5..8ba6533c 100644
--- a/structRTCTime.html
+++ b/structRTCTime.html
@@ -123,7 +123,7 @@ uint8_t |
|