มีสองสาเหตุหลัก
ประการแรก เมื่อเราเข้ารหัสข้อมูลด้วยอัลกอริทึมแบบสมมาตร โดยทั่วไปเราต้องการให้แต่ละหน่วยเข้ารหัสหรือถอดรหัสเป็นหน่วยที่มีขนาดเท่ากัน (ละเว้นการเติมและ MAC) ในกรณีของคุณ เมื่อเราใช้ตัวอักษรภาษาอังกฤษ เราต้องการดึงตัวอักษรภาษาอังกฤษออกมาด้วย ไม่ใช่ชุดตัวเลขสุ่ม ในทำนองเดียวกัน เมื่อเราเข้ารหัสไบต์ เราก็ต้องการแยกไบต์ออกด้วย เนื่องจากคอมพิวเตอร์มักจะทำงานกับไบต์ และสะดวกที่สุดในการประมวลผลด้วยวิธีนั้น
ประการที่สองและที่สำคัญกว่านั้น การไม่ใช้เลขคณิตแบบโมดูลาร์จะทำให้ข้อมูลรั่วไหล ซึ่งบางครั้งอาจมีข้อมูลจำนวนมาก เกี่ยวกับข้อมูลนั้น ตัวอย่างเช่น หากเราใช้ช่วง 0-25 เพื่อแสดงตัวอักษร หากเราเห็น 0 เป็นเอาต์พุตที่เข้ารหัส เรารู้ว่าทั้งแพดและอินพุตเป็น 0 และถ้าเราเห็น 50 เราก็รู้ว่าทั้งสอง แผ่นและอินพุตคือ 25 ในทำนองเดียวกัน 49 บอกเราว่าตัวเลขสองตัวที่เกี่ยวข้องคือ 24 และ 25 ตามลำดับ ด้วยข้อมูลประเภทนั้นและการวิเคราะห์ทางสถิติ เราอาจสามารถถอดรหัสข้อความรหัสได้
อย่างไรก็ตาม ถ้าเราใช้เลขคณิตแบบแยกส่วน ค่าเอาต์พุตไม่ได้สอนอะไรเราเกี่ยวกับแพดหรืออินพุต เนื่องจากค่าเอาต์พุตทุกค่ามีโอกาสเท่าๆ กัน หากแผ่นรองสุ่มและใช้เพียงครั้งเดียวจริงๆ ก็จะเป็นความลับที่สมบูรณ์แบบ