You are on page 1of 5

Преглед

ЗАШТИТА ПОДАТАКА  Биће објашњено:


 RSA алгоритам
 алгоритам
Шифровање јавним кључем и
 прорачунски аспекти
хеш функције  ефикасност коришћењем јавног кључа

 генерисање кључа
RSA алгоритам
 сигурност

 проблем факторизације

 временски напади

2/18

RSA алгоритам RSA алгоритам (2)


 смишљен 1977. године на MIT-у од стране  Алгоритам користи израз са експонентима
Rivest, Shamir & Adleman (отуда назив)  Оригинална порука се шифрира у блоковима,
 најпознатији и највише коришћен алгоритам таквим да сваки блок има бинарну вредност
шифровања помоћу јавног кључа мању од неког броја n.
 RSA алгоритам је блок алгоритам за  Односно, величина блока мора бити мања или
шифровање у коме су оригинални подаци и једнака log2(n).
шифровани подаци цели бројеви између 0 и n-  Практично, величина блока је i бита, где је
1 за неко n.
2i < n <= 2i+1
 Типична величина за n је 1024 бита, или 309
децималних цифара. Односно n је мање од
 Шифровање и дешифровање су следећег
21024. облика, за неку оригиналну поруку M и
одговарајућу шифровану поруку C:
 Размотрићемо RSA алгоритам, почевши од
објашњења алгоритма, а затим и неких C = Me mod n
прорачунских и криптоаналитичких аспеката. M = C mod n = (Me mod n)d mod n =
d

= (Me)d mod n = Med mod n

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

RSA алгоритам (5) RSA прављење кључа


 Сада можемо да искажемо RSA алгоритам.
Састоји се од следећег:
 p,q, два проста броја (тајни, бирају се)
 n = pq (јавно, срачунато)
 e, тако да је gcd(ф(n),e) = 1;1 < e < ф(n) (јавно,
бира се)
 d = e-1(mod ф(n)) (тајни, срачунат)

 Приватни кључ се састоји од {d, n}, а јавни


кључ се састоји од {e, n}.
 Ако претпоставимо да је корисник A објавио
свој јавни кључ и да корисник B жели да
пошаље поруку M кориснику A. Тада B
срачунава C = Me mod n и шаље C. По пријему
шифрованог текста, корисник A дешифрује
израчунавајући M = Cd mod n.
7/18 8/18
RSA употреба RSA пример
1. Избор простих бројева: p=17 и q=11
2. Рачунање n = pq =17×11=187
3. Рачунање ф(n)=(p–1)(q-
1)=16×10=160
4. Избор e : gcd(e,160)=1; бирамо e=7
5. Одређујемо d: de=1 mod 160 и d <
160 Вредност је d=23 како је
23×7=161= 10×160+1
6. Објављује се јавни кључ PU={7,187}
7. Чува се тајни кључ PR={23,187}

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

RSA генерисање кључа RSA сигурност


 корисници RSA морају:  четири су могућа напада на RSA:
 изабрати два случајна проста броја - p, q  претрага свих кључева (незамисливо
 изабрати или e или d и израчунати други узевши у обзир величину бројева)
 прости p,q не смеју бити лако изведени  математички напади (засновани на
из N=pq тежини израчунавања Ф(N),
 значи да морају бити довољно велики рачунањем фактора N тј. p и q)
 типично се користе тестови засновани на
вероватноћи
 временски напади (засновани на
времену трајања дешифровања)
 експоненти e, d су инверзни, па се
користи инверзни алгоритам да се
 напади на изабрану шифру
израчуна један од другога (засновани на структури алгоритма)

15/18 16/18
Проблем факторизације Временски напади
 развијени су средином 90-их година
 математички напади се јављају у  користе варијације у трајању извршавања
три облика: операција
 нпр. множење малог са великим бројем
 нађу се фактори N=pq, пронађе се  претпоставља се величина операнда на основу
ф(N) и затим d потрошеног времена
 Код RSA варијације потрошеног времена се
 налажење ф(N) директно, без јављају приликом експонентизације
одређивања p и q и затим се нађе d  против мере
 проналажење d директно  користити константно време експонентизације
 додавати случајна закашњења
 верује се да су сви еквивалентни  пре експонентизације помножити шифру са
случајном вредношћу
факторизацији

17/18 18/18

You might also like