< Return to Video

Шта је криптографија? (15 min)

  • 0:00 - 0:03
    Пре него што пређемо на градиво техничке природе, желим да вам дам кратак
  • 0:03 - 0:06
    преглед о чему се заправо ради у криптографији и о њеним различитим областима.
  • 0:06 - 0:10
    Срж криптографије је наравно безбедна комуникација која се у суштини
  • 0:10 - 0:15
    састоји из два дела. Први део је успостављање тајног кључа
  • 0:15 - 0:19
    а други део безбедно комуницирање помоћу дељеног кључа. Већ смо рекли да се
  • 0:19 - 0:23
    успостављање тајног кључа своди на слање порука између Алисе и Боба
  • 0:23 - 0:27
    тако да на крају овог протокола постоји заједнички кључ о коме
  • 0:27 - 0:31
    су се обоје сложили, заједнички кључ k, и да, осим заједничког кључа,
  • 0:31 - 0:35
    Алиса зна да разговара са Бобом и Боб зна да разговара са Алисом.
  • 0:35 - 0:40
    Али сироти нападач који прислушкује овај разговор нема никакву представу о томе
  • 0:40 - 0:44
    шта је вредност заједничког кључа. Касније ћемо у течају да видимо како се ово постиже.
  • 0:44 - 0:48
    Једном када имају заједнички кључ, они желе да размењују поруке безбедно коришћењем кључа,
  • 0:48 - 0:52
    па ћемо да говоримо о начинима шифровања који им омогућавају да то чине
  • 0:52 - 0:55
    на такав начин да нападач не може да открије које поруке се размењују.
  • 0:55 - 1:00
    Осим тога, нападач не може да се меша у саобраћај а да не буде примећен.
  • 1:00 - 1:03
    Другим речима, ови начини шифровања омогућавају како тајност тако и
  • 1:03 - 1:07
    веродостојност. Али криптографија омогућава још много, много више него
  • 1:07 - 1:11
    ове две ствари. И желео бих да вам дам пар примера за ово. Први пример који
  • 1:11 - 1:14
    желим да вам дам је такозвани дигитални потпис. Дигитални потпис је
  • 1:14 - 1:19
    у суштини попут потписа у природном свету. Када у природном
  • 1:19 - 1:23
    свету потпишете документ, ставили сте свој потпис на њега,
  • 1:23 - 1:28
    и ваш потпис је увек исти. Увек стављате исти
  • 1:28 - 1:32
    потпис на све документе које желите да потпишете. У дигиталном свету, ово
  • 1:32 - 1:37
    није могуће, јер када би нападач прибавио макар само један документ који сам ја потписао,
  • 1:37 - 1:41
    он би могао да исече и залепи мој потпис на неки други документ који можда нисам
  • 1:41 - 1:45
    желео да потпишем. Тако да једноставно није могуће да у дигиталном свету
  • 1:45 - 1:50
    мој потпис буде исти за све документе које желим да потпишем. Тако да ћемо
  • 1:50 - 1:54
    у другом делу течаја да говоримо о томе како се праве дигитални потписи.
  • 1:54 - 1:58
    То је заиста занимљива примитива, и видећемо како се управо то ради.
  • 1:58 - 2:02
    Да вам наговестим, дигитални потписи се добијају
  • 2:02 - 2:06
    у функцији садржаја који се потписује. Тако да нападач који
  • 2:06 - 2:10
    покушава да копира мој потпис са једног документа на други не може да успе у томе,
  • 2:10 - 2:15
    зато што потпис на новом документу није одговарајућа функција
  • 2:15 - 2:19
    података у новом документу, и због тога потпис неће бити потврђен. Као што сам рекао,
  • 2:19 - 2:23
    касније ћемо да видимо како се управо добијају дигитални потписи, а затим ћемо
  • 2:23 - 2:27
    да докажемо да су такве конструкције безбедне. Још једна примена криптографије коју
  • 2:27 - 2:31
    сам желео да споменем, јесте анонимна комуникација. Замислите да корисник
  • 2:31 - 2:36
    Алиса жели да се обрати неком серверу за ћаскање, Бобу. И, можда жели да разговара о
  • 2:36 - 2:40
    неком медицинском стању, и жели да то учини анонимно, тако да сервер
  • 2:40 - 2:45
    не зна ко је она. Постоји стандардни поступак, који се назива
  • 2:45 - 2:50
    микснет, који омогућава Алиси да комуницира преко јавне интернет мреже са Бобом преко
  • 2:50 - 2:55
    низа посредника, тако да на крају комуникације Боб нема представу о томе са ким
  • 2:55 - 3:00
    је управо разговарао. Микснет ради тако што Алиса шаље своје поруке
  • 3:00 - 3:04
    Бобу преко низа посредника, ове поруке се шифрују
  • 3:04 - 3:08
    и дешифрују тако да Боб нема представу о томе са ким је разговарао, а сами посредници
  • 3:08 - 3:13
    не знају чак ни то да Алиса разговара са Бобом, или још уопштеније
  • 3:13 - 3:17
    ко разговара са ким. Занимљивост везана за овај анонимни
  • 3:17 - 3:20
    канал комуникације је што је ово обострано. Другим речима,
  • 3:20 - 3:25
    чак иако Боб нема представу са ким разговара, он може да одговори Алиси и
  • 3:25 - 3:29
    Алиса ће да добије те поруке. Када имамо анонимну комуникацију, можемо да надоградимо
  • 3:29 - 3:34
    друге механизме приватности. Желим да вам дам један пример који се зове анонимна
  • 3:34 - 3:38
    дигитална готовина. Приметите да када у природном свету имам долар,
  • 3:38 - 3:42
    могу да уђем у књижару и купим књигу, и трговац не би знао
  • 3:42 - 3:47
    ко сам ја. Питање је да ли можемо да имамо то исто у
  • 3:47 - 3:51
    дигиталном свету. Алиса у дигиталном свету може да има дигитални долар,
  • 3:51 - 3:56
    дигитални новчић од једног долара. И можда жели да потроши тај новац на неку куповину преко
  • 3:56 - 4:01
    мреже, рецимо у мрежној књижари. Желимо да постигнемо то да
  • 4:01 - 4:06
    када Алиса потроши свој новчић у књижари, књижара не може да зна
  • 4:06 - 4:11
    ко је Алиса. Тако да омогућавамо исту анонимност коју имамо приликом коришћења праве готовине.
  • 4:11 - 4:15
    Проблем је што у дигиталном свету, Алиса може да узме свој новчић
  • 4:15 - 4:20
    од једног долара, и пре него што га потроши, може да направи његове дупликате.
  • 4:20 - 4:24
    Тако да уместо да има само један новчић,
  • 4:24 - 4:28
    сада има три новчића, и они су сви истоветни наравно,
  • 4:28 - 4:32
    тако да је ништа не спречава да узме ове копије новчића
  • 4:32 - 4:36
    и потроши их код других трговаца. Тако да се поставља питање како се омогућава анонимна
  • 4:36 - 4:40
    дигитална готовина, а да се при томе спречи да Алиса више пута потроши
  • 4:40 - 4:44
    исти новчић код различитих трговаца. У извесном смислу овде постоји парадокс, зато што је
  • 4:44 - 4:48
    анонимност у противречности са безбедношћу - ако имамо анонимну готовину, ништа не може
  • 4:48 - 4:52
    да спречи Алису да не потроши исти новчић више пута, а зато што је новчић
  • 4:52 - 4:56
    анониман, немамо начин да утврдимо ко је починио превару. Тако да је питање
  • 4:56 - 5:00
    како да се разреши ова противречност. Испоставља се да је ово сасвим изводљиво.
  • 5:00 - 5:05
    Касније ћемо да говоримо и о анонимној дигиталној готовини. Само да вам наговестим,
  • 5:05 - 5:09
    све што треба да урадимо је да обезбедимо да ако Алиса потроши новчић
  • 5:09 - 5:14
    једном, нико не зна ко је она, али ако га потроши више него једном,
  • 5:14 - 5:18
    њен идентитет се разоткрива и она је подложна
  • 5:18 - 5:22
    законској одговорности. То је дакле начин на који се постиже анонимна дигитална готовина
  • 5:22 - 5:26
    и ми ћемо касније током течаја да видимо како се она спроводи.
  • 5:26 - 5:30
    Још једна примена криптографије везана је са још апстрактнијим протоколима,
  • 5:30 - 5:34
    али пре него што пређем на уопштене резулате, желим да вам дам два примера.
  • 5:34 - 5:38
    Први пример је везан за гласачке системе. Проблем гласања је следећи:
  • 5:38 - 5:43
    рецимо да постоје две странке, странка 0 и странка 1. Гласачи гласају за ове странке.
  • 5:43 - 5:47
    Тако на пример, овај гласач је могао да гласа за странку 0, овај за
  • 5:47 - 5:52
    странку 1, итд. Тако да је на овим изборима странка 0 добила 3 гласа а странка 1
  • 5:52 - 5:57
    је добила 2 гласа. Победник на изборима је наравно странка 0.
  • 5:57 - 6:02
    Али мало уопштеније, победник на изборима је странка која добије већину
  • 6:02 - 6:06
    гласова. Проблем гласања састоји се у следећем. Гласачи би желели да
  • 6:06 - 6:12
    се преброји већина гласова, али на такав начин да се ништа друго
  • 6:12 - 6:17
    не открива о њиховим појединачним гласовима. Поставља се питање како да се ово постигне?
  • 6:17 - 6:21
    Да бисмо ово постигли, увешћемо изборно седиште које ће да нам помогне у
  • 6:21 - 6:27
    пребројавању већинских гласова, али ће да сачува тајност гласача. Свака странка ће
  • 6:27 - 6:32
    да пошаље изборном седишту своје шифроване гласове
  • 6:32 - 6:37
    на такав начин да на крају избора, изборно седиште може да
  • 6:37 - 6:42
    преброји и да као излаз победника избора. Међутим, осим победника
  • 6:42 - 6:47
    избора, ништа се друго не открива о појединачним гласачима - појединачни гласови
  • 6:47 - 6:51
    у сваком погледу остају потпуно приватни. Наравно изборно седише такође треба да
  • 6:51 - 6:56
    потврди да на пример гласач има право гласа, и да је гласао
  • 6:56 - 7:01
    само једанпут. Али осим тог податка, изборно седиште и
  • 7:01 - 7:05
    остатак света нису сазнали ништа друго из гласова гласача осим
  • 7:05 - 7:10
    резултата избора. Ово је дакле пример протокола који обухвата 6
  • 7:10 - 7:14
    странака. У овом случају постоји 5 гласача у једном изборном седишту.
  • 7:14 - 7:19
    Ове странке броје гласове између себе. И на крају бројања, резултат
  • 7:19 - 7:24
    избора је познат, али ништа друго није откривено о појединачним улазима.
  • 7:24 - 7:29
    Слични проблем јавља се и код приватних аукција.
  • 7:29 - 7:34
    Тада сваки купац има сопствену понуду коју је спреман да плати. И претпоставимо
  • 7:34 - 7:39
    да је механизам аукције који се користи онај који називамо Викрејевом аукцијом, када
  • 7:39 - 7:45
    је победник онај купац који је понудио највише.
  • 7:45 - 7:50
    Али свота коју победник плаћа је заправо друга највећа понуда. Дакле он плаћа
  • 7:50 - 7:55
    другу највећу понуду. Ово је стандардни механизам аукције, познат као
  • 7:55 - 8:00
    Викрејева аукција. Оно што ми желимо да постигнемо јесте да омогућимо учесницима
  • 8:00 - 8:05
    да израчунају ко је понудио највише и колико треба да плати,
  • 8:05 - 8:09
    али да осим тога све остале информације о појединачним понудама
  • 8:09 - 8:14
    остану тајне. Тако да на пример, стварна количина новца коју је понудио купац са највећом
  • 8:14 - 8:19
    понудом, треба да остане тајна. Једина ствар која треба да је објави је друга највећа понуда
  • 8:19 - 8:24
    и идентитет купца са највећом понудом. Ово ћемо опет да постигнемо
  • 8:24 - 8:28
    тако што ћемо да уведемо седиште аукције, и, на сличан начин, свако
  • 8:28 - 8:33
    ће да пошаље своју шифровану понуду аукцијском седишту. Оно ће
  • 8:33 - 8:37
    да одреди идентитет победника и другу
  • 8:37 - 8:42
    највишу понуду, али осим ових двеју вредности, ништа друго се не открива о
  • 8:42 - 8:46
    појединачним понудама. Ово је у ствари пример много општијег проблема,
  • 8:46 - 8:50
    названог безбедни вишестраначки прорачун. Да вам објасним о чему се ради код
  • 8:50 - 8:55
    вишестраначког прорачуна. У општем случају, учесници имају тајни
  • 8:55 - 8:59
    улаз према себи. Тако да у случају избора, улази би били
  • 8:59 - 9:03
    гласови. У случају аукције, улази би били тајне понуде. А затим,
  • 9:03 - 9:07
    оно што желе да ураде јесте да прорачунају неку врсту функције својих улаза.
  • 9:07 - 9:11
    Још једном, у случају избора, функција јесте већина. У случају
  • 9:11 - 9:15
    аукције, функција је други највећи број између х1
  • 9:15 - 9:19
    до х4. И поставља се питање, како то могу да ураде, тако да вредност
  • 9:19 - 9:23
    функције буде откривена, али да се не открије ништа друго о појединачним гласовима.
  • 9:23 - 9:28
    Показаћу вам глупи, небезбедни начин да се ово уради. Увешћемо
  • 9:28 - 9:32
    странку од поверења. Овај поверљиви опуномоћеник сакупља појединачне
  • 9:32 - 9:36
    улазе, и обећава да ће појединачне улазе учинити тајним, тако да ће само он
  • 9:36 - 9:41
    да зна шта су они. И затим објављује вредност функције
  • 9:41 - 9:45
    свету. Замисао је да вредност функције постане јавна,
  • 9:45 - 9:49
    али да се ништа друго не открије о појединачним улазима. Али наравно, имате овог
  • 9:49 - 9:53
    поверљивог опуномоћеника, и ако он из неког разлога није
  • 9:53 - 9:57
    од поверења, имате проблем. Тако да постоји врло битна теорема у
  • 9:57 - 10:01
    криптографији, и стварно је изненађујућа, која гласи да који год
  • 10:01 - 10:05
    прорачун желели да извршите, коју год функцију F желели да прорачунате, ако можете
  • 10:05 - 10:09
    да је прорачунате са поверљивим опуномоћеником, можете и без њега.
  • 10:09 - 10:14
    Објаснићу вам шта ово значи, на високом нивоу. У суштини, сада ћемо
  • 10:14 - 10:18
    да се отарасимо опуномоћеника. Странке неће да шаљу
  • 10:18 - 10:22
    своје улазе опуномоћенику. У ствари, више неће да постоји
  • 10:22 - 10:26
    опуномоћеник у систему. Уместо тога, странке ће да
  • 10:26 - 10:31
    разговарају међусобно коришћењем неког протокола, таквог да на крају овог протокола
  • 10:31 - 10:35
    одједном вредност функције свима постаје позната, а да ипак
  • 10:35 - 10:39
    ништа друго осим вредности функције није откривено. Другим речима,
  • 10:39 - 10:44
    појединачни улази остају тајни, али нема опуномоћеника, постоји
  • 10:44 - 10:48
    само начин да се међусобно разговара тако да се открије коначни излаз.
  • 10:48 - 10:52
    Ово је врло општи резултат, и изненађујуће је да је ово уопште изводљиво.
  • 10:52 - 10:56
    А заправо јесте, и при крају часа ћемо заправо да видимо како да
  • 10:56 - 11:01
    ово постигнемо. Постоје неке примене криптографије
  • 11:01 - 11:06
    које не могу да разврстам другачије осим што ћу да кажем да су једноставно чаробне.
  • 11:06 - 11:10
    Даћу вам два таква примера. Први пример је такозвано приватно измештање прорачуна.
  • 11:10 - 11:15
    Даћу вам пример Гугл претраге само да вам представим у чему је ствар.
  • 11:15 - 11:20
    Замислите да Алиса има упит који жели да изда. Испоставља се да
  • 11:20 - 11:25
    постоје нарочите шеме шифровања такве да Алиса може да пошаље свој шифровани
  • 11:25 - 11:30
    упит Гуглу. А затим, због особина шеме за шифровање,
  • 11:30 - 11:35
    Гугл може да врши прорачун над шифрованим вредностима, а да при томе не зна
  • 11:35 - 11:40
    вредности отвореног текста. Дакле Гугл може да изврши свој гломазан алгоритам претраге
  • 11:40 - 11:45
    над шифрованим упитом и добије шифроване резултате. Гугл ће да пошаље
  • 11:45 - 11:49
    шифроване резултате натраг Алиси. Алиса ће да дешифрује и тада ће да добије
  • 11:49 - 11:54
    резултате. Чаролија у свему томе је да је Гугл видео само шифровани облик њених упита
  • 11:54 - 11:57
    и ништа више. И тако, Гугл у складу с тим нема представу о томе шта је у ствари Алиса
  • 11:57 - 12:02
    тражила, а ипак Алиса је сазнала баш оно што је
  • 12:02 - 12:06
    желела да сазна. Дакле, ово је врста чаробних шифрованих шема, оне су
  • 12:06 - 12:10
    јако скорашње, ово је нови изум од пре две или три године,
  • 12:10 - 12:14
    који ће да нам омогући да вршимо прорачуне над шифрованим подацима, иако заправо
  • 12:14 - 12:19
    не знамо шта је садржано под шифром. Пре него што пожурите да имплементирате ово,
  • 12:19 - 12:22
    требало би да вас упозорим да је ово у овој тачки развоја само теорија,
  • 12:22 - 12:26
    у том смислу што би за извршавање Гугл упита над шифрованим подацима било потребно
  • 12:26 - 12:31
    милијарду година. Упркос томе, сама чињеница да је ово изводљиво је врло
  • 12:31 - 12:34
    изненађујућа, и заиста врло корисна за релативно једноставне прорачуне.
  • 12:34 - 12:39
    Видећемо неке примене овог мало касније. Друга чаробна примена коју сам
  • 12:39 - 12:42
    желео да вам покажем је такозвано нула знање. Конкретно, говорићу ћу вам
  • 12:42 - 12:46
    о нечему што се зове доказ знања са нула знањем.
  • 12:46 - 12:50
    Ево о чему се ради: постоји неки број n, који је Алиси познат.
  • 12:50 - 12:54
    Овај број добијен је као производ два велика проста броја. Замислите да
  • 12:54 - 12:59
    имамо овде два проста броја, р и q. Можете да их оба схватите као 1000-цифрене бројеве.
  • 12:59 - 13:04
    И вероватно знате да је множење два 1000-цифрена броја прилично једноставно.
  • 13:04 - 13:08
    Али ако вам дам само њихов производ, његово разлагање на чиниоце је
  • 13:08 - 13:12
    у ствари прилично тешко. Искористићемо ту чињеницу да је разлагање на чиниоце
  • 13:12 - 13:17
    тешко да бисмо изградили криптосистеме са јавним кључем у другој половини течаја.
  • 13:17 - 13:21
    Алиса има овај број n, и такође зна чиниоце
  • 13:21 - 13:25
    од n. Боб има само број n, а не зна разлагање на чиниоце.
  • 13:25 - 13:29
    Чаробна ствар у вези са доказом знања са нула знањем је та,
  • 13:29 - 13:33
    што Алиса може да докаже Бобу да зна разлагање броја n на чиниоце, она заправо може да
  • 13:33 - 13:37
    понуди овај доказ Бобу, који он може да провери, и да буде уверен да Алиса зна
  • 13:37 - 13:42
    чиниоце броја n, а да Боб ништа не сазна о чиниоцима р
  • 13:42 - 13:47
    и q, и ово може да се докаже. Боб не сазнаје ништа
  • 13:47 - 13:51
    о чиниоцима р и q. Ово тврђење је заправо врло, врло општеважеће.
  • 13:51 - 13:55
    Овде се не ради само о томе да се докаже разлагање n на чиниоце. За скоро сваку слагалицу
  • 13:55 - 14:00
    за коју желите да докажете да имате њено решење, можете да то докажете при нула знању.
  • 14:00 - 14:04
    Значи ако имате укрштеницу коју сте решили - можда укрштеница и није најбољи пример -
  • 14:04 - 14:08
    али ако имате судоку слагалицу, на пример, за коју желите
  • 14:08 - 14:12
    да докажете да сте је решили, можете то да докажете Бобу на такав начин, да Боб не сазна
  • 14:12 - 14:17
    ништа о решењу, а да ипак буде уверен да заиста имате
  • 14:17 - 14:21
    решење ове слагалице. То су биле те чаробне примене.
  • 14:21 - 14:25
    Последња ствар коју сам желео да кажем је да је савремена криптографија јако
  • 14:25 - 14:29
    строга наука. Сваки појам који будемо описали,
  • 14:29 - 14:33
    следиће три јако строга корака, и ова три корака ћемо да видимо
  • 14:33 - 14:37
    поново и поново и поново, тако да желим да вам покажем шта су они. Прва ствар
  • 14:37 - 14:41
    коју ћемо да урадимо када представимо нову примитиву као што је дигитални потпис,
  • 14:41 - 14:46
    јесте да опишемо шта је тачно модел претње. То јест, шта нападач
  • 14:46 - 14:50
    може да уради да би напао дигитални потпис, и који је његов циљ приликом
  • 14:50 - 14:54
    фалсификовања. Дакле ми ћемо да одредимо шта то тачно значи да потпис
  • 14:54 - 14:58
    буде немогућ за фалсификовање. Дигитални потпис
  • 14:58 - 15:02
    наводим само као пример. За сваку примитиву коју ћемо да опишемо, ми ћемо
  • 15:02 - 15:06
    да тачно одредимо шта је модел претње. Затим ћемо да предложимо конструкцију
  • 15:06 - 15:11
    а затим и да докажемо да сваки нападач који успе да нападне
  • 15:11 - 15:16
    конструкцију под овим моделом претње, може да реши неки
  • 15:16 - 15:20
    тежак задатак који је у позадини. Сходно томе, ако је задатак јако тежак, тиме
  • 15:20 - 15:24
    доказујемо да ниједан нападач не може да пробије ову конструкцију под овим моделом претње.
  • 15:24 - 15:28
    Ова три корака су заправо врло важна. У случају
  • 15:28 - 15:32
    потписа, одредићемо шта то значи да потпис буде немогућ за фалсификовање, затим
  • 15:32 - 15:36
    ћемо да понудимо конструкцију, а затим ћемо да потврдимо да свако ко може да пробије нашу
  • 15:36 - 15:40
    конструкцију, може и да подели цели број на чиниоце, што се сматра
  • 15:40 - 15:44
    тешким задатком. Пратићемо ова три корака,
  • 15:44 - 15:47
    и онда ћете да видите како се ово добија.
  • 15:47 - 15:51
    Ово је крајовог одељка. У следећем одељку ћемо да разговарамо о историји
  • 15:51 - 15:52
    криптографије.
Title:
Шта је криптографија? (15 min)
Video Language:
English
marija.jelenkovic edited Serbian subtitles for What is cryptography? (15 min)
marija.jelenkovic edited Serbian subtitles for What is cryptography? (15 min)
marija.jelenkovic added a translation

Serbian subtitles

Revisions