forked from wolfSSL/wolfssl
Fixes for benchmark with small stack (RSA was being skipped). Added Thumb2 benchmarks for STM32H753.
This commit is contained in:
@ -59,6 +59,81 @@ Benchmark complete
|
|||||||
Benchmark Test: Return code 0
|
Benchmark Test: Return code 0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### STM32H753ZI (-O2, Thumb2 ARM ASM, SP-ASM Cortex M small)
|
||||||
|
|
||||||
|
Enable CPU I-Cache and D-Cache by calling:
|
||||||
|
|
||||||
|
```c
|
||||||
|
SCB_EnableICache();
|
||||||
|
SCB_EnableDCache();
|
||||||
|
```
|
||||||
|
|
||||||
|
Build options for ARM ASM:
|
||||||
|
|
||||||
|
```c
|
||||||
|
#define WOLFSSL_ARMASM
|
||||||
|
#define WOLFSSL_ARMASM_INLINE
|
||||||
|
#define WOLFSSL_ARMASM_NO_HW_CRYPTO
|
||||||
|
#define WOLFSSL_ARMASM_NO_NEON
|
||||||
|
#define WOLFSSL_ARM_ARCH 7
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
wolfSSL version 5.6.6
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||||
|
RNG 6 MiB took 1.000 seconds, 6.079 MiB/s
|
||||||
|
AES-128-CBC-enc 17 MiB took 1.000 seconds, 17.261 MiB/s
|
||||||
|
AES-128-CBC-dec 17 MiB took 1.000 seconds, 16.748 MiB/s
|
||||||
|
AES-192-CBC-enc 15 MiB took 1.000 seconds, 14.575 MiB/s
|
||||||
|
AES-192-CBC-dec 14 MiB took 1.000 seconds, 14.209 MiB/s
|
||||||
|
AES-256-CBC-enc 13 MiB took 1.000 seconds, 12.622 MiB/s
|
||||||
|
AES-256-CBC-dec 12 MiB took 1.000 seconds, 12.378 MiB/s
|
||||||
|
AES-128-GCM-enc 8 MiB took 1.000 seconds, 8.374 MiB/s
|
||||||
|
AES-128-GCM-dec 8 MiB took 1.000 seconds, 8.374 MiB/s
|
||||||
|
AES-192-GCM-enc 8 MiB took 1.000 seconds, 7.690 MiB/s
|
||||||
|
AES-192-GCM-dec 8 MiB took 1.000 seconds, 7.690 MiB/s
|
||||||
|
AES-256-GCM-enc 7 MiB took 1.000 seconds, 7.129 MiB/s
|
||||||
|
AES-256-GCM-dec 7 MiB took 1.000 seconds, 7.104 MiB/s
|
||||||
|
AES-128-GCM-enc-no_AAD 8 MiB took 1.000 seconds, 8.472 MiB/s
|
||||||
|
AES-128-GCM-dec-no_AAD 8 MiB took 1.000 seconds, 8.472 MiB/s
|
||||||
|
AES-192-GCM-enc-no_AAD 8 MiB took 1.000 seconds, 7.764 MiB/s
|
||||||
|
AES-192-GCM-dec-no_AAD 8 MiB took 1.000 seconds, 7.715 MiB/s
|
||||||
|
AES-256-GCM-enc-no_AAD 7 MiB took 1.000 seconds, 7.153 MiB/s
|
||||||
|
AES-256-GCM-dec-no_AAD 7 MiB took 1.000 seconds, 7.153 MiB/s
|
||||||
|
GMAC Table 4-bit 17 MiB took 1.000 seconds, 16.617 MiB/s
|
||||||
|
CHACHA 29 MiB took 1.000 seconds, 28.662 MiB/s
|
||||||
|
CHA-POLY 19 MiB took 1.000 seconds, 18.848 MiB/s
|
||||||
|
POLY1305 90 MiB took 1.000 seconds, 89.771 MiB/s
|
||||||
|
SHA-224 18 MiB took 1.000 seconds, 18.042 MiB/s
|
||||||
|
SHA-256 18 MiB took 1.000 seconds, 18.042 MiB/s
|
||||||
|
SHA-384 8 MiB took 1.000 seconds, 7.544 MiB/s
|
||||||
|
SHA-512 8 MiB took 1.000 seconds, 7.568 MiB/s
|
||||||
|
SHA-512/224 8 MiB took 1.000 seconds, 7.544 MiB/s
|
||||||
|
SHA-512/256 8 MiB took 1.000 seconds, 7.520 MiB/s
|
||||||
|
HMAC-SHA224 18 MiB took 1.000 seconds, 17.896 MiB/s
|
||||||
|
HMAC-SHA256 18 MiB took 1.000 seconds, 17.896 MiB/s
|
||||||
|
HMAC-SHA384 7 MiB took 1.000 seconds, 7.373 MiB/s
|
||||||
|
HMAC-SHA512 7 MiB took 1.000 seconds, 7.397 MiB/s
|
||||||
|
RSA 2048 public 508 ops took 1.000 sec, avg 1.969 ms, 508.000 ops/sec
|
||||||
|
RSA 2048 private 14 ops took 1.020 sec, avg 72.857 ms, 13.725 ops/sec
|
||||||
|
DH 2048 key gen 30 ops took 1.012 sec, avg 33.733 ms, 29.644 ops/sec
|
||||||
|
DH 2048 agree 30 ops took 1.012 sec, avg 33.733 ms, 29.644 ops/sec
|
||||||
|
ECC [ SECP256R1] 256 key gen 982 ops took 1.000 sec, avg 1.018 ms, 982.000 ops/sec
|
||||||
|
ECDHE [ SECP256R1] 256 agree 456 ops took 1.000 sec, avg 2.193 ms, 456.000 ops/sec
|
||||||
|
ECDSA [ SECP256R1] 256 sign 520 ops took 1.000 sec, avg 1.923 ms, 520.000 ops/sec
|
||||||
|
ECDSA [ SECP256R1] 256 verify 288 ops took 1.004 sec, avg 3.486 ms, 286.853 ops/sec
|
||||||
|
CURVE 25519 key gen 1112 ops took 1.000 sec, avg 0.899 ms, 1112.000 ops/sec
|
||||||
|
CURVE 25519 agree 1144 ops took 1.000 sec, avg 0.874 ms, 1144.000 ops/sec
|
||||||
|
ED 25519 key gen 2358 ops took 1.000 sec, avg 0.424 ms, 2358.000 ops/sec
|
||||||
|
ED 25519 sign 1716 ops took 1.000 sec, avg 0.583 ms, 1716.000 ops/sec
|
||||||
|
ED 25519 verify 862 ops took 1.000 sec, avg 1.160 ms, 862.000 ops/sec
|
||||||
|
Benchmark complete
|
||||||
|
Benchmark Test: Return code 0
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### STM32H753ZI (No HW Crypto, -Os, FastMath)
|
### STM32H753ZI (No HW Crypto, -Os, FastMath)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -4251,6 +4251,7 @@ static void bench_aesgcm_internal(int useDeviceID,
|
|||||||
|
|
||||||
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
||||||
|
|
||||||
WC_CALLOC_ARRAY(enc, Aes, BENCH_MAX_PENDING,
|
WC_CALLOC_ARRAY(enc, Aes, BENCH_MAX_PENDING,
|
||||||
sizeof(Aes), HEAP_HINT);
|
sizeof(Aes), HEAP_HINT);
|
||||||
#ifdef HAVE_AES_DECRYPT
|
#ifdef HAVE_AES_DECRYPT
|
||||||
@ -4258,14 +4259,19 @@ static void bench_aesgcm_internal(int useDeviceID,
|
|||||||
sizeof(Aes), HEAP_HINT);
|
sizeof(Aes), HEAP_HINT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
if (bench_additional)
|
if (bench_additional == NULL || bench_tag == NULL || enc == NULL
|
||||||
|
#ifdef HAVE_AES_DECRYPT
|
||||||
|
|| dec == NULL
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
|
||||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
||||||
if (bench_tag)
|
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
||||||
#endif
|
|
||||||
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
|
||||||
|
|
||||||
/* init keys */
|
/* init keys */
|
||||||
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
||||||
@ -4427,14 +4433,19 @@ static void bench_aesgcm_stream_internal(int useDeviceID,
|
|||||||
sizeof(Aes), HEAP_HINT);
|
sizeof(Aes), HEAP_HINT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
if (bench_additional)
|
if (bench_additional == NULL || bench_tag == NULL || enc == NULL
|
||||||
|
#ifdef HAVE_AES_DECRYPT
|
||||||
|
|| dec == NULL
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
|
||||||
#ifdef WOLFSSL_ASYNC_CRYPT
|
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
||||||
if (bench_tag)
|
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
||||||
#endif
|
|
||||||
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
|
||||||
|
|
||||||
/* init keys */
|
/* init keys */
|
||||||
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
for (i = 0; i < BENCH_MAX_PENDING; i++) {
|
||||||
@ -4992,6 +5003,13 @@ void bench_aesxts(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(aes, XtsAes, 1, HEAP_HINT);
|
WC_ALLOC_VAR(aes, XtsAes, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (aes == NULL){
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
ret = wc_AesXtsSetKey(aes, k1, sizeof(k1), AES_ENCRYPTION,
|
ret = wc_AesXtsSetKey(aes, k1, sizeof(k1), AES_ENCRYPTION,
|
||||||
HEAP_HINT, devId);
|
HEAP_HINT, devId);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
@ -5137,6 +5155,13 @@ void bench_aesccm(int useDeviceID)
|
|||||||
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (bench_additional == NULL || bench_tag == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
|
||||||
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
|
||||||
|
|
||||||
@ -5476,6 +5501,9 @@ void bench_sm4_gcm(void)
|
|||||||
|
|
||||||
WC_DECLARE_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
WC_DECLARE_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
||||||
WC_DECLARE_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
WC_DECLARE_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
||||||
|
|
||||||
|
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
|
||||||
|
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
|
||||||
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
if (bench_additional == NULL || bench_tag == NULL) {
|
if (bench_additional == NULL || bench_tag == NULL) {
|
||||||
printf("bench_aesgcm_internal malloc failed\n");
|
printf("bench_aesgcm_internal malloc failed\n");
|
||||||
@ -8457,34 +8485,35 @@ static void bench_rsa_helper(int useDeviceID,
|
|||||||
WC_DECLARE_HEAP_ARRAY(enc, byte, BENCH_MAX_PENDING,
|
WC_DECLARE_HEAP_ARRAY(enc, byte, BENCH_MAX_PENDING,
|
||||||
rsaKeySz, HEAP_HINT);
|
rsaKeySz, HEAP_HINT);
|
||||||
|
|
||||||
#if ( !defined(WOLFSSL_RSA_VERIFY_INLINE) \
|
#if (!defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
&& !defined(WOLFSSL_RSA_PUBLIC_ONLY) )
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY))
|
||||||
WC_DECLARE_HEAP_ARRAY(out, byte, BENCH_MAX_PENDING,
|
WC_DECLARE_HEAP_ARRAY(out, byte, BENCH_MAX_PENDING,
|
||||||
rsaKeySz, HEAP_HINT);
|
rsaKeySz, HEAP_HINT);
|
||||||
#else
|
#else
|
||||||
byte* out[BENCH_MAX_PENDING];
|
byte* out[BENCH_MAX_PENDING];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
XMEMSET(out, 0, sizeof(out));
|
XMEMSET(out, 0, sizeof(out));
|
||||||
|
|
||||||
WC_ALLOC_HEAP_ARRAY(enc, byte, BENCH_MAX_PENDING,
|
WC_ALLOC_HEAP_ARRAY(enc, byte, BENCH_MAX_PENDING,
|
||||||
rsaKeySz, HEAP_HINT);
|
rsaKeySz, HEAP_HINT);
|
||||||
|
|
||||||
#if ( !defined(WOLFSSL_RSA_VERIFY_INLINE) \
|
#if (!defined(WOLFSSL_RSA_VERIFY_INLINE) && \
|
||||||
&& !defined(WOLFSSL_RSA_PUBLIC_ONLY) )
|
!defined(WOLFSSL_RSA_PUBLIC_ONLY))
|
||||||
WC_ALLOC_HEAP_ARRAY(out, byte, BENCH_MAX_PENDING,
|
WC_ALLOC_HEAP_ARRAY(out, byte, BENCH_MAX_PENDING,
|
||||||
rsaKeySz, HEAP_HINT);
|
rsaKeySz, HEAP_HINT);
|
||||||
if (out[0] == NULL) {
|
if (out[0] == NULL) {
|
||||||
ret = MEMORY_E;
|
ret = MEMORY_E;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (enc[0] == NULL) {
|
if (enc[0] == NULL) {
|
||||||
ret = MEMORY_E;
|
ret = MEMORY_E;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WOLFSSL_RSA_VERIFY_ONLY
|
#ifndef WOLFSSL_RSA_VERIFY_ONLY
|
||||||
|
WC_ALLOC_VAR(message, byte, TEST_STRING_SZ, HEAP_HINT);
|
||||||
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
if (message == NULL) {
|
if (message == NULL) {
|
||||||
ret = MEMORY_E;
|
ret = MEMORY_E;
|
||||||
@ -8955,7 +8984,12 @@ void bench_dh(int useDeviceID)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(pub2, byte, BENCH_DH_KEY_SIZE, HEAP_HINT);
|
WC_ALLOC_VAR(pub2, byte, BENCH_DH_KEY_SIZE, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(priv2, byte, BENCH_DH_PRIV_SIZE, HEAP_HINT);
|
WC_ALLOC_VAR(priv2, byte, BENCH_DH_PRIV_SIZE, HEAP_HINT);
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (pub2 == NULL || priv2 == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
(void)tmp;
|
(void)tmp;
|
||||||
|
|
||||||
@ -11491,6 +11525,13 @@ void bench_ed448KeySign(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, ed448_key, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, ed448_key, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
wc_ed448_init(genKey);
|
wc_ed448_init(genKey);
|
||||||
|
|
||||||
ret = wc_ed448_make_key(&gRng, ED448_KEY_SIZE, genKey);
|
ret = wc_ed448_make_key(&gRng, ED448_KEY_SIZE, genKey);
|
||||||
@ -11577,6 +11618,13 @@ void bench_eccsiKeyGen(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Key Gen */
|
/* Key Gen */
|
||||||
bench_stats_start(&count, &start);
|
bench_stats_start(&count, &start);
|
||||||
do {
|
do {
|
||||||
@ -11622,6 +11670,13 @@ void bench_eccsiPairGen(void)
|
|||||||
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL || ssk == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
(void)mp_init(ssk);
|
(void)mp_init(ssk);
|
||||||
pvt = wc_ecc_new_point();
|
pvt = wc_ecc_new_point();
|
||||||
wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
||||||
@ -11679,6 +11734,13 @@ void bench_eccsiValidate(void)
|
|||||||
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL || ssk == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
(void)mp_init(ssk);
|
(void)mp_init(ssk);
|
||||||
pvt = wc_ecc_new_point();
|
pvt = wc_ecc_new_point();
|
||||||
wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
||||||
@ -11742,6 +11804,13 @@ void bench_eccsi(void)
|
|||||||
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
|
||||||
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL || ssk == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
(void)mp_init(ssk);
|
(void)mp_init(ssk);
|
||||||
pvt = wc_ecc_new_point();
|
pvt = wc_ecc_new_point();
|
||||||
(void)wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
(void)wc_InitEccsiKey(genKey, NULL, INVALID_DEVID);
|
||||||
@ -11829,6 +11898,13 @@ void bench_sakkeKeyGen(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Key Gen */
|
/* Key Gen */
|
||||||
bench_stats_start(&count, &start);
|
bench_stats_start(&count, &start);
|
||||||
do {
|
do {
|
||||||
@ -11872,6 +11948,13 @@ void bench_sakkeRskGen(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
rsk = wc_ecc_new_point();
|
rsk = wc_ecc_new_point();
|
||||||
wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
|
wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
|
||||||
(void)wc_MakeSakkeKey(genKey, &gRng);
|
(void)wc_MakeSakkeKey(genKey, &gRng);
|
||||||
@ -11923,6 +12006,13 @@ void bench_sakkeValidate(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
rsk = wc_ecc_new_point();
|
rsk = wc_ecc_new_point();
|
||||||
(void)wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
|
(void)wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
|
||||||
(void)wc_MakeSakkeKey(genKey, &gRng);
|
(void)wc_MakeSakkeKey(genKey, &gRng);
|
||||||
@ -11983,6 +12073,13 @@ void bench_sakke(void)
|
|||||||
|
|
||||||
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
|
||||||
|
|
||||||
|
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||||
|
if (genKey == NULL) {
|
||||||
|
ret = MEMORY_E;
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
XMEMCPY(ssv, ssv_init, sizeof ssv);
|
XMEMCPY(ssv, ssv_init, sizeof ssv);
|
||||||
|
|
||||||
rsk = wc_ecc_new_point();
|
rsk = wc_ecc_new_point();
|
||||||
|
Reference in New Issue
Block a user