kriptografija so javen kluc

23
доц. д-р Александар Ристески Сигурносни комуникации 1 4. Криптографски техники со јавен клуч 4.1 Идеја за јавниот клуч Витфилд Дифи претставува една од најживописните фигури меѓу криптографите во својата генерација. Роден е во 1944 година, а својата младост ја поминал во Њујоршкиот кварт Квинс. Уште како млад многу го интересирала математиката, па прочитал многу книги кои ја покриваат оваа област. Студирал на Масачусетскиот институт за технологија, каде дипломирал во 1965 година. Потоа работел на неколку места занимавајќи се со компјутерска безбедност, а во почетокот на 70-тите почнува да работи како независен стручњак за безбедност. Бил криптограф со слободен дух кој не работел ниту за владата, ниту за некоја од големите компании. Денес слободно може да се каже дека Витфилд Дифи бил првиот криптопанкер”. Дифи бил посебно засегнат од проблемот на дистрибуција на клучот. Тој бил доволно далекувид да го предвиди развојот на информатичкото општество и дигиталната револуција. Знаел дека еден ден и обичните луѓе ќе имаат компјутери во своите домови кои ќе бидат меѓусебно поврзани преку телефонска линија. Дифи размислувал дека, ако компјутерите се употребуваат за размена на пораки, луѓето имаат право да ги шифрираат тие пораки, со што би ја заштитиле својата приватност. Но, како што знаеме, шифрирањето бара безбедна размена на клучеви, што претставувало огромен проблем и практично на тој начин на јавноста би и било скратено правото на приватност. Во 1974 година, Дифи сеуште се носел со епитетот на привременкриптограф. Како таков бил повикан да ја посети IBM-овата лабораторија и да одржи кратко предавање. На своето предавање говорел за различни стратегии за решавање на проблемот на дистрибуција на клучот, но неговите идеи биле толку нејасни така што публиката со голема скепса гледала на уверувањата дека постои решение за изложениот проблем. На неговата презентација позитивно реагирал само Алан Конхајм, еден од најискусните експерти за криптографија. Тој му споменал на Дифи дека неодамна уште една личност ја посетила лабораторијата и одржала предавање на иста тема- дистрибуција на клучот. Тоа бил Мартин Хелман од Универзитетот Станфорд во Калифорнија. Уште истата вечер Дифи тргнал да се сретне со единствената личност која ја делела неговата опсесија. Дифиевиот и Хелмановиот сојуз ќе прерасне во едно од најдинамичните партнерства во криптографската историја. Мартин Хелман е роден во 1945 година во еврејскиот дел на Бронкс, но кога имал само 4 години неговото семејство се преселило во ирско-католичкиот крај. Според неговата приказна таа преселба засекогаш ги променила неговите погледи на животот, бидејќи бил различен од другите деца кои често го тепале. Поради тоа на почетокот се плашел и сакал да биде како нив, но подоцна сfатил дека тој не може да биде како другите. Својата заинтересираност за шифрите ја препишува на постојаната потреба да биде поинаков.

Upload: monika-pesik

Post on 18-Apr-2015

147 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 1

4. Криптографски техники со јавен клуч

4.1 Идеја за јавниот клуч

Витфилд Дифи претставува една од најживописните фигури меѓу криптографите во својата генерација. Роден е во 1944 година, а својата младост ја поминал во Њујоршкиот кварт Квинс. Уште како млад многу го интересирала математиката, па прочитал многу книги кои ја покриваат оваа област. Студирал на Масачусетскиот институт за технологија, каде дипломирал во 1965 година. Потоа работел на неколку места занимавајќи се со компјутерска безбедност, а во почетокот на 70-тите почнува да работи како независен стручњак за безбедност. Бил криптограф со слободен дух кој не работел ниту за владата, ниту за некоја од големите компании. Денес слободно може да се каже дека Витфилд Дифи бил првиот “криптопанкер”. Дифи бил посебно засегнат од проблемот на дистрибуција на клучот. Тој бил доволно далекувид да го предвиди развојот на информатичкото општество и дигиталната револуција. Знаел дека еден ден и обичните луѓе ќе имаат компјутери во своите домови кои ќе бидат меѓусебно поврзани преку телефонска линија. Дифи размислувал дека, ако компјутерите се употребуваат за размена на пораки, луѓето имаат право да ги шифрираат тие пораки, со што би ја заштитиле својата приватност. Но, како што знаеме, шифрирањето бара безбедна размена на клучеви, што претставувало огромен проблем и практично на тој начин на јавноста би и било скратено правото на приватност. Во 1974 година, Дифи сеуште се носел со епитетот на “привремен“ криптограф. Како таков бил повикан да ја посети IBM-овата лабораторија и да одржи кратко предавање. На своето предавање говорел за различни стратегии за решавање на проблемот на дистрибуција на клучот, но неговите идеи биле толку нејасни така што публиката со голема скепса гледала на уверувањата дека постои решение за изложениот проблем. На неговата презентација позитивно реагирал само Алан Конхајм, еден од најискусните експерти за криптографија. Тој му споменал на Дифи дека неодамна уште една личност ја посетила лабораторијата и одржала предавање на иста тема-дистрибуција на клучот. Тоа бил Мартин Хелман од Универзитетот Станфорд во Калифорнија. Уште истата вечер Дифи тргнал да се сретне со единствената личност која ја делела неговата опсесија. Дифиевиот и Хелмановиот сојуз ќе прерасне во едно од најдинамичните партнерства во криптографската историја. Мартин Хелман е роден во 1945 година во еврејскиот дел на Бронкс, но кога имал само 4 години неговото семејство се преселило во ирско-католичкиот крај. Според неговата приказна таа преселба засекогаш ги променила неговите погледи на животот, бидејќи бил различен од другите деца кои често го тепале. Поради тоа на почетокот се плашел и сакал да биде како нив, но подоцна сfатил дека тој не може да биде како другите. Својата заинтересираност за шифрите ја препишува на постојаната потреба да биде поинаков.

Page 2: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 2

