Motivul pentru care decriptarea trebuie să fie poker face este că este posibil să se distingă părți despre cheie sau text simplu după exponentiarea modulara, la efectuarea depadding-ului. La urma urmei, partea de unpadding este susceptibilă la atacuri de padding oracle.
Operațiile modulare vor mapa întregul la o valoare arbitrară în intervalul [0, N) prin simpla efectuare a modului N pe valoarea de intrare. De obicei, acesta este cazul, deoarece acesta ar fi echivalentul matematic - aveți grijă că bibliotecile optimizate pot efectua calcule diferite.
Un atacator care este capabil să schimbe mesajul de intrare este, de obicei, capabil să aleagă singur mesajul echivalent în intervalul [0, N). Ca atare, procesarea numerelor întregi mai mari sau mai mici nu ar trebui să facă nicio diferență pentru securitatea algoritmului RSA.
Totuși, ar fi o idee proastă să eliminați aceste verificări:
- acestea ar putea fi folosite pentru a încerca să găsească o depășire a tamponului sau pentru a declanșa un alt tip de depășire;
- dimensiunea poate fi mărită pentru a schimba alte valori ale mesajului în cadrul protocolului;
- acestea ar putea fi folosite pentru a încetini sistemul, deoarece ați avea încă operația modulară inițială pe un număr de dimensiuni arbitrare.
În general: cu cât este mai mare încrederea că starea sistemului este în limite, cu atât este mai mare securitatea.Precondițiile și declarațiile de pază sunt modalități relativ ieftine de a vă asigura că intrarea este validă și că calculele nu sunt efectuate folosind valori în afara intervalului.