„Deoarece caracteristicile de sincronizare ale algoritmilor simetrici nu sunt la fel de dependente de cheie precum algoritmii asimetrici, ei sunt mai rezistenți împotriva atacurilor de sincronizare.”
Acest lucru este în mare măsură, dar nu absolut adevărat.
Caracteristicile de sincronizare dependente de date (inclusiv de cheie) provin în principal din
- Execuție condiționată, așa cum se întâmplă în dacă acest bit al exponentului/multiplicatorului secret este setat, atunci…¦ comune în RSA și ECC. Rareori există așa ceva în algoritmii simetrici, iar când există potențialul de a avea o astfel de execuție condiționată (de exemplu, în AES, XOR cu un polinom fix când este setat un bit deplasat), există alternative ușoare fără.
- Înmulțirea, care pe multe procesoare necesită timp în funcție de argument. Rareori există așa ceva în algoritmii simetrici (excepție: IDEE), dar asta este esențial pentru RSA și ECC (cu excepția curbelor binare).
- Diviziune (folosită rar în cripto simetric, și la nivel de instrucțiuni și în cripto asimetric, pentru că este lent, mai ales când nu există suport hardware).
- Rotație dependentă de date; este rar (excepție: RC5, RC6).
- Căutări în tabele (de exemplu, tabele de substituție), datorită efectelor de cache. Acest lucru este comun în unii algoritmi simetrici, inclusiv DES și AES, și cea mai importantă excepție de la citat. Cu toate acestea, nu există o căutare în tabel în mulți alți algoritmi, inclusiv hash-uri (de exemplu SHA-256) și Chacha stream cipher. Iar dependențele de sincronizare dependente de cache sunt mici și, prin urmare, destul de greu de exploatat de la distanță (aceasta este o altă problemă când adversarii au un picior în CPU: pot face măsurători de sincronizare cu o mai bună acuratețe și pot șterge memoria cache; pot, de asemenea, sonda memoria cache, dar atunci ăsta nu mai este un pur atac de sincronizare).
Notă: citatul sugerează că doar variațiile de sincronizare dependente de cheie contează. Acest lucru nu este în întregime adevărat: orice dependență de timp de date non-publice ar putea fi, teoretic, un potențial vector de atac, deoarece poate scurge informații despre date.