Токму кога Хелман ги започнувал своите исражувања, наидува на книгата Разбивачи на шифри која била прва детална расправа за развојот на шифрите и како таква претставувала совршен буквар за криптографите-почетници. Оваа книга во текот на истражувањето била единственото Хелманово друштво се до 1974 година кога се случува средбата со Дифи. Во текот на првиот разговор Хелман сфатил дека е Дифи најдобро известената личност која дотогаш ја сретнал. И Дифи го делел истото чувство. Бидејќи Хелман не располагал со доволно финансии за да го вработи својот нов пријател како истражувач, Дифи се запишал на постдипломски студии. Почнале заедно да го проучуваат проблемот на дистрибуција на клучот, очајнички трудејќи се да пронајдат алтернатива на физичкото пренесување на клучот на големи растојанија. Наскоро им се придружил и Ралф Меркл-интелектуалец кој пребегнал од другиот истражувачки тим, каде професорот немал доволно разбирање за неговиот сон да го реши проблемот на дистрибуција на клучот. Проблемот на дистрибуција на клучот е типична приказна без крај. Ако две личности сакаат да разменат тајна порака преку телефон, оној кој ја праќа пораката ќе мора да ја шифрира. За да го направи тоа мора да употреби клуч, кој е сам по себе тајна, па така се појавува проблемот за пренесување на клучот до примателот, како подоцна би можела да се пренесе пораката. Имено, пред две личности да разменат некоја тајна (шифрирана порака) мора да имаат заедничка тајна (клуч). Кога го разгледуваме проблемот на дистрибуција на клучот, од помош би можеле да ни бидат Алиса, Боб и Ева, три измислени лика кои постанале индустриски стандард во криптографските расправи. Во типична ситуација, Алиса сака да му прати порака на Боб, или обратно, додека Ева се обидува да ги прислушкува. Ако Алиса му праќа на Боб приватни пораки, таа секоја од нив ќе ја шифрира пред да ја испрати, секогаш користејќи нов клуч. Алиса постојано се соочува со проблемот на дистрибуција на клучот - секогаш мора на сигурен начин да го проследи до Боб, како тој би можел да ги дешифрира нејзините пораки. Едно од решенијата е да Алиса и Боб се сретнуваат еднаш неделно и да разменат доволен број клучеви за сите пораки кои би биле пратени во наредните 7 дена. Личното предавање на клуч секако дека е безбедно, но е непрактично, бидејќи ако било кој од нив двајца е недостапен, системот ќе пропадне. Како алтернатива, Алиса и Боб можат да ангажираат курир, што е помалку безбедно, а чини повеќе, но на тој начин тие се ослободуваат од дел од работите. Во секој случај, изгледа дека дистрибуцијата на клучот е неизбежна. Во текот на 2000 години тоа е сметано како аксиома на криптографијата. Но, постои еден мисловен експеримент кој ја побива оваа аксиома. Да замислиме дека Алиса и Боб живеат во земја каде целиот поштенски систем е корумпиран и каде вработените во пошта ги читаат сите незаштитени пратки. Еден ден Алиса посакува да му прати на Боб порака која има многу лична природа. Ја става во железна кутија која ја затвара и ја заклучува со катанец. Така заклучената кутија ја носи во пошта, а клучот го задржува. Кога кутијата ќе стигне до Боб тој не може да ја отвори бидејќи нема клуч. Алиса би можела да го стави клучот во друга кутија, која исто така би ја затворила со катанец и би му ја пратила на Боб, но без клучот од вториот катанец, тој нема да може да ја отвори втората кутија, па според тоа нема да може да дојде ниту до клучот од првата кутија.

Page 3: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 3

Единствено решение е Алиса да направи копија од својот клуч и однапред да му ја даде на Боб таа копија, на некоја договорена средба. Значи сепак произлегува дека размената на клуч е неизбежен дел од шифрирањето. Но, дали е навистина така? Да замислиме сега вакво сценарио - како и во претходниот случај, Алиса сака да му прати на Боб порака со многу лична природа. Повторно ја става во метална кутија која ја затвара, ја заклучува со катанец и му ја праќа на Боб. Кога кутијата ќе стигне, Боб додава сопствен катанец и ја враќа кутијата на Алиса. Кога повторно ќе се најде во нејзините раце, кутијата има два катанци. Алиса тогаш го трга својот, оставајќи го катанецот на Боб и повторно му ја праќа кутијата на Боб. Овде е клучната разлика - Боб сега може да ја отвори кутијата , бидејќи е осигурена само со неговиот катанец, од кој само тој го има клучот. Последиците од оваа приказна се огромни. Таа покажува дека две личности можат безбедно да разменуваат тајни пораки, без притоа да разменуваат клучеви. За прв пат се јавува навестување дека размената на клучеви можеби и не мора да биде неизбежен дел од шифрирањето. Оваа приказна раскажана криптографски би била - Алиса користи сопствен клуч за шифрирање на порака која ја праќа на Боб, кој потоа истата повторно ја шифрира со свој клуч и ја враќа на Алиса. Кога Алиса ќе добие двојно шифрирана порака, ја трга својата шифра и таквата порака му ја враќа на Боб, кој потоа ја дешифрира својата шифра и ја чита пораката. Се чини дека со ова проблемот на дистрибуција на клучот е решен, бидејќи постапката на двојно шифрирање не бара размена на клуч. Меѓутоа, постои една голема препрека во примена на системот во кој Алиса шифрира, Боб шифрира, Алиса дешифрира, Боб дешифрира, а тоа е редоследот по кој се одвиваат горенаведените постапки. Општо земено, редоследот на шифрирање и дешифрирање е од суштинско значење и мора да се одвива според правилото “последен доаѓа, прв заминува” . Со други зборови, последната примена шифра во процесот на енкрипција, мора да биде првата која ќе се дешифрира. Во нашето замислено сценарио, Боб ја изврши последната фаза на шифрирањето, па според тоа, неговата шифра би требало да биде отстранета прва. Меѓутоа, Алиса прва ја отстрани својата шифра, пред Боб да го стори истото со својата. Да се увериме во важноста на редоследот на шифрирање и дешифрирање и да разгледаме еден конкретен пример. Нека Алиса и Боб имаат сопствени клучеви, како што е прикажано во продолжение. Алиса со помош на својот клуч ја шифрира пораката за Боб кој така шифрираниот текст го шифрира повторно со свој клуч. Алиса со помош на својот клуч делумно го дешифрира текстот и конечно Боб се обидува да со помош на својот клуч во потполност ја дешифрира пораката. КЛУЧОТ НА АЛИСА a b c d e f g h i j k l m n o p q r s t u v w x y z H F S U G T A K V D E O Y J B P N X W C Q R I M Z L КЛУЧОТ НА БОБ a b c d e f g h i j k l m n o p q r s t u v w x y z C P M G A T N O J E F W I Q B U R Y H X S D Z K L V

Page 4: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 4

Пораката е m e e t m e a t n o o n Шифрирана со клучот на Алиса Y G G C Y G H C J B B J Шифрирана со клучот на Боб L N N M L N O M E P P E Дешифрирана со клучот на Алиса Z Q Q X Z Q L X K P P K Дешифрирана со клучот на Боб w n n t w n y t x b b x Резултатот е бесмислен. Меѓутоа, доколку редоследот на дешифрирање би бил поинаков т.е доколку Боб би дешифрирал пред Алиса, почитувајќи го правилото “последен доаѓа, прв заминува”, на крајот би се добила оригиналната порака. Се поставува прашањето - ако е редоследот толку важен, како тогаш функционираше системот со катанците? Одговорот лежи во тоа што кај катанците редоследот не е важен. Може да се стават 20 катанци на една кутија и да се отклучуваат по произволен редослед. Резултатот секако ќе биде отклучена кутија. За жал, шифрарските системи се далеку почувствителни на редоследот од катанците. Иако принципот на двоен катанец не важи во светот на криптографијата, сепак ги инспирирал Дифи и Хелман да побараат практичен метод со кој би се заобиколил проблемот на дистрибуција на клучот. Со месеци тие двајца се обидувале да најдат решение. Истражувањата ги насочиле кон испитување на различни математички функции. Поголемиот број математички функции се двонасочни бидејќи е лесно да се пресметаат, но и на основа на резултатот да се дојде до почетните променливи. Но, Хелман и Дифи не ги интересирале двонасочните функции, туку тие своето внимание го насочиле кон еднонасочните. Како што самото име кажува, еднонасочните функции лесно се пресметуваат, но до почетните броеви може да се дојде само со многу сложена постапка. Со други зборови, двонасочните функции се реверзибилни, а еднонасочните не се. Модуларна аритметика е област која изобилува со еднонасочни функции и во која се оперира со ограничено множество броеви распоредени во јамка. Во обичната аритметика можеме да се обидуваме со различни броеви и на основа на добиениот резултат да донесеме заклучок дали се приближуваме кон решението или се оддалечуваме од него. Меѓутоа, аритметиката по модул не ни нуди никакви патокази кои би ни биле од помош, така што изнаоѓањето на инверзна функција е во значителна мера отежнато. Често почетните вредности на променливите можат да се погодат единствено ако се состави табела со резултатите од функцијата пресметани на основа на многу различни вредности на х. Во следната табела се дадени неколку различни резултати од една функција во нормална и модуларна аритметика. Врз база на овие резултати лесно се согледува недоследното однесување на функцијата пресметана во модуларна аритметика. Составувањето на ваква табела не бара претеран напор кога станува збор за мали броеви, но ако истото тоа треба да го направиме со релативно поголем број, задачата би била неверојатно тешка.

