Authentication Algorithms
Protocol++® includes support for necessary authentication algorithms found on www.protocolpp.com which can also be run stand alone. If detected at run time, most algorithms will use hardware acceleration. This feature has been enbabled for several years
-
x86, x64 (x86-64) hardware acceleration used when detected (feature has been enabled for several years)
-
run-time CPU feature detection and code selection
-
supports GCC-style and MSVC-style inline assembly, and MASM for x64
-
x86, x64 (x86-64), x32 provides SSE2, SSE4 and AVX implementations
-
AES, CRC, GCM and SHA use ARM, Intel and PowerPC hardware acceleration when available
-
Random data generation uses SIMD instructions
-
Included algorithms are:
-
SHA2-256 (hardware accelerated)
-
SHA2-384 (hardware accelerated)
-
SHA2-512 (hardware accelerated)
-
SHA3-224 (hardware accelerated)
-
SHA3-256 (hardware accelerated)
-
SHA3-384 (hardware accelerated)
-
SHA3-512 (hardware accelerated)
-
SHAKE128
-
SHAKE256
-
HMAC-SHA2-224 (hardware accelerated)
-
HMAC-SHA2-256 (hardware accelerated)
-
HMAC-SHA2-384 (hardware accelerated)
-
HMAC-SHA2-512 (hardware accelerated)
-
HMAC-SHA3-224(M)Keccak[448](M || 01, 224) (hardware accelerated)
-
HMAC-SHA3-256(M)Keccak[512](M || 01, 256) (hardware accelerated)
-
HMAC-SHA3-384(M)Keccak[768](M || 01, 384) (hardware accelerated)
-
HMAC-SHA3-512(M)Keccak[1024](M || 01, 512) (hardware accelerated)
-
POLY1305
-
SM3 - Chinese Wireless Authentication Standard
-
CRC32 - IEEE CRC 32-bit (hardware accelerated)
-
CRC32 - IETF CRC 32-bit (hardware accelerated)
-
CRC24
-
CRC16-CCITT
-
CRC12
-
CRC11
-
CRC8
-
CRC7
-
CRC5
-
General CRC with polynomial, start value, and inversion requirments at construction
-
AES-GMAC (hardware accelerated)
-
AES-CMAC (hardware accelerated)
-
AES-XCBC-MAC (hardware accelerated)
-
SNOW3G F9 - LTE/3GPP Authentication Algorithm
-
SNOW-V GHASH (F9 or AEAD) - LTE 5G Authentication Algorithm
-
ZUC F9 - LTE/3GPP Authentication Algorithm
-
ZUC-256-MAC with 16- and 25-byte IVs - LTE 5G Authentication Algorithm
