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

Remove Arcfour - not secure enough and ChaCha is pretty fast

This commit is contained in:
Rhys Weatherley
2015-01-09 19:30:21 +10:00
parent 91b3aa70e7
commit c86330b40c
6 changed files with 9 additions and 511 deletions

View File

@@ -28,7 +28,7 @@
\li Block ciphers: AES128, AES192, AES256
\li Block cipher modes: CTR, CFB, CBC, OFB
\li Stream ciphers: ChaCha, Arcfour
\li Stream ciphers: ChaCha
\li Hash algorithms: SHA1, SHA256, BLAKE2s
All cryptographic algorithms have been optimized for 8-bit Arduino platforms
@@ -39,8 +39,8 @@ 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, AES256, and Arcfour
are provided for use in applications where compatibility with other systems
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,
@@ -61,7 +61,6 @@ All figures are for the Arduino Uno running at 16 MHz:
<tr><td>AES128 (ECB mode)</td><td align="right">36.90us</td><td align="right">66.48us</td><td align="right">160.00us</td><td align="right">208</td></tr>
<tr><td>AES192 (ECB mode)</td><td align="right">44.20us</td><td align="right">80.35us</td><td align="right">166.54us</td><td align="right">240</td></tr>
<tr><td>AES256 (ECB mode)</td><td align="right">51.50us</td><td align="right">94.22us</td><td align="right">227.97us</td><td align="right">272</td></tr>
<tr><td>Arcfour</td><td align="right">2.98us</td><td align="right">2.98us</td><td align="right">601.34us</td><td align="right">258</td></tr>
<tr><td>ChaCha (20 rounds)</td><td align="right">14.87us</td><td align="right">14.88us</td><td align="right">43.74us</td><td align="right">130</td></tr>
<tr><td>ChaCha (12 rounds)</td><td align="right">10.38us</td><td align="right">10.38us</td><td align="right">43.74us</td><td align="right">130</td></tr>
<tr><td>ChaCha (8 rounds)</td><td align="right">8.13us</td><td align="right">8.14us</td><td align="right">43.74us</td><td align="right">130</td></tr>
@@ -70,8 +69,8 @@ All figures are for the Arduino Uno running at 16 MHz:
<tr><td>BLAKE2s</td><td align="right">18.54us</td><td> </td><td align="right"> </td><td align="right">170</td></tr>
</table>
Where a cipher supports more than one key size (such as ChaCha and Arcfour),
the values are typically almost identical for 128-bit and 256-bit keys so only
the maximum is shown above.
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.
*/

View File

@@ -92,7 +92,7 @@ realtime clock and the LCD library to implement an alarm clock.
\li Block ciphers: AES128, AES192, AES256
\li Block cipher modes: CTR, CFB, CBC, OFB
\li Stream ciphers: ChaCha, Arcfour
\li Stream ciphers: ChaCha
\li Hash algorithms: SHA1, SHA256, BLAKE2s
More information can be found on the \ref crypto "Cryptographic Library" page.