Курсов проект
Потребител A и Потребител B използват RSA при зададени стойности за p, q и е.
Да се извърши криптиране и декриптиране на текста M при следната ситуация: Потребител A иска да изпрати тайно (скрито) съобщение на потребител B, който трябва да го прочете, т.е. цели се секретност.
Потребител A и Потребител B се определят от последните две цифри на факултетния номер. При еднакви цифри, втората цифра се увеличава с единица. Пример:
203126 - Потребител A = 2 и Потребител B = 6
203122 - Потребител A = 2 и Потребител B = 3
Стойности за p, q, е и M на потребителя се определят от таблицата:
Потребител
|
p
|
q
|
e
|
M
|
|
0
|
5
|
11
|
17
|
5
|
|
1
|
7
|
11
|
13
|
6
|
|
2
|
5
|
13
|
11
|
7
|
|
3
|
7
|
13
|
23
|
8
|
|
4
|
3
|
17
|
19
|
9
|
|
5
|
5
|
17
|
17
|
5
|
|
6
|
3
|
11
|
13
|
6
|
|
7
|
5
|
11
|
23
|
7
|
|
8
|
7
|
11
|
17
|
8
|
|
9
|
5
|
13
|
13
|
9
|
|
|
|
|
|
|
|
С252128
Потребил А - p = 5, q = 13, e = 17, M = 7
Потребител В p = 7, q = 11, e = 17, M= 8
n= 7 * 11 = 77
ф(n) = (7-1)*(11-1) = 60;
e = 17
d = 17-1 mod 60
60: 17 = 3 : 9 -> 9 = 60 – 3*17 48:11=4(4) => 4= 48-4.11
17: 9 = 1 : 8 -> 8 = 17 – 1*9 11:4 = 2 : 3 => 3= 11-2.4
9 : 8 = 1 : 1 -> 1 = 9 -1*8
1 = 9 -1 * (17 – 1*9) = 9 – 17 + 1*9 = 2*9 – 17 = 2*(60 – 3*17) – 17 = 2*60 – 6*17 – 17 = 2*60 – 7*17
-7 mod 60 = -7 + 60 = 53;
d = 53; 53 * 17 mod 60 = 1
Potrebitel B
PU (17, 77)
PR (53, 77)
C = M e mod n
C = 717 mod 77
Трябва да използваме метода „повдигни на квадрат и умножи“
17 = 10001
7(10001) mod 77
7(1) = 12* 7 mod 77 = 7 mod 77 = 7
7(10) = 72 mod 77 = 49
7(100) = 492 mod 77 = 14
7(1000) = 142 mod 77 = 42
7(10001) = 422 * 7 mod 77 = 28
C = 28
PR (53, 77)
M = 2853 mod 77
53 = 110101
28(1) = 12 * 28 mod 77 = 28
28 (11) = 282 * 28 mod 77 = 7
28 (110) = 72 mod 77 = 49
28 (1101) = 492 * 28 mod 77 = 7
28 (11010) = 72 MOD 77 = 49
28 (110101) = 492 * 28 mod 77 = 7
M = 7
Сподели с приятели: |