Algorytmy szyfrowania
Protocol++® obejmuje obsługę większości algorytmów szyfrowania znajdujących się w różnych standardach IEEE, NIST i IETF oraz tryby działania niezbędne do obsługi protokołów, które można znaleźć na stronie www.protocolpp.com. W przypadku wykrycia podczas uruchamiania czasu, kilka algorytmów będzie wykorzystywać akcelerację sprzętową do przetwarzania.
-
akceleracja sprzętowa x86, x64 (x86-64) używana po wykryciu (funkcja jest włączona od kilku lat)
-
wykrywanie funkcji procesora w czasie wykonywania i wybór kodu
-
obsługuje montaż liniowy w stylu GCC i MSVC oraz MASM dla x64
-
x86, x64 (x86-64), x32 zapewnia implementacje SSE2, SSE4 i AVX
-
AES, CRC, GCM i SHA wykorzystują akcelerację sprzętową ARM, Intel i PowerPC, jeśli jest dostępna
-
Losowe generowanie danych wykorzystuje instrukcje SIMD
-
Zawarte algorytmy to:
-
Standard szyfrowania danych (DES i DES-EDE3 — przyspieszenie sprzętowe)
-
DES-EBC
-
DES-CBC
-
DES-EDE3-EBC
-
DES-EDE3-CBC
-
-
Zaawansowany standard szyfrowania (AES — przyspieszenie sprzętowe)
-
AES-EBC
-
AES-CBC
-
AES-CTR
-
AES-GCM
-
AES-CCM
-
AES-XTS
-
-
-
SERPENT-EBC
-
SERPENT-CBC
-
SERPENT-CTR
-
SERPENT-GCM
-
SERPENT-CCM
-
-
NASIONKO -Koreański szyfr blokowy
-
SEED-EBC
-
SEED-CBC
-
-
ARIA (przyspieszenie sprzętowe) -Koreański standardowy szyfr narodowy
-
ARIA-CBC
-
ARIA-CTR
-
ARIA-GCM
-
ARIA-CCM
-
-
SM4 (akceleracja sprzętowa)-Chiński szyfr blokowy
-
SM4-CBC
-
SM4-CTR
-
SM4-GCM
-
SM4-CCM
-
-
kamelia -Japoński standardowy szyfr narodowy
-
Camellia-CBC
-
Camellia-CTR
-
Camellia-GCM
-
Camellia-CCM
-
-
-
Śnieg V (nadchodzący)
-
-
-
128-bitowy klucz
-
ZUC-256 z 16- i 25-bajtowymi IV
-
Zgodność
Zweryfikowano względem wszystkich dostępnych wektorów zgodności za pomocą testów CPPUNIT (zrzut ekranu z testu cppunit poniżej)