Page 5: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 5

х 1 2 3 4 5 6 3x 3 9 27 81 243 729

3 (mod 7)x 3 2 6 4 5 1 Табела 1: Вредности на функцијата 3x пресметани во нормална аритметика (втор ред) и во модуларна аритметика (трет ред). Вредностите на функцијата континуирано растат во нормалната аритметика, додека во модуларната резултатите се ограничени. После две години труд околу модуларната аритметика и еднонасочните функции, Хелмановата упорност дала резултати. Пролетта 1976 година тој смислил стратегија за решавање на проблемот на дистрибуција на клучот. Имено Хелман докажал дела Алиса и Боб можат да се договорат околу заеднички клуч, а притоа да не се сретнат. На тој начин ја отфрлил со векови старата аксиома. Хелмановата замисла се базирала на еднонасочна функција од обликот (mod )xY P . На почетокот Алиса и Боб договараат вредности за Y и P. Тоа можат да бидат било кои вредности – единствено ограничување е тоа дека Y мора да биде помало од Р. Овие вредности не се тајни, така што Алиса може преку телефон да му предложи на Боб Y да биде да речеме 7, а Р 11. Дури и ако телефонската линија не е безбедна и озлогласената Ева го чуе нивниот разговор, ништо нема да се случи. Нека Алиса и Боб се договориле да ја користат еднонасочната функција 7 (mod11)x . Од овој момент може да почне процесот на формирање на таен клуч, а да при тоа тие не мора да се сретнат. Бидејќи работат паралелно, нивните постапки ќе бидат објаснети во две колони од следната табела :

Page 6: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 6

АЛИСА БОБ Фаза 1 Алиса бира број на пр.3 и го држи во

тајност. Тој број го обележуваме со А Боб бира број на пр.6 и го држи во тајност. Тој број го обележуваме со В

Фаза 2 Алиса го заменува х со 3 во еднонасочната функција и го пресметува резултатот:

37 (mod11) : 7 (mod11) 343(mod11) 2A = =

Боб го заменува х со 6 во еднонасочната функција и го пресметува резултатот

67 (mod11) : 7 (mod11) 117.649(mod11) 4B = =

Фаза 3 Алиса го обележува резултатот од пресметката со α и му го праќа на Боб

Боб го обележува резултатот од пресметката со β и и го праќа на Алиса

Замена Ова обично бил пресудниот момент бидејќи Алиса и Боб разменуваат информации, така што на Ева и се пружа можност да ги шпионира. Но во овој случај се констатирало дека Ева може слободно да го слуша нивниот разговор, а со тоа да не ја загрози безбедноста на системот. Алиса и Боб можат да ја користат истата линија како и кога се договарале околу вредностите Y и Р, а Ева може да слушне дека си ги размениле броевите 2 и 4. Меѓутоа, бидејќи овие броеви не го претставуваат клучот, тоа што Ева ќе ги дознае нема никакво влијание.

Фаза 4 Алиса го зема резултатот од Боб и ја пресметува функцијата

3(mod11) : 4 (mod11)64(mod11) 9

Aβ ==

Боб го зема резултатот од Алиса и ја пресметува функцијата

6(mod11) : 2 (mod11)64(mod11) 9

Bα ==

Клуч Алиса и Боб на крајот добиле ист број – 9! Тоа е клучот!

Табела 2

Кога ќе се поминат сите чекори од табела 2, може да се види дека Алиса и Боб и покрај тоа што не се сретнале, се договориле кој ќе биде клучот со чија помош ќе ги шифрираат своите пораки. Можноста тајниот клуч да се договори преку телефонска линија претставува неверојатно достигнување. Но, ако и Ева ја прислушкува оваа линија, дали и таа би го дознала клучот? Ќе ја проучиме Хелмановата шема гледано низ призмата на Ева. Ако ја прислушкува врската, таа ќе ги дознае само следните податоци - функцијата е7 (mod11)x , Алиса праќа α = 2, а Боб β = 4. За да го открие клучот, Ева мора да го направи истото тоа што го прави и Боб, односно, знаејќи колку е В, да го претвори бројот α во клуч, или пак да го направи истото тоа што го прави и Алиса т.е знаејќи го А да го претвори β во клуч. Но Ева не ги знае вредностите А и В, бидејќи Алиса и Боб нив и не ги разменија, туку ги чуваа во тајност. Ева е во замка. Нејзе и’ преостанува само една надеж-теоретски, таа би можела на основа на вредноста α да пресмета колку е А, бидејќи α настанало како последица на замена на х со вредноста А, а Ева знае која е функцијата што ја користеле Алиса и Боб. Втората опција е да го пресмета В на основа на β, знаејќи ја функцијата. Но, на нејзина жалост, функцијата е еднонасочна, што значи дека на Алиса и Боб не им било тешко да ги претворат А

Page 7: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 7

во α, односно В во β, но за неа е речиси невозможно да ја сврти постапката, посебно ако се броевите многу големи. Боб и Алиса размениле точно онолку информации колку што им биле потребни за да го договорат клучот, но тие податоци не биле доволни за да Ева го открие тој клуч.

Дифи-Хелман-Меркловата шема за размена на клучеви е името под кој е познат овој систем кој им овозможува на Алиса и Боб да ја одржат тајноста на комуникацијата и во јавен разговор. Тоа е еден од најневеројатните изуми во научната историја, откритие кое го натерало целиот криптографски естаблишмент повторно да ги испише законите на шифрирањето.

И покрај тоа што Дифи-Хелман-Меркловата размена на клучеви е џиновски чекор нанапред, сепак системот не бил совршен бидејќи останал непрактичен. Нека на пример Алиса живее на Хаваи и сака да му испрати електронска порака на Боб кој се наоѓа во Истанбул. Боб веројатно спие, па ако Алиса сака да ја шифрира својата порака, а за тоа мора да се договори со него околу клучот, би требало и двајцата во исто време да бидат на Интернет. Но, бидејќи е тоа неизводливо во тој момент, Алиса мора да чека Боб да се разбуди, да го договорат клучот, па дури потоа таа да ја шифрира и испрати својата порака, што е многу непрактично.

Хелман разнишал еден од столбовите на криптографијата, докажувајќи дека Алиса и Боб не мора да се сретнат за да се договорат околу тајниот клуч. На неговите наследници им останало само да осмислат поефикасен начин за дистрибуција на клучот. Горенаведениот протокол за размена на клучот може да се опише со следниот алгоритам

1. Најпрво личностите А и В јавно утврдуваат еден прост број р и цел број α ( 2 ≤α ≤ р-2 ).

2. Личноста А генерира случаен природен број х таков да задоволува 2 ≤ х ≤ р-2. Потоа ја пресметува вредноста modx pα и таа вредност и ја праќа на личноста В.

3. Личноста В генерира случаен природен број y таков да задоволува 2 ≤ y ≤ р-2. Потоа ја пресметува вредноста mody pα и таа вредност и ја праќа на личноста А.

4. Личноста В на основа на примената порака xα го пресметува клучот ( ) modx yK pα= .

5. Личноста А на основа на примената порака yα го пресметува клучот ( ) mody xK pα= .

Значи заедничкиот таен клуч е modxyK pα= .

Нивниот противник кој може да ја прислушкува нивната комуникација преку несигурен комуникациски канал ги знае следните податоци

