Professional Documents
Culture Documents
08 Rsa1
08 Rsa1
генерисање кључа
RSA алгоритам
сигурност
проблем факторизације
временски напади
2/18
3/18 4/18
RSA алгоритам (3) RSA алгоритам (4)
И пошиљалац и примаоц поруке морају да знају Med mod n = M, ће важити уколико су e и d
вредност n. мултипликативно инверзни по модулу ф(n), где
Пошиљалац мора да зна вредност e, и само је ф(n) Euler-ова Totient функција.
примаоц зна вредност d. за просте p и q важи: ф(pq) = (p-1)(q-1)
Дакле, ово је алгоритам за шифровање са јавним
кључем PU = {e, n} и приватним кључем PR = {d,
Релација између e и d може се изразити као:
n}. ed mod f(n) = 1
Да би овај алгоритам задовољио услове Ово је еквивалентно са:
шифровања са јавним кључем, морају бити ed = 1 mod ф(n)
испуњени следећи услови:
1. Могуће је наћи вредности за e, d, n такве да је d = e-1 mod ф(n)
Med mod n = M за свако M < n. Односно e и d су мултипликативно инверзни по
1. Релативно је једноставно израчунати Me mod n и Cd за mod ф(n). Ово је тачно само ако су d и e
све вредности M < n. узајамно прости у односу на ф(n), тј.
2. Незамисливо је да се може одредити d ако су познати gcd(ф(n),d) = 1
e и n.
5/18 6/18
9/18 10/18
Прорачунски аспекти -
RSA пример (2) експонентизација
може се користити квадрат и множење алгоритам
брз и ефикасан алгоритам за експонентизацију
концепт се заснива на узастопном дизању базе на
квадрат и множењу оних који су потребни да се
израчуна резултат
пример:
887 mod 187 = [(884 mod 187) x (882 mod 187) x
x (881 mod 187)] mod 187
881 mod 187 = 88
882 mod 187 = 7744 mod 187 = 77
884 mod 187 = 772 mod 187 = 5929 mod 187 = 132
887 mod 187 = (88 x 77 x 132) mod 187 = 894,432 mod
187 = 11
11/18 12/18
Прорачунски аспекти - Ефикасност коришћењем јавног
експонентизација (2) кључа
Да би се убрзало коришћење RSA алгоритма са
јавним кључем обично се користи специфични
избор вредности e.
Најчешћи избор је 65537 (216 +1)
Друга два популарна избора су 3 и 17.
Сваки од ових избора има само два бита која су
јединице тако да је број мултипликација које
су неопходне за експонентизацију минималан.
Међутим, у случају избора малих кључева, као
што су 3 и 17, алгоритам остаје рањив за
једноставне нападе, па се зато најчешће бира
65537, али се мора водити рачуна да су p и q
конгруентни са 1 (mod 65537), како би било
испуњено gcd(ф(n),e) = 1.
13/18 14/18
15/18 16/18
Проблем факторизације Временски напади
развијени су средином 90-их година
математички напади се јављају у користе варијације у трајању извршавања
три облика: операција
нпр. множење малог са великим бројем
нађу се фактори N=pq, пронађе се претпоставља се величина операнда на основу
ф(N) и затим d потрошеног времена
Код RSA варијације потрошеног времена се
налажење ф(N) директно, без јављају приликом експонентизације
одређивања p и q и затим се нађе d против мере
проналажење d директно користити константно време експонентизације
додавати случајна закашњења
верује се да су сви еквивалентни пре експонентизације помножити шифру са
случајном вредношћу
факторизацији
17/18 18/18