This page reports measured performance when using the pure software cryptographic library algorithms with an STM32H7 MCU. In addition to performance figures, the required code footprint and memory are also given.
1. Measurement configuration
1.1. Hardware configuration
STM32 MCU | STM32H743ZI |
Device ID | 0x450 |
Revision ID | 0x2003 |
Board | STM32H743ZI-Nucleo |
1.2. Firmware configuration
Cryptographic Library version | 040000B1[ver. 1] |
- ↑ This value corresponds to the information returned by a call to cmox_getInfos
1.3. System configuration
System Core Clock Frequency | 400 MHz |
Flash latency | 4 wait states |
Voltage scaling | Range 3 |
Instruction Cache (ART/ICU) | 1 (0: disabled / 1: enabled) |
Data Cache (ART/DCU) | 1 (0: disabled / 1: enabled) |
1.4. Development toolchains and compilers
IAR Embedded Workbench | IAR ANSI C/C++ Compiler V8.50.4.261/W32 for ARM |
2. Performance values
2.1. AES symmetric key encryption & decryption
This section provides the performance results for AES-CBC using different modes of operation:
- Sole buffer: one sole buffer is encrypted or decrypted. Time to perform is given in µs.
- Data flow: a big message is encrypted or decrypted by chunk. Bit rate is given in kilobytes per second.
2.1.1. Sole buffer mode
In this mode the entire encryption or decryption process, for the whole message size, is managed through a single API call provided by the CMOX library.
The table below shows the number of clock cycles and time (in µs) needed to perform the described operation in small and fast configurations.
AES mode | Key size | Buffer size | Cipher operation | Configuration | Cycles | Time |
---|---|---|---|---|---|---|
AES CBC | 128 bits | 32 bytes | Encryption | Small | 3843 | 9 µs |
AES CBC | 128 bits | 32 bytes | Encryption | Fast | 3215 | 8 µs |
AES CBC | 128 bits | 64 bytes | Encryption | Small | 5903 | 14 µs |
AES CBC | 128 bits | 64 bytes | Encryption | Fast | 4731 | 11 µs |
AES CBC | 128 bits | 128 bytes | Encryption | Small | 10 112 | 25 µs |
AES CBC | 128 bits | 128 bytes | Encryption | Fast | 7846 | 19 µs |
AES CBC | 192 bits | 32 bytes | Encryption | Small | 4168 | 10 µs |
AES CBC | 192 bits | 32 bytes | Encryption | Fast | 3414 | 8 µs |
AES CBC | 192 bits | 64 bytes | Encryption | Small | 6634 | 16 µs |
AES CBC | 192 bits | 64 bytes | Encryption | Fast | 5146 | 12 µs |
AES CBC | 192 bits | 128 bytes | Encryption | Small | 11 588 | 28 µs |
AES CBC | 192 bits | 128 bytes | Encryption | Fast | 8681 | 21 µs |
AES CBC | 256 bits | 32 bytes | Encryption | Small | 4783 | 11 µs |
AES CBC | 256 bits | 32 bytes | Encryption | Fast | 3889 | 9 µs |
AES CBC | 256 bits | 64 bytes | Encryption | Small | 7576 | 18 µs |
AES CBC | 256 bits | 64 bytes | Encryption | Fast | 5867 | 14 µs |
AES CBC | 256 bits | 128 bytes | Encryption | Small | 13 233 | 33 µs |
AES CBC | 256 bits | 128 bytes | Encryption | Fast | 9818 | 24 µs |
AES CBC | 128 bits | 32 bytes | Decryption | Small | 6672 | 16 µs |
AES CBC | 128 bits | 32 bytes | Decryption | Fast | 3982 | 9 µs |
AES CBC | 128 bits | 64 bytes | Decryption | Small | 11 536 | 28 µs |
AES CBC | 128 bits | 64 bytes | Decryption | Fast | 5314 | 13 µs |
AES CBC | 128 bits | 128 bytes | Decryption | Small | 21 321 | 53 µs |
AES CBC | 128 bits | 128 bytes | Decryption | Fast | 8336 | 20 µs |
AES CBC | 192 bits | 32 bytes | Decryption | Small | 7592 | 18 µs |
AES CBC | 192 bits | 32 bytes | Decryption | Fast | 4287 | 10 µs |
AES CBC | 192 bits | 64 bytes | Decryption | Small | 13 432 | 33 µs |
AES CBC | 192 bits | 64 bytes | Decryption | Fast | 5988 | 14 µs |
AES CBC | 192 bits | 128 bytes | Decryption | Small | 25 177 | 62 µs |
AES CBC | 192 bits | 128 bytes | Decryption | Fast | 9396 | 23 µs |
AES CBC | 256 bits | 32 bytes | Decryption | Small | 8911 | 22 µs |
AES CBC | 256 bits | 32 bytes | Decryption | Fast | 4927 | 12 µs |
AES CBC | 256 bits | 64 bytes | Decryption | Small | 15 712 | 39 µs |
AES CBC | 256 bits | 64 bytes | Decryption | Fast | 6644 | 16 µs |
AES CBC | 256 bits | 128 bytes | Decryption | Small | 29 387 | 73 µs |
AES CBC | 256 bits | 128 bytes | Decryption | Fast | 10 467 | 26 µs |
The table below shows Flash and RAM usage (in bytes).
Cipher operation | Configuration | Code | Constant data | Global data | Stack usage |
---|---|---|---|---|---|
Encryption | Small | 2948 bytes | 380 bytes | 1 bytes | 528 bytes |
Encryption | Fast | 3268 bytes | 1404 bytes | 1 bytes | 548 bytes |
Decryption | Small | 3060 bytes | 636 bytes | 1 bytes | 552 bytes |
Decryption | Fast | 3720 bytes | 1660 bytes | 1 bytes | 560 bytes |
2.1.2. Data flow mode
In this mode, operation is performed in several calls to the CMOX library APIs, as below:
- cmox_cipher_init
- cmox_cipher_setKey
- cmox_cipher_setIV
- cmox_cipher_append: called several times to encrypt or decrypt the whole message by chunk of fixed size
The table below shows the number of clock cycles and bit rate (in kilobytes per second) needed to perform described operation in small and in fast configuration.
AES mode | Key size | Message size | Chunk size | Cipher operation | Configuration | Cycles | Bit rate |
---|---|---|---|---|---|---|---|
AES CBC | 128 bits | 8000 bytes | 128 bytes | Encryption | Small | 537 264 | 5956 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 128 bytes | Encryption | Fast | 398 952 | 8021 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 512 bytes | Encryption | Small | 529 952 | 6038 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 512 bytes | Encryption | Fast | 391 064 | 8182 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 1024 bytes | Encryption | Small | 528 888 | 6050 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 1024 bytes | Encryption | Fast | 391 064 | 8182 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 2048 bytes | Encryption | Small | 528 432 | 6055 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 2048 bytes | Encryption | Fast | 390 576 | 8193 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 128 bytes | Encryption | Small | 625 960 | 5112 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 128 bytes | Encryption | Fast | 452 608 | 7070 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 512 bytes | Encryption | Small | 619 328 | 5166 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 512 bytes | Encryption | Fast | 447 480 | 7151 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 1024 bytes | Encryption | Small | 617 888 | 5178 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 1024 bytes | Encryption | Fast | 446 328 | 7169 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 2048 bytes | Encryption | Small | 618 360 | 5174 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 2048 bytes | Encryption | Fast | 445 656 | 7180 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 128 bytes | Encryption | Small | 718 736 | 4452 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 128 bytes | Encryption | Fast | 510 592 | 6267 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 512 bytes | Encryption | Small | 710 296 | 4505 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 512 bytes | Encryption | Fast | 504 656 | 6340 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 1024 bytes | Encryption | Small | 708 920 | 4513 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 1024 bytes | Encryption | Fast | 503 264 | 6358 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 2048 bytes | Encryption | Small | 707 736 | 4521 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 2048 bytes | Encryption | Fast | 503 776 | 6352 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 128 bytes | Decryption | Small | 1 242 824 | 2574 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 128 bytes | Decryption | Fast | 393 944 | 8122 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 512 bytes | Decryption | Small | 1 235 936 | 2589 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 512 bytes | Decryption | Fast | 387 032 | 8268 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 1024 bytes | Decryption | Small | 1 233 992 | 2593 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 1024 bytes | Decryption | Fast | 385 360 | 8303 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 2048 bytes | Decryption | Small | 1 232 352 | 2596 kbyte/s |
AES CBC | 128 bits | 8000 bytes | 2048 bytes | Decryption | Fast | 383 664 | 8340 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 128 bytes | Decryption | Small | 1 483 976 | 2156 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 128 bytes | Decryption | Fast | 446 336 | 7169 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 512 bytes | Decryption | Small | 1 476 912 | 2166 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 512 bytes | Decryption | Fast | 438 888 | 7291 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 1024 bytes | Decryption | Small | 1 474 984 | 2169 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 1024 bytes | Decryption | Fast | 436 368 | 7333 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 2048 bytes | Decryption | Small | 1 473 312 | 2171 kbyte/s |
AES CBC | 192 bits | 8000 bytes | 2048 bytes | Decryption | Fast | 434 072 | 7372 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 128 bytes | Decryption | Small | 1 733 304 | 1846 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 128 bytes | Decryption | Fast | 503 072 | 6360 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 512 bytes | Decryption | Small | 1 721 392 | 1858 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 512 bytes | Decryption | Fast | 494 360 | 6473 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 1024 bytes | Decryption | Small | 1 718 128 | 1862 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 1024 bytes | Decryption | Fast | 492 888 | 6492 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 2048 bytes | Decryption | Small | 1 715 608 | 1865 kbyte/s |
AES CBC | 256 bits | 8000 bytes | 2048 bytes | Decryption | Fast | 490 904 | 6518 kbyte/s |
The table below shows Flash and RAM usage (in bytes).
Cipher operation | Configuration | Code | Constant data | Global data | Stack usage |
---|---|---|---|---|---|
Encryption | Small | 2840 bytes | 372 bytes | 1 bytes | 144 bytes |
Encryption | Fast | 3160 bytes | 1396 bytes | 1 bytes | 172 bytes |
Decryption | Small | 2952 bytes | 628 bytes | 1 bytes | 176 bytes |
Decryption | Fast | 3612 bytes | 1652 bytes | 1 bytes | 180 bytes |
2.2. HASH digest
In this section we provide the performance results for HASH using different modes of operation:
- Sole buffer: one sole buffer is hashed. Time to perform is given in us.
- Data flow: a big message is hashed by chunk. Bit rate is given in bytes per s.
2.2.1. Sole buffer mode
In this mode, the entire message hashing process is managed through a single API call provided by the CMOX library.
The table below shows the number of clock cycles and time (in µs) needed to perform described operation.
HASH mode | Buffer size | Cycles | Time |
---|---|---|---|
SHA256 | 32 bytes | 3514 | 8 µs |
SHA256 | 64 bytes | 5267 | 13 µs |
SHA256 | 128 bytes | 6888 | 17 µs |
SHA384 | 32 bytes | 10 630 | 26 µs |
SHA384 | 64 bytes | 10 551 | 26 µs |
SHA384 | 128 bytes | 18 699 | 46 µs |
The table below shows Flash and RAM usage (in bytes).
HASH mode | Code | Constant data | Global data | Stack usage |
---|---|---|---|---|
SHA256 | 1872 | 296 bytes | 1 bytes | 564 bytes |
SHA384 | 3068 | 744 bytes | 1 bytes | 1124 bytes |
2.2.2. Data flow mode
In this mode, operation is performed in several calls to the CMOX library APIs, as below:
- cmox_hash_init
- cmox_hash_append: called several times to hash the whole message by chunk of fixed size
- cmox_hash_generateTag
The table below shows the number of clock cycles and bit rate (in kilobytes per second) needed to perform described operation.
HASH mode | Message size | Chunk size | Cycles | Bit rate |
---|---|---|---|---|
SHA256 | 8000 bytes | 128 bytes | 224 778 | 14 236 kbyte/s |
SHA256 | 8000 bytes | 512 bytes | 207 454 | 15 425 kbyte/s |
SHA256 | 8000 bytes | 1024 bytes | 205 056 | 15 605 kbyte/s |
SHA256 | 8000 bytes | 2048 bytes | 203 898 | 15 694 kbyte/s |
SHA384 | 8000 bytes | 128 bytes | 528 527 | 6054 kbyte/s |
SHA384 | 8000 bytes | 512 bytes | 502 491 | 6368 kbyte/s |
SHA384 | 8000 bytes | 1024 bytes | 497 585 | 6431 kbyte/s |
SHA384 | 8000 bytes | 2048 bytes | 495 563 | 6457 kbyte/s |
The table below shows final tag generation done through the call to cmox_hash_generateTag.
HASH mode | Cycles | Time |
---|---|---|
SHA256 | 2938 | 7 µs |
SHA384 | 9491 | 23 µs |
The table below shows Flash and RAM usage (in bytes).
HASH mode | Code | Constant data | Global data | Stack usage |
---|---|---|---|---|
SHA256 | 1884 bytes | 288 bytes | 1 bytes | 372 bytes |
SHA384 | 3080 bytes | 736 bytes | 1 bytes | 828 bytes |
2.3. ECDSA signature & verification
In this section we provide the performance results for ECDSA signature & verification.
The table below shows the number of clock cycles and time (in ms) needed to perform described operation in different configurations.
Curve | Operation | ECC mathematics configuration | Curve definition | Cycles | Time |
---|---|---|---|---|---|
SECP256R1 | Signature | Small | Low | 2 166 072 | 5 ms |
SECP256R1 | Signature | Small | High | 2 092 568 | 5 ms |
SECP256R1 | Signature | SuperFast | Low | 1 275 536 | 3 ms |
SECP256R1 | Signature | SuperFast | High | 1 237 576 | 3 ms |
SECP256R1 | Verification | Small | Low | 5 196 624 | 12 ms |
SECP256R1 | Verification | Small | High | 4 576 344 | 11 ms |
SECP256R1 | Verification | SuperFast | Low | 3 079 568 | 7 ms |
SECP256R1 | Verification | SuperFast | High | 2 757 832 | 6 ms |
SECP384R1 | Signature | Small | Low | 6 080 528 | 15 ms |
SECP384R1 | Signature | Small | High | 5 785 832 | 14 ms |
SECP384R1 | Signature | Fast | Low | 4 929 360 | 12 ms |
SECP384R1 | Signature | Fast | High | 4 672 336 | 11 ms |
SECP384R1 | Verification | Small | Low | 14 462 480 | 36 ms |
SECP384R1 | Verification | Small | High | 12 559 736 | 31 ms |
SECP384R1 | Verification | Fast | Low | 11 769 304 | 29 ms |
SECP384R1 | Verification | Fast | High | 10 134 984 | 25 ms |
The table below shows ECDSA Flash and RAM usage (in bytes).
Curve | Operation | ECC mathematics configuration | Curve definition | Code | Constant data | Global data | Stack usage | Working buffer |
---|---|---|---|---|---|---|---|---|
SECP256R1 | Signature | Small | Low | 11 746 bytes | 1184 bytes | 1 bytes | 328 bytes | 628 bytes |
SECP256R1 | Signature | Small | High | 11 746 bytes | 1568 bytes | 1 bytes | 328 bytes | 696 bytes |
SECP256R1 | Signature | SuperFast | Low | 13 056 bytes | 1184 bytes | 1 bytes | 332 bytes | 628 bytes |
SECP256R1 | Signature | SuperFast | High | 13 056 bytes | 1568 bytes | 1 bytes | 332 bytes | 696 bytes |
SECP256R1 | Verification | Small | Low | 12 238 bytes | 1200 bytes | 1 bytes | 424 bytes | 856 bytes |
SECP256R1 | Verification | Small | High | 12 238 bytes | 1584 bytes | 1 bytes | 424 bytes | 1648 bytes |
SECP256R1 | Verification | SuperFast | Low | 13 548 bytes | 1200 bytes | 1 bytes | 428 bytes | 856 bytes |
SECP256R1 | Verification | SuperFast | High | 13 548 bytes | 1584 bytes | 1 bytes | 428 bytes | 1648 bytes |
SECP384R1 | Signature | Small | Low | 11 746 bytes | 1664 bytes | 1 bytes | 328 bytes | 884 bytes |
SECP384R1 | Signature | Small | High | 11 746 bytes | 2240 bytes | 1 bytes | 328 bytes | 984 bytes |
SECP384R1 | Signature | Fast | Low | 12 116 bytes | 1664 bytes | 1 bytes | 344 bytes | 884 bytes |
SECP384R1 | Signature | Fast | High | 12 116 bytes | 2240 bytes | 1 bytes | 344 bytes | 984 bytes |
SECP384R1 | Verification | Small | Low | 12 238 bytes | 1680 bytes | 1 bytes | 424 bytes | 1192 bytes |
SECP384R1 | Verification | Small | High | 12 238 bytes | 2256 bytes | 1 bytes | 424 bytes | 2272 bytes |
SECP384R1 | Verification | Fast | Low | 12 608 bytes | 1680 bytes | 1 bytes | 440 bytes | 1192 bytes |
SECP384R1 | Verification | Fast | High | 12 608 bytes | 2256 bytes | 1 bytes | 440 bytes | 2272 bytes |
2.4. EdDSA signature & verification
In this section we provide the performance results for EdDSA signature & verification.
The table below shows the number of clock cycles and time (in ms) needed to perform described operation in different configurations.
Curve | Message size | Operation | ECC mathematics configuration | Curve definition | Cycles | Time |
---|---|---|---|---|---|---|
Ed25519 | 1023 bytes | Signature | Small | OptLow | 3 261 192 | 8 ms |
Ed25519 | 1023 bytes | Signature | Small | OptHigh | 1 908 832 | 4 ms |
Ed25519 | 1023 bytes | Signature | SuperFast | OptLow | 2 142 424 | 5 ms |
Ed25519 | 1023 bytes | Signature | SuperFast | OptHigh | 1 273 056 | 3 ms |
Ed25519 | 1023 bytes | Verification | Small | OptLow | 4 950 344 | 12 ms |
Ed25519 | 1023 bytes | Verification | Small | OptHigh | 4 368 744 | 10 ms |
Ed25519 | 1023 bytes | Verification | SuperFast | OptLow | 3 079 368 | 7 ms |
Ed25519 | 1023 bytes | Verification | SuperFast | OptHigh | 2 721 280 | 6 ms |
The table below shows EdDSA Flash and RAM usage (in bytes).
Curve | Message size | Operation | ECC mathematics configuration | Curve definition | Code | Constant data | Global data | Stack usage | Working buffer |
---|---|---|---|---|---|---|---|---|---|
Ed25519 | 1023 bytes | Signature | Small | OptLow | 14 158 bytes | 1744 bytes | 1 bytes | 1236 bytes | 1388 bytes |
Ed25519 | 1023 bytes | Signature | Small | OptHigh | 14 562 bytes | 2896 bytes | 1 bytes | 1236 bytes | 1388 bytes |
Ed25519 | 1023 bytes | Signature | SuperFast | OptLow | 15 468 bytes | 1744 bytes | 1 bytes | 1236 bytes | 1388 bytes |
Ed25519 | 1023 bytes | Signature | SuperFast | OptHigh | 15 872 bytes | 2896 bytes | 1 bytes | 1236 bytes | 1388 bytes |
Ed25519 | 1023 bytes | Verification | Small | OptLow | 14 256 bytes | 1748 bytes | 1 bytes | 1244 bytes | 1152 bytes |
Ed25519 | 1023 bytes | Verification | Small | OptHigh | 14 660 bytes | 2900 bytes | 1 bytes | 1244 bytes | 1992 bytes |
Ed25519 | 1023 bytes | Verification | SuperFast | OptLow | 15 566 bytes | 1748 bytes | 1 bytes | 1244 bytes | 1152 bytes |
Ed25519 | 1023 bytes | Verification | SuperFast | OptHigh | 15 970 bytes | 2900 bytes | 1 bytes | 1244 bytes | 1992 bytes |
2.5. RSA signature & verification
In this section we provide the performance results for RSA signature & verification.
The table below shows the number of clock cycles and time (in ms) needed to perform described operation in different configurations.
PKCS#1 | Priv. key mod. exp. method | Hash method | Modulus size | Operation | RSA mathematics configuration | Priv. key mod. exp. implementation | Cycles | Time |
---|---|---|---|---|---|---|---|---|
v2.2 | CRT | SHA-256 | 3K | Signature | Small | Low | 151 225 960 | 378 ms |
v2.2 | CRT | SHA-256 | 3K | Signature | Small | Mid | 114 153 976 | 285 ms |
v2.2 | CRT | SHA-256 | 3K | Signature | Small | High | 95 541 592 | 238 ms |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | Low | 102 089 176 | 255 ms |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | Mid | 77 088 368 | 192 ms |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | High | 64 063 776 | 160 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | Low | 584 168 344 | 1460 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | Mid | 439 243 552 | 1098 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | High | 367 004 808 | 917 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | Low | 379 077 872 | 947 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | Mid | 285 045 456 | 712 ms |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | High | 237 407 016 | 593 ms |
v2.2 | n/a | SHA-256 | 3K | Verification | Small | n/a | 3 078 184 | 7 ms |
v2.2 | n/a | SHA-256 | 3K | Verification | Fast | n/a | 2 034 528 | 5 ms |
The table below shows RSA Flash and RAM usage (in bytes).
PKCS#1 | Priv. key mod. exp. method | Hash method | Modulus size | Operation | RSA mathematics configuration | Priv. key mod. exp. implementation | Code | Constant data | Global data | Stack usage | Working buffer |
---|---|---|---|---|---|---|---|---|---|---|---|
v2.2 | CRT | SHA-256 | 3K | Signature | Small | Low | 7056 bytes | 370 bytes | 5 bytes | 700 bytes | 3704 bytes |
v2.2 | CRT | SHA-256 | 3K | Signature | Small | Mid | 7308 bytes | 370 bytes | 5 bytes | 700 bytes | 4308 bytes |
v2.2 | CRT | SHA-256 | 3K | Signature | Small | High | 7308 bytes | 370 bytes | 5 bytes | 700 bytes | 6708 bytes |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | Low | 7426 bytes | 370 bytes | 5 bytes | 700 bytes | 3704 bytes |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | Mid | 7678 bytes | 370 bytes | 5 bytes | 700 bytes | 4308 bytes |
v2.2 | CRT | SHA-256 | 3K | Signature | Fast | High | 7678 bytes | 370 bytes | 5 bytes | 700 bytes | 6708 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | Low | 6088 bytes | 362 bytes | 5 bytes | 700 bytes | 3484 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | Mid | 6340 bytes | 362 bytes | 5 bytes | 700 bytes | 4664 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Small | High | 6340 bytes | 362 bytes | 5 bytes | 700 bytes | 9368 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | Low | 6458 bytes | 362 bytes | 5 bytes | 700 bytes | 3484 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | Mid | 6710 bytes | 362 bytes | 5 bytes | 700 bytes | 4664 bytes |
v2.2 | No CRT | SHA-256 | 3K | Signature | Fast | High | 6710 bytes | 362 bytes | 5 bytes | 700 bytes | 9368 bytes |
v2.2 | n/a | SHA-256 | 3K | Verification | Small | n/a | 6842 bytes | 366 bytes | 5 bytes | 716 bytes | 3108 bytes |
v2.2 | n/a | SHA-256 | 3K | Verification | Fast | n/a | 7212 bytes | 366 bytes | 5 bytes | 716 bytes | 3108 bytes |