, , mod , modx yp p pα α α , па би требало од овие податоци да пресмета modxy pα . Ако противникот го стори тоа т.е ако го реши проблемот на дискретниот логаритам, тогаш и тој ќе може да го најде клучот.

Page 8: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 8

Ќе разгледаме еден конкретен пример со кој ќе провериме дали противникот може да дојде до клучот.

Пример : Да се провери дали од : modxz pα= , следи : ln modln

zx pα

= . Да

се земе : х = 7, р = 127, 10α = . Решение : во случај пресметувањето да не се врши по модул р би имале

: 710xz α= = ,

од каде што, нормално, за познато z, би ја добиле истата вредност за х :

7ln ln10 7ln ln10

zxα

= = =

Меѓутоа, кога се пресметува по модул р, х не може да се пресмета на сличен начин, иако се познати α , z и р, бидејќи за

7mod 10 mod127 20xz pα= = = , добиваме неточна вредност за х :

ln modln

zx pα

= = ln 20 mod127 1.3010ln10

= ,

т.е постои проблем во пресметувањето ткн. дискретен логаритам.

Пример : Да се пресмета пораката modxxz pα= која личноста А и ја

пратила на личноста В, како и пораката modyyz pα= која личноста В и ја

пратила на личноста А. Да се провери дали личностите А и В после пресметките добиваат иста вредност за клучот К, како и тоа дали е таа вредност иста како и modxyK pα= . Познато е : 127, 3, 4, 5p x yα= = = = .

Решение : решението го бараме со помош на Matlab. Прво ги внесуваме вредностите за , ,p xα и у :

>> p=127; >> a=3; >> x=4; >> y=5; >>

Потоа ги пресметуваме вредностите на пораките x yz иz : >> zx=mod(a^x,127) zx=

81 >> zy=mod(a^y,127) zy= 116 >>

Page 9: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 9

Личноста В ја прима пораката xz , на чија основа го пресметува клучот Kb : >> Kb=mod(zx^y,127) Kb= 36 >> Личноста А ја прима пораката yz , на чија основа го пресметува клучот Ka : >> Ka=mod(zy^x,127) Ka= 36 >> Ако го пресметуваме клучот по дефиниција modxyK pα= , добиваме >> K=mod(a^(x*y),127) K= 36 >> Гледаме дека во сите случаи се добива иста вредност за клучот Ka = Kb = K =36.

Page 10: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 10

4.2 Раѓањето на криптографијата со јавен клуч

Сите досега разгледани криптосистеми беа симетрични т.е системи со таен клуч. За сигурност на овие системи неопходно е клучот да се држи во тајност. Но, тоа е и нивниот голем недостаток, со оглед на тоа што пред шифрирањето испраќачот и примачот мораат да бидат во можност да го разменат тајниот клуч преку некој сигурен канал или пак лично да се сретнат. Во 1976 година Дифи и Хелман го нудат решението на проблемот на размена на клучот. Меѓутоа, тие двајца продолжуваат и понатаму да работат на оваа тема со тоа што Мартин Хелман го развивал својот метод за размена на клучот, додека Дифи работел на сосема поинакво решение на проблемот на дистрибуција на клучот. Така, Дифи смислил нов вид на шифра со ткн. асиметричен клуч. Имено, сите шифрарски техники до тогаш биле симетрични, што значи дека дешифрирањето претставувало обратен процес од шифрирањето. И испраќачот и примателот имаат иста информација и двајцата користат ист клуч за шифрирање и дешифрирање -нивниот однос е симетричен. Од друга страна, во асиметричниот систем, како што кажува и самото име, клучот за шифрирање и клучот за дешифрирање не се исти. Тоа значи дека, доколку Алиса го знае клучот за шифрирање, може да ја шифрира пораката, но не и да ја дешифрира. За да го стори тоа, на Алиса мора да и биде достапен и клучот за дешифрирање. Токму разликата меѓу овие два клуча е она што асиметричната шифра ја прави да биде посебна. Иако може да се смета дека Дифи го зачнал принципот на асиметрична енкрипција, сепак тој немал конкретен пример за таква шифра. Меѓутоа овој концепт сам по себе е револуционерен. Кога криптографите би успеале да пронајдат вистинска асиметрична шифра која би ги задоволувала Дифиевите услови, последиците по Алиса и Боб би биле далекусежни. Алиса би можела да состави сопствен пар од клучеви - за шифрирање и дешифрирање. Ако претпоставиме дека асиметричната шифра претставува облик на компјутерска енкрипција, тогаш Алисиниот клуч за шифрирање би бил одреден број, а клучот за дешифрирање некој друг број. Алиса го држи во тајност својот број за дешифрирање така што тој обично се нарекува нејзин приватен клуч, додека клучот за шифрирање го објавува, така што тој се нарекува Алисин јавен клуч. Ако Боб сака да и прати порака на Алиса, доволно е да го побара нејзиниот јавен клуч од нешто налик на телефонски именик и со него да ја шифрира пораката. Шифрираната порака и ја праќа на Алиса, а таа по приемот ја дешифрира со својот приватен клуч. Голема предност на овој систем е тоа што се избегнува целата сложеност на Дифи-Хелман-Меркловата размена на клучеви. Боб не мора да чека на Алисината информација како би можел да и прати шифрирана порака - доволно е само да го побара јавниот клуч. Уште поважно е тоа дека се избегнува дистрибуција на клучот. Алиса не мора во тајност да му го предаде на Боб јавниот клуч за шифрирање - сосема спротивно, сега може да го открие на сите. Нејзе и одговара да целиот свет го знае нејзиниот клуч за шифрирање, бидејќи на тој начин сите ќе

Page 11: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 11

можат да и праќаат шифрирани пораки, но никој освен неа не ќе може да ги дешифрира тие пораки. Ако се навратиме на аналогијата со катанците, асиметричната криптографија би можела да се претстави на следниот начин - секој може да го затвори катанецот, но да го отвори може само оној кој има клуч. Заклучувањето (шифрирањето) е едноставно, нешто што може да го направи секој, додека за отклучување (дешифрирање) е потребен клуч. Продолжувајќи со иста аналогија, да замислиме дека Алиса направила и катанец и клуч. Клучот ќе го зачува, но ќе направи илјадници копии од катанецот кои ќе ги подели низ поштите ширум светот. Ако Боб посака да и прати порака, ќе ја стави истата во кутија, ќе отиде во локалната пошта, ќе побара еден Алисин катанец и со него ќе ја заклучи кутијата. После тоа тој веќе нема да може да ја отклучи кутијата, но кога Алиса ќе ја добие кутијата, ќе може да ја отвори со единствениот клуч кој само таа го поседува. Системот изгледа едноставен кога ќе се објасни со помош на катанци, но пронаоѓање на математичка функција која ја врши истата работа и која може да се вметне во криптографскиот систем, е далеку од тривијална задача. Во Дифиевиот асиметричен систем, Боб ја шифрира пораката служејќи се со јавен клуч, но не е во состојба да ја дешифрира истата - тоа е во суштина еднонасочна функција. Алиса може да ја дешифрира пораката бидејќи поседува приватен клуч, посебен податок кој и овозможува да ја пресмета инверзната функција. Својот краток приказ Дифи го објавил летото 1975 година. Потоа многу научници се обидувале да пронајдат еднонасочна функција која би ги исполнила критериумите за асиметрична шифра. Но и после подолг период никој труд не вродил успех и се чинело дека Дифиевата замисла функционира само во теорија, но не и во пракса. Трката во пронаоѓање на асиметрична шифра ја добиле други истражувачи кои живееле на источниот брег на Америка. Тимот го сочинуваат тројцата научници Ron Rivest, Adi Shamir и Len Adleman. Ривест бил стручњак за компјутери, особено надарен да прифати нови идеи и да ги примени на најневеројатни места. Секогаш ги читал најновите научни трудови кои го инспирирале секогаш одново да пронаоѓа се подобри кандидати за еднонасочна функција која би го сочинувала срцето и душата на асиметричната шифра. Нажалост, секој од тројцата имал по некој недостаток. Шамир, исто така познавач на компјутерите, поседувал брилијантен ум и способност во море од неважни детали да ја воочи суштината на проблемот. И тој постојано изнаоѓал нови еднонасочни функции, но и неговите идеи постојано имале недостаток. Адлман, математичар со исклучителна енергија, дисциплина и трпение, бил задолжен за пронаоѓање на пропустите во замислите на Ривест и Шамир, така што тие не губеле време на идеи кои не ги водат никаде. Конечното откритие било Ривестово, но тој до него дошол после цела година соработка со Шамир и Адлман, без чија помош не би успеал. Откако Адлман не успеал да најде ниедна замерка во трудот, системот конечно го добива името RSA ( Rivest, Shamir, Aldman ). Во срцето на Ривестовата асиметрична шифра се наоѓа еднонасочна функција базирана на еден вид модуларна функција, опишана претходно. Таа може

