Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

11.6.3Модульная арифметика

Описанная система шифрования с открытым ключом основана на математической концепции, известной как модульная арифметика (modular arithmetic), или модульная система. Эта система получается путем замены каждого целого числа из традиционной арифметической системы остатком, образующимся при делении этого числа на предопределенное значение. Предопределенное значение называется модулем. Например, пусть модуль равен 7, тогда целые значения О 1 2 3 4 5 6 7 8 9 ... будут преобразованы в значения О 1 2 3 4 5 6 0 1 2 ...

Для обозначения остатка, полученного при делении х на т, обычно используется сокращение х (mod m), которое читается как «х по модулю от» или иногда просто «к модуль от». Так, 9 (mod 7) равно 2, так как остаток от деления 9 на 7 равен 2. Аналогично, 24 (mod 7) равно 3, потому что при делении 24 на 7 получается остаток 3; а 5 (mod 7) равно 5.

Два целых числа, которые при делении на т дают одинаковый остаток, называются эквивалентными по модулю т. Так, 16 и 23 эквивалентны по модулю 7, так как 16 (mod 7) = 23 (mod 7). Действительно, при делении на 7 и значение 16, и 23 дают остаток 2. Для обозначения того, что значение х эквивалентно у по модулю т часто используется сокращение х = у (mod от). Так, 16 = 23 (mod 7).

После преобразования обычных целых значений в модульную систему по модулю от у нас остаются только значения 0, 1, 2, 3, ..., от - 1. Мы можем выполнять арифметические операции в пределах ограниченного набора чисел; для этого операция сначала выполняется так же, как в традиционной арифметике, а затем ответ, предположим, х, переводится обратно в ограниченный диапазон путем замены его на значение х (mod m). Так, в модульной системе по модулю 7 у нас есть только значения 0, 1, 2, 3, 4, 5 и 6. При сложении 2 + 6 мы получим значение 1, так как 2 + 6 = 8, что при делении на 7 дает в остатке 1. Результатом умножения 2x6 будет 5, так как 2x6= 12, а при делении на 7 остаток равен 5.

Арифметика в модульной системе — это искаженное отражение арифметики в традиционной системе. Она является отражением в том смысле, что если х = a (mod rri) и у = Ъ (mod т), то х + у = а + Ъ (mod m). А искажение означает, что суммы и произведения в двух системах не равны. В частности, произведение двух различных целых чисел в модульной системе может быть равно 1, что ни при каких условиях невозможно в традиционной системе целых чисел. Например, в системе по модулю 7 мы имеем 3x5 = 1 (так как 3x5= 15, а 15 -н 7 в остатке дает 1).

Два числа, которые при умножении дают 1, называются мультипликативными инверсиями друг друга. В традиционной системе целых чисел у значения 3 нет мультипликативной инверсии. Традиционная мультипликативная инверсия числа 3, которая равна '/3) лежит за пределами системы целых чисел. Но в системе целых чисел по модулю 7 у значения 3 есть мультипликативная инверсия, равная (как мы увидели) 5.

Когда же у значения х есть мультипликативная инверсия в системе по модулю ml Математики говорят, что если хит — два положительных целых числа, таких что х < т и х и т взаимно простые (это означает, что единственное целое, на которое без остатка делятся и х, и т, равно 1), то у значения х будет мульти-i пликативная инверсия в модульной системе по модулю т. Например, 6 меньше 13 и у этих двух значений единственный общий делитель равен 1. Поэтому у 6 должна быть мультипликативная инверсия в системе по модулю 13. Действительно, инверсией является число 11, так как 6 х 11 = 66, что при делении на 13 дает в остатке 1. Поэтому 6x11 = 1 (mod 13).

То, что у некоторых целых чисел есть мультипликативные инверсии в модульных системах, может с первого взгляда показаться странным. В частности, так как 6 и 11 — мультипликативные инверсии в системе по модулю 13, мы обнаружим, что 6х 11 у. х = х для любого значения х. Действительно, 6х11хх=(6хИ)хх = х