JacobBarthelmeh 31a6a2bf59 update copyright to 2024 | há 4 meses atrás | |
---|---|---|
.. | ||
2018_2 | há 3 anos atrás | |
2019_2 | há 6 meses atrás | |
2022_1 | há 6 meses atrás | |
README.md | há 1 ano atrás | |
bench.sh | há 2 anos atrás | |
combine.sh | há 2 anos atrás | |
eclipse_formatter_profile.xml | há 2 anos atrás | |
graph.sh | há 1 ano atrás | |
include.am | há 2 anos atrás | |
user_settings.h | há 4 meses atrás | |
wolfssl_example.c | há 4 meses atrás |
To use this example project:
standalone_bsp_0
..cproject
and .project
from IDE/XilinxSDK/2018_2 into the wolfSSL root.wolfssl/IDE/XilinxSDK/2019_2
, and select wolfCrypt_example
and wolfCrypt_example_system
. Then click "Finish"This shows the necessary steps on the basis of using the VMK180 development board.
wolfssl/IDE/XilinxSDK/2022_1
.vmk180
and click 'Next'.platform.spr
in the 'vmk180' platform project.xilmailbox
and xilsecure
libraries.cache_disable
to false
. Press 'OK' to confirm the change.wolfssl/IDE/XilinxSDK/2022_1/
. Click 'Open'.wolfCrypt_example
and wolfCrypt_example_system
, then click 'Finish'.wolfCrypt_example_system
and double-click wolfCrypt_example_system.prj
....
behind 'Platform', select your platform and click 'OK'.wolfCrypt_example_system
and right-click on the wolfCrypt_example
project. Click 'Generate Linker Script'.8 MB
. For benchmarks with big chunk sizes increase to 512 MB
.32 KB
.vmk180
platform, one can see a tree where you can also find the "Board support package" settings.
+
on the top to 'Add Domain'.minimal_stack_size
to 8000
, tick_rate
to 1000
and total_heap_size
to 8388608
. "Big chunk sizes" have not been tested under FreeRTOS.wolfCrypt_FreeRTOS_example
resp. wolfCrypt_FreeRTOS_example_system
.make: *** No rule to make target '../src/lscript.ld', needed by 'wolfCrypt_example.elf'. Stop.
: You forgot to create the linker script/path/to/wolfssl/wolfcrypt/port/xilinx/xil-versal-glue.h:30:10: fatal error: xsecure_mailbox.h: No such file or directory
: You forgot to add the xilmailbox
and/or xilsecure
libraries./path/to/wolfssl/wolfcrypt/src/port/xilinx/xil-aesgcm.c:90: undefined reference to 'Secure_AesInitialize'
(and others): You forgot to build the platform project after adding the libraries.In case one wants to write code in "wolfSSL style" in Vitis:
wolfssl/IDE/XilinxSDK/
and select the file eclipse_formatter_profile.xml
, click on 'Apply and Close'.All configuration is done through the header file in wolfssl/IDE/XilinxSDK/user_settings.h
Define WOLFSSL_XILINX_CRYPT
to enable the crypto engines. (This is the default)
Undefine WOLFSSL_XILINX_CRYPT
and define WOLFSSL_ARMASM
to enable the ARMv8 Cryptographic Extensions.
Undefine both WOLFSSL_XILINX_CRYPT
and WOLFSSL_ARMASM
to enable a software-only build.
Define WC_XIL_AESGCM_DPA_CM
to enable Counter Measures for Differential Power Analysis of the AES-GCM core. (Only available when using the crypto engines).
Undefine HAVE_HASHDRBG
to enable usage of the DRBG in the crypto engine.
Define WOLFSSL_ECDSA_DETERMINISTIC_K
to use "deterministic K" as of RFC6979. (Supported for all three build flavors).
WOLFSSL_USER_SETTINGS
in C/C++ Build->Settings->ARM v8 gcc compiler->SymbolsTested on the Zynq UltraScale+ MPSoC (ZUC102).
This is a bare-metal example for wolfCrypt only with algorithm support for:
------------------------------------------------------------------------------
wolfSSL version 4.3.0
------------------------------------------------------------------------------
wolfCrypt Benchmark (block bytes 1024, min sec each)
RNG 72 MB took 1.000 seconds, 72.388 MB/s
AES-128-GCM-enc 370 MB took 1.000 seconds, 370.312 MB/s
AES-128-GCM-dec 187 MB took 1.000 seconds, 187.451 MB/s
AES-192-GCM-enc 341 MB took 1.000 seconds, 341.382 MB/s
AES-192-GCM-dec 180 MB took 1.000 seconds, 179.663 MB/s
AES-256-GCM-enc 316 MB took 1.000 seconds, 316.382 MB/s
AES-256-GCM-dec 172 MB took 1.000 seconds, 172.485 MB/s
CHACHA 256 MB took 1.000 seconds, 255.859 MB/s
CHA-POLY 98 MB took 1.000 seconds, 97.559 MB/s
POLY1305 517 MB took 1.000 seconds, 516.895 MB/s
SHA-256 535 MB took 1.000 seconds, 534.595 MB/s
SHA-384 123 MB took 1.000 seconds, 123.291 MB/s
SHA-512 124 MB took 1.000 seconds, 123.657 MB/s
SHA3-224 70 MB took 1.000 seconds, 70.337 MB/s
SHA3-256 67 MB took 1.000 seconds, 66.528 MB/s
SHA3-384 53 MB took 1.000 seconds, 52.710 MB/s
SHA3-512 38 MB took 1.000 seconds, 37.598 MB/s
HMAC-SHA256 520 MB took 1.000 seconds, 520.093 MB/s
HMAC-SHA384 121 MB took 1.000 seconds, 121.265 MB/s
HMAC-SHA512 121 MB took 1.000 seconds, 121.289 MB/s
PBKDF2 28 KB took 1.000 seconds, 28.375 KB/s
ECC 256 key gen 8518 ops took 1.000 sec, avg 0.117 ms, 8518.000 ops/sec
ECDHE 256 agree 1818 ops took 1.000 sec, avg 0.550 ms, 1818.000 ops/sec
ECDSA 256 sign 4448 ops took 1.000 sec, avg 0.225 ms, 4448.000 ops/sec
ECDSA 256 verify 1430 ops took 1.000 sec, avg 0.699 ms, 1430.000 ops/sec
Benchmark complete
Benchmark Test: Return code 0