Există două motive principale.
În primul rând, atunci când criptăm datele cu un algoritm simetric, în general dorim ca fiecare unitate să cripteze sau să decripteze la o unitate de aceeași dimensiune (ignorând umplutura și MAC-urile). În cazul dvs., când folosim litere în limba engleză, am dori să scoatem și litere în limba engleză, și nu un set de numere aleatorii. În mod similar, atunci când criptăm un octet, vrem, de asemenea, să scoatem un octet, deoarece computerele lucrează de obicei cu octeți și este cel mai convenabil să îi procesăm în acest fel.
În al doilea rând, și mai important, neutilizarea aritmeticii modulare aici scurge informații, uneori multe informații, despre date. De exemplu, dacă folosim intervalul 0-25 pentru a reprezenta literele noastre, dacă vedem un 0 ca rezultat criptat, știm că atât pad-ul, cât și intrarea au fost 0, iar dacă vedem 50, știm că ambele pad-ul și intrarea au fost 25. În mod similar, 49 ne spune că cele două numere implicate au fost 24 și 25 într-o anumită ordine. Cu acest tip de informații și analize statistice, probabil că putem decripta textul cifrat.
Cu toate acestea, dacă am folosit aritmetica modulară, atunci valoarea de ieșire nu ne învață nimic despre pad sau intrare, deoarece fiecare valoare de ieșire este la fel de probabilă. Dacă pad-ul este cu adevărat aleatoriu și folosit o singură dată, atunci oferă o confidențialitate perfectă.