From 87d421783aab8cebaca2608627bf344d7f95d201 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Sat, 14 Mar 2015 09:07:46 +1000 Subject: [PATCH] Update docs --- AES128_8cpp_source.html | 2 +- AES192_8cpp_source.html | 2 +- AES256_8cpp_source.html | 2 +- AESCommon_8cpp_source.html | 2 +- AES_8h_source.html | 2 +- BLAKE2b_8cpp_source.html | 326 +++++++++++++++++ BLAKE2b_8h_source.html | 167 +++++++++ BLAKE2s_8cpp_source.html | 5 +- BLAKE2s_8h_source.html | 2 +- Bitmap_8cpp_source.html | 2 +- Bitmap_8h_source.html | 2 +- BlinkLED_8cpp_source.html | 2 +- BlinkLED_8h_source.html | 2 +- BlockCipher_8cpp_source.html | 2 +- BlockCipher_8h_source.html | 2 +- BoolField_8cpp_source.html | 2 +- BoolField_8h_source.html | 2 +- CBC_8cpp_source.html | 2 +- CBC_8h_source.html | 2 +- CFB_8cpp_source.html | 2 +- CFB_8h_source.html | 2 +- CTR_8cpp_source.html | 2 +- CTR_8h_source.html | 2 +- ChaCha_8cpp_source.html | 2 +- ChaCha_8h_source.html | 2 +- Charlieplex_8cpp_source.html | 2 +- Charlieplex_8h_source.html | 2 +- ChaseLEDs_8cpp_source.html | 2 +- ChaseLEDs_8h_source.html | 2 +- Cipher_8cpp_source.html | 2 +- Cipher_8h_source.html | 2 +- Crypto_8cpp_source.html | 2 +- Crypto_8h_source.html | 2 +- Curve25519_8cpp_source.html | 2 +- Curve25519_8h_source.html | 2 +- DMD_8cpp_source.html | 2 +- DMD_8h_source.html | 2 +- DS1307RTC_8cpp_source.html | 2 +- DS1307RTC_8h_source.html | 2 +- DS3232RTC_8cpp_source.html | 2 +- DS3232RTC_8h_source.html | 2 +- DejaVuSans9_8h_source.html | 2 +- DejaVuSansBold9_8h_source.html | 2 +- DejaVuSansItalic9_8h_source.html | 2 +- EEPROM24_8cpp_source.html | 2 +- EEPROM24_8h_source.html | 2 +- Field_8cpp_source.html | 2 +- Field_8h_source.html | 2 +- Form_8cpp_source.html | 2 +- Form_8h_source.html | 2 +- Hash_8cpp_source.html | 2 +- Hash_8h_source.html | 2 +- I2CMaster_8cpp_source.html | 2 +- I2CMaster_8h_source.html | 2 +- IRreceiver_8cpp_source.html | 2 +- IRreceiver_8h_source.html | 2 +- IntField_8cpp_source.html | 2 +- IntField_8h_source.html | 2 +- LCD_8cpp_source.html | 2 +- LCD_8h_source.html | 2 +- ListField_8cpp_source.html | 2 +- ListField_8h_source.html | 2 +- Melody_8cpp_source.html | 2 +- Melody_8h_source.html | 2 +- Mono5x7_8h_source.html | 2 +- NoiseSource_8cpp_source.html | 2 +- NoiseSource_8h_source.html | 2 +- OFB_8cpp_source.html | 2 +- OFB_8h_source.html | 2 +- PowerSave_8cpp_source.html | 2 +- PowerSave_8h_source.html | 2 +- RC5_8h_source.html | 2 +- RNG_8cpp_source.html | 2 +- RNG_8h_source.html | 2 +- RTC_8cpp_source.html | 2 +- RTC_8h_source.html | 2 +- SHA1_8cpp_source.html | 2 +- SHA1_8h_source.html | 2 +- SHA256_8cpp_source.html | 2 +- SHA256_8h_source.html | 2 +- SHA512_8cpp_source.html | 350 ++++++++++++++++++ SHA512_8h_source.html | 165 +++++++++ SoftI2C_8cpp_source.html | 2 +- SoftI2C_8h_source.html | 2 +- TextField_8cpp_source.html | 2 +- TextField_8h_source.html | 2 +- TimeField_8cpp_source.html | 2 +- TimeField_8h_source.html | 2 +- TransistorNoiseSource_8cpp_source.html | 2 +- TransistorNoiseSource_8h_source.html | 2 +- alarm-clock_8dox.html | 2 +- alarm_clock.html | 2 +- annotated.html | 88 ++--- blink-blink_8dox.html | 2 +- blink-charlieplex_8dox.html | 2 +- blink-cylon_8dox.html | 2 +- blink-startrek_8dox.html | 2 +- blink_blink.html | 2 +- blink_charlieplex.html | 2 +- blink_cylon.html | 2 +- blink_startrek.html | 2 +- classAES128-members.html | 2 +- classAES128.html | 2 +- classAES192-members.html | 2 +- classAES192.html | 2 +- classAES256-members.html | 2 +- classAES256.html | 2 +- classAESCommon-members.html | 2 +- classAESCommon.html | 2 +- classBLAKE2b-members.html | 119 +++++++ classBLAKE2b.html | 413 ++++++++++++++++++++++ classBLAKE2b.png | Bin 0 -> 365 bytes classBLAKE2s-members.html | 2 +- classBLAKE2s.html | 2 +- classBitmap-members.html | 2 +- classBitmap.html | 2 +- classBlinkLED-members.html | 2 +- classBlinkLED.html | 2 +- classBlockCipher-members.html | 2 +- classBlockCipher.html | 2 +- classBoolField-members.html | 2 +- classBoolField.html | 2 +- classCBC-members.html | 2 +- classCBC.html | 2 +- classCBCCommon-members.html | 2 +- classCBCCommon.html | 2 +- classCFB-members.html | 2 +- classCFB.html | 2 +- classCFBCommon-members.html | 2 +- classCFBCommon.html | 2 +- classCTR-members.html | 2 +- classCTR.html | 2 +- classCTRCommon-members.html | 2 +- classCTRCommon.html | 2 +- classChaCha-members.html | 2 +- classChaCha.html | 2 +- classCharlieplex-members.html | 2 +- classCharlieplex.html | 2 +- classChaseLEDs-members.html | 2 +- classChaseLEDs.html | 2 +- classCipher-members.html | 2 +- classCipher.html | 2 +- classCurve25519-members.html | 2 +- classCurve25519.html | 2 +- classDMD-members.html | 2 +- classDMD.html | 2 +- classDS1307RTC-members.html | 2 +- classDS1307RTC.html | 2 +- classDS3232RTC-members.html | 2 +- classDS3232RTC.html | 2 +- classEEPROM24-members.html | 2 +- classEEPROM24.html | 2 +- classField-members.html | 2 +- classField.html | 2 +- classForm-members.html | 2 +- classForm.html | 2 +- classHash-members.html | 2 +- classHash.html | 22 +- classHash.png | Bin 654 -> 894 bytes classI2CMaster-members.html | 2 +- classI2CMaster.html | 2 +- classIRreceiver-members.html | 2 +- classIRreceiver.html | 2 +- classIntField-members.html | 2 +- classIntField.html | 2 +- classLCD-members.html | 2 +- classLCD.html | 2 +- classListField-members.html | 2 +- classListField.html | 2 +- classMelody-members.html | 2 +- classMelody.html | 2 +- classNoiseSource-members.html | 2 +- classNoiseSource.html | 2 +- classOFB-members.html | 2 +- classOFB.html | 2 +- classOFBCommon-members.html | 2 +- classOFBCommon.html | 2 +- classRNGClass-members.html | 2 +- classRNGClass.html | 2 +- classRTC-members.html | 2 +- classRTC.html | 2 +- classRTCAlarm-members.html | 2 +- classRTCDate-members.html | 2 +- classRTCTime-members.html | 2 +- classSHA1-members.html | 2 +- classSHA1.html | 4 +- classSHA256-members.html | 2 +- classSHA256.html | 4 +- classSHA512-members.html | 117 ++++++ classSHA512.html | 383 ++++++++++++++++++++ classSHA512.png | Bin 0 -> 355 bytes classSoftI2C-members.html | 2 +- classSoftI2C.html | 2 +- classTextField-members.html | 2 +- classTextField.html | 2 +- classTimeField-members.html | 2 +- classTimeField.html | 2 +- classTransistorNoiseSource-members.html | 2 +- classTransistorNoiseSource.html | 2 +- classes.html | 28 +- crypto.html | 12 +- crypto_8dox.html | 2 +- dir_1586d320a3b1e622174530fde769cda9.html | 2 +- dir_48f64e79f12bd77ba047e9e436ec978c.html | 2 +- dir_5e87a7229a108582288ef7eda1233dc3.html | 2 +- dir_6591a2127a29f6cea3994dcb5b0596d1.html | 2 +- dir_9a34040863d1190c0e01b23e6b44de01.html | 2 +- dir_bc0718b08fb2015b8e59c47b2805f60c.html | 2 +- dir_be059bf9978ae156837504b1b8a7568c.html | 2 +- dir_e2ce51835550ba18edf07a8311722290.html | 10 +- dir_f34881fcf60f680b800190d5274dfaea.html | 2 +- dir_f9b96888882c2691b8eeaeafd1b9501d.html | 2 +- dmd-demo_8dox.html | 2 +- dmd-running-figure_8dox.html | 2 +- dmd_demo.html | 2 +- dmd_running_figure.html | 2 +- files.html | 164 ++++----- functions.html | 2 +- functions_b.html | 9 +- functions_c.html | 4 +- functions_d.html | 2 +- functions_e.html | 2 +- functions_enum.html | 2 +- functions_eval.html | 2 +- functions_f.html | 6 +- functions_func.html | 2 +- functions_func_b.html | 9 +- functions_func_c.html | 4 +- functions_func_d.html | 2 +- functions_func_e.html | 2 +- functions_func_f.html | 6 +- functions_func_g.html | 2 +- functions_func_h.html | 6 +- functions_func_i.html | 2 +- functions_func_k.html | 2 +- functions_func_l.html | 2 +- functions_func_m.html | 2 +- functions_func_n.html | 2 +- functions_func_o.html | 2 +- functions_func_p.html | 2 +- functions_func_r.html | 6 +- functions_func_s.html | 5 +- functions_func_t.html | 2 +- functions_func_u.html | 6 +- functions_func_v.html | 2 +- functions_func_w.html | 2 +- functions_func_~.html | 8 +- functions_g.html | 2 +- functions_h.html | 6 +- functions_i.html | 2 +- functions_k.html | 2 +- functions_l.html | 2 +- functions_m.html | 2 +- functions_n.html | 2 +- functions_o.html | 2 +- functions_p.html | 2 +- functions_r.html | 6 +- functions_s.html | 7 +- functions_t.html | 2 +- functions_type.html | 2 +- functions_u.html | 6 +- functions_v.html | 2 +- functions_vars.html | 2 +- functions_w.html | 2 +- functions_y.html | 2 +- functions_~.html | 8 +- group__power__save.html | 2 +- hierarchy.html | 10 +- index.html | 4 +- ir-dumpir_8dox.html | 2 +- ir-snake_8dox.html | 2 +- ir_dumpir.html | 2 +- ir_snake.html | 2 +- lcd-form_8dox.html | 2 +- lcd-helloworld_8dox.html | 2 +- lcd_form.html | 2 +- lcd_hello_world.html | 2 +- mainpage_8dox.html | 2 +- modules.html | 2 +- pages.html | 2 +- search/all_1.js | 3 +- search/all_10.js | 1 + search/all_12.js | 2 +- search/all_16.js | 4 +- search/all_2.js | 2 +- search/all_5.js | 2 +- search/all_7.js | 2 +- search/all_f.js | 2 +- search/classes_1.js | 1 + search/classes_d.js | 1 + search/functions_1.js | 3 +- search/functions_10.js | 1 + search/functions_12.js | 2 +- search/functions_15.js | 4 +- search/functions_2.js | 2 +- search/functions_5.js | 2 +- search/functions_7.js | 2 +- search/functions_f.js | 2 +- structRTCAlarm.html | 2 +- structRTCDate.html | 2 +- structRTCTime.html | 2 +- 301 files changed, 2570 insertions(+), 451 deletions(-) create mode 100644 BLAKE2b_8cpp_source.html create mode 100644 BLAKE2b_8h_source.html create mode 100644 SHA512_8cpp_source.html create mode 100644 SHA512_8h_source.html create mode 100644 classBLAKE2b-members.html create mode 100644 classBLAKE2b.html create mode 100644 classBLAKE2b.png create mode 100644 classSHA512-members.html create mode 100644 classSHA512.html create mode 100644 classSHA512.png diff --git a/AES128_8cpp_source.html b/AES128_8cpp_source.html index fb09db3a..5706d4f8 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 cf5325fd..581fb8ce 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 65c49019..dc2c1bfb 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 0b0892df..144b26ff 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 814d656e..84821545 100644 --- a/AES_8h_source.html +++ b/AES_8h_source.html @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/BLAKE2b_8cpp_source.html b/BLAKE2b_8cpp_source.html new file mode 100644 index 00000000..49f41335 --- /dev/null +++ b/BLAKE2b_8cpp_source.html @@ -0,0 +1,326 @@ + + + + + + +ArduinoLibs: BLAKE2b.cpp Source File + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
BLAKE2b.cpp
+
+
+
1 /*
+
2  * Copyright (C) 2015 Southern Storm Software, Pty Ltd.
+
3  *
+
4  * Permission is hereby granted, free of charge, to any person obtaining a
+
5  * copy of this software and associated documentation files (the "Software"),
+
6  * to deal in the Software without restriction, including without limitation
+
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+
8  * and/or sell copies of the Software, and to permit persons to whom the
+
9  * Software is furnished to do so, subject to the following conditions:
+
10  *
+
11  * The above copyright notice and this permission notice shall be included
+
12  * in all copies or substantial portions of the Software.
+
13  *
+
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+
20  * DEALINGS IN THE SOFTWARE.
+
21  */
+
22 
+
23 #include "BLAKE2b.h"
+
24 #include "Crypto.h"
+
25 #include "utility/EndianUtil.h"
+
26 #include "utility/RotateUtil.h"
+
27 #include "utility/ProgMemUtil.h"
+
28 #include <string.h>
+
29 
+ +
48 {
+
49  reset();
+
50 }
+
51 
+ +
57 {
+
58  clean(state);
+
59 }
+
60 
+
61 size_t BLAKE2b::hashSize() const
+
62 {
+
63  return 64;
+
64 }
+
65 
+
66 size_t BLAKE2b::blockSize() const
+
67 {
+
68  return 128;
+
69 }
+
70 
+
71 // Initialization vectors for BLAKE2b.
+
72 #define BLAKE2b_IV0 0x6a09e667f3bcc908ULL
+
73 #define BLAKE2b_IV1 0xbb67ae8584caa73bULL
+
74 #define BLAKE2b_IV2 0x3c6ef372fe94f82bULL
+
75 #define BLAKE2b_IV3 0xa54ff53a5f1d36f1ULL
+
76 #define BLAKE2b_IV4 0x510e527fade682d1ULL
+
77 #define BLAKE2b_IV5 0x9b05688c2b3e6c1fULL
+
78 #define BLAKE2b_IV6 0x1f83d9abfb41bd6bULL
+
79 #define BLAKE2b_IV7 0x5be0cd19137e2179ULL
+
80 
+ +
82 {
+
83  state.h[0] = BLAKE2b_IV0 ^ 0x01010040; // Default output length of 64.
+
84  state.h[1] = BLAKE2b_IV1;
+
85  state.h[2] = BLAKE2b_IV2;
+
86  state.h[3] = BLAKE2b_IV3;
+
87  state.h[4] = BLAKE2b_IV4;
+
88  state.h[5] = BLAKE2b_IV5;
+
89  state.h[6] = BLAKE2b_IV6;
+
90  state.h[7] = BLAKE2b_IV7;
+
91  state.chunkSize = 0;
+
92  state.finalized = false;
+
93  state.lengthLow = 0;
+
94  state.lengthHigh = 0;
+
95 }
+
96 
+
104 void BLAKE2b::reset(uint8_t outputLength)
+
105 {
+
106  state.h[0] = BLAKE2b_IV0 ^ 0x01010000 ^ outputLength;
+
107  state.h[1] = BLAKE2b_IV1;
+
108  state.h[2] = BLAKE2b_IV2;
+
109  state.h[3] = BLAKE2b_IV3;
+
110  state.h[4] = BLAKE2b_IV4;
+
111  state.h[5] = BLAKE2b_IV5;
+
112  state.h[6] = BLAKE2b_IV6;
+
113  state.h[7] = BLAKE2b_IV7;
+
114  state.chunkSize = 0;
+
115  state.finalized = false;
+
116  state.lengthLow = 0;
+
117  state.lengthHigh = 0;
+
118 }
+
119 
+
120 void BLAKE2b::update(const void *data, size_t len)
+
121 {
+
122  // Reset the hashing process if finalize() was called previously.
+
123  if (state.finalized)
+
124  reset();
+
125 
+
126  // Break the input up into 1024-bit chunks and process each in turn.
+
127  const uint8_t *d = (const uint8_t *)data;
+
128  while (len > 0) {
+
129  if (state.chunkSize == 128) {
+
130  // Previous chunk was full and we know that it wasn't the
+
131  // last chunk, so we can process it now with f0 set to zero.
+
132  processChunk(0);
+
133  state.chunkSize = 0;
+
134  }
+
135  uint8_t size = 128 - state.chunkSize;
+
136  if (size > len)
+
137  size = len;
+
138  memcpy(((uint8_t *)state.m) + state.chunkSize, d, size);
+
139  state.chunkSize += size;
+
140  uint64_t temp = state.lengthLow;
+
141  state.lengthLow += size;
+
142  if (state.lengthLow < temp)
+
143  ++state.lengthHigh;
+
144  len -= size;
+
145  d += size;
+
146  }
+
147 }
+
148 
+
149 void BLAKE2b::finalize(void *hash, size_t len)
+
150 {
+
151  // Finalize the hash if necessary.
+
152  if (!state.finalized) {
+
153  // Pad the last chunk and hash it with f0 set to all-ones.
+
154  memset(((uint8_t *)state.m) + state.chunkSize, 0, 128 - state.chunkSize);
+
155  processChunk(0xFFFFFFFFFFFFFFFFULL);
+
156 
+
157  // Convert the hash into little-endian in the message buffer.
+
158  for (uint8_t posn = 0; posn < 8; ++posn)
+
159  state.m[posn] = htole64(state.h[posn]);
+
160  state.finalized = true;
+
161  }
+
162 
+
163  // Copy the hash to the caller's return buffer.
+
164  if (len > 64)
+
165  len = 64;
+
166  memcpy(hash, state.m, len);
+
167 }
+
168 
+ +
170 {
+
171  clean(state);
+
172  reset();
+
173 }
+
174 
+
175 // Permutation on the message input state for BLAKE2b.
+
176 static const uint8_t sigma[12][16] PROGMEM = {
+
177  { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
+
178  {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
+
179  {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4},
+
180  { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8},
+
181  { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13},
+
182  { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9},
+
183  {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11},
+
184  {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10},
+
185  { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5},
+
186  {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0},
+
187  { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
+
188  {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
+
189 };
+
190 
+
191 // Perform a BLAKE2b quarter round operation.
+
192 #define quarterRound(a, b, c, d, i) \
+
193  do { \
+
194  uint64_t _b = (b); \
+
195  uint64_t _a = (a) + _b + state.m[pgm_read_byte(&(sigma[index][2 * (i)]))]; \
+
196  uint64_t _d = rightRotate32_64((d) ^ _a); \
+
197  uint64_t _c = (c) + _d; \
+
198  _b = rightRotate24_64(_b ^ _c); \
+
199  _a += _b + state.m[pgm_read_byte(&(sigma[index][2 * (i) + 1]))]; \
+
200  (d) = _d = rightRotate16_64(_d ^ _a); \
+
201  _c += _d; \
+
202  (a) = _a; \
+
203  (b) = rightRotate63_64(_b ^ _c); \
+
204  (c) = _c; \
+
205  } while (0)
+
206 
+
207 void BLAKE2b::processChunk(uint64_t f0)
+
208 {
+
209  uint8_t index;
+
210 
+
211  // Byte-swap the message buffer into little-endian if necessary.
+
212 #if !defined(CRYPTO_LITTLE_ENDIAN)
+
213  for (index = 0; index < 16; ++index)
+
214  state.m[index] = le64toh(state.m[index]);
+
215 #endif
+
216 
+
217  // Format the block to be hashed.
+
218  memcpy(state.v, state.h, sizeof(state.h));
+
219  state.v[8] = BLAKE2b_IV0;
+
220  state.v[9] = BLAKE2b_IV1;
+
221  state.v[10] = BLAKE2b_IV2;
+
222  state.v[11] = BLAKE2b_IV3;
+
223  state.v[12] = BLAKE2b_IV4 ^ state.lengthLow;
+
224  state.v[13] = BLAKE2b_IV5 ^ state.lengthHigh;
+
225  state.v[14] = BLAKE2b_IV6 ^ f0;
+
226  state.v[15] = BLAKE2b_IV7;
+
227 
+
228  // Perform the 12 BLAKE2b rounds.
+
229  for (index = 0; index < 12; ++index) {
+
230  // Column round.
+
231  quarterRound(state.v[0], state.v[4], state.v[8], state.v[12], 0);
+
232  quarterRound(state.v[1], state.v[5], state.v[9], state.v[13], 1);
+
233  quarterRound(state.v[2], state.v[6], state.v[10], state.v[14], 2);
+
234  quarterRound(state.v[3], state.v[7], state.v[11], state.v[15], 3);
+
235 
+
236  // Diagonal round.
+
237  quarterRound(state.v[0], state.v[5], state.v[10], state.v[15], 4);
+
238  quarterRound(state.v[1], state.v[6], state.v[11], state.v[12], 5);
+
239  quarterRound(state.v[2], state.v[7], state.v[8], state.v[13], 6);
+
240  quarterRound(state.v[3], state.v[4], state.v[9], state.v[14], 7);
+
241  }
+
242 
+
243  // Combine the new and old hash values.
+
244  for (index = 0; index < 8; ++index)
+
245  state.h[index] ^= (state.v[index] ^ state.v[index + 8]);
+
246 }
+
void finalize(void *hash, size_t len)
Finalizes the hashing process and returns the hash.
Definition: BLAKE2b.cpp:149
+
void reset()
Resets the hash ready for a new hashing process.
Definition: BLAKE2b.cpp:81
+
void clear()
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing ...
Definition: BLAKE2b.cpp:169
+
BLAKE2b()
Constructs a BLAKE2b hash object.
Definition: BLAKE2b.cpp:47
+
size_t blockSize() const
Size of the internal block used by the hash algorithm.
Definition: BLAKE2b.cpp:66
+
size_t hashSize() const
Size of the hash result from finalize().
Definition: BLAKE2b.cpp:61
+
virtual ~BLAKE2b()
Destroys this BLAKE2b hash object after clearing sensitive information.
Definition: BLAKE2b.cpp:56
+
void update(const void *data, size_t len)
Updates the hash with more data.
Definition: BLAKE2b.cpp:120
+
uint8_t * data()
Returns a pointer to the start of the bitmap's data buffer.
Definition: Bitmap.h:53
+
+ + + + diff --git a/BLAKE2b_8h_source.html b/BLAKE2b_8h_source.html new file mode 100644 index 00000000..825af4eb --- /dev/null +++ b/BLAKE2b_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +ArduinoLibs: BLAKE2b.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
BLAKE2b.h
+
+
+
1 /*
+
2  * Copyright (C) 2015 Southern Storm Software, Pty Ltd.
+
3  *
+
4  * Permission is hereby granted, free of charge, to any person obtaining a
+
5  * copy of this software and associated documentation files (the "Software"),
+
6  * to deal in the Software without restriction, including without limitation
+
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+
8  * and/or sell copies of the Software, and to permit persons to whom the
+
9  * Software is furnished to do so, subject to the following conditions:
+
10  *
+
11  * The above copyright notice and this permission notice shall be included
+
12  * in all copies or substantial portions of the Software.
+
13  *
+
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+
20  * DEALINGS IN THE SOFTWARE.
+
21  */
+
22 
+
23 #ifndef CRYPTO_BLAKE2B_H
+
24 #define CRYPTO_BLAKE2B_H
+
25 
+
26 #include "Hash.h"
+
27 
+
28 class BLAKE2b : public Hash
+
29 {
+
30 public:
+
31  BLAKE2b();
+
32  virtual ~BLAKE2b();
+
33 
+
34  size_t hashSize() const;
+
35  size_t blockSize() const;
+
36 
+
37  void reset();
+
38  void reset(uint8_t outputLength);
+
39  void update(const void *data, size_t len);
+
40  void finalize(void *hash, size_t len);
+
41 
+
42  void clear();
+
43 
+
44 private:
+
45  struct {
+
46  uint64_t h[8];
+
47  uint64_t m[16];
+
48  uint64_t v[16];
+
49  uint8_t chunkSize;
+
50  bool finalized;
+
51  uint64_t lengthLow;
+
52  uint64_t lengthHigh;
+
53  } state;
+
54 
+
55  void processChunk(uint64_t f0);
+
56 };
+
57 
+
58 #endif
+
void finalize(void *hash, size_t len)
Finalizes the hashing process and returns the hash.
Definition: BLAKE2b.cpp:149
+
void reset()
Resets the hash ready for a new hashing process.
Definition: BLAKE2b.cpp:81
+
void clear()
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing ...
Definition: BLAKE2b.cpp:169
+
BLAKE2b()
Constructs a BLAKE2b hash object.
Definition: BLAKE2b.cpp:47
+
size_t blockSize() const
Size of the internal block used by the hash algorithm.
Definition: BLAKE2b.cpp:66
+
Abstract base class for cryptographic hash algorithms.
Definition: Hash.h:29
+
BLAKE2b hash algorithm.
Definition: BLAKE2b.h:28
+
size_t hashSize() const
Size of the hash result from finalize().
Definition: BLAKE2b.cpp:61
+
virtual ~BLAKE2b()
Destroys this BLAKE2b hash object after clearing sensitive information.
Definition: BLAKE2b.cpp:56
+
void update(const void *data, size_t len)
Updates the hash with more data.
Definition: BLAKE2b.cpp:120
+
+ + + + diff --git a/BLAKE2s_8cpp_source.html b/BLAKE2s_8cpp_source.html index d7e0c714..77f8082c 100644 --- a/BLAKE2s_8cpp_source.html +++ b/BLAKE2s_8cpp_source.html @@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
115  state.length = 0;
116 }
117 
-
118 void BLAKE2s::update(const void *data, size_t len)
+
118 void BLAKE2s::update(const void *data, size_t len)
119 {
120  // Reset the hashing process if finalize() was called previously.
121  if (state.finalized)
@@ -306,12 +306,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
size_t blockSize() const
Size of the internal block used by the hash algorithm.
Definition: BLAKE2s.cpp:66
void update(const void *data, size_t len)
Updates the hash with more data.
Definition: BLAKE2s.cpp:118
void finalize(void *hash, size_t len)
Finalizes the hashing process and returns the hash.
Definition: BLAKE2s.cpp:144
-
uint8_t * data()
Returns a pointer to the start of the bitmap's data buffer.
Definition: Bitmap.h:53
BLAKE2s()
Constructs a BLAKE2s hash object.
Definition: BLAKE2s.cpp:47
diff --git a/BLAKE2s_8h_source.html b/BLAKE2s_8h_source.html index f08db618..8d398993 100644 --- a/BLAKE2s_8h_source.html +++ b/BLAKE2s_8h_source.html @@ -158,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Bitmap_8cpp_source.html b/Bitmap_8cpp_source.html index a0506387..d7821420 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 9a7fd772..3ec3a3df 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 5b5fcc3b..17f14b6c 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 96c04182..9ce8a5a4 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 e317971f..0e3847cf 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 44e4bff3..45249339 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 3dd85036..43656d5d 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 0058c5ee..4db29607 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 252cb691..c2295604 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 e30418ee..822c452b 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 e87f5b46..f4b1cd63 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 8ee51875..abcaa851 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 376be695..ba98ae09 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 3a5847fd..2cba8aa2 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/ChaCha_8cpp_source.html b/ChaCha_8cpp_source.html index 58e01c14..372c3a42 100644 --- a/ChaCha_8cpp_source.html +++ b/ChaCha_8cpp_source.html @@ -300,7 +300,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/ChaCha_8h_source.html b/ChaCha_8h_source.html index 6ff0bdc7..3d61550e 100644 --- a/ChaCha_8h_source.html +++ b/ChaCha_8h_source.html @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Charlieplex_8cpp_source.html b/Charlieplex_8cpp_source.html index 52b75cf6..b0022562 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 d1883e41..ca3cd350 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 51a87887..3676ec46 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 30ba9902..ec2c367a 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 1732a9cf..3121eefd 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 bb3bb564..1b3744fc 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 5976c14b..3d68321b 100644 --- a/Crypto_8cpp_source.html +++ b/Crypto_8cpp_source.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Crypto_8h_source.html b/Crypto_8h_source.html index c6338119..9f3e82c0 100644 --- a/Crypto_8h_source.html +++ b/Crypto_8h_source.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Curve25519_8cpp_source.html b/Curve25519_8cpp_source.html index 3aaaa08f..d5602a55 100644 --- a/Curve25519_8cpp_source.html +++ b/Curve25519_8cpp_source.html @@ -717,7 +717,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Curve25519_8h_source.html b/Curve25519_8h_source.html index f128c790..5d23b32c 100644 --- a/Curve25519_8h_source.html +++ b/Curve25519_8h_source.html @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/DMD_8cpp_source.html b/DMD_8cpp_source.html index 656e3ce5..e15eece8 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 ddd1cc79..683c0f30 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 dc4a6b5d..4ee173d7 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 9b1c5c27..4bc46ebe 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/DS3232RTC_8cpp_source.html b/DS3232RTC_8cpp_source.html index 6c3be4e8..b8f8df30 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 cc2aae00..7a7df6b1 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 eb67895e..efcb565d 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 de041051..19716ecf 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 9de3e31a..e0ae4cf6 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/EEPROM24_8cpp_source.html b/EEPROM24_8cpp_source.html index 6d3ecef4..9e488054 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 2813203b..4f48d26d 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/Field_8cpp_source.html b/Field_8cpp_source.html index 26807d3f..07891416 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 b5b6fde1..7139f109 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 ce43524a..fd548a17 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 74df00a3..234adc01 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/Hash_8cpp_source.html b/Hash_8cpp_source.html index ebc1a03b..470d95d5 100644 --- a/Hash_8cpp_source.html +++ b/Hash_8cpp_source.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/Hash_8h_source.html b/Hash_8h_source.html index a3c6bb92..1d5494f1 100644 --- a/Hash_8h_source.html +++ b/Hash_8h_source.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/I2CMaster_8cpp_source.html b/I2CMaster_8cpp_source.html index 613178fc..4e93eb66 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 48cbd7d6..20af61de 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 fcc9802c..44da79d2 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 da8fdc9d..947999b7 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 076dbe5b..72527b95 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 b1919b47..6bfcc5d3 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/LCD_8cpp_source.html b/LCD_8cpp_source.html index 6921b682..95e14409 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 ee349b6f..80b06cab 100644 --- a/LCD_8h_source.html +++ b/LCD_8h_source.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/ListField_8cpp_source.html b/ListField_8cpp_source.html index a559a8e7..a6490464 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 781ed465..b5ef4ea4 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/Melody_8cpp_source.html b/Melody_8cpp_source.html index 61b93880..2bbb14a1 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 8ec982ee..50fcd523 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 9e2c9ca2..34442216 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/NoiseSource_8cpp_source.html b/NoiseSource_8cpp_source.html index 10ace87e..b73c502e 100644 --- a/NoiseSource_8cpp_source.html +++ b/NoiseSource_8cpp_source.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/NoiseSource_8h_source.html b/NoiseSource_8h_source.html index 159c96f5..0adedf8d 100644 --- a/NoiseSource_8h_source.html +++ b/NoiseSource_8h_source.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/OFB_8cpp_source.html b/OFB_8cpp_source.html index c43623d6..d3e476d8 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 99dd66c1..1f3775e1 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/PowerSave_8cpp_source.html b/PowerSave_8cpp_source.html index 876a058c..cfb7c91b 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 f116d2b0..b2f80af1 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 fa80ad18..62e4b356 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 85bfe62b..ffd3cfa0 100644 --- a/RNG_8cpp_source.html +++ b/RNG_8cpp_source.html @@ -365,7 +365,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/RNG_8h_source.html b/RNG_8h_source.html index b25c953d..75401454 100644 --- a/RNG_8h_source.html +++ b/RNG_8h_source.html @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/RTC_8cpp_source.html b/RTC_8cpp_source.html index 05e88f33..870442e7 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 3c0952ad..d30b2a26 100644 --- a/RTC_8h_source.html +++ b/RTC_8h_source.html @@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/SHA1_8cpp_source.html b/SHA1_8cpp_source.html index 37338df7..7f81acb6 100644 --- a/SHA1_8cpp_source.html +++ b/SHA1_8cpp_source.html @@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/SHA1_8h_source.html b/SHA1_8h_source.html index 947a397d..98fbade2 100644 --- a/SHA1_8h_source.html +++ b/SHA1_8h_source.html @@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/SHA256_8cpp_source.html b/SHA256_8cpp_source.html index 5f9ace08..e305570a 100644 --- a/SHA256_8cpp_source.html +++ b/SHA256_8cpp_source.html @@ -326,7 +326,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/SHA256_8h_source.html b/SHA256_8h_source.html index 2c461d26..1558d690 100644 --- a/SHA256_8h_source.html +++ b/SHA256_8h_source.html @@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/SHA512_8cpp_source.html b/SHA512_8cpp_source.html new file mode 100644 index 00000000..d668f2ac --- /dev/null +++ b/SHA512_8cpp_source.html @@ -0,0 +1,350 @@ + + + + + + +ArduinoLibs: SHA512.cpp Source File + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
SHA512.cpp
+
+
+
1 /*
+
2  * Copyright (C) 2015 Southern Storm Software, Pty Ltd.
+
3  *
+
4  * Permission is hereby granted, free of charge, to any person obtaining a
+
5  * copy of this software and associated documentation files (the "Software"),
+
6  * to deal in the Software without restriction, including without limitation
+
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+
8  * and/or sell copies of the Software, and to permit persons to whom the
+
9  * Software is furnished to do so, subject to the following conditions:
+
10  *
+
11  * The above copyright notice and this permission notice shall be included
+
12  * in all copies or substantial portions of the Software.
+
13  *
+
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+
20  * DEALINGS IN THE SOFTWARE.
+
21  */
+
22 
+
23 #include "SHA512.h"
+
24 #include "Crypto.h"
+
25 #include "utility/RotateUtil.h"
+
26 #include "utility/EndianUtil.h"
+
27 #include "utility/ProgMemUtil.h"
+
28 #include <string.h>
+
29 
+ +
43 {
+
44  reset();
+
45 }
+
46 
+ +
52 {
+
53  clean(state);
+
54 }
+
55 
+
56 size_t SHA512::hashSize() const
+
57 {
+
58  return 64;
+
59 }
+
60 
+
61 size_t SHA512::blockSize() const
+
62 {
+
63  return 128;
+
64 }
+
65 
+ +
67 {
+
68  static uint64_t const hashStart[8] PROGMEM = {
+
69  0x6A09E667F3BCC908ULL, 0xBB67AE8584CAA73BULL, 0x3C6EF372FE94F82BULL,
+
70  0xA54FF53A5F1D36F1ULL, 0x510E527FADE682D1ULL, 0x9B05688C2B3E6C1FULL,
+
71  0x1F83D9ABFB41BD6BULL, 0x5BE0CD19137E2179ULL
+
72  };
+
73  memcpy_P(state.h, hashStart, sizeof(hashStart));
+
74  state.chunkSize = 0;
+
75  state.finalized = false;
+
76  state.lengthLow = 0;
+
77  state.lengthHigh = 0;
+
78 }
+
79 
+
80 void SHA512::update(const void *data, size_t len)
+
81 {
+
82  // Reset the hashing process if finalize() was called previously.
+
83  if (state.finalized)
+
84  reset();
+
85 
+
86  // Update the total length in bits, not bytes.
+
87  uint64_t temp = state.lengthLow;
+
88  state.lengthLow += (((uint64_t)len) << 3);
+
89  state.lengthHigh += (((uint64_t)len) >> 61);
+
90  if (state.lengthLow < temp)
+
91  ++state.lengthHigh;
+
92 
+
93  // Break the input up into 1024-bit chunks and process each in turn.
+
94  const uint8_t *d = (const uint8_t *)data;
+
95  while (len > 0) {
+
96  uint8_t size = 128 - state.chunkSize;
+
97  if (size > len)
+
98  size = len;
+
99  memcpy(((uint8_t *)state.w) + state.chunkSize, d, size);
+
100  state.chunkSize += size;
+
101  len -= size;
+
102  d += size;
+
103  if (state.chunkSize == 128) {
+
104  processChunk();
+
105  state.chunkSize = 0;
+
106  }
+
107  }
+
108 }
+
109 
+
110 void SHA512::finalize(void *hash, size_t len)
+
111 {
+
112  // Finalize the hash if necessary.
+
113  if (!state.finalized) {
+
114  // Pad the last chunk. We may need two padding chunks if there
+
115  // isn't enough room in the first for the padding and length.
+
116  uint8_t *wbytes = (uint8_t *)state.w;
+
117  if (state.chunkSize <= (128 - 17)) {
+
118  wbytes[state.chunkSize] = 0x80;
+
119  memset(wbytes + state.chunkSize + 1, 0x00, 128 - 16 - (state.chunkSize + 1));
+
120  state.w[14] = htobe64(state.lengthHigh);
+
121  state.w[15] = htobe64(state.lengthLow);
+
122  processChunk();
+
123  } else {
+
124  wbytes[state.chunkSize] = 0x80;
+
125  memset(wbytes + state.chunkSize + 1, 0x00, 128 - (state.chunkSize + 1));
+
126  processChunk();
+
127  memset(wbytes, 0x00, 128 - 16);
+
128  state.w[14] = htobe64(state.lengthHigh);
+
129  state.w[15] = htobe64(state.lengthLow);
+
130  processChunk();
+
131  }
+
132 
+
133  // Convert the result into big endian and return it.
+
134  for (uint8_t posn = 0; posn < 8; ++posn)
+
135  state.w[posn] = htobe64(state.h[posn]);
+
136  state.finalized = true;
+
137  }
+
138 
+
139  // Copy the hash to the caller's return buffer.
+
140  if (len > 64)
+
141  len = 64;
+
142  memcpy(hash, state.w, len);
+
143 }
+
144 
+ +
146 {
+
147  clean(state);
+
148  reset();
+
149 }
+
150 
+
156 void SHA512::processChunk()
+
157 {
+
158  // Round constants for SHA-512.
+
159  static uint64_t const k[80] PROGMEM = {
+
160  0x428A2F98D728AE22ULL, 0x7137449123EF65CDULL, 0xB5C0FBCFEC4D3B2FULL,
+
161  0xE9B5DBA58189DBBCULL, 0x3956C25BF348B538ULL, 0x59F111F1B605D019ULL,
+
162  0x923F82A4AF194F9BULL, 0xAB1C5ED5DA6D8118ULL, 0xD807AA98A3030242ULL,
+
163  0x12835B0145706FBEULL, 0x243185BE4EE4B28CULL, 0x550C7DC3D5FFB4E2ULL,
+
164  0x72BE5D74F27B896FULL, 0x80DEB1FE3B1696B1ULL, 0x9BDC06A725C71235ULL,
+
165  0xC19BF174CF692694ULL, 0xE49B69C19EF14AD2ULL, 0xEFBE4786384F25E3ULL,
+
166  0x0FC19DC68B8CD5B5ULL, 0x240CA1CC77AC9C65ULL, 0x2DE92C6F592B0275ULL,
+
167  0x4A7484AA6EA6E483ULL, 0x5CB0A9DCBD41FBD4ULL, 0x76F988DA831153B5ULL,
+
168  0x983E5152EE66DFABULL, 0xA831C66D2DB43210ULL, 0xB00327C898FB213FULL,
+
169  0xBF597FC7BEEF0EE4ULL, 0xC6E00BF33DA88FC2ULL, 0xD5A79147930AA725ULL,
+
170  0x06CA6351E003826FULL, 0x142929670A0E6E70ULL, 0x27B70A8546D22FFCULL,
+
171  0x2E1B21385C26C926ULL, 0x4D2C6DFC5AC42AEDULL, 0x53380D139D95B3DFULL,
+
172  0x650A73548BAF63DEULL, 0x766A0ABB3C77B2A8ULL, 0x81C2C92E47EDAEE6ULL,
+
173  0x92722C851482353BULL, 0xA2BFE8A14CF10364ULL, 0xA81A664BBC423001ULL,
+
174  0xC24B8B70D0F89791ULL, 0xC76C51A30654BE30ULL, 0xD192E819D6EF5218ULL,
+
175  0xD69906245565A910ULL, 0xF40E35855771202AULL, 0x106AA07032BBD1B8ULL,
+
176  0x19A4C116B8D2D0C8ULL, 0x1E376C085141AB53ULL, 0x2748774CDF8EEB99ULL,
+
177  0x34B0BCB5E19B48A8ULL, 0x391C0CB3C5C95A63ULL, 0x4ED8AA4AE3418ACBULL,
+
178  0x5B9CCA4F7763E373ULL, 0x682E6FF3D6B2B8A3ULL, 0x748F82EE5DEFB2FCULL,
+
179  0x78A5636F43172F60ULL, 0x84C87814A1F0AB72ULL, 0x8CC702081A6439ECULL,
+
180  0x90BEFFFA23631E28ULL, 0xA4506CEBDE82BDE9ULL, 0xBEF9A3F7B2C67915ULL,
+
181  0xC67178F2E372532BULL, 0xCA273ECEEA26619CULL, 0xD186B8C721C0C207ULL,
+
182  0xEADA7DD6CDE0EB1EULL, 0xF57D4F7FEE6ED178ULL, 0x06F067AA72176FBAULL,
+
183  0x0A637DC5A2C898A6ULL, 0x113F9804BEF90DAEULL, 0x1B710B35131C471BULL,
+
184  0x28DB77F523047D84ULL, 0x32CAAB7B40C72493ULL, 0x3C9EBE0A15C9BEBCULL,
+
185  0x431D67C49C100D4CULL, 0x4CC5D4BECB3E42B6ULL, 0x597F299CFC657E2AULL,
+
186  0x5FCB6FAB3AD6FAECULL, 0x6C44198C4A475817ULL
+
187  };
+
188 
+
189  // Convert the first 16 words from big endian to host byte order.
+
190  uint8_t index;
+
191  for (index = 0; index < 16; ++index)
+
192  state.w[index] = be64toh(state.w[index]);
+
193 
+
194  // Initialise working variables to the current hash value.
+
195  uint64_t a = state.h[0];
+
196  uint64_t b = state.h[1];
+
197  uint64_t c = state.h[2];
+
198  uint64_t d = state.h[3];
+
199  uint64_t e = state.h[4];
+
200  uint64_t f = state.h[5];
+
201  uint64_t g = state.h[6];
+
202  uint64_t h = state.h[7];
+
203 
+
204  // Perform the first 16 rounds of the compression function main loop.
+
205  uint64_t temp1, temp2;
+
206  for (index = 0; index < 16; ++index) {
+
207  temp1 = h + pgm_read_qword(k + index) + state.w[index] +
+
208  (rightRotate14_64(e) ^ rightRotate18_64(e) ^
+
209  rightRotate41_64(e)) + ((e & f) ^ ((~e) & g));
+
210  temp2 = (rightRotate28_64(a) ^ rightRotate34_64(a) ^
+
211  rightRotate39_64(a)) + ((a & b) ^ (a & c) ^ (b & c));
+
212  h = g;
+
213  g = f;
+
214  f = e;
+
215  e = d + temp1;
+
216  d = c;
+
217  c = b;
+
218  b = a;
+
219  a = temp1 + temp2;
+
220  }
+
221 
+
222  // Perform the 64 remaining rounds. We expand the first 16 words to
+
223  // 80 in-place in the "w" array. This saves 512 bytes of memory
+
224  // that would have otherwise need to be allocated to the "w" array.
+
225  for (; index < 80; ++index) {
+
226  // Expand the next word.
+
227  temp1 = state.w[(index - 15) & 0x0F];
+
228  temp2 = state.w[(index - 2) & 0x0F];
+
229  temp1 = state.w[index & 0x0F] =
+
230  state.w[(index - 16) & 0x0F] + state.w[(index - 7) & 0x0F] +
+
231  (rightRotate1_64(temp1) ^ rightRotate8_64(temp1) ^
+
232  (temp1 >> 7)) +
+
233  (rightRotate19_64(temp2) ^ rightRotate61_64(temp2) ^
+
234  (temp2 >> 6));
+
235 
+
236  // Perform the round.
+
237  temp1 = h + pgm_read_qword(k + index) + temp1 +
+
238  (rightRotate14_64(e) ^ rightRotate18_64(e) ^
+
239  rightRotate41_64(e)) + ((e & f) ^ ((~e) & g));
+
240  temp2 = (rightRotate28_64(a) ^ rightRotate34_64(a) ^
+
241  rightRotate39_64(a)) + ((a & b) ^ (a & c) ^ (b & c));
+
242  h = g;
+
243  g = f;
+
244  f = e;
+
245  e = d + temp1;
+
246  d = c;
+
247  c = b;
+
248  b = a;
+
249  a = temp1 + temp2;
+
250  }
+
251 
+
252  // Add the compressed chunk to the current hash value.
+
253  state.h[0] += a;
+
254  state.h[1] += b;
+
255  state.h[2] += c;
+
256  state.h[3] += d;
+
257  state.h[4] += e;
+
258  state.h[5] += f;
+
259  state.h[6] += g;
+
260  state.h[7] += h;
+
261 
+
262  // Attempt to clean up the stack.
+
263  a = b = c = d = e = f = g = h = temp1 = temp2 = 0;
+
264 }
+
size_t hashSize() const
Size of the hash result from finalize().
Definition: SHA512.cpp:56
+
size_t blockSize() const
Size of the internal block used by the hash algorithm.
Definition: SHA512.cpp:61
+
virtual ~SHA512()
Destroys this SHA-512 hash object after clearing sensitive information.
Definition: SHA512.cpp:51
+
void clear()
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing ...
Definition: SHA512.cpp:145
+
void reset()
Resets the hash ready for a new hashing process.
Definition: SHA512.cpp:66
+
void update(const void *data, size_t len)
Updates the hash with more data.
Definition: SHA512.cpp:80
+
void finalize(void *hash, size_t len)
Finalizes the hashing process and returns the hash.
Definition: SHA512.cpp:110
+
SHA512()
Constructs a SHA-512 hash object.
Definition: SHA512.cpp:42
+
+ + + + diff --git a/SHA512_8h_source.html b/SHA512_8h_source.html new file mode 100644 index 00000000..6079ed36 --- /dev/null +++ b/SHA512_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +ArduinoLibs: SHA512.h Source File + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
SHA512.h
+
+
+
1 /*
+
2  * Copyright (C) 2015 Southern Storm Software, Pty Ltd.
+
3  *
+
4  * Permission is hereby granted, free of charge, to any person obtaining a
+
5  * copy of this software and associated documentation files (the "Software"),
+
6  * to deal in the Software without restriction, including without limitation
+
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+
8  * and/or sell copies of the Software, and to permit persons to whom the
+
9  * Software is furnished to do so, subject to the following conditions:
+
10  *
+
11  * The above copyright notice and this permission notice shall be included
+
12  * in all copies or substantial portions of the Software.
+
13  *
+
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+
20  * DEALINGS IN THE SOFTWARE.
+
21  */
+
22 
+
23 #ifndef CRYPTO_SHA512_h
+
24 #define CRYPTO_SHA512_h
+
25 
+
26 #include "Hash.h"
+
27 
+
28 class SHA512 : public Hash
+
29 {
+
30 public:
+
31  SHA512();
+
32  virtual ~SHA512();
+
33 
+
34  size_t hashSize() const;
+
35  size_t blockSize() const;
+
36 
+
37  void reset();
+
38  void update(const void *data, size_t len);
+
39  void finalize(void *hash, size_t len);
+
40 
+
41  void clear();
+
42 
+
43 private:
+
44  struct {
+
45  uint64_t h[8];
+
46  uint64_t w[16];
+
47  uint8_t chunkSize;
+
48  bool finalized;
+
49  uint64_t lengthLow;
+
50  uint64_t lengthHigh;
+
51  } state;
+
52 
+
53  void processChunk();
+
54 };
+
55 
+
56 #endif
+
size_t hashSize() const
Size of the hash result from finalize().
Definition: SHA512.cpp:56
+
size_t blockSize() const
Size of the internal block used by the hash algorithm.
Definition: SHA512.cpp:61
+
virtual ~SHA512()
Destroys this SHA-512 hash object after clearing sensitive information.
Definition: SHA512.cpp:51
+
Abstract base class for cryptographic hash algorithms.
Definition: Hash.h:29
+
void clear()
Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing ...
Definition: SHA512.cpp:145
+
SHA-512 hash algorithm.
Definition: SHA512.h:28
+
void reset()
Resets the hash ready for a new hashing process.
Definition: SHA512.cpp:66
+
void update(const void *data, size_t len)
Updates the hash with more data.
Definition: SHA512.cpp:80
+
void finalize(void *hash, size_t len)
Finalizes the hashing process and returns the hash.
Definition: SHA512.cpp:110
+
SHA512()
Constructs a SHA-512 hash object.
Definition: SHA512.cpp:42
+
+ + + + diff --git a/SoftI2C_8cpp_source.html b/SoftI2C_8cpp_source.html index 193f44f1..bf86b650 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 3f584770..6baf7388 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/TextField_8cpp_source.html b/TextField_8cpp_source.html index d0ff0924..d8602aba 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 1a3c5dea..46addfe5 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 606e2936..8231795c 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 6609d575..00a5ea16 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 db326f93..e7e78d53 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 5f09d09b..c7eef78a 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/alarm-clock_8dox.html b/alarm-clock_8dox.html index 2acbcae6..429731ea 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 dd47b0fb..6d8afa84 100644 --- a/alarm_clock.html +++ b/alarm_clock.html @@ -140,7 +140,7 @@ Completed Clock diff --git a/annotated.html b/annotated.html index 9ef9dfc4..48064dca 100644 --- a/annotated.html +++ b/annotated.html @@ -94,54 +94,56 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); oCAES256AES block cipher with 256-bit keys oCAESCommonAbstract base class for AES block ciphers oCBitmapRepresents a monochrome bitmap within main memory -oCBLAKE2sBLAKE2s hash algorithm -oCBlinkLEDBlink a LED on a digital output pin -oCBlockCipherAbstract base class for block ciphers -oCBoolFieldField that manages the input of a boolean value -oCCBCImplementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers -oCCBCCommonConcrete base class to assist with implementing CBC for 128-bit block ciphers -oCCFBImplementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers -oCCFBCommonConcrete base class to assist with implementing CFB for 128-bit block ciphers -oCChaChaChaCha stream cipher -oCCharlieplexManage an array of LED's in a charlieplexed arrangement -oCChaseLEDsChase LED's on output pins in a defined sequence -oCCipherAbstract base class for stream ciphers -oCCTRImplementation of the Counter (CTR) mode for 128-bit block ciphers -oCCTRCommonConcrete base class to assist with implementing CTR mode for 128-bit block ciphers -oCCurve25519Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19 -oCDMDHandle large dot matrix displays composed of LED's -oCDS1307RTCCommunicates with a DS1307 realtime clock chip via I2C -oCDS3232RTCCommunicates with a DS3232 realtime clock chip via I2C -oCEEPROM24Reading and writing EEPROM's from the 24LCXX family -oCFieldManages a single data input/output field within a Form -oCFormManager for a form containing data input/output fields -oCHashAbstract base class for cryptographic hash algorithms -oCI2CMasterAbstract base class for I2C master implementations -oCIntFieldField that manages the input of an integer value -oCIRreceiverManages the reception of RC-5 commands from an infrared remote control -oCLCDEnhanced library for Freetronics 16x2 LCD shields -oCListFieldField that manages selection from a static list of items -oCMelodyPlays a melody on a digital output pin using tone() -oCNoiseSourceAbstract base class for random noise sources -oCOFBImplementation of the Output Feedback (OFB) mode for 128-bit block ciphers -oCOFBCommonConcrete base class to assist with implementing OFB for 128-bit block ciphers -oCRNGClassPseudo random number generator suitable for cryptography -oCRTCBase class for realtime clock handlers -oCRTCAlarmStores alarm information from a realtime clock chip -oCRTCDateStores date information from a realtime clock chip -oCRTCTimeStores time information from a realtime clock chip -oCSHA1SHA-1 hash algorithm -oCSHA256SHA-256 hash algorithm -oCSoftI2CBit-banged implementation of an I2C master -oCTextFieldField that displays a read-only text value -oCTimeFieldField that manages the display and editing of a time value -\CTransistorNoiseSourceProcesses the signal from a transistor-based noise source +oCBLAKE2bBLAKE2b hash algorithm +oCBLAKE2sBLAKE2s hash algorithm +oCBlinkLEDBlink a LED on a digital output pin +oCBlockCipherAbstract base class for block ciphers +oCBoolFieldField that manages the input of a boolean value +oCCBCImplementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers +oCCBCCommonConcrete base class to assist with implementing CBC for 128-bit block ciphers +oCCFBImplementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers +oCCFBCommonConcrete base class to assist with implementing CFB for 128-bit block ciphers +oCChaChaChaCha stream cipher +oCCharlieplexManage an array of LED's in a charlieplexed arrangement +oCChaseLEDsChase LED's on output pins in a defined sequence +oCCipherAbstract base class for stream ciphers +oCCTRImplementation of the Counter (CTR) mode for 128-bit block ciphers +oCCTRCommonConcrete base class to assist with implementing CTR mode for 128-bit block ciphers +oCCurve25519Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19 +oCDMDHandle large dot matrix displays composed of LED's +oCDS1307RTCCommunicates with a DS1307 realtime clock chip via I2C +oCDS3232RTCCommunicates with a DS3232 realtime clock chip via I2C +oCEEPROM24Reading and writing EEPROM's from the 24LCXX family +oCFieldManages a single data input/output field within a Form +oCFormManager for a form containing data input/output fields +oCHashAbstract base class for cryptographic hash algorithms +oCI2CMasterAbstract base class for I2C master implementations +oCIntFieldField that manages the input of an integer value +oCIRreceiverManages the reception of RC-5 commands from an infrared remote control +oCLCDEnhanced library for Freetronics 16x2 LCD shields +oCListFieldField that manages selection from a static list of items +oCMelodyPlays a melody on a digital output pin using tone() +oCNoiseSourceAbstract base class for random noise sources +oCOFBImplementation of the Output Feedback (OFB) mode for 128-bit block ciphers +oCOFBCommonConcrete base class to assist with implementing OFB for 128-bit block ciphers +oCRNGClassPseudo random number generator suitable for cryptography +oCRTCBase class for realtime clock handlers +oCRTCAlarmStores alarm information from a realtime clock chip +oCRTCDateStores date information from a realtime clock chip +oCRTCTimeStores time information from a realtime clock chip +oCSHA1SHA-1 hash algorithm +oCSHA256SHA-256 hash algorithm +oCSHA512SHA-512 hash algorithm +oCSoftI2CBit-banged implementation of an I2C master +oCTextFieldField that displays a read-only text value +oCTimeFieldField that manages the display and editing of a time value +\CTransistorNoiseSourceProcesses the signal from a transistor-based noise source diff --git a/blink-blink_8dox.html b/blink-blink_8dox.html index 5919b0c5..cb11cafb 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 8b4c8d29..d3b88a96 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 3f2066d4..4d2c8592 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 87a9e51c..3377f5b9 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 c2a33b1d..6c4f450f 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 e0c47c50..a0ad6d87 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 68d9c11d..fcaf0d7a 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 927a8cae..577ba42a 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 49bfe0a1..d74e187b 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 209b40f5..835289f5 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 624f5950..7a929537 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 884e2ac4..7b5ca6ea 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 bad99fc0..76711a12 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 bfc1f0da..0b6a61ce 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 6e5582e3..1de9ee6a 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 87e9a204..dee7778c 100644 --- a/classAESCommon.html +++ b/classAESCommon.html @@ -322,7 +322,7 @@ Protected Member Functions diff --git a/classBLAKE2b-members.html b/classBLAKE2b-members.html new file mode 100644 index 00000000..5ba8de58 --- /dev/null +++ b/classBLAKE2b-members.html @@ -0,0 +1,119 @@ + + + + + + +ArduinoLibs: Member List + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
BLAKE2b Member List
+
+
+ +

This is the complete list of members for BLAKE2b, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
BLAKE2b()BLAKE2b
blockSize() const BLAKE2bvirtual
chunkSize (defined in BLAKE2b)BLAKE2b
clear()BLAKE2bvirtual
finalize(void *hash, size_t len)BLAKE2bvirtual
finalized (defined in BLAKE2b)BLAKE2b
h (defined in BLAKE2b)BLAKE2b
Hash()Hash
hashSize() const BLAKE2bvirtual
lengthHigh (defined in BLAKE2b)BLAKE2b
lengthLow (defined in BLAKE2b)BLAKE2b
m (defined in BLAKE2b)BLAKE2b
reset()BLAKE2bvirtual
reset(uint8_t outputLength)BLAKE2b
update(const void *data, size_t len)BLAKE2bvirtual
v (defined in BLAKE2b)BLAKE2b
~BLAKE2b()BLAKE2bvirtual
~Hash()Hashvirtual
+ + + + diff --git a/classBLAKE2b.html b/classBLAKE2b.html new file mode 100644 index 00000000..0d8ba6fb --- /dev/null +++ b/classBLAKE2b.html @@ -0,0 +1,413 @@ + + + + + + +ArduinoLibs: BLAKE2b Class Reference + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
BLAKE2b Class Reference
+
+
+ +

BLAKE2b hash algorithm. + More...

+ +

#include <BLAKE2b.h>

+
+Inheritance diagram for BLAKE2b:
+
+
+ + +Hash + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BLAKE2b ()
 Constructs a BLAKE2b hash object.
 
+virtual ~BLAKE2b ()
 Destroys this BLAKE2b hash object after clearing sensitive information.
 
size_t hashSize () const
 Size of the hash result from finalize(). More...
 
size_t blockSize () const
 Size of the internal block used by the hash algorithm. More...
 
void reset ()
 Resets the hash ready for a new hashing process. More...
 
void reset (uint8_t outputLength)
 Resets the hash ready for a new hashing process with a specified output length. More...
 
void update (const void *data, size_t len)
 Updates the hash with more data. More...
 
void finalize (void *hash, size_t len)
 Finalizes the hashing process and returns the hash. More...
 
void clear ()
 Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More...
 
- Public Member Functions inherited from Hash
Hash ()
 Constructs a new hash object.
 
virtual ~Hash ()
 Destroys this hash object. More...
 
+

Detailed Description

+

BLAKE2b hash algorithm.

+

BLAKE2b is a variation on the ChaCha stream cipher, designed for hashing, with a 512-bit hash output. It is intended as a high performance replacement for SHA512 for when speed is critical but exact SHA512 compatibility is not.

+

Reference: https://blake2.net/

+
See Also
BLAKE2s, SHA512
+ +

Definition at line 28 of file BLAKE2b.h.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
size_t BLAKE2b::blockSize () const
+
+virtual
+
+ +

Size of the internal block used by the hash algorithm.

+
See Also
update(), hashSize()
+ +

Implements Hash.

+ +

Definition at line 66 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void BLAKE2b::clear ()
+
+virtual
+
+ +

Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.

+
See Also
reset()
+ +

Implements Hash.

+ +

Definition at line 169 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BLAKE2b::finalize (void * hash,
size_t len 
)
+
+virtual
+
+ +

Finalizes the hashing process and returns the hash.

+
Parameters
+ + + +
hashThe buffer to return the hash value in.
lenThe length of the hash buffer, normally hashSize().
+
+
+

If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.

+

If finalize() is called again, the same hash value is returned again until the next call to reset() or update().

+
See Also
reset(), update()
+ +

Implements Hash.

+ +

Definition at line 149 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
size_t BLAKE2b::hashSize () const
+
+virtual
+
+ +

Size of the hash result from finalize().

+
See Also
finalize(), blockSize()
+ +

Implements Hash.

+ +

Definition at line 61 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void BLAKE2b::reset ()
+
+virtual
+
+ +

Resets the hash ready for a new hashing process.

+
See Also
update(), finalize()
+ +

Implements Hash.

+ +

Definition at line 81 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + + + + +
void BLAKE2b::reset (uint8_t outputLength)
+
+ +

Resets the hash ready for a new hashing process with a specified output length.

+
Parameters
+ + +
outputLengthThe output length to use for the final hash in bytes, between 1 and 64.
+
+
+ +

Definition at line 104 of file BLAKE2b.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BLAKE2b::update (const void * data,
size_t len 
)
+
+virtual
+
+ +

Updates the hash with more data.

+
Parameters
+ + + +
dataData to be hashed.
lenNumber of bytes of data to be hashed.
+
+
+

If finalize() has already been called, then calling update() will reset() the hash and start a new hashing process.

+
See Also
reset(), finalize()
+ +

Implements Hash.

+ +

Definition at line 120 of file BLAKE2b.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classBLAKE2b.png b/classBLAKE2b.png new file mode 100644 index 0000000000000000000000000000000000000000..36e374b938a55f38287b934c3e5dcec2be458e2d GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^PCy*M!3-p4O$qh_QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;S8%hdBz9w%_O04f(zI^fP(k z$=4LUUI}RaOtn2PucWnV_kFqC3*0W&d$m_^Z@uEJucb6UZ10AzckeAy%vF3FB<$jA zv$>eju*&4KQm diff --git a/classBLAKE2s.html b/classBLAKE2s.html index a7c778be..071947f3 100644 --- a/classBLAKE2s.html +++ b/classBLAKE2s.html @@ -405,7 +405,7 @@ virtual  diff --git a/classBitmap-members.html b/classBitmap-members.html index 2608b48c..ca565201 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 db84d303..1546f0dd 100644 --- a/classBitmap.html +++ b/classBitmap.html @@ -1745,7 +1745,7 @@ class DMD diff --git a/classBlinkLED-members.html b/classBlinkLED-members.html index c32b5daa..090fa248 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 59019a21..2b3275ed 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 fa8c8525..8b3536c1 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 9b8c4587..185cf803 100644 --- a/classBlockCipher.html +++ b/classBlockCipher.html @@ -407,7 +407,7 @@ Public Member Functions diff --git a/classBoolField-members.html b/classBoolField-members.html index 4f751d3c..fe2eba85 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 fdea93ce..f8c01afc 100644 --- a/classBoolField.html +++ b/classBoolField.html @@ -506,7 +506,7 @@ LiquidCrystal *  diff --git a/classCBC-members.html b/classCBC-members.html index 715cacf8..72a5b00b 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 90cb6e23..c2cfb225 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 257b75dc..716fb52f 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 42b16f6d..6dc4b430 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 1e198a42..f56c41a0 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 bc6b74a1..77cd0e18 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 f8354b39..2230f8f2 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 6ff60a88..46390744 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 87399216..904512bc 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 a8c91c4d..7df90df8 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 50e214d5..25fc7f4a 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 32152434..abf81241 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 26803101..d87675e4 100644 --- a/classChaCha-members.html +++ b/classChaCha-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classChaCha.html b/classChaCha.html index 6d430b22..9c833bff 100644 --- a/classChaCha.html +++ b/classChaCha.html @@ -666,7 +666,7 @@ Static Public Member Functions diff --git a/classCharlieplex-members.html b/classCharlieplex-members.html index e990e4c3..ed03b8d9 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 a4965ee8..e59d7a82 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 6e771455..fa1a6680 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 515fbc4e..01ab0d55 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 714f302c..7a106688 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 43ccb7be..48b9baf2 100644 --- a/classCipher.html +++ b/classCipher.html @@ -479,7 +479,7 @@ Public Member Functions diff --git a/classCurve25519-members.html b/classCurve25519-members.html index 13692641..ede7ea8a 100644 --- a/classCurve25519-members.html +++ b/classCurve25519-members.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classCurve25519.html b/classCurve25519.html index dc412e1d..4ca719a2 100644 --- a/classCurve25519.html +++ b/classCurve25519.html @@ -295,7 +295,7 @@ Static Public Member Functions diff --git a/classDMD-members.html b/classDMD-members.html index 386472e0..2da27fbf 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 a10c2f8a..d9c1ec5e 100644 --- a/classDMD.html +++ b/classDMD.html @@ -755,7 +755,7 @@ Multiple panels diff --git a/classDS1307RTC-members.html b/classDS1307RTC-members.html index d06149a3..9d919c6b 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 8bcc043a..fe6eb82d 100644 --- a/classDS1307RTC.html +++ b/classDS1307RTC.html @@ -598,7 +598,7 @@ static const uint8_t  diff --git a/classDS3232RTC-members.html b/classDS3232RTC-members.html index 373862f4..619cd290 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 ce2ca2c0..2bbd4a91 100644 --- a/classDS3232RTC.html +++ b/classDS3232RTC.html @@ -750,7 +750,7 @@ static const uint8_t  diff --git a/classEEPROM24-members.html b/classEEPROM24-members.html index 2459b9a4..951c0bc0 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 a115ac44..9e188260 100644 --- a/classEEPROM24.html +++ b/classEEPROM24.html @@ -431,7 +431,7 @@ Public Member Functions diff --git a/classField-members.html b/classField-members.html index 6b3f2c82..ad708de0 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 969353ec..fbed2906 100644 --- a/classField.html +++ b/classField.html @@ -424,7 +424,7 @@ class Form diff --git a/classForm-members.html b/classForm-members.html index 8dadfe98..d1fb9997 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 a0d8ae2e..20734b93 100644 --- a/classForm.html +++ b/classForm.html @@ -485,7 +485,7 @@ class Field diff --git a/classHash-members.html b/classHash-members.html index 816bbdc9..eca8ec78 100644 --- a/classHash-members.html +++ b/classHash-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classHash.html b/classHash.html index 2f37a23c..962c9864 100644 --- a/classHash.html +++ b/classHash.html @@ -101,9 +101,11 @@ Inheritance diagram for Hash:
-BLAKE2s -SHA1 -SHA256 +BLAKE2b +BLAKE2s +SHA1 +SHA256 +SHA512
@@ -195,7 +197,7 @@ Public Member Functions

Size of the internal block used by the hash algorithm.

See Also
update(), hashSize()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -223,7 +225,7 @@ Public Member Functions

Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.

See Also
reset()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -271,7 +273,7 @@ Public Member Functions

If finalize() is called again, the same hash value is returned again until the next call to reset() or update().

See Also
reset(), update()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -299,7 +301,7 @@ Public Member Functions

Size of the hash result from finalize().

See Also
finalize(), blockSize()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -327,7 +329,7 @@ Public Member Functions

Resets the hash ready for a new hashing process.

See Also
update(), finalize()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -374,7 +376,7 @@ Public Member Functions

If finalize() has already been called, then calling update() will reset() the hash and start a new hashing process.

See Also
reset(), finalize()
-

Implemented in BLAKE2s, SHA1, and SHA256.

+

Implemented in BLAKE2b, BLAKE2s, SHA1, SHA256, and SHA512.

@@ -385,7 +387,7 @@ Public Member Functions diff --git a/classHash.png b/classHash.png index 81ca9b7614537140aa039c129a9751ddc0819373..9075204703d2bd221cedef87c1328556436777f6 100644 GIT binary patch delta 851 zcmeBU{l})*8Q|y6%O%Cdz`(%k>ERN@z`$4pWCw6C14-kTe48dJTGcc2db&7H#%RX- ztiS!4DIh0|@514kpPp{+P0zQjKftKX{z5TJ=k&o-jCL;0$(D7Do6eqMtjc)*G>q>9 zsOgeCz|eE(6r-Eb`7%BO z0iep0{e{--674{z9yQT$HcKwt)Xm74KbsP?>rkZT(%SCLlT_|1>bp;R_dz!Dno7MVW0;<&A`*U^b87kh^Y06# zqt40wo_{y_PvPN*+a?!TZH|&(>v8tGtEFR@ZHo5GC0ov|F-`ejwW{Xo#^_shQ(jlk zi`RaCIx8e@ncaTf_Q&?&=XY^vX7RXV2zirntuM>eke@9k6@Qw@p`Oj@yu*K#tdqlMRH+|D~Ot!RnSQzGgYFm`?iZ&bh zH#c==NqMVgztvveyZ+Yc&GGLa|Bjz=SL*wxwl&*Qv)*ruu3P_U+JxgpmqWr$SJ!M= zwC7j!zU6byPR)K=8`;~tbk47zLD!e>5ew4!rn~pgss)cc>-%3{-MQ@Tz03CN{VS(T zom;9q-<5yrl1bZC-xo|O-}Ub4=ckVT-Pu8PZ%)tMYjfsT*wfcf;`{Usv-jURwq3I1 z;_2I)qNKeyI_+7xM{bhn-#zdDuBp9xs#IpG_oeEVzu}Xle)j2PPg=sDJ$;D)5-wX4 xGsy{rH9^Eamr5_qyGq*XOQ+<0ERLtq^|>U00%RW+$$#Ve4?UNJ(H}bi(^OyAvZ4(%ncOnGX% zN?(1w_$p{kxc+Q@#(OQ5jC}P-c_v65hTpcxT-|a8uWnJE;w=`XAbzQ&o--@jhuIiki8<q-tyJjrF}Diq z`xS3fQ;K75|KQS${_IxvVZg#G1)AD33kl%IY4nlr9Yw8PfaGNP)y z=H2wKui4lC?MZrgD{jBaOLe~E(^a+>W=^Rz_q-$p^6fKK&(Jg8leQV?d#);4JN^5; k`HGsys^6b4NW5ZictU&1RH@iDV5(v8boFyt=akR{0IMJu^8f$< diff --git a/classI2CMaster-members.html b/classI2CMaster-members.html index 9b8d9956..9d21d17e 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 a6d7fb56..6180a954 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 8d2595eb..55ad1b7d 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 dc1bf608..24a39990 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 9bb7fc86..78113131 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 8848a4dd..a289bec2 100644 --- a/classIntField.html +++ b/classIntField.html @@ -647,7 +647,7 @@ LiquidCrystal *  diff --git a/classLCD-members.html b/classLCD-members.html index b31426b4..901fc1f0 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 7ed501dd..c7991f1c 100644 --- a/classLCD.html +++ b/classLCD.html @@ -528,7 +528,7 @@ Support for DFRobot LCD Shield diff --git a/classListField-members.html b/classListField-members.html index 38233b30..9e68947a 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 98ac9472..4b8f3bfd 100644 --- a/classListField.html +++ b/classListField.html @@ -411,7 +411,7 @@ LiquidCrystal *  diff --git a/classMelody-members.html b/classMelody-members.html index 06225923..808493fa 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 4516d997..62569cc9 100644 --- a/classMelody.html +++ b/classMelody.html @@ -371,7 +371,7 @@ bool  diff --git a/classNoiseSource-members.html b/classNoiseSource-members.html index 18a4b2c6..7f0ada08 100644 --- a/classNoiseSource-members.html +++ b/classNoiseSource-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classNoiseSource.html b/classNoiseSource.html index 4f249f3d..88a99689 100644 --- a/classNoiseSource.html +++ b/classNoiseSource.html @@ -257,7 +257,7 @@ Protected Member Functions diff --git a/classOFB-members.html b/classOFB-members.html index 3f78bf84..b4858bd3 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 af7ec51e..cfdca4f8 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 5ee73a88..bba3aebf 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 a3874b36..ddca9f7f 100644 --- a/classOFBCommon.html +++ b/classOFBCommon.html @@ -534,7 +534,7 @@ Protected Member Functions diff --git a/classRNGClass-members.html b/classRNGClass-members.html index ab0ed35a..a98a2a0f 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 f9569093..bc2aee92 100644 --- a/classRNGClass.html +++ b/classRNGClass.html @@ -516,7 +516,7 @@ static const int  diff --git a/classRTC-members.html b/classRTC-members.html index c3e001b6..519947b5 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 39a1c335..b9030a85 100644 --- a/classRTC.html +++ b/classRTC.html @@ -778,7 +778,7 @@ static const uint8_t  diff --git a/classRTCAlarm-members.html b/classRTCAlarm-members.html index fa1dc63d..4182d226 100644 --- a/classRTCAlarm-members.html +++ b/classRTCAlarm-members.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classRTCDate-members.html b/classRTCDate-members.html index c285dfdc..2c0e6c0e 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 968e47c7..b7c46952 100644 --- a/classRTCTime-members.html +++ b/classRTCTime-members.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classSHA1-members.html b/classSHA1-members.html index 63ce8c1d..84324c6c 100644 --- a/classSHA1-members.html +++ b/classSHA1-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classSHA1.html b/classSHA1.html index 582e2910..d4927683 100644 --- a/classSHA1.html +++ b/classSHA1.html @@ -145,7 +145,7 @@ virtual 

Detailed Description

SHA-1 hash algorithm.

Reference: http://en.wikipedia.org/wiki/SHA-1

-
See Also
SHA256
+
See Also
SHA256, SHA512

Definition at line 28 of file SHA1.h.

Member Function Documentation

@@ -375,7 +375,7 @@ virtual  diff --git a/classSHA256-members.html b/classSHA256-members.html index d3265d7e..1900a013 100644 --- a/classSHA256-members.html +++ b/classSHA256-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classSHA256.html b/classSHA256.html index 3f09fc15..6c438dce 100644 --- a/classSHA256.html +++ b/classSHA256.html @@ -145,7 +145,7 @@ virtual 

Detailed Description

SHA-256 hash algorithm.

Reference: http://en.wikipedia.org/wiki/SHA-2

-
See Also
SHA1, BLAKE2s
+
See Also
SHA512, SHA1, BLAKE2s

Definition at line 28 of file SHA256.h.

Member Function Documentation

@@ -375,7 +375,7 @@ virtual  diff --git a/classSHA512-members.html b/classSHA512-members.html new file mode 100644 index 00000000..67b19b5f --- /dev/null +++ b/classSHA512-members.html @@ -0,0 +1,117 @@ + + + + + + +ArduinoLibs: Member List + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
SHA512 Member List
+
+
+ +

This is the complete list of members for SHA512, including all inherited members.

+ + + + + + + + + + + + + + + + + +
blockSize() const SHA512virtual
chunkSize (defined in SHA512)SHA512
clear()SHA512virtual
finalize(void *hash, size_t len)SHA512virtual
finalized (defined in SHA512)SHA512
h (defined in SHA512)SHA512
Hash()Hash
hashSize() const SHA512virtual
lengthHigh (defined in SHA512)SHA512
lengthLow (defined in SHA512)SHA512
reset()SHA512virtual
SHA512()SHA512
update(const void *data, size_t len)SHA512virtual
w (defined in SHA512)SHA512
~Hash()Hashvirtual
~SHA512()SHA512virtual
+ + + + diff --git a/classSHA512.html b/classSHA512.html new file mode 100644 index 00000000..3bcf6b15 --- /dev/null +++ b/classSHA512.html @@ -0,0 +1,383 @@ + + + + + + +ArduinoLibs: SHA512 Class Reference + + + + + + + + + +
+
+ + + + + + +
+
ArduinoLibs +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
SHA512 Class Reference
+
+
+ +

SHA-512 hash algorithm. + More...

+ +

#include <SHA512.h>

+
+Inheritance diagram for SHA512:
+
+
+ + +Hash + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

SHA512 ()
 Constructs a SHA-512 hash object.
 
+virtual ~SHA512 ()
 Destroys this SHA-512 hash object after clearing sensitive information.
 
size_t hashSize () const
 Size of the hash result from finalize(). More...
 
size_t blockSize () const
 Size of the internal block used by the hash algorithm. More...
 
void reset ()
 Resets the hash ready for a new hashing process. More...
 
void update (const void *data, size_t len)
 Updates the hash with more data. More...
 
void finalize (void *hash, size_t len)
 Finalizes the hashing process and returns the hash. More...
 
void clear ()
 Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process. More...
 
- Public Member Functions inherited from Hash
Hash ()
 Constructs a new hash object.
 
virtual ~Hash ()
 Destroys this hash object. More...
 
+

Detailed Description

+

SHA-512 hash algorithm.

+

Reference: http://en.wikipedia.org/wiki/SHA-2

+
See Also
SHA256, SHA1
+ +

Definition at line 28 of file SHA512.h.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
size_t SHA512::blockSize () const
+
+virtual
+
+ +

Size of the internal block used by the hash algorithm.

+
See Also
update(), hashSize()
+ +

Implements Hash.

+ +

Definition at line 61 of file SHA512.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void SHA512::clear ()
+
+virtual
+
+ +

Clears the hash state, removing all sensitive data, and then resets the hash ready for a new hashing process.

+
See Also
reset()
+ +

Implements Hash.

+ +

Definition at line 145 of file SHA512.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SHA512::finalize (void * hash,
size_t len 
)
+
+virtual
+
+ +

Finalizes the hashing process and returns the hash.

+
Parameters
+ + + +
hashThe buffer to return the hash value in.
lenThe length of the hash buffer, normally hashSize().
+
+
+

If len is less than hashSize(), then the hash value will be truncated to the first len bytes. If len is greater than hashSize(), then the remaining bytes will left unchanged.

+

If finalize() is called again, the same hash value is returned again until the next call to reset() or update().

+
See Also
reset(), update()
+ +

Implements Hash.

+ +

Definition at line 110 of file SHA512.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
size_t SHA512::hashSize () const
+
+virtual
+
+ +

Size of the hash result from finalize().

+
See Also
finalize(), blockSize()
+ +

Implements Hash.

+ +

Definition at line 56 of file SHA512.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void SHA512::reset ()
+
+virtual
+
+ +

Resets the hash ready for a new hashing process.

+
See Also
update(), finalize()
+ +

Implements Hash.

+ +

Definition at line 66 of file SHA512.cpp.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SHA512::update (const void * data,
size_t len 
)
+
+virtual
+
+ +

Updates the hash with more data.

+
Parameters
+ + + +
dataData to be hashed.
lenNumber of bytes of data to be hashed.
+
+
+

If finalize() has already been called, then calling update() will reset() the hash and start a new hashing process.

+
See Also
reset(), finalize()
+ +

Implements Hash.

+ +

Definition at line 80 of file SHA512.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classSHA512.png b/classSHA512.png new file mode 100644 index 0000000000000000000000000000000000000000..2375ded78379b8a494335b6062fff81b6d214759 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^)<7J diff --git a/classSoftI2C.html b/classSoftI2C.html index 8908c716..d4fcda31 100644 --- a/classSoftI2C.html +++ b/classSoftI2C.html @@ -346,7 +346,7 @@ unsigned int  diff --git a/classTextField-members.html b/classTextField-members.html index 074dc48e..9afa9d35 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 919e31b5..f600c1ce 100644 --- a/classTextField.html +++ b/classTextField.html @@ -343,7 +343,7 @@ LiquidCrystal *  diff --git a/classTimeField-members.html b/classTimeField-members.html index e50aa319..30847791 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 c44c3546..cb3149b3 100644 --- a/classTimeField.html +++ b/classTimeField.html @@ -541,7 +541,7 @@ LiquidCrystal *  diff --git a/classTransistorNoiseSource-members.html b/classTransistorNoiseSource-members.html index 40e84ec7..d867cafa 100644 --- a/classTransistorNoiseSource-members.html +++ b/classTransistorNoiseSource-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/classTransistorNoiseSource.html b/classTransistorNoiseSource.html index 37021280..a0185c65 100644 --- a/classTransistorNoiseSource.html +++ b/classTransistorNoiseSource.html @@ -277,7 +277,7 @@ Additional Inherited Members diff --git a/classes.html b/classes.html index 048df882..0ef8342b 100644 --- a/classes.html +++ b/classes.html @@ -100,27 +100,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); SHA1    AES256   Charlieplex   
  H  
SHA256    -AESCommon   ChaseLEDs   NoiseSource   SoftI2C    +AESCommon   ChaseLEDs   NoiseSource   SHA512   
  B  
Cipher   Hash   
  O  
+SoftI2C    +CTR   
  I  
  T  
-CTR   
  I  
- -Bitmap   CTRCommon   OFB   TextField    -BLAKE2s   Curve25519   I2CMaster   OFBCommon   TimeField    -BlinkLED   
  D  
+Bitmap   CTRCommon   OFB    +BLAKE2b   Curve25519   I2CMaster   OFBCommon   TextField    +BLAKE2s   
  D  
IntField   
  R  
-TransistorNoiseSource    -BlockCipher   IRreceiver    -BoolField   DMD   
  L  
+TimeField    +BlinkLED   IRreceiver   TransistorNoiseSource    +BlockCipher   DMD   
  L  
RNGClass    +BoolField   DS1307RTC   RTC   
  C  
-DS1307RTC   RTC    -DS3232RTC   LCD   RTCAlarm    -CBC   
  E  
+DS3232RTC   LCD   RTCAlarm    +
  E  
ListField   RTCDate    - +CBC    EEPROM24    @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/crypto.html b/crypto.html index 4dcee283..0d36410e 100644 --- a/crypto.html +++ b/crypto.html @@ -85,13 +85,13 @@ Supported Algorithms
  • Block ciphers: AES128, AES192, AES256
  • Block cipher modes: CTR, CFB, CBC, OFB
  • Stream ciphers: ChaCha
  • -
  • Hash algorithms: SHA1, SHA256, BLAKE2s
  • +
  • Hash algorithms: SHA1, SHA256, SHA512, BLAKE2s, BLAKE2b
  • Public key algorithms: Curve25519
  • Random number generation: RNG, TransistorNoiseSource
  • -

    All cryptographic algorithms have been optimized for 8-bit Arduino platforms like the Uno. Memory usage is also reduced, particularly for SHA1 and SHA256 which save 256 and 192 bytes respectively over traditional implementations. For other algorithms, static sbox tables and the like are placed into program memory to further reduce data memory usage.

    +

    All cryptographic algorithms have been optimized for 8-bit Arduino platforms like the Uno. Memory usage is also reduced, particularly for SHA1, SHA256, and SHA512 which save 256, 192, and 512 bytes respectively over traditional implementations. For all algorithms, static sbox tables and the like are placed into program memory to further reduce data memory usage.

    ChaCha with 20 rounds and 256-bit keys is the recommended symmetric encryption algorithm because it is twice as fast as AES128, constant-time, and much more secure. AES128, AES192, and AES256 are provided for use in applications where compatibility with other systems is desirable.

    -

    BLAKE2s is a variation on the ChaCha stream cipher, designed for hashing, with a 256-bit hash output. It is intended as a high performance drop-in replacement for SHA256 for when speed is critical but exact SHA256 compatibility is not.

    +

    BLAKE2s and BLAKE2b are variations on the ChaCha stream cipher, designed for hashing, with 256-bit and 512-bit hash outputs respectively. They are intended as high performance replacements for SHA256 and SHA512 for when speed is critical but exact bit-compatibility of hash values is not.

    Performance

    All figures are for the Arduino Uno running at 16 MHz. Figures for the Ardunino Mega 2560 running at 16 MHz are similar:

    @@ -115,7 +115,11 @@ Performance SHA25643.85us106 +SHA512123.25us210 + BLAKE2s18.54us170 + +BLAKE2b50.59us338

    Where a cipher supports more than one key size (such as ChaCha), the values are typically almost identical for 128-bit and 256-bit keys so only the maximum is shown above.

    Public key algorithms have the following results on an Arduino Uno:

    @@ -132,7 +136,7 @@ Performance diff --git a/crypto_8dox.html b/crypto_8dox.html index 2067a684..1caa9d93 100644 --- a/crypto_8dox.html +++ b/crypto_8dox.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/dir_1586d320a3b1e622174530fde769cda9.html b/dir_1586d320a3b1e622174530fde769cda9.html index 5bbac117..2172fb10 100644 --- a/dir_1586d320a3b1e622174530fde769cda9.html +++ b/dir_1586d320a3b1e622174530fde769cda9.html @@ -102,7 +102,7 @@ Files diff --git a/dir_48f64e79f12bd77ba047e9e436ec978c.html b/dir_48f64e79f12bd77ba047e9e436ec978c.html index 16907e16..5b76f34a 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 b446d8b8..b82d1324 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 ad163a0c..64b89be1 100644 --- a/dir_6591a2127a29f6cea3994dcb5b0596d1.html +++ b/dir_6591a2127a29f6cea3994dcb5b0596d1.html @@ -106,7 +106,7 @@ Files diff --git a/dir_9a34040863d1190c0e01b23e6b44de01.html b/dir_9a34040863d1190c0e01b23e6b44de01.html index c0f5cb45..1ceb21e4 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 6349f7de..635764f6 100644 --- a/dir_bc0718b08fb2015b8e59c47b2805f60c.html +++ b/dir_bc0718b08fb2015b8e59c47b2805f60c.html @@ -108,7 +108,7 @@ Directories diff --git a/dir_be059bf9978ae156837504b1b8a7568c.html b/dir_be059bf9978ae156837504b1b8a7568c.html index 42206b44..0c4c3033 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 d347ca74..e4a2930c 100644 --- a/dir_e2ce51835550ba18edf07a8311722290.html +++ b/dir_e2ce51835550ba18edf07a8311722290.html @@ -96,6 +96,10 @@ Files   file  AESCommon.cpp [code]   +file  BLAKE2b.cpp [code] +  +file  BLAKE2b.h [code] +  file  BLAKE2s.cpp [code]   file  BLAKE2s.h [code] @@ -156,6 +160,10 @@ Files   file  SHA256.h [code]   +file  SHA512.cpp [code] +  +file  SHA512.h [code] +  file  TransistorNoiseSource.cpp [code]   file  TransistorNoiseSource.h [code] @@ -164,7 +172,7 @@ Files diff --git a/dir_f34881fcf60f680b800190d5274dfaea.html b/dir_f34881fcf60f680b800190d5274dfaea.html index 79f7dd1c..250e60f9 100644 --- a/dir_f34881fcf60f680b800190d5274dfaea.html +++ b/dir_f34881fcf60f680b800190d5274dfaea.html @@ -102,7 +102,7 @@ Files diff --git a/dir_f9b96888882c2691b8eeaeafd1b9501d.html b/dir_f9b96888882c2691b8eeaeafd1b9501d.html index 5e04f97d..6a269492 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 c9f5bf06..bbd63fe4 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 613f92c4..a90767e7 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 27bdfce1..216597c7 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 755cfdc3..355ec608 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 9f7a5948..3596078b 100644 --- a/files.html +++ b/files.html @@ -93,91 +93,95 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); o*AESCommon.cpp o*Bitmap.cpp o*Bitmap.h -o*BLAKE2s.cpp -o*BLAKE2s.h -o*BlinkLED.cpp -o*BlinkLED.h -o*BlockCipher.cpp -o*BlockCipher.h -o*BoolField.cpp -o*BoolField.h -o*CBC.cpp -o*CBC.h -o*CFB.cpp -o*CFB.h -o*ChaCha.cpp -o*ChaCha.h -o*Charlieplex.cpp -o*Charlieplex.h -o*ChaseLEDs.cpp -o*ChaseLEDs.h -o*Cipher.cpp -o*Cipher.h -o*Crypto.cpp -o*Crypto.h -o*CTR.cpp -o*CTR.h -o*Curve25519.cpp -o*Curve25519.h -o*DejaVuSans9.h -o*DejaVuSansBold9.h -o*DejaVuSansItalic9.h -o*DMD.cpp -o*DMD.h -o*DS1307RTC.cpp -o*DS1307RTC.h -o*DS3232RTC.cpp -o*DS3232RTC.h -o*EEPROM24.cpp -o*EEPROM24.h -o*Field.cpp -o*Field.h -o*Form.cpp -o*Form.h -o*Hash.cpp -o*Hash.h -o*I2CMaster.cpp -o*I2CMaster.h -o*IntField.cpp -o*IntField.h -o*IRreceiver.cpp -o*IRreceiver.h -o*LCD.cpp -o*LCD.h -o*ListField.cpp -o*ListField.h -o*Melody.cpp -o*Melody.h -o*Mono5x7.h -o*NoiseSource.cpp -o*NoiseSource.h -o*OFB.cpp -o*OFB.h -o*PowerSave.cpp -o*PowerSave.h -o*RC5.h -o*RNG.cpp -o*RNG.h -o*RTC.cpp -o*RTC.h -o*SHA1.cpp -o*SHA1.h -o*SHA256.cpp -o*SHA256.h -o*SoftI2C.cpp -o*SoftI2C.h -o*TextField.cpp -o*TextField.h -o*TimeField.cpp -o*TimeField.h -o*TransistorNoiseSource.cpp -\*TransistorNoiseSource.h +o*BLAKE2b.cpp +o*BLAKE2b.h +o*BLAKE2s.cpp +o*BLAKE2s.h +o*BlinkLED.cpp +o*BlinkLED.h +o*BlockCipher.cpp +o*BlockCipher.h +o*BoolField.cpp +o*BoolField.h +o*CBC.cpp +o*CBC.h +o*CFB.cpp +o*CFB.h +o*ChaCha.cpp +o*ChaCha.h +o*Charlieplex.cpp +o*Charlieplex.h +o*ChaseLEDs.cpp +o*ChaseLEDs.h +o*Cipher.cpp +o*Cipher.h +o*Crypto.cpp +o*Crypto.h +o*CTR.cpp +o*CTR.h +o*Curve25519.cpp +o*Curve25519.h +o*DejaVuSans9.h +o*DejaVuSansBold9.h +o*DejaVuSansItalic9.h +o*DMD.cpp +o*DMD.h +o*DS1307RTC.cpp +o*DS1307RTC.h +o*DS3232RTC.cpp +o*DS3232RTC.h +o*EEPROM24.cpp +o*EEPROM24.h +o*Field.cpp +o*Field.h +o*Form.cpp +o*Form.h +o*Hash.cpp +o*Hash.h +o*I2CMaster.cpp +o*I2CMaster.h +o*IntField.cpp +o*IntField.h +o*IRreceiver.cpp +o*IRreceiver.h +o*LCD.cpp +o*LCD.h +o*ListField.cpp +o*ListField.h +o*Melody.cpp +o*Melody.h +o*Mono5x7.h +o*NoiseSource.cpp +o*NoiseSource.h +o*OFB.cpp +o*OFB.h +o*PowerSave.cpp +o*PowerSave.h +o*RC5.h +o*RNG.cpp +o*RNG.h +o*RTC.cpp +o*RTC.h +o*SHA1.cpp +o*SHA1.h +o*SHA256.cpp +o*SHA256.h +o*SHA512.cpp +o*SHA512.h +o*SoftI2C.cpp +o*SoftI2C.h +o*TextField.cpp +o*TextField.h +o*TimeField.cpp +o*TimeField.h +o*TransistorNoiseSource.cpp +\*TransistorNoiseSource.h diff --git a/functions.html b/functions.html index 210feccb..a81257ff 100644 --- a/functions.html +++ b/functions.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_b.html b/functions_b.html index 043c3068..1c5fe001 100644 --- a/functions_b.html +++ b/functions_b.html @@ -144,6 +144,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • Black : Bitmap
  • +
  • BLAKE2b() +: BLAKE2b +
  • BLAKE2s() : BLAKE2s
  • @@ -155,14 +158,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • blockSize() : AESCommon +, BLAKE2b , BLAKE2s , BlockCipher , Hash , SHA1 , SHA256 +, SHA512
  • BoolField() -: BoolField +: BoolField
  • byteCount() : DS1307RTC @@ -173,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_c.html b/functions_c.html index ec66b7d7..d5369910 100644 --- a/functions_c.html +++ b/functions_c.html @@ -157,6 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • clear() : AESCommon , Bitmap +, BLAKE2b , BLAKE2s , BlockCipher , CBCCommon @@ -168,6 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , OFBCommon , SHA1 , SHA256 +, SHA512
  • Color : Bitmap @@ -194,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_d.html b/functions_d.html index 26514151..4e054bcd 100644 --- a/functions_d.html +++ b/functions_d.html @@ -234,7 +234,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_e.html b/functions_e.html index 114165e2..4c045192 100644 --- a/functions_e.html +++ b/functions_e.html @@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_enum.html b/functions_enum.html index 895189a5..72975cb2 100644 --- a/functions_enum.html +++ b/functions_enum.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_eval.html b/functions_eval.html index b4b08535..81a77331 100644 --- a/functions_eval.html +++ b/functions_eval.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_f.html b/functions_f.html index d506b3de..d34c3355 100644 --- a/functions_f.html +++ b/functions_f.html @@ -133,10 +133,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : Bitmap
  • finalize() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • firedAlarm() : DS3232RTC @@ -163,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func.html b/functions_func.html index e1fc55d3..1c367d94 100644 --- a/functions_func.html +++ b/functions_func.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_b.html b/functions_func_b.html index 3da3bc9a..050bffb7 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -134,6 +134,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • bitsPerPixel() : Bitmap
  • +
  • BLAKE2b() +: BLAKE2b +
  • BLAKE2s() : BLAKE2s
  • @@ -145,14 +148,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • blockSize() : AESCommon +, BLAKE2b , BLAKE2s , BlockCipher , Hash , SHA1 , SHA256 +, SHA512
  • BoolField() -: BoolField +: BoolField
  • byteCount() : DS1307RTC @@ -163,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_c.html b/functions_func_c.html index b7d137e1..bac4f0f8 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -156,6 +156,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • clear() : AESCommon , Bitmap +, BLAKE2b , BLAKE2s , BlockCipher , CBCCommon @@ -167,6 +168,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , OFBCommon , SHA1 , SHA256 +, SHA512
  • command() : IRreceiver @@ -190,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_d.html b/functions_func_d.html index b883a096..f4f4be67 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_e.html b/functions_func_e.html index aae59a9d..fb5d0380 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_f.html b/functions_func_f.html index 6a0944e3..d9a68ced 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -132,10 +132,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : Bitmap
  • finalize() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • firedAlarm() : DS3232RTC @@ -156,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_g.html b/functions_func_g.html index 3c9b7a7c..7cb0910d 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_h.html b/functions_func_h.html index 8541e1e6..3c7e9665 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -129,10 +129,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : ChaCha
  • hashSize() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • hasUpdates() : DS1307RTC @@ -152,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_i.html b/functions_func_i.html index b28991ab..0f5663a1 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_k.html b/functions_func_k.html index 33694697..b29d58da 100644 --- a/functions_func_k.html +++ b/functions_func_k.html @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_l.html b/functions_func_l.html index 877ae8cd..c12626f7 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_m.html b/functions_func_m.html index a29b740f..0bc24f44 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_n.html b/functions_func_n.html index 2e13803f..cd59bea0 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_o.html b/functions_func_o.html index 85dab1d0..a357f9ea 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_p.html b/functions_func_p.html index ae7cb777..d16ef664 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_r.html b/functions_func_r.html index 0358b3c5..861f3529 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -165,10 +165,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : Form
  • reset() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • resume() : BlinkLED @@ -186,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_s.html b/functions_func_s.html index 1aece7dd..30784410 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -263,6 +263,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • SHA256() : SHA256
  • +
  • SHA512() +: SHA512 +
  • show() : Form
  • @@ -316,7 +319,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_t.html b/functions_func_t.html index d2c43964..7124a451 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_u.html b/functions_func_u.html index 2830b36d..a3adec37 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -123,10 +123,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    - u -

    • update() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
    • updateCursor() : Field @@ -135,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_v.html b/functions_func_v.html index a3d521bc..0123b34a 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_w.html b/functions_func_w.html index f63afa4e..132bc71f 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_func_~.html b/functions_func_~.html index 340857b9..dc067424 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -128,6 +128,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • ~Bitmap() : Bitmap
    • +
    • ~BLAKE2b() +: BLAKE2b +
    • ~BLAKE2s() : BLAKE2s
    • @@ -173,11 +176,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • ~SHA256() : SHA256
    • +
    • ~SHA512() +: SHA512 +
    diff --git a/functions_g.html b/functions_g.html index 4cd4c3a0..ba97a28d 100644 --- a/functions_g.html +++ b/functions_g.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_h.html b/functions_h.html index f53558b5..aa8709e5 100644 --- a/functions_h.html +++ b/functions_h.html @@ -130,10 +130,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : ChaCha
  • hashSize() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • hasUpdates() : DS1307RTC @@ -157,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_i.html b/functions_i.html index b2c6da79..dab3c1ff 100644 --- a/functions_i.html +++ b/functions_i.html @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_k.html b/functions_k.html index 3db287c1..f793efff 100644 --- a/functions_k.html +++ b/functions_k.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_l.html b/functions_l.html index 155f3753..9422b7f2 100644 --- a/functions_l.html +++ b/functions_l.html @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_m.html b/functions_m.html index 65c5c0e5..97d73d98 100644 --- a/functions_m.html +++ b/functions_m.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_n.html b/functions_n.html index 18023c48..567ad766 100644 --- a/functions_n.html +++ b/functions_n.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_o.html b/functions_o.html index b1c8416a..0093b87b 100644 --- a/functions_o.html +++ b/functions_o.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_p.html b/functions_p.html index 0be35f81..80c5fe88 100644 --- a/functions_p.html +++ b/functions_p.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_r.html b/functions_r.html index 72ca2ac4..28080869 100644 --- a/functions_r.html +++ b/functions_r.html @@ -166,10 +166,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : Form
  • reset() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
  • resume() : BlinkLED @@ -187,7 +189,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_s.html b/functions_s.html index aa40a853..fe6e4c72 100644 --- a/functions_s.html +++ b/functions_s.html @@ -273,6 +273,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • SHA256() : SHA256
  • +
  • SHA512() +: SHA512 +
  • show() : Form
  • @@ -298,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • stir() : NoiseSource -, RNGClass +, RNGClass , TransistorNoiseSource
  • stop() @@ -326,7 +329,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_t.html b/functions_t.html index 2cf9adda..556b7e86 100644 --- a/functions_t.html +++ b/functions_t.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_type.html b/functions_type.html index 34ddf3b4..5f7dc1ef 100644 --- a/functions_type.html +++ b/functions_type.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_u.html b/functions_u.html index b9979299..07f3137a 100644 --- a/functions_u.html +++ b/functions_u.html @@ -124,10 +124,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

    - u -

    • update() -: BLAKE2s +: BLAKE2b +, BLAKE2s , Hash , SHA1 , SHA256 +, SHA512
    • updateCursor() : Field @@ -136,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_v.html b/functions_v.html index c1a329c2..1f8d155e 100644 --- a/functions_v.html +++ b/functions_v.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_vars.html b/functions_vars.html index 3e0640ad..c5b003d7 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_w.html b/functions_w.html index b3f09139..e3e6d690 100644 --- a/functions_w.html +++ b/functions_w.html @@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_y.html b/functions_y.html index 9cdad2ac..9f1f9137 100644 --- a/functions_y.html +++ b/functions_y.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions_~.html b/functions_~.html index 49a22640..0a8e261b 100644 --- a/functions_~.html +++ b/functions_~.html @@ -129,6 +129,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • ~Bitmap() : Bitmap
    • +
    • ~BLAKE2b() +: BLAKE2b +
    • ~BLAKE2s() : BLAKE2s
    • @@ -174,11 +177,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • ~SHA256() : SHA256
    • +
    • ~SHA512() +: SHA512 +
    diff --git a/group__power__save.html b/group__power__save.html index 12170d1c..cc82274c 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 a9487874..79dba7a9 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -119,9 +119,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); |\CTimeFieldField that manages the display and editing of a time value oCFormManager for a form containing data input/output fields oCHashAbstract base class for cryptographic hash algorithms -|oCBLAKE2sBLAKE2s hash algorithm -|oCSHA1SHA-1 hash algorithm -|\CSHA256SHA-256 hash algorithm +|oCBLAKE2bBLAKE2b hash algorithm +|oCBLAKE2sBLAKE2s hash algorithm +|oCSHA1SHA-1 hash algorithm +|oCSHA256SHA-256 hash algorithm +|\CSHA512SHA-512 hash algorithm oCI2CMasterAbstract base class for I2C master implementations |\CSoftI2CBit-banged implementation of an I2C master oCIRreceiverManages the reception of RC-5 commands from an infrared remote control @@ -142,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/index.html b/index.html index 2728797a..2f64218b 100644 --- a/index.html +++ b/index.html @@ -130,7 +130,7 @@ Cryptographic Library
  • Block ciphers: AES128, AES192, AES256
  • Block cipher modes: CTR, CFB, CBC, OFB
  • Stream ciphers: ChaCha
  • -
  • Hash algorithms: SHA1, SHA256, BLAKE2s
  • +
  • Hash algorithms: SHA1, SHA256, SHA512, BLAKE2s, BLAKE2b
  • Public key algorithms: Curve25519
  • Random number generation: RNG, TransistorNoiseSource
  • @@ -151,7 +151,7 @@ Other diff --git a/ir-dumpir_8dox.html b/ir-dumpir_8dox.html index 6a489cfc..bf96b642 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 63b5d319..2adba496 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 9fda3f7f..07a6e9bf 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 c833243a..e470a46f 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 18c19a47..352fa01a 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 c45b7022..5cab7b9f 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 60e4b4d3..15a627cf 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 355faeed..c3bf7110 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 63ba0303..aba42909 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 222cba20..4de817d7 100644 --- a/modules.html +++ b/modules.html @@ -87,7 +87,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/pages.html b/pages.html index 9744cf3c..1edb0a9b 100644 --- a/pages.html +++ b/pages.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/search/all_1.js b/search/all_1.js index a3fafbef..3ef81ade 100644 --- a/search/all_1.js +++ b/search/all_1.js @@ -7,6 +7,7 @@ var searchData= ['bitmap',['Bitmap',['../classBitmap.html',1,'Bitmap'],['../classBitmap.html#a40526748415c8bbc58a8510d636c20f4',1,'Bitmap::Bitmap()']]], ['bitsperpixel',['bitsPerPixel',['../classBitmap.html#ad18d3d5a1e77d541a95e93ad1f958411',1,'Bitmap']]], ['black',['Black',['../classBitmap.html#a2c7faeeb89d3624b5bbca58871785adc',1,'Bitmap']]], + ['blake2b',['BLAKE2b',['../classBLAKE2b.html',1,'BLAKE2b'],['../classBLAKE2b.html#a19b3b751809905a5587468f0d6c666ff',1,'BLAKE2b::BLAKE2b()']]], ['blake2s',['BLAKE2s',['../classBLAKE2s.html',1,'BLAKE2s'],['../classBLAKE2s.html#a7345f4e08c19d7a8c278282b46df21a2',1,'BLAKE2s::BLAKE2s()']]], ['blink_2dblink_2edox',['blink-blink.dox',['../blink-blink_8dox.html',1,'']]], ['blink_2dcharlieplex_2edox',['blink-charlieplex.dox',['../blink-charlieplex_8dox.html',1,'']]], @@ -15,7 +16,7 @@ var searchData= ['blinking_20led_20example',['Blinking LED Example',['../blink_blink.html',1,'']]], ['blinkled',['BlinkLED',['../classBlinkLED.html',1,'BlinkLED'],['../classBlinkLED.html#afc33958651e7ce6dceb428ea654c2c2f',1,'BlinkLED::BlinkLED()']]], ['blockcipher',['BlockCipher',['../classBlockCipher.html',1,'BlockCipher'],['../classBlockCipher.html#adc3d7cba116cbea9ad017f4cded6fe2f',1,'BlockCipher::BlockCipher()']]], - ['blocksize',['blockSize',['../classAESCommon.html#ae26afdcc6d18e8888974acae16df1413',1,'AESCommon::blockSize()'],['../classBLAKE2s.html#a9b5403734c20a0591d72a98912e4a305',1,'BLAKE2s::blockSize()'],['../classBlockCipher.html#a7059a310487c128db034b0ce0ad425a0',1,'BlockCipher::blockSize()'],['../classHash.html#a4e4297812e3483410556830fe5d47bdf',1,'Hash::blockSize()'],['../classSHA1.html#a816e3fd1a02cf1ecc67866cd8c7c309a',1,'SHA1::blockSize()'],['../classSHA256.html#a71bbd9064f9d6191d0647f867953a858',1,'SHA256::blockSize()']]], + ['blocksize',['blockSize',['../classAESCommon.html#ae26afdcc6d18e8888974acae16df1413',1,'AESCommon::blockSize()'],['../classBLAKE2b.html#abec1b2320c3afaed12a29cf081b95fe2',1,'BLAKE2b::blockSize()'],['../classBLAKE2s.html#a9b5403734c20a0591d72a98912e4a305',1,'BLAKE2s::blockSize()'],['../classBlockCipher.html#a7059a310487c128db034b0ce0ad425a0',1,'BlockCipher::blockSize()'],['../classHash.html#a4e4297812e3483410556830fe5d47bdf',1,'Hash::blockSize()'],['../classSHA1.html#a816e3fd1a02cf1ecc67866cd8c7c309a',1,'SHA1::blockSize()'],['../classSHA256.html#a71bbd9064f9d6191d0647f867953a858',1,'SHA256::blockSize()'],['../classSHA512.html#acf8b9bcb6be91ee70acc3700a2ffa1a1',1,'SHA512::blockSize()']]], ['boolfield',['BoolField',['../classBoolField.html',1,'BoolField'],['../classBoolField.html#a5d4382cdcdc989de0179d8f3f3a59998',1,'BoolField::BoolField(const String &label)'],['../classBoolField.html#a49aad212ed18f84baa105c24e86281d9',1,'BoolField::BoolField(Form &form, const String &label, const String &trueLabel, const String &falseLabel, bool value)']]], ['bytecount',['byteCount',['../classDS1307RTC.html#a93c25269a9b78ab3331354db26672248',1,'DS1307RTC::byteCount()'],['../classDS3232RTC.html#a1319fe936dcb7e9d6bdf200b77a94f8e',1,'DS3232RTC::byteCount()'],['../classRTC.html#acfdebfb449710e44e11f9a3675e14fd8',1,'RTC::byteCount()']]] ]; diff --git a/search/all_10.js b/search/all_10.js index 65dcbed5..762b2c08 100644 --- a/search/all_10.js +++ b/search/all_10.js @@ -44,6 +44,7 @@ var searchData= ['setvalue',['setValue',['../classBoolField.html#a080c575fd4a98e6afc4b9197fbab5577',1,'BoolField::setValue()'],['../classIntField.html#aed421e2c52946f2c7643534b4f6f13f7',1,'IntField::setValue()'],['../classListField.html#a266193631e897fb0b46e1270b1d0eb24',1,'ListField::setValue()'],['../classTextField.html#a24b98c5bb744331bf0a5facc8ea9c033',1,'TextField::setValue()'],['../classTimeField.html#a063b6df2bd6fa7970ee445ab4e5d1fc1',1,'TimeField::setValue()']]], ['sha1',['SHA1',['../classSHA1.html',1,'SHA1'],['../classSHA1.html#ad49a5108ffd6996b1133bf41224ff726',1,'SHA1::SHA1()']]], ['sha256',['SHA256',['../classSHA256.html',1,'SHA256'],['../classSHA256.html#ab672831c542df07ff03ded25760feec2',1,'SHA256::SHA256()']]], + ['sha512',['SHA512',['../classSHA512.html',1,'SHA512'],['../classSHA512.html#a520d966d99c0008e3cc58bd3b77dafcd',1,'SHA512::SHA512()']]], ['show',['show',['../classForm.html#a9e8d718ab55a8034c22c606ccfa90d65',1,'Form']]], ['size',['size',['../classEEPROM24.html#aa544875cef9bd05bf71d6c19be06cf7c',1,'EEPROM24']]], ['sleep_5f120_5fms',['SLEEP_120_MS',['../group__power__save.html#ggabdc6266a040b28c4d79028ddb0ceae36a96fa577b54aa6f2341ea5ddd839aa8bc',1,'PowerSave.h']]], diff --git a/search/all_12.js b/search/all_12.js index aaab739a..2efbaec1 100644 --- a/search/all_12.js +++ b/search/all_12.js @@ -1,6 +1,6 @@ var searchData= [ ['unusedpin',['unusedPin',['../group__power__save.html#ga6dbe8e20a70e83cf5b068177675ec792',1,'PowerSave.h']]], - ['update',['update',['../classBLAKE2s.html#aa192da2fa044b03cccaf11e87fdf9911',1,'BLAKE2s::update()'],['../classHash.html#aec9761ee427d122e7450de8df200265c',1,'Hash::update()'],['../classSHA1.html#aec77fbc5015f82bbf7055e535085656a',1,'SHA1::update()'],['../classSHA256.html#a555bf8efb17afd4842d2e55a1f39f27b',1,'SHA256::update()']]], + ['update',['update',['../classBLAKE2b.html#a468e48c66ce1738e11c922d133135069',1,'BLAKE2b::update()'],['../classBLAKE2s.html#aa192da2fa044b03cccaf11e87fdf9911',1,'BLAKE2s::update()'],['../classHash.html#aec9761ee427d122e7450de8df200265c',1,'Hash::update()'],['../classSHA1.html#aec77fbc5015f82bbf7055e535085656a',1,'SHA1::update()'],['../classSHA256.html#a555bf8efb17afd4842d2e55a1f39f27b',1,'SHA256::update()'],['../classSHA512.html#a7d37a20d7ab431ab15d094f768b6a695',1,'SHA512::update()']]], ['updatecursor',['updateCursor',['../classField.html#afc612378167be0e7f8a6f8395b3537bd',1,'Field']]] ]; diff --git a/search/all_16.js b/search/all_16.js index 836de2ab..de0f4c80 100644 --- a/search/all_16.js +++ b/search/all_16.js @@ -2,6 +2,7 @@ var searchData= [ ['_7eaescommon',['~AESCommon',['../classAESCommon.html#a8f67970c86c23affb0297fc1bb10fad8',1,'AESCommon']]], ['_7ebitmap',['~Bitmap',['../classBitmap.html#a72d2a301ec1eb1c8d0f3d64823659a8e',1,'Bitmap']]], + ['_7eblake2b',['~BLAKE2b',['../classBLAKE2b.html#ad0287d7284000ff236153e6afa0130f1',1,'BLAKE2b']]], ['_7eblake2s',['~BLAKE2s',['../classBLAKE2s.html#a4b3187ecaa3d3c8febfbb40c0f779aa7',1,'BLAKE2s']]], ['_7eblockcipher',['~BlockCipher',['../classBlockCipher.html#acec1bc4faeaa6dda2d91bffd79a988f9',1,'BlockCipher']]], ['_7ecbccommon',['~CBCCommon',['../classCBCCommon.html#a45a91367531b4692b3bb7237ab6e9015',1,'CBCCommon']]], @@ -16,5 +17,6 @@ var searchData= ['_7eofbcommon',['~OFBCommon',['../classOFBCommon.html#aae7435157e51bf977d3481e94e17ae01',1,'OFBCommon']]], ['_7erngclass',['~RNGClass',['../classRNGClass.html#aef3ee2fb14a39caf650dc90a0226dd31',1,'RNGClass']]], ['_7esha1',['~SHA1',['../classSHA1.html#a8485d7c14fa29286cd3c7acfe438606d',1,'SHA1']]], - ['_7esha256',['~SHA256',['../classSHA256.html#ad82f2925b612de315b289017e023a73b',1,'SHA256']]] + ['_7esha256',['~SHA256',['../classSHA256.html#ad82f2925b612de315b289017e023a73b',1,'SHA256']]], + ['_7esha512',['~SHA512',['../classSHA512.html#a777ec274fa838684b0208369c5f66391',1,'SHA512']]] ]; diff --git a/search/all_2.js b/search/all_2.js index eaafe9ca..e875a5b2 100644 --- a/search/all_2.js +++ b/search/all_2.js @@ -12,7 +12,7 @@ var searchData= ['charwidth',['charWidth',['../classBitmap.html#a9b79ac13077ca865e4515510297780bd',1,'Bitmap']]], ['chaseleds',['ChaseLEDs',['../classChaseLEDs.html',1,'ChaseLEDs'],['../classChaseLEDs.html#ab6bb3da371d3730a6552e93a9b2eab78',1,'ChaseLEDs::ChaseLEDs()']]], ['cipher',['Cipher',['../classCipher.html',1,'Cipher'],['../classCipher.html#a6a61077eca3ccd5900f92ceac58fb09c',1,'Cipher::Cipher()']]], - ['clear',['clear',['../classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1',1,'Bitmap::clear()'],['../classAESCommon.html#a83e43f7d07e31d90fd7b768a93ecfce6',1,'AESCommon::clear()'],['../classBLAKE2s.html#a0848885f52df51dc53949d32a206e72d',1,'BLAKE2s::clear()'],['../classBlockCipher.html#a6f27d46e9dfa7761d014d828ad5f955b',1,'BlockCipher::clear()'],['../classCBCCommon.html#a7befadfe7384e0e857a96a59bf3845e9',1,'CBCCommon::clear()'],['../classCFBCommon.html#a847d320b0fe7f329385f26511b42c40d',1,'CFBCommon::clear()'],['../classChaCha.html#af533905f679066c41f4d6cd76bddb4cb',1,'ChaCha::clear()'],['../classCipher.html#a4b7c3965646441a70d9ab934a7c92ab1',1,'Cipher::clear()'],['../classCTRCommon.html#ac0d6381c02fe2a8a017ad66d006a6ef2',1,'CTRCommon::clear()'],['../classHash.html#a4a959469433cd9348ab7f3ac6228bb34',1,'Hash::clear()'],['../classOFBCommon.html#a55bf2396beb91c457bfc4c20ef5c8123',1,'OFBCommon::clear()'],['../classSHA1.html#a41a159d6565b04d3f620dcd720faaf3f',1,'SHA1::clear()'],['../classSHA256.html#add0d1649d533b27005ccd8508398c689',1,'SHA256::clear()']]], + ['clear',['clear',['../classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1',1,'Bitmap::clear()'],['../classAESCommon.html#a83e43f7d07e31d90fd7b768a93ecfce6',1,'AESCommon::clear()'],['../classBLAKE2b.html#a21623759bd381285ebf7e75a00c9c8a9',1,'BLAKE2b::clear()'],['../classBLAKE2s.html#a0848885f52df51dc53949d32a206e72d',1,'BLAKE2s::clear()'],['../classBlockCipher.html#a6f27d46e9dfa7761d014d828ad5f955b',1,'BlockCipher::clear()'],['../classCBCCommon.html#a7befadfe7384e0e857a96a59bf3845e9',1,'CBCCommon::clear()'],['../classCFBCommon.html#a847d320b0fe7f329385f26511b42c40d',1,'CFBCommon::clear()'],['../classChaCha.html#af533905f679066c41f4d6cd76bddb4cb',1,'ChaCha::clear()'],['../classCipher.html#a4b7c3965646441a70d9ab934a7c92ab1',1,'Cipher::clear()'],['../classCTRCommon.html#ac0d6381c02fe2a8a017ad66d006a6ef2',1,'CTRCommon::clear()'],['../classHash.html#a4a959469433cd9348ab7f3ac6228bb34',1,'Hash::clear()'],['../classOFBCommon.html#a55bf2396beb91c457bfc4c20ef5c8123',1,'OFBCommon::clear()'],['../classSHA1.html#a41a159d6565b04d3f620dcd720faaf3f',1,'SHA1::clear()'],['../classSHA256.html#add0d1649d533b27005ccd8508398c689',1,'SHA256::clear()'],['../classSHA512.html#a0a9104dce5f099aeba216e5fbcb1ee1a',1,'SHA512::clear()']]], ['color',['Color',['../classBitmap.html#a88d386944a7017aa776a177b10d8b2ba',1,'Bitmap']]], ['command',['command',['../classIRreceiver.html#a4b021592a2b089dc2f1e138a38506fda',1,'IRreceiver']]], ['copy',['copy',['../classBitmap.html#ab22fe1f3871934987a670b559f67c67c',1,'Bitmap']]], diff --git a/search/all_5.js b/search/all_5.js index 37f6f918..7dabd7d1 100644 --- a/search/all_5.js +++ b/search/all_5.js @@ -3,7 +3,7 @@ var searchData= ['falselabel',['falseLabel',['../classBoolField.html#a59ad7a8a33290bda0d9fbb3df4f09b01',1,'BoolField']]], ['field',['Field',['../classField.html',1,'Field'],['../classField.html#ac4ea0d104376233c3f0bfc080ec8564e',1,'Field::Field(const String &label)'],['../classField.html#a7e2bdb203ddfd9219696f263c1731fe7',1,'Field::Field(Form &form, const String &label)']]], ['fill',['fill',['../classBitmap.html#a99da820f9280aace6b512801d5a5e2b2',1,'Bitmap::fill(int x, int y, int width, int height, Color color)'],['../classBitmap.html#ac661adab340858b541a2fe44e6303f56',1,'Bitmap::fill(int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White)']]], - ['finalize',['finalize',['../classBLAKE2s.html#a751a3d772cbe1cd1dad83dbd09853b1b',1,'BLAKE2s::finalize()'],['../classHash.html#a09b3ccec22763fc86b1415695862977c',1,'Hash::finalize()'],['../classSHA1.html#a5a6a8a6169aa48e0bccadb22a149ab7c',1,'SHA1::finalize()'],['../classSHA256.html#a695157bcdf5495ba892ebac309f3abd6',1,'SHA256::finalize()']]], + ['finalize',['finalize',['../classBLAKE2b.html#a0cd8146b7868bd0f4c24a3856f106d17',1,'BLAKE2b::finalize()'],['../classBLAKE2s.html#a751a3d772cbe1cd1dad83dbd09853b1b',1,'BLAKE2s::finalize()'],['../classHash.html#a09b3ccec22763fc86b1415695862977c',1,'Hash::finalize()'],['../classSHA1.html#a5a6a8a6169aa48e0bccadb22a149ab7c',1,'SHA1::finalize()'],['../classSHA256.html#a695157bcdf5495ba892ebac309f3abd6',1,'SHA256::finalize()'],['../classSHA512.html#afc136ad0e77de527b031db3fb8b32464',1,'SHA512::finalize()']]], ['firedalarm',['firedAlarm',['../classDS3232RTC.html#a79649f100a4562b9c1ba7c69e85cbca3',1,'DS3232RTC']]], ['flags',['flags',['../structRTCAlarm.html#a0f2ef7363cb60a26642d5295b77ca19e',1,'RTCAlarm']]], ['font',['Font',['../classBitmap.html#a456f7d6da03189c1e7148563a891b3cf',1,'Bitmap::Font()'],['../classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c',1,'Bitmap::font() const ']]], diff --git a/search/all_7.js b/search/all_7.js index 20f184ad..bc7bcf55 100644 --- a/search/all_7.js +++ b/search/all_7.js @@ -2,7 +2,7 @@ var searchData= [ ['hash',['Hash',['../classHash.html',1,'Hash'],['../classHash.html#af482880ad75b67a09d2dcb5e86244d80',1,'Hash::Hash()']]], ['hashcore',['hashCore',['../classChaCha.html#a41ac3262e52ff49dcd916d0b3b2e2038',1,'ChaCha']]], - ['hashsize',['hashSize',['../classBLAKE2s.html#af9f50aac096f92ba27b1b2dd48df4c52',1,'BLAKE2s::hashSize()'],['../classHash.html#adcdd30de3e5ecaa2f798c0c5644d9ef8',1,'Hash::hashSize()'],['../classSHA1.html#ab8cdb7233a8b81be07877049960ddfdd',1,'SHA1::hashSize()'],['../classSHA256.html#a103d5bc5ced792464a82cb1d7986de94',1,'SHA256::hashSize()']]], + ['hashsize',['hashSize',['../classBLAKE2b.html#a7555de16f6918ab820170a7ed3098c89',1,'BLAKE2b::hashSize()'],['../classBLAKE2s.html#af9f50aac096f92ba27b1b2dd48df4c52',1,'BLAKE2s::hashSize()'],['../classHash.html#adcdd30de3e5ecaa2f798c0c5644d9ef8',1,'Hash::hashSize()'],['../classSHA1.html#ab8cdb7233a8b81be07877049960ddfdd',1,'SHA1::hashSize()'],['../classSHA256.html#a103d5bc5ced792464a82cb1d7986de94',1,'SHA256::hashSize()'],['../classSHA512.html#a6ab3cc1e172eecf4796e4cac629e0a44',1,'SHA512::hashSize()']]], ['hasupdates',['hasUpdates',['../classDS1307RTC.html#a6fec8ff71f33cc1a129eb0bd009600b0',1,'DS1307RTC::hasUpdates()'],['../classDS3232RTC.html#a619ffee1bc013c9ddf4ae415115798bc',1,'DS3232RTC::hasUpdates()'],['../classRTC.html#a3690761f29654a2c9e676fcbfa32dd30',1,'RTC::hasUpdates()']]], ['height',['height',['../classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3',1,'Bitmap']]], ['hide',['hide',['../classForm.html#a88b9146a3f68e837c5e831203096f9e9',1,'Form']]], diff --git a/search/all_f.js b/search/all_f.js index a1a470b1..d4b2f903 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -11,7 +11,7 @@ var searchData= ['readtime',['readTime',['../classDS1307RTC.html#acd9800d6df2244b8e4e790480a1d62a6',1,'DS1307RTC::readTime()'],['../classDS3232RTC.html#af89e68c68f1c4b7e94286f800b5b2747',1,'DS3232RTC::readTime()'],['../classRTC.html#aaf0a5c1f32f210a49718d148620b5bec',1,'RTC::readTime()']]], ['refresh',['refresh',['../classCharlieplex.html#a3c961bfff866e400dad371f0376f096b',1,'Charlieplex::refresh()'],['../classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8',1,'DMD::refresh()']]], ['removefield',['removeField',['../classForm.html#a7abd717029f9b19ee7318470072cd697',1,'Form']]], - ['reset',['reset',['../classBLAKE2s.html#a778776d15316c182fdb2df5a89b3ca02',1,'BLAKE2s::reset()'],['../classBLAKE2s.html#a91ba6bc39e42002ac61114ced1d0af6d',1,'BLAKE2s::reset(uint8_t outputLength)'],['../classHash.html#a7b94309acaa5f52386785fb780e5be61',1,'Hash::reset()'],['../classSHA1.html#ab71aaf39ed956320054861a2fbfa454f',1,'SHA1::reset()'],['../classSHA256.html#ad9d80d8fdccffb15497bd36285afce65',1,'SHA256::reset()']]], + ['reset',['reset',['../classBLAKE2b.html#a917beae2ca6e9831a35717a526089e8a',1,'BLAKE2b::reset()'],['../classBLAKE2b.html#a9afd8ec05ccfa08a922de74461e45387',1,'BLAKE2b::reset(uint8_t outputLength)'],['../classBLAKE2s.html#a778776d15316c182fdb2df5a89b3ca02',1,'BLAKE2s::reset()'],['../classBLAKE2s.html#a91ba6bc39e42002ac61114ced1d0af6d',1,'BLAKE2s::reset(uint8_t outputLength)'],['../classHash.html#a7b94309acaa5f52386785fb780e5be61',1,'Hash::reset()'],['../classSHA1.html#ab71aaf39ed956320054861a2fbfa454f',1,'SHA1::reset()'],['../classSHA256.html#ad9d80d8fdccffb15497bd36285afce65',1,'SHA256::reset()'],['../classSHA512.html#a0d009e8d9157c3f14323e68631c33e97',1,'SHA512::reset()']]], ['resume',['resume',['../classBlinkLED.html#a380241e4dfd20e8a558487227f2f4252',1,'BlinkLED']]], ['rngclass',['RNGClass',['../classRNGClass.html',1,'RNGClass'],['../classRNGClass.html#acbcf327242f51ae2d9209aeaa45e30e9',1,'RNGClass::RNGClass()']]], ['rtc',['RTC',['../classRTC.html',1,'RTC'],['../classRTC.html#ada31c5120d18d2dd2863b3d440308da2',1,'RTC::RTC()']]], diff --git a/search/classes_1.js b/search/classes_1.js index 24fb87df..a4c04b63 100644 --- a/search/classes_1.js +++ b/search/classes_1.js @@ -1,6 +1,7 @@ var searchData= [ ['bitmap',['Bitmap',['../classBitmap.html',1,'']]], + ['blake2b',['BLAKE2b',['../classBLAKE2b.html',1,'']]], ['blake2s',['BLAKE2s',['../classBLAKE2s.html',1,'']]], ['blinkled',['BlinkLED',['../classBlinkLED.html',1,'']]], ['blockcipher',['BlockCipher',['../classBlockCipher.html',1,'']]], diff --git a/search/classes_d.js b/search/classes_d.js index f4a6ece1..b471a0d9 100644 --- a/search/classes_d.js +++ b/search/classes_d.js @@ -2,5 +2,6 @@ var searchData= [ ['sha1',['SHA1',['../classSHA1.html',1,'']]], ['sha256',['SHA256',['../classSHA256.html',1,'']]], + ['sha512',['SHA512',['../classSHA512.html',1,'']]], ['softi2c',['SoftI2C',['../classSoftI2C.html',1,'']]] ]; diff --git a/search/functions_1.js b/search/functions_1.js index 930c6700..e7717379 100644 --- a/search/functions_1.js +++ b/search/functions_1.js @@ -4,10 +4,11 @@ var searchData= ['begin',['begin',['../classRNGClass.html#a7f1aab3c324f8e8a424d683425e0fcf8',1,'RNGClass']]], ['bitmap',['Bitmap',['../classBitmap.html#a40526748415c8bbc58a8510d636c20f4',1,'Bitmap']]], ['bitsperpixel',['bitsPerPixel',['../classBitmap.html#ad18d3d5a1e77d541a95e93ad1f958411',1,'Bitmap']]], + ['blake2b',['BLAKE2b',['../classBLAKE2b.html#a19b3b751809905a5587468f0d6c666ff',1,'BLAKE2b']]], ['blake2s',['BLAKE2s',['../classBLAKE2s.html#a7345f4e08c19d7a8c278282b46df21a2',1,'BLAKE2s']]], ['blinkled',['BlinkLED',['../classBlinkLED.html#afc33958651e7ce6dceb428ea654c2c2f',1,'BlinkLED']]], ['blockcipher',['BlockCipher',['../classBlockCipher.html#adc3d7cba116cbea9ad017f4cded6fe2f',1,'BlockCipher']]], - ['blocksize',['blockSize',['../classAESCommon.html#ae26afdcc6d18e8888974acae16df1413',1,'AESCommon::blockSize()'],['../classBLAKE2s.html#a9b5403734c20a0591d72a98912e4a305',1,'BLAKE2s::blockSize()'],['../classBlockCipher.html#a7059a310487c128db034b0ce0ad425a0',1,'BlockCipher::blockSize()'],['../classHash.html#a4e4297812e3483410556830fe5d47bdf',1,'Hash::blockSize()'],['../classSHA1.html#a816e3fd1a02cf1ecc67866cd8c7c309a',1,'SHA1::blockSize()'],['../classSHA256.html#a71bbd9064f9d6191d0647f867953a858',1,'SHA256::blockSize()']]], + ['blocksize',['blockSize',['../classAESCommon.html#ae26afdcc6d18e8888974acae16df1413',1,'AESCommon::blockSize()'],['../classBLAKE2b.html#abec1b2320c3afaed12a29cf081b95fe2',1,'BLAKE2b::blockSize()'],['../classBLAKE2s.html#a9b5403734c20a0591d72a98912e4a305',1,'BLAKE2s::blockSize()'],['../classBlockCipher.html#a7059a310487c128db034b0ce0ad425a0',1,'BlockCipher::blockSize()'],['../classHash.html#a4e4297812e3483410556830fe5d47bdf',1,'Hash::blockSize()'],['../classSHA1.html#a816e3fd1a02cf1ecc67866cd8c7c309a',1,'SHA1::blockSize()'],['../classSHA256.html#a71bbd9064f9d6191d0647f867953a858',1,'SHA256::blockSize()'],['../classSHA512.html#acf8b9bcb6be91ee70acc3700a2ffa1a1',1,'SHA512::blockSize()']]], ['boolfield',['BoolField',['../classBoolField.html#a5d4382cdcdc989de0179d8f3f3a59998',1,'BoolField::BoolField(const String &label)'],['../classBoolField.html#a49aad212ed18f84baa105c24e86281d9',1,'BoolField::BoolField(Form &form, const String &label, const String &trueLabel, const String &falseLabel, bool value)']]], ['bytecount',['byteCount',['../classDS1307RTC.html#a93c25269a9b78ab3331354db26672248',1,'DS1307RTC::byteCount()'],['../classDS3232RTC.html#a1319fe936dcb7e9d6bdf200b77a94f8e',1,'DS3232RTC::byteCount()'],['../classRTC.html#acfdebfb449710e44e11f9a3675e14fd8',1,'RTC::byteCount()']]] ]; diff --git a/search/functions_10.js b/search/functions_10.js index a3af584f..8e8a59e2 100644 --- a/search/functions_10.js +++ b/search/functions_10.js @@ -40,6 +40,7 @@ var searchData= ['setvalue',['setValue',['../classBoolField.html#a080c575fd4a98e6afc4b9197fbab5577',1,'BoolField::setValue()'],['../classIntField.html#aed421e2c52946f2c7643534b4f6f13f7',1,'IntField::setValue()'],['../classListField.html#a266193631e897fb0b46e1270b1d0eb24',1,'ListField::setValue()'],['../classTextField.html#a24b98c5bb744331bf0a5facc8ea9c033',1,'TextField::setValue()'],['../classTimeField.html#a063b6df2bd6fa7970ee445ab4e5d1fc1',1,'TimeField::setValue()']]], ['sha1',['SHA1',['../classSHA1.html#ad49a5108ffd6996b1133bf41224ff726',1,'SHA1']]], ['sha256',['SHA256',['../classSHA256.html#ab672831c542df07ff03ded25760feec2',1,'SHA256']]], + ['sha512',['SHA512',['../classSHA512.html#a520d966d99c0008e3cc58bd3b77dafcd',1,'SHA512']]], ['show',['show',['../classForm.html#a9e8d718ab55a8034c22c606ccfa90d65',1,'Form']]], ['size',['size',['../classEEPROM24.html#aa544875cef9bd05bf71d6c19be06cf7c',1,'EEPROM24']]], ['sleepfor',['sleepFor',['../group__power__save.html#ga95c1666038493a7f95be6768882eebad',1,'sleepFor(SleepDuration duration, uint8_t mode): PowerSave.cpp'],['../group__power__save.html#ga95c1666038493a7f95be6768882eebad',1,'sleepFor(SleepDuration duration, uint8_t mode=0): PowerSave.cpp']]], diff --git a/search/functions_12.js b/search/functions_12.js index aaab739a..2efbaec1 100644 --- a/search/functions_12.js +++ b/search/functions_12.js @@ -1,6 +1,6 @@ var searchData= [ ['unusedpin',['unusedPin',['../group__power__save.html#ga6dbe8e20a70e83cf5b068177675ec792',1,'PowerSave.h']]], - ['update',['update',['../classBLAKE2s.html#aa192da2fa044b03cccaf11e87fdf9911',1,'BLAKE2s::update()'],['../classHash.html#aec9761ee427d122e7450de8df200265c',1,'Hash::update()'],['../classSHA1.html#aec77fbc5015f82bbf7055e535085656a',1,'SHA1::update()'],['../classSHA256.html#a555bf8efb17afd4842d2e55a1f39f27b',1,'SHA256::update()']]], + ['update',['update',['../classBLAKE2b.html#a468e48c66ce1738e11c922d133135069',1,'BLAKE2b::update()'],['../classBLAKE2s.html#aa192da2fa044b03cccaf11e87fdf9911',1,'BLAKE2s::update()'],['../classHash.html#aec9761ee427d122e7450de8df200265c',1,'Hash::update()'],['../classSHA1.html#aec77fbc5015f82bbf7055e535085656a',1,'SHA1::update()'],['../classSHA256.html#a555bf8efb17afd4842d2e55a1f39f27b',1,'SHA256::update()'],['../classSHA512.html#a7d37a20d7ab431ab15d094f768b6a695',1,'SHA512::update()']]], ['updatecursor',['updateCursor',['../classField.html#afc612378167be0e7f8a6f8395b3537bd',1,'Field']]] ]; diff --git a/search/functions_15.js b/search/functions_15.js index 836de2ab..de0f4c80 100644 --- a/search/functions_15.js +++ b/search/functions_15.js @@ -2,6 +2,7 @@ var searchData= [ ['_7eaescommon',['~AESCommon',['../classAESCommon.html#a8f67970c86c23affb0297fc1bb10fad8',1,'AESCommon']]], ['_7ebitmap',['~Bitmap',['../classBitmap.html#a72d2a301ec1eb1c8d0f3d64823659a8e',1,'Bitmap']]], + ['_7eblake2b',['~BLAKE2b',['../classBLAKE2b.html#ad0287d7284000ff236153e6afa0130f1',1,'BLAKE2b']]], ['_7eblake2s',['~BLAKE2s',['../classBLAKE2s.html#a4b3187ecaa3d3c8febfbb40c0f779aa7',1,'BLAKE2s']]], ['_7eblockcipher',['~BlockCipher',['../classBlockCipher.html#acec1bc4faeaa6dda2d91bffd79a988f9',1,'BlockCipher']]], ['_7ecbccommon',['~CBCCommon',['../classCBCCommon.html#a45a91367531b4692b3bb7237ab6e9015',1,'CBCCommon']]], @@ -16,5 +17,6 @@ var searchData= ['_7eofbcommon',['~OFBCommon',['../classOFBCommon.html#aae7435157e51bf977d3481e94e17ae01',1,'OFBCommon']]], ['_7erngclass',['~RNGClass',['../classRNGClass.html#aef3ee2fb14a39caf650dc90a0226dd31',1,'RNGClass']]], ['_7esha1',['~SHA1',['../classSHA1.html#a8485d7c14fa29286cd3c7acfe438606d',1,'SHA1']]], - ['_7esha256',['~SHA256',['../classSHA256.html#ad82f2925b612de315b289017e023a73b',1,'SHA256']]] + ['_7esha256',['~SHA256',['../classSHA256.html#ad82f2925b612de315b289017e023a73b',1,'SHA256']]], + ['_7esha512',['~SHA512',['../classSHA512.html#a777ec274fa838684b0208369c5f66391',1,'SHA512']]] ]; diff --git a/search/functions_2.js b/search/functions_2.js index 1860bb73..ab3d11a9 100644 --- a/search/functions_2.js +++ b/search/functions_2.js @@ -10,7 +10,7 @@ var searchData= ['charwidth',['charWidth',['../classBitmap.html#a9b79ac13077ca865e4515510297780bd',1,'Bitmap']]], ['chaseleds',['ChaseLEDs',['../classChaseLEDs.html#ab6bb3da371d3730a6552e93a9b2eab78',1,'ChaseLEDs']]], ['cipher',['Cipher',['../classCipher.html#a6a61077eca3ccd5900f92ceac58fb09c',1,'Cipher']]], - ['clear',['clear',['../classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1',1,'Bitmap::clear()'],['../classAESCommon.html#a83e43f7d07e31d90fd7b768a93ecfce6',1,'AESCommon::clear()'],['../classBLAKE2s.html#a0848885f52df51dc53949d32a206e72d',1,'BLAKE2s::clear()'],['../classBlockCipher.html#a6f27d46e9dfa7761d014d828ad5f955b',1,'BlockCipher::clear()'],['../classCBCCommon.html#a7befadfe7384e0e857a96a59bf3845e9',1,'CBCCommon::clear()'],['../classCFBCommon.html#a847d320b0fe7f329385f26511b42c40d',1,'CFBCommon::clear()'],['../classChaCha.html#af533905f679066c41f4d6cd76bddb4cb',1,'ChaCha::clear()'],['../classCipher.html#a4b7c3965646441a70d9ab934a7c92ab1',1,'Cipher::clear()'],['../classCTRCommon.html#ac0d6381c02fe2a8a017ad66d006a6ef2',1,'CTRCommon::clear()'],['../classHash.html#a4a959469433cd9348ab7f3ac6228bb34',1,'Hash::clear()'],['../classOFBCommon.html#a55bf2396beb91c457bfc4c20ef5c8123',1,'OFBCommon::clear()'],['../classSHA1.html#a41a159d6565b04d3f620dcd720faaf3f',1,'SHA1::clear()'],['../classSHA256.html#add0d1649d533b27005ccd8508398c689',1,'SHA256::clear()']]], + ['clear',['clear',['../classBitmap.html#a839dc8fab05a5ebf7a6b2e61436b2fa1',1,'Bitmap::clear()'],['../classAESCommon.html#a83e43f7d07e31d90fd7b768a93ecfce6',1,'AESCommon::clear()'],['../classBLAKE2b.html#a21623759bd381285ebf7e75a00c9c8a9',1,'BLAKE2b::clear()'],['../classBLAKE2s.html#a0848885f52df51dc53949d32a206e72d',1,'BLAKE2s::clear()'],['../classBlockCipher.html#a6f27d46e9dfa7761d014d828ad5f955b',1,'BlockCipher::clear()'],['../classCBCCommon.html#a7befadfe7384e0e857a96a59bf3845e9',1,'CBCCommon::clear()'],['../classCFBCommon.html#a847d320b0fe7f329385f26511b42c40d',1,'CFBCommon::clear()'],['../classChaCha.html#af533905f679066c41f4d6cd76bddb4cb',1,'ChaCha::clear()'],['../classCipher.html#a4b7c3965646441a70d9ab934a7c92ab1',1,'Cipher::clear()'],['../classCTRCommon.html#ac0d6381c02fe2a8a017ad66d006a6ef2',1,'CTRCommon::clear()'],['../classHash.html#a4a959469433cd9348ab7f3ac6228bb34',1,'Hash::clear()'],['../classOFBCommon.html#a55bf2396beb91c457bfc4c20ef5c8123',1,'OFBCommon::clear()'],['../classSHA1.html#a41a159d6565b04d3f620dcd720faaf3f',1,'SHA1::clear()'],['../classSHA256.html#add0d1649d533b27005ccd8508398c689',1,'SHA256::clear()'],['../classSHA512.html#a0a9104dce5f099aeba216e5fbcb1ee1a',1,'SHA512::clear()']]], ['command',['command',['../classIRreceiver.html#a4b021592a2b089dc2f1e138a38506fda',1,'IRreceiver']]], ['copy',['copy',['../classBitmap.html#ab22fe1f3871934987a670b559f67c67c',1,'Bitmap']]], ['count',['count',['../classCharlieplex.html#a5008aa4143d381ce34a3aed1a3843e4e',1,'Charlieplex']]], diff --git a/search/functions_5.js b/search/functions_5.js index d47c0737..2189e82b 100644 --- a/search/functions_5.js +++ b/search/functions_5.js @@ -3,7 +3,7 @@ var searchData= ['falselabel',['falseLabel',['../classBoolField.html#a59ad7a8a33290bda0d9fbb3df4f09b01',1,'BoolField']]], ['field',['Field',['../classField.html#ac4ea0d104376233c3f0bfc080ec8564e',1,'Field::Field(const String &label)'],['../classField.html#a7e2bdb203ddfd9219696f263c1731fe7',1,'Field::Field(Form &form, const String &label)']]], ['fill',['fill',['../classBitmap.html#a99da820f9280aace6b512801d5a5e2b2',1,'Bitmap::fill(int x, int y, int width, int height, Color color)'],['../classBitmap.html#ac661adab340858b541a2fe44e6303f56',1,'Bitmap::fill(int x, int y, int width, int height, Bitmap::ProgMem pattern, Color color=White)']]], - ['finalize',['finalize',['../classBLAKE2s.html#a751a3d772cbe1cd1dad83dbd09853b1b',1,'BLAKE2s::finalize()'],['../classHash.html#a09b3ccec22763fc86b1415695862977c',1,'Hash::finalize()'],['../classSHA1.html#a5a6a8a6169aa48e0bccadb22a149ab7c',1,'SHA1::finalize()'],['../classSHA256.html#a695157bcdf5495ba892ebac309f3abd6',1,'SHA256::finalize()']]], + ['finalize',['finalize',['../classBLAKE2b.html#a0cd8146b7868bd0f4c24a3856f106d17',1,'BLAKE2b::finalize()'],['../classBLAKE2s.html#a751a3d772cbe1cd1dad83dbd09853b1b',1,'BLAKE2s::finalize()'],['../classHash.html#a09b3ccec22763fc86b1415695862977c',1,'Hash::finalize()'],['../classSHA1.html#a5a6a8a6169aa48e0bccadb22a149ab7c',1,'SHA1::finalize()'],['../classSHA256.html#a695157bcdf5495ba892ebac309f3abd6',1,'SHA256::finalize()'],['../classSHA512.html#afc136ad0e77de527b031db3fb8b32464',1,'SHA512::finalize()']]], ['firedalarm',['firedAlarm',['../classDS3232RTC.html#a79649f100a4562b9c1ba7c69e85cbca3',1,'DS3232RTC']]], ['font',['font',['../classBitmap.html#a7bf0a232b4bd12573cc570cc0edef47c',1,'Bitmap']]], ['form',['Form',['../classForm.html#ad30836b22edde707a52d94090b716996',1,'Form::Form()'],['../classField.html#a27427319be1cc92db3128637d8884ee5',1,'Field::form()']]], diff --git a/search/functions_7.js b/search/functions_7.js index 306758f1..df210dc5 100644 --- a/search/functions_7.js +++ b/search/functions_7.js @@ -2,7 +2,7 @@ var searchData= [ ['hash',['Hash',['../classHash.html#af482880ad75b67a09d2dcb5e86244d80',1,'Hash']]], ['hashcore',['hashCore',['../classChaCha.html#a41ac3262e52ff49dcd916d0b3b2e2038',1,'ChaCha']]], - ['hashsize',['hashSize',['../classBLAKE2s.html#af9f50aac096f92ba27b1b2dd48df4c52',1,'BLAKE2s::hashSize()'],['../classHash.html#adcdd30de3e5ecaa2f798c0c5644d9ef8',1,'Hash::hashSize()'],['../classSHA1.html#ab8cdb7233a8b81be07877049960ddfdd',1,'SHA1::hashSize()'],['../classSHA256.html#a103d5bc5ced792464a82cb1d7986de94',1,'SHA256::hashSize()']]], + ['hashsize',['hashSize',['../classBLAKE2b.html#a7555de16f6918ab820170a7ed3098c89',1,'BLAKE2b::hashSize()'],['../classBLAKE2s.html#af9f50aac096f92ba27b1b2dd48df4c52',1,'BLAKE2s::hashSize()'],['../classHash.html#adcdd30de3e5ecaa2f798c0c5644d9ef8',1,'Hash::hashSize()'],['../classSHA1.html#ab8cdb7233a8b81be07877049960ddfdd',1,'SHA1::hashSize()'],['../classSHA256.html#a103d5bc5ced792464a82cb1d7986de94',1,'SHA256::hashSize()'],['../classSHA512.html#a6ab3cc1e172eecf4796e4cac629e0a44',1,'SHA512::hashSize()']]], ['hasupdates',['hasUpdates',['../classDS1307RTC.html#a6fec8ff71f33cc1a129eb0bd009600b0',1,'DS1307RTC::hasUpdates()'],['../classDS3232RTC.html#a619ffee1bc013c9ddf4ae415115798bc',1,'DS3232RTC::hasUpdates()'],['../classRTC.html#a3690761f29654a2c9e676fcbfa32dd30',1,'RTC::hasUpdates()']]], ['height',['height',['../classBitmap.html#adcd4e3dc7594421e647b0f52da9a41a3',1,'Bitmap']]], ['hide',['hide',['../classForm.html#a88b9146a3f68e837c5e831203096f9e9',1,'Form']]], diff --git a/search/functions_f.js b/search/functions_f.js index 02ed01e5..4d9154cc 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -10,7 +10,7 @@ var searchData= ['readtime',['readTime',['../classDS1307RTC.html#acd9800d6df2244b8e4e790480a1d62a6',1,'DS1307RTC::readTime()'],['../classDS3232RTC.html#af89e68c68f1c4b7e94286f800b5b2747',1,'DS3232RTC::readTime()'],['../classRTC.html#aaf0a5c1f32f210a49718d148620b5bec',1,'RTC::readTime()']]], ['refresh',['refresh',['../classCharlieplex.html#a3c961bfff866e400dad371f0376f096b',1,'Charlieplex::refresh()'],['../classDMD.html#a9e4bf2a9d247312d35c1401ff61261c8',1,'DMD::refresh()']]], ['removefield',['removeField',['../classForm.html#a7abd717029f9b19ee7318470072cd697',1,'Form']]], - ['reset',['reset',['../classBLAKE2s.html#a778776d15316c182fdb2df5a89b3ca02',1,'BLAKE2s::reset()'],['../classBLAKE2s.html#a91ba6bc39e42002ac61114ced1d0af6d',1,'BLAKE2s::reset(uint8_t outputLength)'],['../classHash.html#a7b94309acaa5f52386785fb780e5be61',1,'Hash::reset()'],['../classSHA1.html#ab71aaf39ed956320054861a2fbfa454f',1,'SHA1::reset()'],['../classSHA256.html#ad9d80d8fdccffb15497bd36285afce65',1,'SHA256::reset()']]], + ['reset',['reset',['../classBLAKE2b.html#a917beae2ca6e9831a35717a526089e8a',1,'BLAKE2b::reset()'],['../classBLAKE2b.html#a9afd8ec05ccfa08a922de74461e45387',1,'BLAKE2b::reset(uint8_t outputLength)'],['../classBLAKE2s.html#a778776d15316c182fdb2df5a89b3ca02',1,'BLAKE2s::reset()'],['../classBLAKE2s.html#a91ba6bc39e42002ac61114ced1d0af6d',1,'BLAKE2s::reset(uint8_t outputLength)'],['../classHash.html#a7b94309acaa5f52386785fb780e5be61',1,'Hash::reset()'],['../classSHA1.html#ab71aaf39ed956320054861a2fbfa454f',1,'SHA1::reset()'],['../classSHA256.html#ad9d80d8fdccffb15497bd36285afce65',1,'SHA256::reset()'],['../classSHA512.html#a0d009e8d9157c3f14323e68631c33e97',1,'SHA512::reset()']]], ['resume',['resume',['../classBlinkLED.html#a380241e4dfd20e8a558487227f2f4252',1,'BlinkLED']]], ['rngclass',['RNGClass',['../classRNGClass.html#acbcf327242f51ae2d9209aeaa45e30e9',1,'RNGClass']]], ['rtc',['RTC',['../classRTC.html#ada31c5120d18d2dd2863b3d440308da2',1,'RTC']]], diff --git a/structRTCAlarm.html b/structRTCAlarm.html index f7697b77..ed3200d7 100644 --- a/structRTCAlarm.html +++ b/structRTCAlarm.html @@ -140,7 +140,7 @@ uint8_t  diff --git a/structRTCDate.html b/structRTCDate.html index 5433caf8..f9c096b9 100644 --- a/structRTCDate.html +++ b/structRTCDate.html @@ -123,7 +123,7 @@ uint8_t  diff --git a/structRTCTime.html b/structRTCTime.html index 7fca5c92..3684ba89 100644 --- a/structRTCTime.html +++ b/structRTCTime.html @@ -123,7 +123,7 @@ uint8_t