Има доста писано по нета. Най-сбито е написано в stackexchange.
Е, колко по- бързо ще е зависи от инструкциите на процесора. Толкова low-level не разбирам.
На някои процесори може и 256 да е по- бърз. Intel SHA extensions
В частност, blake2 е по- бърз, но ми е nuget, докато sha-тата ги имам в cryptographic api-то.
Е сега ще пусна на Zen architecture
Ми, специално на моята AMD машина Windows Subsystem for Linux:
Обаче на сървърите сме с малко-годишни xeon, там е по- бърз...
nekav-negar@nekav-laptop:~$ openssl speed sha256 sha512
Doing sha256 for 3s on 16 size blocks: 33960717 sha256's in 2.98s
Doing sha256 for 3s on 64 size blocks: 24800970 sha256's in 3.00s
Doing sha256 for 3s on 256 size blocks: 12545519 sha256's in 3.00s
Doing sha256 for 3s on 1024 size blocks: 4421464 sha256's in 3.00s
Doing sha256 for 3s on 8192 size blocks: 621186 sha256's in 3.00s
Doing sha256 for 3s on 16384 size blocks: 314039 sha256's in 3.02s
Doing sha512 for 3s on 16 size blocks: 8987077 sha512's in 3.00s
Doing sha512 for 3s on 64 size blocks: 9149068 sha512's in 3.00s
Doing sha512 for 3s on 256 size blocks: 4079757 sha512's in 3.00s
Doing sha512 for 3s on 1024 size blocks: 1521684 sha512's in 3.00s
Doing sha512 for 3s on 8192 size blocks: 222925 sha512's in 3.00s
Doing sha512 for 3s on 16384 size blocks: 113457 sha512's in 3.00s
OpenSSL 1.1.1d 10 Sep 2019
built on: Mon Apr 20 20:23:01 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-8Ocme2/openssl-1.1.1d=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
sha256 182339.42k 529087.36k 1070550.95k 1509193.05k 1696251.90k 1703713.57k
sha512 47931.08k 195180.12k 348139.26k 519401.47k 608733.87k 619626.50k
На Intel 7-мо би трябвало да е по- бърз.