Page 12: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 12

да се користи за шифрирање на текст - пораката, која е во суштина број, се става во функцијата, а резултатот е шифриран текст, односно нов број. Она што следи е едноставен математички приказ на механиката на RSA шифрирањето и дешифрирањето

1. Алиса одбира два огромни прости броеви, р и q. Тие треба да бидат многу големи, но ние заради едноставност ќе претпоставиме дека Алиса се одлучила за вредностите р=17 и q=11. Овие броеви таа мора да ги чува во тајност.

2. Алиса ги множи овие два броја и добива нов број, N. Во овој случај N=187. Сега бира нов број, е, да речеме е=7. (броевите е и (р-1)*(q-1) треба да бидат релативно прости, но во нашиот случај тоа не е премногу важно).

3. Сега Алиса може да ги објави е и N во јавноста налик на телефонски именик. Бидејќи овие два броја се неопходни за шифрирање, мораат да бидат на располагање на секој кој ќе посака да шифрира порака за Алиса. Овие два броја заедно го сочинуваат јавниот клуч. (Освен што е дел од Алисиниот јавен клуч, бројот е може да учествува и во јавниот клуч на било која друга личност. Меѓутоа, секој мора да има поинаква вредност за N, која зависи од изборот на р и q.) 4. За да пораката се шифрира, најпрво мора да биде претворена во број, М.

Броевите се претвараат, на пример, во ASCII бинарни цифри, кои може да се третираат како децимални броеви. Потоа М се шифрира во криптограм С, според формулата

(mod )eC M N= 5. Да замислиме дека Боб сака да и прати на Алиса поздрав-само буквата Х.

Во ASCII код таа е представена со бројот 1011000, што е еднакво на 88 во децимален систем. Според тоа М=88.

6. За да ја шифрира оваа порака Боб најпрво ќе го побара Алисиниот јавен клуч и ќе открие дека N=187, а е=7. На тој начин ќе ја дознае формулата за шифрирање на пораки кои и се наменети на Алиса. Знаејќи дека М=88, формулата ќе гласи

788 (mod187)C = 7. Пресметувањето на оваа формула на дигитрон не е баш едноставно,

бидејќи дигитронот не може да прикаже така големи броеви. Но, постои добар трик за пресметување на експонентот во модуларната аритметика. Бидејќи е 7=4+2+1, знаеме дека

1

2

4

7 1 2 4

88 88 88(mod187)88 7744 77(mod187)88 59.969.536 132(mod187)88 88 88 88 88 77 132

894.432 11(mod187)

= =

= =

= =

= × × = × × == =

Боб сега и праќа на Алиса шифриран текст, С = 11

Page 13: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 13

8. Знаејќи дека експоненцијалните функции во модуларната аритметика се еднонасочни, многу е тешко да се пресмета М т.е оригиналната порака, на оснава на тоа дека С=11. Според тоа, Ева не може да ја дешифрира пораката.

9. Меѓутоа, Алиса може да ја дешифрира пораката бидејќи таа поседува некои специјални информации, како што се вредностите на р и q. Таа ќе пресмета еден посебен број, d, клучот за дешифрирање, односно својот приватен клуч. Бројот d се пресметува според следната формула

е х d = 1 (mod ( p – 1 ) x ( q – 1 )) 7 x d = 1 (mod 16 x 10) 7 x d = 1 (mod 160) d = 23

(пресметувањето на d не е едноставно, но техниката позната како Евклидов алгоритам и овозможува на Алиса да го направи тоа брзо и лесно.)

10. За да ја дешифрира пораката, Алиса ќе ја примени само следната формула

23

1 2

4 16

(mod187)11 (mod187)

11 (mod187) 11 (mod187)11 (mod187) 11 (mod187)

dM CM

M

=

=

× ×=

× ×

М=11х121х55х154 (mod 187 ) M = 88 = X во ASCII Пример : Нека избереме р = 3 и q = 11. Тогаш 3 11 33N p q= ⋅ = ⋅ = и

( 1)( 1) 1 33 1 3 11 20p q N p qφ = − − = + − − = + − − = . Експонентот е мора да биде релативно прост со 20 па да речеме дека е = 7. Тогаш е d = 3. Сега е (N,e)=(33,7) јавен клуч на некоја личност, на пример С. Да претпоставиме дека некој сака на личноста С да и прати порака х = 17. Тоа значи дека е потребно да се најде колку е ( ) mode

Ce x x N= : 7 2 417 17 17 17 17 25 ( 2) 25 8(mod33)= ⋅ ⋅ ≡ ⋅ ⋅ − ≡ − ≡ .

Значи шифратот е ( ) 8Cy e x= = . Кога личноста С ќе го прими овој шифрат, го дешифрира со помош на тајниот клуч d : 3 2( ) 8 8 8 8 ( 2) 17(mod33)Cx d y= = = ⋅ ≡ ⋅ − ≡ . Гледаме дека личноста С го добива отвотениот текст х = 17.

Page 14: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 14

Пример : Да се шифрира пораката х = 5234673 која личноста В сака да и ја прати на личноста А, а потоа да се дешифрира добиениот шифрат у. Личноста А ги формирала јавниот и тајниот клуч :

- избрала прости броеви р = 2357 и q = 2551 - го пресметала бројот N = p * q = 6012707 - го пресметала бројот ф = ( p – 1 ) * (q – 1 ) = 6007800 - случајно го одбрала бројот е = 3674911 ( дел од јавниот клуч ) - со соодветен алгоритам (проширен Евклидов) го пресметала тајниот

клуч d = 422191. Решение : Јавниот клуч е подредениот пар (N, e) = (6012707, 3674911). За да личноста В, која го поседува тој јавен клуч, ја шифрира пораката х = 5234673 за личноста А, мора да го пресмета шифратот у и тоа на следниот начин :

3674911mod 5234673 mod 6012707 3650502ey x N= = = . Овој број у = 3650502 (шифратот на оригиналната порака х) личноста В и го праќа на личноста А, која пристапува кон дешифрирање, односно користејќи го бројот d – тајниот клуч пресметува:

422191mod 3650502 mod6012707 5234673dy N = = , а тој број всушност е оригиналната порака х. Пример : Да се преведе пораката „Rat“ во бинарен, а потоа во децимален број. Решение : На секоја буква и одговара по еден децимален број помал или еднаков на 127 (ASCII код). Секој таков број се запишува како низа од 7 нули и единици, додека на осмото место стои нула. На буквата „R“ и одговара бројот :

