mirror of
https://github.com/taigrr/arduinolibs
synced 2025-01-18 04:33:12 -08:00
An implementation of Curve25519
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
\li Block cipher modes: CTR, CFB, CBC, OFB
|
||||
\li Stream ciphers: ChaCha
|
||||
\li Hash algorithms: SHA1, SHA256, BLAKE2s
|
||||
\li Public key algorithms: Curve25519
|
||||
\li Random number generation: \link RNGClass RNG\endlink, TransistorNoiseSource
|
||||
|
||||
All cryptographic algorithms have been optimized for 8-bit Arduino platforms
|
||||
@@ -49,10 +50,6 @@ 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.
|
||||
|
||||
\section crypto_examples Examples
|
||||
|
||||
TBD
|
||||
|
||||
\section crypto_performance Performance
|
||||
|
||||
All figures are for the Arduino Uno running at 16 MHz. Figures for the
|
||||
@@ -75,4 +72,13 @@ 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:
|
||||
|
||||
<table>
|
||||
<tr><td>Algorithm</td><td>Operation</td><td>Time</td><td>Comment</td></tr>
|
||||
<tr><td>Curve25519</td><td>\link Curve25519::eval() eval()\endlink</td><td>3738 ms</td><td>Raw curve evaluation</td></tr>
|
||||
<tr><td>Curve25519</td><td>\link Curve25519::dh1() dh1()\endlink</td><td>3740 ms</td><td>First half of Diffie-Hellman key agreement</td></tr>
|
||||
<tr><td>Curve25519</td><td>\link Curve25519::dh2() dh2()\endlink</td><td>3738 ms</td><td>Second half of Diffie-Hellman key agreement</td></tr>
|
||||
</table>
|
||||
|
||||
*/
|
||||
|
||||
@@ -94,6 +94,7 @@ realtime clock and the LCD library to implement an alarm clock.
|
||||
\li Block cipher modes: CTR, CFB, CBC, OFB
|
||||
\li Stream ciphers: ChaCha
|
||||
\li Hash algorithms: SHA1, SHA256, BLAKE2s
|
||||
\li Public key algorithms: Curve25519
|
||||
\li Random number generation: \link RNGClass RNG\endlink, TransistorNoiseSource
|
||||
|
||||
More information can be found on the \ref crypto "Cryptographic Library" page.
|
||||
|
||||
Reference in New Issue
Block a user