Valoarea rezultatului sha1 este „viteza” combinației ctr + hmac sha1 pentru că este blocajul sau trebuie să scad aceste două valori pentru a obține viteza combinată a ctr + hmac sha1?
În primul rând, ar trebui să utilizați AES-CBC doar pentru a vă asigura că utilizați combinația corectă de algoritmi. AES-CBC este mult mai lent decât AES-CTR pe aparatul meu. Acest lucru se datorează probabil tamponării; este posibil să se precalculeze părți mari din fluxul cheie pentru AES-CTR.
Pachetele TLS au, de obicei, o dimensiune de aproximativ 1,5 K, așa că ați putea folosi blocurile de 1024 de octeți ca cel mai bun indicator. Am făcut testul de viteză cu SHA-1, AES-CBC și AES-GCM.
Deci, să folosim următoarele valori:
SHA-1 (reprezentând HMAC-SHA-1): 1467708 kB/s
AES-CBC: 1330523 kB/s
AES-GCM: 3346640 k
În loc de GB/s, ar trebui să vă uitați la ns per kB, astfel puteți adăuga timpul de procesare împreună și apoi îl puteți calcula înapoi la GB/s după cum doriți.
Acum putem calcula viteza lui SHA-1 + CBC efectuând:
$$T_{SHA-1\&CBC} = {1 \over {1 \over T_{SHA-1}} + {1 \over T_{AES-CBC}}}$$
Unde $T$ este viteza de transfer în octeți pe secundă.
Aceasta va avea ca rezultat următoarea valoare: 697876 kB/s pentru SHA-1 + AES-CBC.Aceasta înseamnă că AES-GCM este de aproximativ 4,8 ori mai rapid decât SHA-1 + AES-CBC pentru o implementare normală, fără fire. Aceasta presupune că HMAC are aceeași viteză cu SHA-1 (ceea ce este aproximativ adevărat după toate probabilitățile, chiar dacă trebuie să proceseze puțin mai multe date).