6 5 4 3 2 1 082 1 2 0 2 1 2 0 2 0 2 1 2 1 2 01010010b= ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ = . На буквата „а“ и одговара бројот :

6 5 4 3 2 1 097 1 2 1 2 0 2 0 2 0 2 0 2 1 2 01100001b= ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ = . На сличен начин за буквата „t“ се добива : 116 01110100b= . Сега пораката „Rat“ може да се запише како :

23 22 1 0( , ,..., , ) (0)10100100110000101110100 5398900bx b b b b= = = . Ќе го демонстрираме и начинот на шифрирање на оваа порака : 1. Избираме два 128 – битни прости броеви р и q : р : 10000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010101011111 q : 10000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000111011011

Page 15: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 15

2.Ги пресметуваме N и ф N = p * q : 100000000000000000000000001000000000000000000000000000100000000000000000000010000000000000000000000000010001000000000111001010100000001000000000111001010110000000000000000000000000000010000000001110010101000000000000000000001010101111110011010000101010101 ф = ( p – 1 ) * ( q – 1 ) : 100000000000000000000000001000000000000000000000000000100000000000000000000010000000000000000000000000010001000000000111001010000000001000000000111001010010000000000000000000000000000010000000001110010100000000000000000000001010101111010011001101000101100 3. Потоа бираме случаен број е, 1 < е < ф, така што е и ф освен бројот 1, немаат ниеден друг заеднички делител (взаемно прости броеви). На пример, избираме јавен клуч е = 3 или бинарно 11. 4. Го пресметуваме приватниот клуч, бројот d, 1 < d < ф, така што бројот e*d – 1 е без остаток деллив со бројот ф. d : 10101010101010101010101011010101010101010101010101011000000000000000000000001010101010101010101010101100000101010101111011100000000000101010101111011100001010101010101010101010101010110101010110100001101010101010101010101011100011111100010001000101110011 5. После пресметувањето на modey x N= ја добиваме шифрираната порака у : 10001000011111101010101101001011000011000101100100111000000101000000 6. Со дешифрирање на добиениот резултат т.е со пресметување на :

moddy N , би се добила пораката во бинарен облик : х = ( 0 )10100100110000101110100.

Page 16: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 16

За операциите множење, собирање, степенување по модул и сл. потребно е

да се извршат многу аритметички операции со големи броеви, што значително одстапуваат од класичната претстава за аритметички операции. Ќе ги опишеме алгоритмите за собирање и множење на големи броеви :

Алгоритам за собирање Влез : позитивни цели броеви х, у секој со (n + 1) цифра во базата b Излез : сума х + у = 1 1 0( ... )n bw w w+ . 1. 0c ← (пренос) 2. за i = 0, …, n повторувај ги следните чекори 2.1. ( )modi i iw x y c b= + + 2.2. ако е ( )i ix y c b+ + < тогаш 0c ← инаку 1c ← 3. 1nw c+ ← Излез 1 1 0( ... )n bw w w+ . Алгоритам за множење Влез : позитивни цели броеви х, у секој со (n + 1) и (t + 1) цифри Излез : 1 1 0( ... )n t bxy w w w+ +=

1. за i = 0, …, n + t + 1 додели 0iw ←

2. за i = 0, …, t повторувај ги следните чекори :

2.1. 0c ← 2,2 за ј = 0, ... , n повторувај ги следните чекори : Пресметај

Page 17: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 17

( )

,

b i j j i

i j

uv w x y c

w v c u

+

+

= + +

← ←

2.3. 1i nw u+ + =

3. Излез : 1 1 0( ... )n t bw w w+ +

Напомена : кога основата на бројниот систем е 2, х и у ги имаат вредностите 0 или 1. Бројот N е важен бидејќи претставува флексибилна компонента на

еднонасочната функција, што значи дека секој може да избере различна вредност за N и на тој начин да добие сопствена еднонасочна функција. За да ја добие својата лична вредност N, Алиса бира два прости броја, p и q, и ги множи. Да речеме дека ги одбрала броевите р = 17159 и q = 10247. Кога ќе ги помножи, ќе добие N = 175 828 273. Вака пресметаниот број N станува јавен клуч, па таа може да го стави на својата работна визит-карта, на својата веб страна или да го објави во именик со јавни клучеви на останатиот свет. Ако Боб сака да шифрира порака за Алиса, тој ќе ја побара вредноста на нејзиното N, која потоа ќе ја вметне во исто така јавен општ облик на еднонасочна функција. Сега Боб има еднонасочна функција скроена според Алисиниот јавен клуч, така што истата може да ја наречеме Алисина еднонасочна функција. За да ја шифрира пораката која е упатена кон Алиса, Боб во нејзината еднонасочна функција ќе ја вметне пораката, ќе го запише резултатот и ќе го прати кон Алиса.

Во тој момент, шифрираната порака е безбедна бидејќи никој не може да ја дешифрира. Бидејќи за време на енкрипцијата е користена еднонасочна функција, нејзиното инвертирање, а со самото тоа и дешифрирање на пораката, ќе биде многу комплицирано. Сега се поставува прашањето како Алиса може да го дешифрира текстот? За да може да ја прочита примената порака, таа мора да знае како да ја инвертира еднонасочната функција. Нејзе мора да и биде достапен некој посебен податок кој ќе и овозможи да ја дешифрира пораката. На нејзина среќа, Ривест еднонасочната функција ја осмислил така да оној кој ги знае вредностите на двата прости броја, р и q, односно нивниот производ N, може да ја инвертира. Иако Алиса јавно објавила дека нејзината вредност за N е 175 828 273, таа не ги открила вредностите р и q, па според тоа само таа го поседува оној посебен податок кој и овозможува да ја дешифрира сопствената порака.

N можеме да го замислиме како јавен клуч, информација која на сите им е на располагање и која е потребна за шифрирање пораки кои и се упатени на Алиса, а р и q како приватен клуч, достапен само на Алиса - податок потребен за дешифрирање на овие пораки.

Логично е да си го поставиме прашањето - ако сите знаат колку е N, јавниот клуч, тогаш сигурно некој ќе може да ги пресмета р и q, односно приватниот клуч и на тој начин да ги прочита Алисините пораки. Суштината е во тоа што, ако е N

Page 18: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 18

доволно големо, практично е невозможно да се одредат р и q и тоа е најубавиот и најелегантниот аспект на асиметричната RSA шифра.

Системот на асиметрична криптографија, наречен RSA, претставува облик на криптографија со јавен клуч. За да откриеме колку RSA системот е безбеден, можеме да го испитаме од гледна точка на Ева и да се обидеме да ја разоткриеме Алисината порака за Боб. За да ја шифрира пораката за Боб, Алиса мора да го побара неговиот јавен клуч. За да го дефинира својот јаван клуч, Боб одбрал свои почетни броеви B Bp иq и ги помножил со што го добил бројот BN . Броевите B Bp иq ги задржал во тајност бидејќи тие го сочинуваат неговиот приватен клуч за дешифрирање, а го објавил BN кое изнесува 408 508 091. Така Алиса го вметнала

BN во општата еднонасочна функција и ја шифрирала пораката за Боб. Кога ќе му стигне пораката, Боб ќе ја инвертира функцијата и ќе ја дешифрира пораката користејќи ги вредностите за B Bp иq , односно својот приватен клуч. Во меѓувреме Ева ја пресретнала пораката. Нејзина единствена надеж е дека ќе успее да ја инвертира еднонасочната функција, а тоа е возможно само ако ги знае вредностите на B Bp иq . Боб овие вредности ги чува во тајност, но Ева, како и сите други, знае дека BN = 408 508 091. Таа ќе се обиде да ги открие вредностите за B Bp иq така што ќе бара броеви чиј производ е 408 508 091. Таа постапка се нарекува факторизација.

