ВУЗ:
Составители:
Выражение (5) равносильно утверждению, что остатки от делений ‘a‘ и ‘b’ на N равны
17 ≡ 5 (mod 12)
означает, что
17 mod 12 = 5
5 mod 12 = 5
Для N = 12 полный набор вычетов есть {0, 1, 2, … 11}
Выражение a ≡ 1 (mod N) определяет все целые положительные ‘ a ’, остатки от деления
которых на N равны 1.
3.2. Основные свойства
18. a mod a = 0 (6)
19. (a + b) mod N = (a mod N + b mod N) mod N (7)
20. (a – b) mod N = (a mod N – b mod N) mod N (8)
21. (a * b) mod N = (a mod N) * (b mod N) mod N (9)
Доказательство — прямая подстановка . Например:
a = 60, b = 63, N = 32
(60 * 63) mod 32 =3780 mod 32 =3780 – 32 * 118 = 4
L mod N = L – N * INT(L/N)
60 mod 32 = 28, 63 mod 32 = 31
(28 * 31) mod 32 = 868 mod 32 = 4
Следствие :
Если m = a + b + c, то :
22. x
m
mod N = x
a+b+c
mod N = (x
a
x
b
x
c
) mod N =
= [(x
a
mod N)*(x
b
mod N)*(x
c
mod N)] mod N (10)
23. (a*(b+c)) mod N = ((a*b) mod N + (a*c) mod N) mod N (11)
24. x
a
⋅
i
mod N = (x
a
mod N)
i
mod N) (12)
Действительно , например 5
2⋅3
mod 11 = 5
6
mod 11 = 5
5
2
mod 11 = 3
(5
2
mod 11)
3
mod 11 = 3
3
mod 11 = 27 mod 11 = 5
Формулы (9), (10), (12) удобно использовать для расчета по mod N больших чисел
превосходящих разрядность ЭВМ .
Например: x
53
mod N
Разложим 53 на двоичные сомножители 1, 2, 4, 8, 32, 64, … .
x
53
= x
(32+16+4+1)
Надо сачала найти x
2
, x
4
= (x
2
)
2
, x
8
= (x
4
)
2
, x
16
= (x
8
)
2
, x
32
= (x
16
)
2
.
Это 5 операций умножения.
Теперь надо последовательно умножить xxxx ⋅⋅⋅
41632
еще три операции умножения. Все
операции надо делать по модулю N. Получим результат за 8 операций
Выражение (5) равносильно утверждению, что остатки от делений ‘a‘ и ‘b’ на N равны
17 ≡5 (mod 12)
означает, что
17 mod 12 = 5
5 mod 12 = 5
Для N = 12 полный набор вычетов есть {0, 1, 2, … 11}
Выражение a ≡ 1 (mod N) определяет все целые положительные ‘a’, остатки от деления
которых на N равны 1.
3.2. Основные свойства
18. a mod a = 0 (6)
19. (a + b) mod N = (a mod N + b mod N) mod N (7)
20. (a – b) mod N = (a mod N – b mod N) mod N (8)
21. (a * b) mod N = (a mod N) * (b mod N) mod N (9)
Доказательство — прямая подстановка. Например:
a = 60, b = 63, N = 32
(60 * 63) mod 32 =3780 mod 32 =3780 – 32 * 118 = 4
L mod N = L – N * INT(L/N)
60 mod 32 = 28, 63 mod 32 = 31
(28 * 31) mod 32 = 868 mod 32 = 4
Следствие:
Если m = a + b + c, то:
22. xm mod N = xa+b+c mod N = (xaxbxc) mod N =
= [(xa mod N)*(xb mod N)*(xc mod N)] mod N (10)
23. (a*(b+c)) mod N = ((a*b) mod N + (a*c) mod N) mod N (11)
a⋅i a i
24. x mod N = (x mod N) mod N) (12)
2⋅3 6
Действительно, например 5 mod 11 = 5 mod 11 = 5
2
5 mod 11 = 3
(52 mod 11)3 mod 11 = 33 mod 11 = 27 mod 11 = 5
Формулы (9), (10), (12) удобно использовать для расчета по mod N больших чисел
превосходящих разрядность ЭВМ.
Например: x53 mod N
Разложим 53 на двоичные сомножители 1, 2, 4, 8, 32, 64, ….
x53 = x(32+16+4+1)
Надо сачала найти x2, x4 = (x2)2, x8 = (x4)2, x16 = (x8)2, x32 = (x16)2.
Это 5 операций умножения.
Теперь надо последовательно умножить x 32 ⋅ x 16 ⋅ x 4 ⋅ x еще три операции умножения. Все
операции надо делать по модулю N. Получим результат за 8 операций
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
