Difference between revisions of "ECDSA"
(→Performance) |
|||
Line 14: | Line 14: | ||
=== Resource Use === |
=== Resource Use === |
||
− | ECDSA digital signature verification can be implemented in about 10 |
+ | ECDSA digital signature verification can be implemented in about 10 KiB ROM |
− | and requires about 3. |
+ | and requires about 3.2KiB of stack memory. |
(Implementation of ECDSA in [[emSecure]]) |
(Implementation of ECDSA in [[emSecure]]) |
||
Line 30: | Line 30: | ||
! scope="row" colspan="2" | Hashing |
! scope="row" colspan="2" | Hashing |
||
|- |
|- |
||
− | |emCrypt SHA-1 Hash computation || 12.51 |
+ | |emCrypt SHA-1 Hash computation || 12.51 MiB/s |
|- |
|- |
||
− | |emCrypt SHA-224 Hash computation || 3.66 |
+ | |emCrypt SHA-224 Hash computation || 3.66 MiB/s |
|- |
|- |
||
− | |emCrypt SHA-256 Hash computation || 3.66 |
+ | |emCrypt SHA-256 Hash computation || 3.66 MiB/s |
|- |
|- |
||
− | |emCrypt SHA-512 Hash computation || 2.82 |
+ | |emCrypt SHA-512 Hash computation || 2.82 MiB/s |
|- |
|- |
||
! scope="row" colspan="2" | Signature verification |
! scope="row" colspan="2" | Signature verification |
Latest revision as of 09:14, 27 May 2021
ECDSA (Elliptic Curve Digital Signature Algorithm) is a version of the digital signature algorithm (DSA), using elliptic curve cryptography (ECC) as its public key algorithm. It was developed in 1985 and standardized in 1999 (ANSI) and 2000 (IEEE, NIST).
For ECDSA, an elliptic curve is selected, which defines the key size and security level. ECDSA signatures are secure, because of the difficulty to compute discrete logarithms in the group of points on the chosen curve.
Key Size
The key size of ECDSA keys depends on the elliptic curve which shall be used. There are different defined and commonly used curves with different characteristics. For example NIST P-192, P-224, P-256, P-384, P521.
Resource Use
ECDSA digital signature verification can be implemented in about 10 KiB ROM and requires about 3.2KiB of stack memory. (Implementation of ECDSA in emSecure)
Storage requirements for the public key are equal to the key size. The ECDSA signature is twice the size of the key.
Performance
The performance of ECDSA signature verification can also be split in two parts:
- Hashing the data.
- Signature verification, which depends on the chosen elliptic curve.
Hashing | |
---|---|
emCrypt SHA-1 Hash computation | 12.51 MiB/s |
emCrypt SHA-224 Hash computation | 3.66 MiB/s |
emCrypt SHA-256 Hash computation | 3.66 MiB/s |
emCrypt SHA-512 Hash computation | 2.82 MiB/s |
Signature verification | |
emCrypt ECDSA P-192 signature verification | 43.45 ms |
emCrypt ECDSA P-224 signature verification | 53.87 ms |
emCrypt ECDSA P-256 signature verification | 78.70 ms |
emCrypt ECDSA P-384 signature verification | 129.17 ms |
emCrypt ECDSA P-521 signature verification | 245.68 ms |
Signature generation | |
emCrypt ECDSA P-192 signature generation | 91.69 ms |
emCrypt ECDSA P-224 signature generation | 114.52 ms |
emCrypt ECDSA P-256 signature generation | 164.16 ms |
emCrypt ECDSA P-384 signature generation | 277.21 ms |
emCrypt ECDSA P-521 signature generation | 524.59 ms |
Related Products
emCrypt - Cryptographic Algorithm Library
emSecure - Digital Signature Suite
emSSL - SSL/TLS Library