Есть две основные причины.
Во-первых, когда мы шифруем данные с помощью симметричного алгоритма, мы обычно хотим, чтобы каждая единица шифровала или расшифровывала единицу того же размера (игнорируя заполнение и MAC). В вашем случае, когда мы используем английские буквы, мы хотели бы также получить английские буквы, а не набор случайных чисел. Точно так же, когда мы шифруем байт, мы также хотим получить байт, поскольку компьютеры обычно работают с байтами, и так их удобнее всего обрабатывать.
Во-вторых, что более важно, неиспользование здесь модульной арифметики приводит к утечке информации, иногда большой части информации о данных. Например, если мы используем диапазон от 0 до 25 для представления наших букв, если мы видим 0 в качестве зашифрованного вывода, мы знаем, что и подушечка, и ввод были 0, и если мы видим 50, мы знаем, что оба панель и ввод были 25. Точно так же 49 говорит нам, что два задействованных числа были 24 и 25 в некотором порядке. С такой информацией и статистическим анализом мы, вероятно, сможем расшифровать зашифрованный текст.
Однако, если мы использовали модульную арифметику, то выходное значение ничего не говорит нам о блокноте или вводе, поскольку каждое выходное значение равновероятно. Если блокнот действительно случайный и используется только один раз, то он обеспечивает полную конфиденциальность.