Skip to content

updating the build with SGX #8463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

JacobBarthelmeh
Copy link
Contributor

@JacobBarthelmeh JacobBarthelmeh self-assigned this Feb 17, 2025
@JacobBarthelmeh
Copy link
Contributor Author

Making use of the example changes here (wolfSSL/wolfssl-examples#488). This is a comparison of performance:

With assembly optimizations:

$ ./App -b

Benchmark Test:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG_HEALTH_TEST_CHECK_SIZE = 128
sizeof(seedB_data)         = 128
RNG_HEALTH_TEST_CHECK_SIZE = 128
sizeof(seedB_data)         = 128
RNG                         80 MiB took 1.011 seconds,   79.112 MiB/s
AES-128-CBC-enc           1035 MiB took 1.002 seconds, 1032.945 MiB/s
AES-128-CBC-dec           4045 MiB took 1.000 seconds, 4044.483 MiB/s
AES-192-CBC-enc            885 MiB took 1.005 seconds,  880.944 MiB/s
AES-192-CBC-dec           3490 MiB took 1.001 seconds, 3486.384 MiB/s
AES-256-CBC-enc            765 MiB took 1.002 seconds,  763.182 MiB/s
AES-256-CBC-dec           3030 MiB took 1.001 seconds, 3027.351 MiB/s
AES-128-GCM-enc           3370 MiB took 1.000 seconds, 3369.508 MiB/s
AES-128-GCM-dec           3390 MiB took 1.001 seconds, 3386.380 MiB/s
AES-192-GCM-enc           3145 MiB took 1.001 seconds, 3142.386 MiB/s
AES-192-GCM-dec           3120 MiB took 1.000 seconds, 3119.697 MiB/s
AES-256-GCM-enc           2810 MiB took 1.001 seconds, 2808.096 MiB/s
AES-256-GCM-dec           2795 MiB took 1.002 seconds, 2790.226 MiB/s
AES-128-GCM-enc-no_AAD    3375 MiB took 1.001 seconds, 3373.253 MiB/s
AES-128-GCM-dec-no_AAD    3395 MiB took 1.001 seconds, 3390.000 MiB/s
AES-192-GCM-enc-no_AAD    3150 MiB took 1.001 seconds, 3145.320 MiB/s
AES-192-GCM-dec-no_AAD    3125 MiB took 1.002 seconds, 3120.279 MiB/s
AES-256-GCM-enc-no_AAD    2820 MiB took 1.001 seconds, 2817.194 MiB/s
AES-256-GCM-dec-no_AAD    2810 MiB took 1.001 seconds, 2807.858 MiB/s
GMAC Default              1315 MiB took 1.000 seconds, 1314.683 MiB/s
3DES                        30 MiB took 1.165 seconds,   25.760 MiB/s
MD5                        535 MiB took 1.002 seconds,  534.025 MiB/s
SHA                        435 MiB took 1.004 seconds,  433.438 MiB/s
SHA-256                    195 MiB took 1.025 seconds,  190.312 MiB/s
HMAC-MD5                   535 MiB took 1.002 seconds,  534.189 MiB/s
HMAC-SHA                   430 MiB took 1.007 seconds,  427.133 MiB/s
HMAC-SHA256                195 MiB took 1.026 seconds,  190.064 MiB/s
PBKDF2                      23 KiB took 1.001 seconds,   22.547 KiB/s
RSA     2048   public     44900 ops took 1.000 sec, avg 0.022 ms, 44886.173 ops/sec
RSA     2048  private      1600 ops took 1.065 sec, avg 0.666 ms, 1501.930 ops/sec
DH      2048  key gen      3028 ops took 1.000 sec, avg 0.330 ms, 3027.761 ops/sec
DH      2048    agree      3100 ops took 1.008 sec, avg 0.325 ms, 3076.740 ops/sec
ECC   [      SECP256R1]   256  key gen     56900 ops took 1.002 sec, avg 0.018 ms, 56801.667 ops/sec
ECDHE [      SECP256R1]   256    agree     15500 ops took 1.004 sec, avg 0.065 ms, 15441.874 ops/sec
ECDSA [      SECP256R1]   256     sign     37600 ops took 1.000 sec, avg 0.027 ms, 37593.421 ops/sec
ECDSA [      SECP256R1]   256   verify     14000 ops took 1.006 sec, avg 0.072 ms, 13917.731 ops/sec
Benchmark complete
wolfSSL Entering wolfCrypt_Cleanup
Benchmark Test: Return code 0

Without assembly optimizations:

$ ./App -b

Benchmark Test:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG_HEALTH_TEST_CHECK_SIZE = 128
sizeof(seedB_data)         = 128
RNG_HEALTH_TEST_CHECK_SIZE = 128
sizeof(seedB_data)         = 128
RNG                         75 MiB took 1.020 seconds,   73.553 MiB/s
AES-128-CBC-enc            240 MiB took 1.004 seconds,  239.136 MiB/s
AES-128-CBC-dec            280 MiB took 1.014 seconds,  276.167 MiB/s
AES-192-CBC-enc            205 MiB took 1.018 seconds,  201.288 MiB/s
AES-192-CBC-dec            225 MiB took 1.009 seconds,  223.033 MiB/s
AES-256-CBC-enc            180 MiB took 1.028 seconds,  175.080 MiB/s
AES-256-CBC-dec            195 MiB took 1.021 seconds,  191.078 MiB/s
AES-128-GCM-enc             55 MiB took 1.063 seconds,   51.728 MiB/s
AES-128-GCM-dec             55 MiB took 1.061 seconds,   51.824 MiB/s
AES-192-GCM-enc             50 MiB took 1.005 seconds,   49.757 MiB/s
AES-192-GCM-dec             50 MiB took 1.006 seconds,   49.689 MiB/s
AES-256-GCM-enc             50 MiB took 1.042 seconds,   47.965 MiB/s
AES-256-GCM-dec             50 MiB took 1.044 seconds,   47.914 MiB/s
AES-128-GCM-enc-no_AAD      55 MiB took 1.061 seconds,   51.843 MiB/s
AES-128-GCM-dec-no_AAD      55 MiB took 1.062 seconds,   51.792 MiB/s
AES-192-GCM-enc-no_AAD      50 MiB took 1.005 seconds,   49.763 MiB/s
AES-192-GCM-dec-no_AAD      50 MiB took 1.005 seconds,   49.763 MiB/s
AES-256-GCM-enc-no_AAD      50 MiB took 1.043 seconds,   47.957 MiB/s
AES-256-GCM-dec-no_AAD      50 MiB took 1.043 seconds,   47.954 MiB/s
GMAC Default                67 MiB took 1.005 seconds,   66.678 MiB/s
3DES                        30 MiB took 1.154 seconds,   25.989 MiB/s
MD5                        535 MiB took 1.000 seconds,  534.753 MiB/s
SHA                        425 MiB took 1.010 seconds,  420.867 MiB/s
SHA-256                    195 MiB took 1.012 seconds,  192.623 MiB/s
HMAC-MD5                   535 MiB took 1.000 seconds,  534.753 MiB/s
HMAC-SHA                   425 MiB took 1.010 seconds,  420.669 MiB/s
HMAC-SHA256                195 MiB took 1.013 seconds,  192.520 MiB/s
PBKDF2                      23 KiB took 1.001 seconds,   22.675 KiB/s
RSA     2048   public      6000 ops took 1.012 sec, avg 0.169 ms, 5927.999 ops/sec
RSA     2048  private       200 ops took 1.849 sec, avg 9.247 ms, 108.139 ops/sec
DH      2048  key gen       261 ops took 1.002 sec, avg 3.839 ms, 260.505 ops/sec
DH      2048    agree       300 ops took 1.149 sec, avg 3.829 ms, 261.162 ops/sec
ECC   [      SECP256R1]   256  key gen      7400 ops took 1.005 sec, avg 0.136 ms, 7364.569 ops/sec
ECDHE [      SECP256R1]   256    agree      2800 ops took 1.020 sec, avg 0.364 ms, 2744.463 ops/sec
ECDSA [      SECP256R1]   256     sign      4900 ops took 1.008 sec, avg 0.206 ms, 4859.371 ops/sec
ECDSA [      SECP256R1]   256   verify      2500 ops took 1.026 sec, avg 0.411 ms, 2435.650 ops/sec
Benchmark complete
wolfSSL Entering wolfCrypt_Cleanup
Benchmark Test: Return code 0

CPU used:

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 78
model name	: Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz
stepping	: 3
microcode	: 0xf0
cpu MHz		: 800.008
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit srbds mmio_stale_data
bogomips	: 4999.90
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

@JacobBarthelmeh JacobBarthelmeh force-pushed the sgx branch 2 times, most recently from 756d396 to 13c0748 Compare May 5, 2025 17:29
@JacobBarthelmeh
Copy link
Contributor Author

Retest this Jenkins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant