-
Сада када смо разумели појам безбедности псеудослучајног генератора, као и појам
-
семантичке безбедности, можемо да докажемо да је шифра тока са безбедним PRG-ом
-
семантички безбедна. То ће бити наш циљ за овај одељак.
-
То је врло једноставан доказ, па хајде да погледамо. Теорија коју желимо да докажемо је
-
да имајући генератор који је безбедни, псеудослучајни генератор,
-
шифра тока коју добијамо од овог генератора
-
јесте семантички безбедна. Желим да нагласим да није
-
било могуће да се оваква теорема докаже за савршену безбедност, за Шенонов појам
-
савршене безбедности. Зато што знамо да шифра тока не може да буде савршено безбедна,
-
зато што има кратак кључ. А савршена безбедност захтева да кључеви буду исте
-
дужине као и порука. Тако да је ово први пример који видимо, у коме можемо
-
да докажемо да и шифра са кратким кључевима има безбедност, у смислу
-
семантичке безбедности. Тиме се потврђује да је ово заиста
-
користан појам, и у ствари, користићемо семантичку безбедност
-
много пута током течаја. Добро, како доказујемо једну овакву теорију?
-
Почињемо од тога што претпоставимо супротно.
-
Показаћемо следеће - доказаћемо ову
-
тврдњу овде, али да је прво рашчланим. Рецимо дате ми нападача семантичке безбедности, А.
-
Направићемо PRG нападач В који задовољава
-
ову неједначину овде. А зашто нам је ова неједначина корисна? У суштини, шта ми знамо?
-
Знамо да ако је В ефикасан нападач, пошто је G безбедни генератор,
-
знамо да је ова предност занемарљива, јел тако? Безбедни генератор
-
има занемарљиву предност над произвољним ефикасним статистичким тестом.
-
Тако да је ова десна страна практично занемарљива. Али зато што је десна страна
-
занемарљива, закључујемо да је и лева страна занемарљива.
-
Следи да нападач који посматрамо има заправо занемарљиву предност
-
приликом нападања шифре тока Е.
-
За постојећег нападача А направићемо
-
нападача В. Знамо да он има занемарљиву предност над генератором,
-
али из тога следи да А има занемарљиву предност над шифром тока.
-
Дакле за задато А треба да саградимо В.
-
Нека је А нападач семантичке безбедности шифре тока. Подсећам вас
-
шта то значи: постоји изазивач, који почиње тако што
-
одабере кључ k. А затим нападач шаље две поруке једнаке
-
дужине, и добија шифру поруке m0 или m1,
-
и на излазу даје b'. Дакле то ради нападач семантичке
-
безбедности. Сада ћемо да започнемо игру са овим нападачем.
-
И тако ћемо да докажемо нашу лему.
-
Прво што чемо да урадимо је да на страни изазивача одаберемо насумично r,
-
насумични низ r. Нападача се не тиче шта
-
изазивач интерно ради. Нападач никада не користи r, тако да ово нема никаквог утицаја
-
на предност нападача. Нападача се уопште не тиче
-
што изазивач користи r. Али ево у чему је ствар. Ми ћемо,
-
уместо да шифрујемо користећи G(k), да користимо r за шифровање.
-
Видите шта овде радимо. Мењамо изазивача
-
тако да се сада шифрат добија коришћењем
-
истински случајног кључа, уместо псеудослучајног кључа G(k). Својство
-
псеудослучајног генератора је да је његов излаз нераспознатљив од истински
-
случајног. Дакле зато што је PRG безбедан, нападач не распознаје да смо направили ову
-
измену. Нападач не види да смо прешли са псеудослучајног низа на
-
истински случајан, зато што је генератор безбедан. Погледајмо сада
-
коју игру смо добили. Предност нападача није могла
-
да се много промени, зато што он не распознаје разлику. Али погледајмо ову игру.
-
Ова игра је истинска једнократна бележница. Ово је игра семантичке
-
безбедности против једнократне бележнице. Зато што сада нападач добија
-
шифру једнократне бележнице за m0 или m1. Али овде је, као што знамо, предност
-
нападача нула, зато што не можете да победите једнократну бележницу - она је
-
безусловно безбедна. А као последица тога,
-
зато што нападач не види разлику приликом
-
преласка са псеудослучајног на случајни кључ, а не може да победи случајну игру, то значи да
-
не би победио ни псеудослучајну игру. Следи да првобитна шифра тока
-
мора да је безбедна. Дакле ово је интуитивно изведени доказ.
-
Али желим да одрадим и строго формални доказ. Од сада па надаље, доказе ћемо да изводимо
-
играјући игре са нашим изазивачем. И нећемо да се бавимо строго формалним доказима
-
као што је овај што следи. Али желим да одрадим и један такав доказ,
-
чисто да видите како изгледају ови докази. Добро, сада морам да уведем неке ознаке.
-
Користићу уобичајено обележавање. У првобитној игри против семантичке сигурности,
-
када користимо псеудослучајни кључ, користићу W0 и W1
-
да означим догађај да нападач враћа 1 када добија шифру
-
од m0 или од m1, редом. Дакле W0 одговара
-
излазу 1, када се добија шифра од m0, а W1 одговара
-
излазу 1 када се добија шифра од m1. Дакле ово је стандардна
-
дефиниција семантичке безбедности. А када пређемо на случајни кључ, користићу
-
R0 и R1 да означимо догађај да нападач враћа 1 када добија
-
једнократну шифру од m0 или од m1. Дакле имамо
-
четири догађаја, W0, W1 из првобитне игре семантичке безбедности, и R0, R1
-
из игре семантичке безбедности када пређемо на једнократну бележницу.
-
Погледајмо сада односе између ових променљивих. Пре свега, R0 и R1 су
-
догађаји из игре семантичке безбедности против једнократне бележнице.
-
Дакле разлика ових вероватноћа је
-
предност алгоритма А, или нападача А, против једнократне бележнице, што је 0.
-
Одлично. То значи да је вероватноћа од R0
-
једнака вероватноћи од R1. Дакле сада, поређајмо ове догађаје на делу линије
-
између 0 и 1. Дакле овде су догађаји: W0 и W1 су догађаји који
-
нас занимају. Желимо да покажемо да су они блиски.
-
А то ћемо да урадимо тако што ћемо -- узгред треба да кажем
-
да вероватноће R0 и R1, будући да су једнаке, постављам у
-
исту тачку. Показаћемо да су и W0 и W1
-
близу вероватноће Rb па самим тим и међусобно.
-
Дакле сада нас
-
занима растојање између вероватноће од Wb и вероватноће
-
од Rb. Да сада искажем тврдњу коју ћемо да докажемо за који тренутак.
-
Ова тврдња гласи да постоји нападач В такав, да је разлика ових двеју
-
вероватноћа предност од В над генератором G, што важи за оба b.
-
Са ове две тврдње теорема је доказана, зато што
-
сада знамо да је ово растојање мање од предности В
-
над G. То следи из тврдње број 2, а ово растојање је заправо
-
једнако тој предности В над G,
-
из чега произилази да је растојање између вероватноћа W0 и W1
-
скоро два пута веће од предности В над G.
-
Што и желимо да докажемо. Остаје још само да
-
докажемо ово тврђење. Ако размислите како оно гласи,
-
њиме се обухвата случај огледа 0, када
-
заменимо псеудослучајни генератор G(k) истински случајним кључем r.
-
У огледу 0 овде користимо псеудослучајни кључ, а овде
-
истински случајни, и питамо се да ли нападач може да распозна
-
разлику између њих, и желимо да докажемо да не може, зато што је генератор безбедан.
-
Ево шта ћемо да урадимо. Докажимо тврдњу број 2.
-
Доказаћемо да постоји PRG нападач В који има предност
-
која је једнака управо разлици између ове две вероватноће.
-
Пошто је ово занемарљиво, и ово је занемарљиво, а то смо и желели
-
да докажемо. Погледајмо статистички тест В.
-
Наш статистички тест В ће да садржи нападача А, и можемо да га саградимо
-
како год желимо. Унутар њега користимо нападач А,
-
и то је обичан статистички тест, који узима n-битни
-
низ као улаз, и враћа вредности "случајно" или "није случајно",
-
0 или 1. Погледајмо. Најпре ће да покрене
-
нападача А, који ће да избаци две поруке, m0 и m1.
-
Тада ће нападач В да одговори са m0 XOR низ који
-
му је био прослеђен као улаз. Дакле статистички тест као свој
-
излаз враћа излаз од А.
-
Шта можемо да кажемо о предности статистичког теста
-
над генератором? По дефиницији, она је једнака вероватноћи да, ако одаберете
-
истински насумични низ - значи овде је r {0, 1} на n - дакле вероватноћа
-
да В враћа 1, минус вероватноћа да, ако одаберемо псеудослучајни
-
низ, В враћа 1. Али да размислимо шта нам ово говори.
-
Шта можете да ми кажете о првом изразу?
-
О овом изразу овде? По дефиницији, то је управо једнако
-
вероватноћи од R0, зар не?
-
Зато што у нашој игри против нападача, он нам је дао
-
m0 и m1, и добио је шифру од m0
-
под једнократном бележницом. Дакле ово је вероватноћа од R0.
-
Ово је вероватноћа од R0.
-
Шта можемо да кажемо о следећем изразу, шта можемо да кажемо о томе када
-
В добија псеудослучајни низ у као улаз?
-
У том случају, ово је управо оглед 0 и права игра шифре тока,
-
зато што сада рачунамо m0 XOR G(k). А то је управо W0.
-
А то је и требало доказати. Дакле доказ је тривијалан.
-
Овим смо доказали тврдњу број 2, и да поновим, једном када имамо
-
тврдњу број 2, знамо да W0 мора да буде близу W1, а то и јесте теорема,
-
то је и требало да докажемо. Дакле сада смо утврдили да је шифра тока
-
заиста семантички безбедна, под претпоставком да је PRG безбедан.