Факторизацијата бара многу време, но колку точно ќе и биде потребно на Ева да ги открие точните множители на бројот 408 508 091? Постојат неколку начини за разложување на производ на множители. Иако некои се побрзи, а некои побавни, во суштина сите се сведуваат на проверка со кои прости броеви BN може да се подели без остаток. На пример, 3 е прост број, но BN не е деливо со 3, па Ева преминува на 5. Но, ни 5 не е множител, па Ева се обидува со следниот прост број итн. Конечно, Ева доаѓа до 18 313, прост број со кој BN е делив. Бидејќи го открила едниот множител, не и е тешко да го најде и другиот – 22 307. Ако Ева имала калкулатор и успеала да провери до четири прости броеви за една минута, тогаш неа за пресметување на B Bp иq и биле потребни 500 минути, т.е. 8 часа. Со други зборови, Ева може да го открие приватниот клуч на Боб за помалку од еден ден, што значи дека за истото тоа време може да ја дешифрира пораката која му ја пратила Алиса.

Ова баш и не е високо ниво на сигурност, но Боб можел да избере многу поголеми прости почетни броеви и на тој начин да ја зголеми безбедноста на приватниот клуч. На пример, можел да избере броеви од ред на величина 6510 . Тоа би дало вредност за N од приближно 6510 х 6510 = 13010 . Компјутер би можел да ги помножи овие два прости броја и да го пресмета N за секунда, но ако Ева сака да ја сврти постапката и да ги пресмета p и q, тоа би траело значително подолго. Точно колку долго зависи од компјутерот на Ева. Стручњакот за безбедност, Сајмон Гарфинкл проценил дека на копјутер Intel Pentium на100 MHz со 8 MB RAM меморија би му требале отприлика 50 години за да број од ред на величина 13010 го разложи на множители. Криптографите умеат да бидат параноични и да поаѓаат од најлоши можни претпоставки. Поради тоа Гарфинкл размислувал што би се

Page 19: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 19

случило ако се здружат 100 милиони РС компјутери. Се покажало дека број од ред на величина 13010 може да се разложи за отприлика 15 секунди. Поради тоа денес е општо прифатено, заради вистинска безбедност дека е потребно да се користат што поголеми прости броеви. Кај важните банкарски трансакции N се приближува до

30810 . Ако стотина милиони РС компутери ги здружат своите сили би им требало повеќе од 1000 години да ја пробијат ваквата шифра. Со доволно големи вредности на р и q, RSA шифрата е неосвоива.

Единствена закана за безбедноста на криптографијата со јавен клуч RSA е можноста да во иднина некој пронајде брз начин за разложување на N на множители. Не е незамисливо дека за 10 години, или уште утре, некој ќе открие метод за брза факторизација и со тоа ќе го направи RSA системот неупотреблив. Меѓутоа поголемиот број на математичари мислат дека факторизацијата по својата природа е тешка задача и дека постои математички закон кој ги забранува пречките. Ако тргнеме од претпоставка дека тие се во право, тогаш се чини извесно дека во догледно време ништо нема да ја загрози безбедноста на RSA шифрата.

Јавноста за RSA системот прв пат е известена во август 1977 година кога Мартин Гарднер во својата колумна „математички игри“ објавил текст под наслов „нов вид шифра за чие разбивање е потребно милион години“. Бидејќи објаснил како функционира криптографијата со јавен клуч, Гарднер на своите читатели им упатил предизвик. На текстот придодал уште еден шифриран текст со кој го приложил и јавниот клуч со кој го шифрирал

N = 114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242

362 562 561 842 935 706 935 245 733 897 830 597 123 563 958 705 058 989 075 147 599 290 026 879 543 541

Задачата била N да се разложи на множители р и q и со помош на тие броеви

да се дешифрира пораката. Наградата била 100 долари. Гарднер немал простор да ја објасни суштината на RSA системот, туку ги упатил читателите кон лабораторијата за компјутерска техника која требала да им ги прати техничките спецификации кои биле штотуку напишани. Ривест, Шамир и Адлман откога го направиле својот патент го објавиле овие технички спецификации.

Што се однесува на Гарднеровиот предизвик, шифрата е разбиена дури после 17 години. На 26 април 1994, група од 600 доброволци ги објавиле множителите кои го сочинуваат N

q = 3 490 529 510 847 650 949 147 849 619 903 898 133 417 764 638 493 387

843 990 820 577 р = 32 769 132 993 266 709 549 961 988 190 834 461 413 177 642 967 992 942

539 798 288 533 Ако се има на ум огромниот заеднички напор кој го вложиле доброволците,

некои луѓе се изненадени што RSA шифрата е разбиена за така кратко време. Но, треба да се напомене дека Гарднер во својата задача користел релативно мала

Page 20: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 20

вредност за N, од ред на величина 12910 . Денес шифрантите кои се служат со RSA системот бираат многу поголеми вредности, како би ги зачувале важните информации. Сосема е вообичаено пораките да се шифрираат со толку големи вредности N така што сите компјутери на планетата не би можеле да ја разбијат таа шифра ни за онолку милениуми колку што поминале од настанокот на Земјата.

4.3 Алтернативна историја на криптографијата со јавен клуч

Во текот на наредните 20 години, Дифи, Хелман и Меркл се здобиле со светска слава како криптографи кои го измислиле принципот на криптографија со јавен клуч, а на Ривест, Шамир и Алдман им биле препишани заслугите за развој на RSA-најсјајниот пример за практична примена на криптографија со јавен клуч. Меѓутоа, неодамна се појавиле докази според кои, криптографијата со јавен клуч е измислена во штабот за комуникација во Британската влада (Government Communications Headquarters – GCHQ) во Челтенхем.

Поради проблемите со дистрибуција на клучот, во 1969 година, војската му се обратила на Џејмс Елис, еден од најуспешните криптографи на британската влада, барајќи од него да побара решение за овој голем проблем. Елис работел во специјален оддел во рамките на GCHQ, кој имал задача да ја осигура тајноста на британските комуникации. Бидејќи бил вмешан во работи од национална безбедност, тој морал да се заколне на молчење до крајот на својата кариера.

Елис бил човек со огромно знаење. Ги читал сите научни списанија и никогаш ништо не фрлал, па и решението на проблемот почнал да го бара токму во својата библиотека од научни списанија. Многу години подоцна, се присетил на моментот кога открил дека дистрибуцијата на клучот не мора да биде неизбежен дел од криптографијата.

Случувањето кое го променило ваквиот став било откритието на еден воен извештај од непознат автор, во кој е претставена генијална идеја за обезбедување на телефонски разговор. Според таа замисла, примателот би требало да го маскира говорот на испраќачот, така што на линијата ќе воведе шум. Подоцна би можел да го отстрани, бидејќи сам го додал и ќе знае што тој шум значи. Поради практични недостатоци на овој систем, тој никогаш не е остварен, но сеедно, имал некои интересни карактеристики. Ваквата енкрипција се разликува од конвенционалната по тоа што и примателот учествува во постапката на дешифрирање. Така е родена нова идеја.

Елис предложил да примателот, Алиса, намерно создаде шум, кој би го измерила пред додавање во комуникациониот канал меѓу неа и Боб. Потоа Боб може да и прати порака на Алиса, а ако Ева го прислушкува комуникациониот канал, нема да може да ја открие пораката бидејќи таа ќе биде маскирана со шум. Ева не е во состојба да ја издвои пораката од шумот. Единствената личност која може да го отстрани шумот и да ја прочита пораката е Алиса, бидејќи само таа ја

