Có hai lý do chính.
Đầu tiên, khi chúng tôi mã hóa dữ liệu bằng thuật toán đối xứng, chúng tôi thường muốn mỗi đơn vị mã hóa hoặc giải mã thành một đơn vị có cùng kích thước (bỏ qua phần đệm và MAC). Trong trường hợp của bạn, khi chúng tôi đang sử dụng các chữ cái tiếng Anh, chúng tôi cũng muốn lấy các chữ cái tiếng Anh chứ không phải một tập hợp các số ngẫu nhiên. Tương tự, khi mã hóa một byte, chúng ta cũng muốn lấy ra một byte, vì máy tính thường làm việc với byte và xử lý chúng theo cách đó là thuận tiện nhất.
Thứ hai, và quan trọng hơn, việc không sử dụng số học mô-đun ở đây sẽ làm rò rỉ thông tin, đôi khi là rất nhiều thông tin, về dữ liệu. Ví dụ: nếu chúng tôi đang sử dụng phạm vi 0-25 để biểu thị các chữ cái của mình, nếu chúng tôi thấy 0 là đầu ra được mã hóa, chúng tôi biết rằng cả bàn phím và đầu vào đều là 0 và nếu chúng tôi thấy 50, chúng tôi biết rằng cả hai bàn phím và đầu vào là 25. Tương tự, 49 cho chúng ta biết rằng hai số liên quan là 24 và 25 theo thứ tự nào đó. Với loại thông tin và phân tích thống kê đó, chúng ta có thể giải mã được bản mã.
Tuy nhiên, nếu chúng ta sử dụng số học mô-đun, thì giá trị đầu ra không cho chúng ta biết bất cứ điều gì về phần đệm hoặc đầu vào, vì mọi giá trị đầu ra đều có khả năng như nhau. Nếu bộ đệm thực sự là ngẫu nhiên và chỉ được sử dụng một lần, thì nó cung cấp tính bảo mật hoàn hảo.