1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00

Update docs

This commit is contained in:
Rhys Weatherley
2016-01-16 09:47:55 +10:00
parent 9fb22bce90
commit ab1bf9b19b
386 changed files with 5395 additions and 2985 deletions

View File

@@ -85,13 +85,13 @@ Supported Algorithms</h1>
<li>Block ciphers: <a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>, <a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>, <a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a>, <a class="el" href="classSpeck.html" title="Speck block cipher with a 128-bit block size. ">Speck</a> </li>
<li>Block cipher modes: <a class="el" href="classCTR.html" title="Implementation of the Counter (CTR) mode for 128-bit block ciphers. ">CTR</a>, <a class="el" href="classCFB.html" title="Implementation of the Cipher Feedback (CFB) mode for 128-bit block ciphers. ">CFB</a>, <a class="el" href="classCBC.html" title="Implementation of the Cipher Block Chaining (CBC) mode for 128-bit block ciphers. ...">CBC</a>, <a class="el" href="classOFB.html" title="Implementation of the Output Feedback (OFB) mode for 128-bit block ciphers. ">OFB</a>, <a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a> </li>
<li>Stream ciphers: <a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a> </li>
<li>Authenticated encryption with associated data (AEAD): <a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a>, <a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a> </li>
<li><a class="el" href="classHash.html" title="Abstract base class for cryptographic hash algorithms. ">Hash</a> algorithms: <a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a>, <a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a>, <a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a>, <a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a>, <a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a>, <a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a>, <a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a> (regular and HMAC modes) </li>
<li>Authenticated encryption with associated data (AEAD): <a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a>, <a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>, <a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a> </li>
<li><a class="el" href="classHash.html" title="Abstract base class for cryptographic hash algorithms. ">Hash</a> algorithms: <a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a>, <a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a>, <a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a>, <a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a>, <a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a>, <a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a> (regular and HMAC modes) </li>
<li>Message authenticators: <a class="el" href="classPoly1305.html" title="Poly1305 message authenticator. ">Poly1305</a>, <a class="el" href="classGHASH.html" title="Implementation of the GHASH message authenticator. ">GHASH</a> </li>
<li>Public key algorithms: <a class="el" href="classCurve25519.html" title="Diffie-Hellman key agreement based on the elliptic curve modulo 2^255 - 19. ">Curve25519</a>, <a class="el" href="classEd25519.html" title="Digital signatures based on the elliptic curve modulo 2^255 - 19. ">Ed25519</a> </li>
<li>Random number generation: <a class="el" href="classRNGClass.html">RNG</a>, <a class="el" href="classTransistorNoiseSource.html" title="Processes the signal from a transistor-based noise source. ">TransistorNoiseSource</a>, <a class="el" href="classRingOscillatorNoiseSource.html" title="Processes the signal from a ring oscillator based noise source. ">RingOscillatorNoiseSource</a></li>
</ul>
<p>All cryptographic algorithms have been optimized for 8-bit Arduino platforms like the Uno. Memory usage is also reduced, particularly for <a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a>, <a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a>, and <a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a> 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.</p>
<p>All cryptographic algorithms have been optimized for 8-bit Arduino platforms like the Uno. Memory usage is also reduced, particularly for <a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a> and <a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a> which save 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.</p>
<p><a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a> with 20 rounds and 256-bit keys is the recommended symmetric encryption algorithm because it is twice as fast as <a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>, constant-time, and much more secure. <a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>, <a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>, and <a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a> are provided for use in applications where compatibility with other systems is desirable.</p>
<p>If code size is an issue for your application (for example on very low end Arduino variants), then <a class="el" href="classSpeck.html" title="Speck block cipher with a 128-bit block size. ">Speck</a> on AVR is less than half the code size of <a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a>, at the cost of more data memory for the state and longer key setup times. The <a class="el" href="classSpeckLowMemory.html" title="Speck block cipher with a 128-bit block size (low-memory version). ">SpeckLowMemory</a> class is even smaller at the cost of some performance when encrypting.</p>
<p><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a> and <a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a> are variations on the <a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a> stream cipher, designed for hashing, with 256-bit and 512-bit hash outputs respectively. They are intended as high performance replacements for <a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a> and <a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a> for when speed is critical but exact bit-compatibility of hash values is not.</p>
@@ -109,11 +109,11 @@ Performance on AVR</h2>
<tr>
<td>Encryption Algorithm</td><td align="right">Encryption (per byte)</td><td align="right">Decryption (per byte)</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a> (ECB mode)</td><td align="right">36.90us</td><td align="right">66.48us</td><td align="right">160.00us</td><td align="right">213 </td></tr>
<td><a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a> (ECB mode)</td><td align="right">33.28us</td><td align="right">63.18us</td><td align="right">160.00us</td><td align="right">181 </td></tr>
<tr>
<td><a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a> (ECB mode)</td><td align="right">44.20us</td><td align="right">80.35us</td><td align="right">166.54us</td><td align="right">245 </td></tr>
<td><a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a> (ECB mode)</td><td align="right">39.94us</td><td align="right">76.48us</td><td align="right">166.54us</td><td align="right">213 </td></tr>
<tr>
<td><a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a> (ECB mode)</td><td align="right">51.50us</td><td align="right">94.22us</td><td align="right">227.97us</td><td align="right">277 </td></tr>
<td><a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a> (ECB mode)</td><td align="right">46.61us</td><td align="right">89.78us</td><td align="right">227.97us</td><td align="right">245 </td></tr>
<tr>
<td><a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a> (20 rounds)</td><td align="right">14.87us</td><td align="right">14.88us</td><td align="right">43.74us</td><td align="right">132 </td></tr>
<tr>
@@ -137,43 +137,45 @@ Performance on AVR</h2>
<tr>
<td>AEAD Algorithm</td><td align="right">Encryption (per byte)</td><td align="right">Decryption (per byte)</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a></td><td align="right">41.23us</td><td align="right">41.23us</td><td align="right">902.55us</td><td align="right">255 </td></tr>
<td><a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a></td><td align="right">41.20us</td><td align="right">41.19us</td><td align="right">902.36us</td><td align="right">221 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">186.47us</td><td align="right">186.42us</td><td align="right">1388.43us</td><td align="right">316 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">183.25us</td><td align="right">182.80us</td><td align="right">1272.73us</td><td align="right">284 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>&gt;</td><td align="right">194.17us</td><td align="right">193.72us</td><td align="right">1628.67us</td><td align="right">348 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>&gt;</td><td align="right">189.92us</td><td align="right">189.47us</td><td align="right">1492.60us</td><td align="right">316 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a>&gt;</td><td align="right">201.47us</td><td align="right">201.02us</td><td align="right">1923.78us</td><td align="right">380 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a>&gt;</td><td align="right">196.59us</td><td align="right">196.13us</td><td align="right">1767.33us</td><td align="right">348 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">71.14us</td><td align="right">71.14us</td><td align="right">1329.44us</td><td align="right">268 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classSpeck.html" title="Speck block cipher with a 128-bit block size. ">Speck</a>&gt; (128-bit key)</td><td align="right">26.01us</td><td align="right">26.01us</td><td align="right">735.46us</td><td align="right">362 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classSpeckLowMemory.html" title="Speck block cipher with a 128-bit block size (low-memory version). ">SpeckLowMemory</a>&gt; (128-bit key)</td><td align="right">75.08us</td><td align="right">75.07us</td><td align="right">1243.66us</td><td align="right">122 </td></tr>
<tr>
<td colspan="5"></td></tr>
<tr>
<td><a class="el" href="classHash.html" title="Abstract base class for cryptographic hash algorithms. ">Hash</a> Algorithm</td><td align="right">Hashing (per byte)</td><td align="right">Finalization</td><td></td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a></td><td align="right">21.90us</td><td align="right">1423.28us</td><td align="right"></td><td align="right">95 </td></tr>
<tr>
<td><a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a></td><td align="right">43.85us</td><td align="right">2841.04us</td><td align="right"></td><td align="right">107 </td></tr>
<tr>
<td><a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a></td><td align="right">122.82us</td><td align="right">15953.42us</td><td align="right"></td><td align="right">211 </td></tr>
<tr>
<td><a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a></td><td align="right">121.69us</td><td align="right">16486.33us</td><td align="right"></td><td align="right">405 </td></tr>
<td><a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a></td><td align="right">60.69us</td><td align="right">8180.24us</td><td align="right"></td><td align="right">205 </td></tr>
<tr>
<td><a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a></td><td align="right">229.12us</td><td align="right">16502.34us</td><td align="right"></td><td align="right">405 </td></tr>
<td><a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a></td><td align="right">113.88us</td><td align="right">8196.34us</td><td align="right"></td><td align="right">205 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a></td><td align="right">18.54us</td><td align="right">1200.06us</td><td align="right"></td><td align="right">171 </td></tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a></td><td align="right">20.65us</td><td align="right">1335.25us</td><td align="right"></td><td align="right">107 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a></td><td align="right">50.70us</td><td align="right">6515.87us</td><td align="right"></td><td align="right">339 </td></tr>
<td><a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a></td><td align="right">65.22us</td><td align="right">8375.36us</td><td align="right"></td><td align="right">211 </td></tr>
<tr>
<td colspan="5"></td></tr>
<tr>
<td>Authentication Algorithm</td><td align="right">Hashing (per byte)</td><td align="right">Finalization</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a> (HMAC mode)</td><td align="right">21.90us</td><td align="right">4296.33us</td><td align="right">1420.24us</td><td align="right">95 </td></tr>
<tr>
<td><a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a> (HMAC mode)</td><td align="right">43.85us</td><td align="right">8552.61us</td><td align="right">2836.49us</td><td align="right">107 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a> (HMAC mode)</td><td align="right">18.54us</td><td align="right">3649.98us</td><td align="right">1214.81us</td><td align="right">171 </td></tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a> (HMAC mode)</td><td align="right">20.65us</td><td align="right">4055.56us</td><td align="right">1350.00us</td><td align="right">107 </td></tr>
<tr>
<td><a class="el" href="classPoly1305.html" title="Poly1305 message authenticator. ">Poly1305</a></td><td align="right">26.29us</td><td align="right">486.15us</td><td align="right">17.26us</td><td align="right">87 </td></tr>
<td><a class="el" href="classPoly1305.html" title="Poly1305 message authenticator. ">Poly1305</a></td><td align="right">26.26us</td><td align="right">489.11us</td><td align="right">17.06us</td><td align="right">53 </td></tr>
<tr>
<td><a class="el" href="classGHASH.html" title="Implementation of the GHASH message authenticator. ">GHASH</a></td><td align="right">148.14us</td><td align="right">17.09us</td><td align="right">21.87us</td><td align="right">33 </td></tr>
<tr>
@@ -201,11 +203,11 @@ Performance on ARM</h2>
<tr>
<td>Encryption Algorithm</td><td align="right">Encryption (per byte)</td><td align="right">Decryption (per byte)</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a> (ECB mode)</td><td align="right">6.65us</td><td align="right">11.00us</td><td align="right">35.15us</td><td align="right">220 </td></tr>
<td><a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a> (ECB mode)</td><td align="right">5.71us</td><td align="right">10.41us</td><td align="right">34.73us</td><td align="right">188 </td></tr>
<tr>
<td><a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a> (ECB mode)</td><td align="right">8.02us</td><td align="right">13.31us</td><td align="right">36.59us</td><td align="right">252 </td></tr>
<td><a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a> (ECB mode)</td><td align="right">6.87us</td><td align="right">12.57us</td><td align="right">36.51us</td><td align="right">220 </td></tr>
<tr>
<td><a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a> (ECB mode)</td><td align="right">9.39us</td><td align="right">15.63</td><td align="right">50.19us</td><td align="right">284 </td></tr>
<td><a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a> (ECB mode)</td><td align="right">8.04us</td><td align="right">14.72</td><td align="right">49.96us</td><td align="right">252 </td></tr>
<tr>
<td><a class="el" href="classChaCha.html" title="ChaCha stream cipher. ">ChaCha</a> (20 rounds)</td><td align="right">0.87us</td><td align="right">0.88us</td><td align="right">4.96us</td><td align="right">136 </td></tr>
<tr>
@@ -229,43 +231,45 @@ Performance on ARM</h2>
<tr>
<td>AEAD Algorithm</td><td align="right">Encryption (per byte)</td><td align="right">Decryption (per byte)</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a></td><td align="right">1.66us</td><td align="right">1.66us</td><td align="right">45.02us</td><td align="right">280 </td></tr>
<td><a class="el" href="classChaChaPoly.html" title="Authenticated cipher based on ChaCha and Poly1305. ">ChaChaPoly</a></td><td align="right">1.71us</td><td align="right">1.71us</td><td align="right">45.08us</td><td align="right">240 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">11.01us</td><td align="right">10.92us</td><td align="right">247.90us</td><td align="right">344 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">10.29us</td><td align="right">10.29us</td><td align="right">223.82us</td><td align="right">312 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>&gt;</td><td align="right">12.40us</td><td align="right">12.31us</td><td align="right">294.07us</td><td align="right">376 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES192.html" title="AES block cipher with 192-bit keys. ">AES192</a>&gt;</td><td align="right">11.50us</td><td align="right">11.51us</td><td align="right">265.62us</td><td align="right">344 </td></tr>
<tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a>&gt;</td><td align="right">13.73us</td><td align="right">13.64us</td><td align="right">347.40us</td><td align="right">408 </td></tr>
<td><a class="el" href="classGCM.html" title="Implementation of the Galois Counter Mode (GCM). ">GCM</a>&lt;<a class="el" href="classAES256.html" title="AES block cipher with 256-bit keys. ">AES256</a>&gt;</td><td align="right">12.67us</td><td align="right">12.67us</td><td align="right">313.06us</td><td align="right">376 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classAES128.html" title="AES block cipher with 128-bit keys. ">AES128</a>&gt;</td><td align="right">12.29us</td><td align="right">12.29us</td><td align="right">236.47us</td><td align="right">280 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classSpeck.html" title="Speck block cipher with a 128-bit block size. ">Speck</a>&gt; (128-bit key)</td><td align="right">2.65us</td><td align="right">2.65us</td><td align="right">79.46us</td><td align="right">384 </td></tr>
<tr>
<td><a class="el" href="classEAX.html" title="Implementation of the EAX authenticated cipher. ">EAX</a>&lt;<a class="el" href="classSpeckLowMemory.html" title="Speck block cipher with a 128-bit block size (low-memory version). ">SpeckLowMemory</a>&gt; (128-bit key)</td><td align="right">6.29us</td><td align="right">6.29us</td><td align="right">106.60us</td><td align="right">144 </td></tr>
<tr>
<td colspan="5"></td></tr>
<tr>
<td><a class="el" href="classHash.html" title="Abstract base class for cryptographic hash algorithms. ">Hash</a> Algorithm</td><td align="right">Hashing (per byte)</td><td align="right">Finalization</td><td></td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a></td><td align="right">0.94us</td><td align="right">62.55us</td><td align="right"></td><td align="right">112 </td></tr>
<tr>
<td><a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a></td><td align="right">1.15us</td><td align="right">76.60us</td><td align="right"></td><td align="right">120 </td></tr>
<tr>
<td><a class="el" href="classSHA512.html" title="SHA-512 hash algorithm. ">SHA512</a></td><td align="right">2.87us</td><td align="right">370.37us</td><td align="right"></td><td align="right">224 </td></tr>
<tr>
<td><a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a></td><td align="right">5.36us</td><td align="right">697.65us</td><td align="right"></td><td align="right">424 </td></tr>
<td><a class="el" href="classSHA3__256.html" title="SHA3-256 hash algorithm. ">SHA3_256</a></td><td align="right">5.64us</td><td align="right">735.29us</td><td align="right"></td><td align="right">224 </td></tr>
<tr>
<td><a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a></td><td align="right">9.89us</td><td align="right">697.81us</td><td align="right"></td><td align="right">424 </td></tr>
<td><a class="el" href="classSHA3__512.html" title="SHA3-512 hash algorithm. ">SHA3_512</a></td><td align="right">10.42us</td><td align="right">735.49us</td><td align="right"></td><td align="right">224 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a></td><td align="right">0.76us</td><td align="right">50.88us</td><td align="right"></td><td align="right">184 </td></tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a></td><td align="right">0.72us</td><td align="right">48.24us</td><td align="right"></td><td align="right">120 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a></td><td align="right">1.33us</td><td align="right">170.93us</td><td align="right"></td><td align="right">352 </td></tr>
<td><a class="el" href="classBLAKE2b.html" title="BLAKE2b hash algorithm. ">BLAKE2b</a></td><td align="right">1.29us</td><td align="right">165.28us</td><td align="right"></td><td align="right">224 </td></tr>
<tr>
<td colspan="5"></td></tr>
<tr>
<td>Authentication Algorithm</td><td align="right">Hashing (per byte)</td><td align="right">Finalization</td><td>Key Setup</td><td>State Size (bytes) </td></tr>
<tr>
<td><a class="el" href="classSHA1.html" title="SHA-1 hash algorithm. ">SHA1</a> (HMAC mode)</td><td align="right">0.94us</td><td align="right">193.92us</td><td align="right">65.09us</td><td align="right">112 </td></tr>
<tr>
<td><a class="el" href="classSHA256.html" title="SHA-256 hash algorithm. ">SHA256</a> (HMAC mode)</td><td align="right">1.15us</td><td align="right">238.98us</td><td align="right">80.44us</td><td align="right">120 </td></tr>
<tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a> (HMAC mode)</td><td align="right">0.76us</td><td align="right">165.64us</td><td align="right">59.92us</td><td align="right">184 </td></tr>
<td><a class="el" href="classBLAKE2s.html" title="BLAKE2s hash algorithm. ">BLAKE2s</a> (HMAC mode)</td><td align="right">0.72us</td><td align="right">157.75us</td><td align="right">57.18us</td><td align="right">120 </td></tr>
<tr>
<td><a class="el" href="classPoly1305.html" title="Poly1305 message authenticator. ">Poly1305</a></td><td align="right">0.85us</td><td align="right">19.25us</td><td align="right">2.35us</td><td align="right">96 </td></tr>
<td><a class="el" href="classPoly1305.html" title="Poly1305 message authenticator. ">Poly1305</a></td><td align="right">0.81us</td><td align="right">19.01us</td><td align="right">2.57us</td><td align="right">60 </td></tr>
<tr>
<td><a class="el" href="classGHASH.html" title="Implementation of the GHASH message authenticator. ">GHASH</a></td><td align="right">4.37us</td><td align="right">1.50us</td><td align="right">4.37us</td><td align="right">36 </td></tr>
<tr>
@@ -288,7 +292,7 @@ Performance on ARM</h2>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Dec 18 2015 05:39:07 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sat Jan 16 2016 09:47:01 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>