Page 21: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 21

знае точната природа на шумот, кој што самата го додала во каналот. Елис сватил дека безбедноста е постигната без размена на клуч. Клучот бил шумот, само на Алиса и било потребно да ја знае неговата природа.

Во тек на наредните три години најсјаните умови на GCHQ се обидувале да пронајдат математичка функција која ќе ги задоволи Елисовите услови, но немало никакво решение на видик. Во септември 1973 година, на тимот се придружил нов математичар, Клифорд Кокс, кој штотуку дипломирал на Кембриџ. Тој бил специјалист за теорија на броеви, но многу малку знаел за шифрирањето. Откога неговиот ментор му ја изложил Елисовата теорија за криптографија со јавен клуч, Кокс почнал да формулира концепт, кој подоцна ќе биде познат како асиметрична шифра RSA. Ривест, Шамир и Адлман ја откриле својата формула за криптографија со јавен клуч во 1977 година, но четири години порано, младиот дипломец од Кембриџ минувал низ сосема истиот процес на размислување. Иако неговата идеја претставувала една од најмоќните тајни на GCHQ, невољата била во тоа што таа била пред своето време. Кокс открил математичка функција која овозможувала шифрирање со јавен клуч, но примената на системот сеуште претставувала тешкотија. Службата на GCHQ не била во можност да ги користи предностите на новиот вид енкрипција заради примитивните и недоволно моќни компјутери кои постоеле во тоа време.

Во почеток на наредната, 1974 година, Кокс својот труд за проблемот на криптографија со јавен клуч му го претставил на Малколм Вилијамсон, кој како шифрант само што се вработил во GCHQ. Вилијамсон се обидел да докаже дека Кокс погрешил и дека криптографија со јавен клуч не постои. Ги истражувал сите закони на математиката во потрага по некој закон кој би му помогнал. Според него криптографијата со јавен клуч била премногу добра за да биде возможна. Но, тој не успеал во својата замисла и наместо да најде грешка дошол до ново решение за дистрибуција на клучот. Вилијамсон ја откривал Дифи-Хелман-Меркловата размена на клуч практично во исто време кога и Мартин Хелман дошол до истото решение.

Во тек на следната година, Џејмс Елис, Клифорд Кокс и Малком Вилијамсон ги откриле сите фундаментални аспекти на криптографијата со јавен клуч, но биле принудени да работат во тишина. Овие тројца Британци морале во следните три години мирно да набљудуваат како нивните решенија повторно ги откриваат Дифи, Хелман, Меркл, Ривест, Шамир и Адлман и биле немоќни да направат било што по тоа прашање. Нивните коментари биле- „па добро, што се може тука“ и едноставно продолжиле со својот живот.

Иако работата на GCHQ и понатака била чувана во строга тајност, постоела една организација која знаела за откритијата до кои дошле во Британија. Американската државна безбедност, NSA, во почетокот на 1980 година, дознала за успесите на Елис, Кокс и Вилијамсон. Веројатно точно преку таа организација и Витфилд Дифи ги слушнал гласините за британските откритија, па сакајќи да ја дознае вистината се упатил да разговара со Елис.

Сосема е можно дека GCHQ никогаш не би дозволил јавноста да дознае за достигнувањата на неговиот тим и би ги чувале истите за свои цели во иднина. Но во 1997 година, Кокс одржал предавање и после цели три децении строга тајност, Елис, Кокс и Вилијамсон добиле заслужено признание.

Page 22: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 22

4.4 Други криптосистеми со јавен клуч

Rabin – ов криптосистем (Michael Rabin, 1979) – се базира на тешкотијата за наоѓање на квадратен корен по модул на фиксен сложен број. Се покажува дека овој проблем е еквивалентен со проблемот на факторизација.

Постапката за генерирање на клуч кај Rabin – овиот криптосистем е следна :

- Се одбираат два прости броја р и q со приближно иста вредност, - Се пресметува N = p * q - Бројот N претставува јавен клуч, а парот (p, q) приватен клуч

Шифрирањето на отворен текст представен во облик на цел број х се

постигнува со пресметување на :

2 mody x N=

Дешифрирањето не може да се изврши едноставно со коренување на шифратот у . Постои посебен математички алгоритам со кој, со помош на броевите N, p и q, од шифратот у се наоѓа отворениот текст х.

Еден недостаток на овој криптосистем е што за време на дешифрирањето се појавуваат 4 можни вредности на отворениот текст, па потребно е да се вршат дополнителни тестови за да се утврди вистинската вредност. Сепак, брзината на дешифрирање може да се спореди со онаа кај RSA криптосистемот, а брзината на шифрирање е значително поголема кај овој криптосистем.

ElGamal – ов криптосистем (Taher ElGamal, 1985) - се базира на

тешкотијата за пресметување на дискретен логаритам во конечни полиња (како и кај Diffie – Hellman – овиот протокол). Ќе ја опишеме постапката за генерирање на клуч, шифрирање и дешифрирање :

Генерирање на клуч : Секоја личност генерира јавен и приватен клуч на следниот начин :

- Генерира голем случаен прост број р и генератор α на мултипликативна група *

pZ (ова значи дека секој број од даденото множество може да се добие со степенување на бројот α со некој цел број);

- Селектира случајно сел број a , таков што 1 2a p≤ ≤ − , и пресметува : moda pα ;

- Јавниот клуч го представува подредената тројка : ( , , )ap α α , а приватниот клуч е a .

Page 23: Kriptografija So Javen Kluc

доц. д-р Александар Ристески – Сигурносни комуникации 23

Постапка на шифрирање и дешифрирање : Да претпоставиме дека личноста В и праќа порака х на личноста А. Тогаш личноста В ја шифрира пораката х на следниот начин :

- Го презема јавниот клуч ( , , )ap α α од личноста А ; - Генерира случаен број k таков да 1 2k p≤ ≤ − ; - Пресметува : 1 modky pα= и 2 ( )a ky x α= ⋅ mod p; - Го испраќа шифратот 1 2( ) ( , )Ae x y y y= = на личноста А.

Личноста А го дешифрира шифратот на следниот начин :

- Го користи приватниот клуч a за да пресмета : 11 modp ay p− − при што

треба да се има во предвид дека важи равенката : 1

1 1modp a a aky p y α− − − −= = ; - Ја добива пораката х пресметувајќи : 1 2( ) ( ) moda

Ax d y y y p−= = ⋅ . Пример : Ако личноста А избрала прост број р = 2357 и генератор α =2 од *

2357Z , како и приватен клуч a = 1751, да се изврши шифрирање на пораката х = 2035 од страна на личноста В, како и постапката за нејзино дешифрирање од страна на личноста А. Да се земе дека, во текот на шифрирањето, личноста В го генерирала бројот к = 1520. Решение : личноста А најпрво мора да ја пресмета и третата компонента на јавниот клуч aα :

1751mod 2 mod 2357 1185a pα = = Јавниот клуч на личноста А е : ( 2357, 2, 1185ap α α= = = ). За да личноста В ја шифрира пораката х пресметува :

15201

15202

mod 2 mod 2357 1430;( ) mod 2035 1185 mod 2357 697

k

a k

y py x p

α

α

= = =

= ⋅ = ⋅ =

Значи, личноста В и праќа 1 1430y = и 2 697y = на личноста А. Личноста А ја дешифрира пораката пресметувајќи :

1 6051 1

1 2

1430 872(mod 2357);( ) 872 697 2035(mod 2357)

a p a

a

y yx y y

− − −

≡ ≡ ≡

= ⋅ ≡ ⋅ ≡

.