< Return to Video

Information theoretic security and the one time pad (19 min)

  • 0:00 - 0:04
    Сада када смо видели неколико примера историјских шифри, које су све са значајним
  • 0:04 - 0:07
    слабостима, прећи ћемо на другу тему и говорићемо о много боље осмишљеним
  • 0:10 - 0:13
    шифрама. Али пре тога, желим да
    прецизније одредим појам шифре.
  • 0:13 - 0:17
    Пре свега, шифра се у ствари
    састоји од два алгоритма.
  • 0:17 - 0:22
    Постоје алгоритам за шифровање
    и за дешифровање. Међутим,
  • 0:22 - 0:26
    шифра се дефинише са три елемента.
    Ту је скуп свих могућих кључева,
  • 0:26 - 0:31
    који ћу да означим словом К, и понекад
    ћу да га називам простором кључева -
  • 0:31 - 0:36
    скуп свих могућих кључева.
    Затим ту је скуп свих могућих порука,
  • 0:36 - 0:40
    и скуп свих могућих шифрованих текстова.
    Значи ова тројка на неки начин одређује
  • 0:40 - 0:45
    околину над којом се дефинише шифра.
    Сама шифра је пар ефикасних
  • 0:45 - 0:49
    алгоритама Е и D. Е је алгоритам за шифровање;
    D је алгоритам за дешифровање.
  • 0:49 - 0:58
    Наравно, Е узима кључеве и поруке,
    и враћа шифроване текстове - шифрате.
  • 0:58 - 1:07
    Алгоритам за дешифровање узима
    кључеве и шифрате, а враћа поруке.
  • 1:07 - 1:12
    Једини захтев је да ови алгоритми буду доследни.
  • 1:12 - 1:18
    Ово својство се назива "исправност".
    Значи за сваку поруку из простора порука,
  • 1:18 - 1:24
    и за сваки кључ у простору кључева,
    мора да важи, да ако шифрујем
  • 1:24 - 1:29
    поруку кључем k и дешифрујем
    користећи овај исти кључ,
  • 1:29 - 1:35
    треба да добијем првобитну поруку.
    Дакле ова једначина назива се
  • 1:35 - 1:40
    једначином доследности, и она мора
    да важи за сваку шифру,
  • 1:40 - 1:45
    иначе не би било могуће дешифровање.
  • 1:45 - 1:50
    Желим да нагласим да је реч "ефикасан"
    под наводницима, зато што она
  • 1:50 - 1:54
    може да има различито значење.
    За оне више окренуте ка теорији,
  • 1:54 - 1:59
    "ефикасан" значи извршава се у полиномном времену, тј. алгоритми Е и D
  • 1:59 - 2:03
    извршиви су у полиномној временској
    зависности од величине улаза.
  • 2:03 - 2:07
    За оне окренуте ка пракси, "ефикасан"
    значи извршив у оквиру задатог времена.
  • 2:07 - 2:11
    На пример, алгоритам Е треба да обради
    гигабајт података за мање од једног минута.
  • 2:11 - 2:16
    У сваком случају, реч "ефикасан"
    обухвата оба ова виђења,
  • 2:16 - 2:20
    и можете да је тумачите како вам више одговара.
    Ја ћу и у наставку да је користим
  • 2:20 - 2:24
    под наводницима; као што сам рекао,
    ако више нагињете ка теорији
  • 2:24 - 2:28
    сматрајте да се односи на полиномно време,
    иначе, на задато временско ограничење.
  • 2:28 - 2:32
    Следеће што желим да напоменем,
    тиче се алгоритма Е.
  • 2:32 - 2:36
    Најчешће је ово алгоритам насумичних вредности; то јест приликом шифровања
  • 2:36 - 2:41
    порука, алгоритам Е узима случајне битове,
  • 2:41 - 2:46
    и користи ове битове да шифрује
    поруке које му се прослеђују.
  • 2:46 - 2:50
    Са друге стране, алгоритам за дешифровање
    увек је алгоритам са утврђеним излазима.
  • 2:50 - 2:55
    То значи да за исте вредности кључа и шифрата
    увек даје исти излаз, независно
  • 2:55 - 2:59
    од било какве насумичности
    која постоји у алгоритму.
  • 2:59 - 3:04
    Сада када мало боље схватамо појам шифре,
    желим да вам дам први пример безбедне шифре.
  • 3:04 - 3:08
    Зове се "једнократна бележница". Развио ју је Вернам почетком 20-тог века.
  • 3:08 - 3:13
    Пре него што објасним начин рада ове шифре,
  • 3:13 - 3:17
    хајде да користећи праву терминологију
    кажемо шта овде видимо.
  • 3:17 - 3:22
    Простор порука за Вернамову шифру - једнократну бележницу - је исти као и простор шифрата,
  • 3:22 - 3:28
    а то је једноставно скуп свих низова бинарних бројева дужине n. То значи,
  • 3:28 - 3:34
    свих низова битова знакова 0 и 1.
    Простор кључева је исти као простор порука,
  • 3:34 - 3:40
    што је такође скуп свих n-битних бинарних низова. Дакле, кључ код једнократне бележнице
  • 3:40 - 3:46
    јесте насумично изабран низ битова,
  • 3:46 - 3:52
    дужине која је иста као дужина поруке
    која треба да се шифрује.
  • 3:52 - 3:57
    Сада када смо видели чиме је дефинисана шифра,
  • 3:57 - 4:02
    можемо да видимо како ради,
    што је у ствари врло једноставно.
  • 4:02 - 4:08
    Шифрати, који су производ шифровања
    поруке одређеним кључем,
  • 4:08 - 4:14
    добијају се операцијом XOR над
    овим двема вредностима: К XOR М.
  • 4:14 - 4:20
    Подсетимо се ознаке за операцију XOR.
    XOR значи збир по модулу 2.
  • 4:20 - 4:27
    Ако узмем рецимо поруку 0110111,
  • 4:27 - 4:34
    и неки кључ, нпр. 1011001,
    када шифрујем поруку на овај начин,
  • 4:34 - 4:39
    све што треба је да израчунам XOR
    ове две вредности.
  • 4:39 - 4:44
    Другим речима, одрадим збир по модулу 2,
    бит по бит; и добијем: 1101110.
  • 4:44 - 4:49
    Ово је шифрат.
    Како ћу да дешифрујем?
  • 4:49 - 4:53
    У ствари, поновим исту операцију.
    Шифрат се дешифрује овим истим кључем.
  • 4:53 - 4:57
    Извршим операцију XOR над кључем и шифратом.
  • 4:57 - 5:02
    Све што остаје је да потврдимо
    да је задовољен захтев за доследношћу.
  • 5:02 - 5:06
    Сада ћу да урадим ово поступно, а у будуће
    ћу да претпоставим да вам је познато.
  • 5:06 - 5:11
    Дакле желимо да се уверимо
    да дешифровањем шифрата,
  • 5:11 - 5:15
    шифрованог одређеним кључем,
    обавезно добијам поруку m.
  • 5:15 - 5:20
    Да видимо...
    Посматрам шифрат над k и m.
  • 5:20 - 5:26
    По дефиницији ово је k XOR m.
    А шта представља дешифровање
  • 5:26 - 5:32
    вредности k XOR m? То је k XOR (k XOR m).
    А будући да је XOR збир по модулу 2,
  • 5:32 - 5:37
    сабирање је асоцијативно,
    дакле ово је исто што и (k XOR k) XOR m,
  • 5:37 - 5:43
    а као што знате (k XOR k) је нула,
    а нула XOR било која вредност
  • 5:43 - 5:49
    је само m. Овим смо показали да је
    једнократна бележница шифра,
  • 5:49 - 5:54
    али ово нам ништа не говори о безбедности шифре.
  • 5:54 - 5:58
    Прећи ћемо на безбедност за који час,
    али пре тога, само једно питање,
  • 5:58 - 6:02
    да будемо сигурни да се разумемо.
    Рецимо да вам је дата
  • 6:02 - 6:06
    порука m, и шифрат те поруке,
    коришћењем једнократне бележнице.
  • 6:06 - 6:11
    Све што знате је порука и шифрат.
    Моје питање за вас је,
  • 6:11 - 6:15
    знајући пар m и с, да ли можете да
    откријете кључ који је коришћен
  • 6:15 - 6:21
    приликом добијања с на основу m?
  • 6:21 - 6:23
    Надам се да сви уочавате да је, у ствари,
    знајући поруку и шифрат,
  • 6:23 - 6:25
    врло лако добити вредност кључа.
    Конкретно, кључ је једноставно
  • 6:25 - 6:30
    m XOR с. Ако вам није очигледно,
  • 6:30 - 6:35
    видећемо зашто је то тако, мало касније.
  • 6:35 - 6:40
    Једнократна бележница је одлична
    што се тиче перформанси,
  • 6:40 - 6:45
    све што се извршава је XOR операција између кључа и поруке, дакле ово је врло, врло брза
  • 6:45 - 6:48
    шифра за рад са врло великим порукама.
  • 6:48 - 6:53
    Нажалост, у пракси је тешко примењива.
    Разлог за то је што су кључеви
  • 6:53 - 6:57
    исте дужине као и порука.
    Значи ако Алиса и Боб желе
  • 6:57 - 7:01
    безбедну комуникацију, тј. Алиса жели
    да пошаље поруку Бобу, пре него
  • 7:01 - 7:06
    што почне са слањем поруке,
    она мора да пошаље Бобу кључ,
  • 7:06 - 7:11
    који је исте дужине као и порука.
    Али, ако постоји начин да пошаље
  • 7:11 - 7:15
    Бобу тајни кључ исте дужине као и порука,
    може лепо да тим начином пошаље
  • 7:15 - 7:19
    и саму поруку. Дакле чињеница да је кључ
    исте дужине као и порука,
  • 7:19 - 7:23
    је прилично незгодна, и чини овај начин
    шифрирања јако тешким за примену.
  • 7:23 - 7:28
    Мада ћемо да видимо да је замисао иза
    једнократне бележнице врло корисна,
  • 7:28 - 7:33
    а ово ћемо да покажемо мало касније.
    А сада да се задржимо мало на безбедности.
  • 7:33 - 7:37
    Поставља се очигледно питање:
    зашто је једнократна бележница безбедна?
  • 7:37 - 7:41
    Зашто је ово добра шифра?
    Да бисмо одговорили на ово питање,
  • 7:41 - 7:45
    најпре морамо да видимо шта је то уопште
    безбедна шифра, шта чини шифру
  • 7:45 - 7:50
    безбедном? Да бисмо се бавили безбедношћу шифара, морамо да се позабавимо најпре
  • 7:50 - 7:55
    теоријом информације. Заправо, прва особа
    која се озбиљно бавила питањем
  • 7:55 - 8:00
    безбедности шифара, јесте чувени отац теорије информације, Клод Шенон,
  • 8:00 - 8:05
    који је још 1949. објавио познати рад,
    у којем је проучавао
  • 8:05 - 8:11
    безбедност једнократне бележнице.
    Замисао иза Шенонове дефиниције безбедности
  • 8:11 - 8:15
    је следећа: у основи, ако је све
    што стоји на располагању сам шифрат,
  • 8:15 - 8:19
    на основу њега не сме ништа да се сазна о отвореном тексту.
  • 8:19 - 8:23
    Другим речима, шифрат не сме да открива никакву информацију о отвореном тексту.
  • 8:23 - 8:28
    И видите сада зашто је неко ко је изумео теорију информације могао да дође до овог појма,
  • 8:28 - 8:33
    зато што је неопходно да се искаже, формално објасни, шта у ствари представља информација
  • 8:33 - 8:38
    о отвореном тексту. Сада ћу да вам покажем Шенонову дефиницију,
  • 8:38 - 8:43
    најпре ћу да је испишем полако.
  • 8:43 - 8:48
    Рецимо да имамо шифру (Е, D) одређену над тројком (K, M, C) као и раније.
  • 8:48 - 8:53
    K, M, и C одређују простор кључева, простор порука и простор шифрата.
  • 8:53 - 8:58
    Шифра има савршену тајност
  • 8:58 - 9:04
    ако важи следеће: за сваке две поруке m0 и m1,
  • 9:04 - 9:09
    у простору порука, при чему је једини захтев
    за ове две поруке
  • 9:09 - 9:14
    да буду исте дужине (видећемо зашто
  • 9:14 - 9:19
    је потребан овај услов за који час)
    и за сваки шифрат,
  • 9:19 - 9:25
    у простору шифрата, дакле за сваки пар порука
    и за сваки шифрат,
  • 9:25 - 9:31
    мора да важи, да је вероватноћа да се
  • 9:31 - 9:37
    шифровањем m0 са k добија c,
  • 9:37 - 9:44
    иста као и вероватноћа да се
  • 9:44 - 9:50
    шифровањем m1 са k добија c.
  • 9:50 - 9:55
    Дакле вероватноћа да шифровањем m1 добијемо с
    је потпуно иста као и вероватноћа
  • 9:55 - 10:00
    да шифровањем m0 добијемо с.
  • 10:00 - 10:05
    Дакле да ово важи за кључеве чија је расподела
  • 10:05 - 10:10
    равномерна у простору кључева.
    Користићу ознаку к са стрелицом
  • 10:10 - 10:15
    са малим r изнад да означим чињеницу
    да је к променљива са насумичном вредношћу
  • 10:15 - 10:20
    која је равномерно узоркована у простору К.
    Ово је главни садржај
  • 10:20 - 10:26
    Шенонове дефиниције. Хајде да размислимо мало
    о томе шта се овом дефиницијом каже.
  • 10:26 - 10:31
    Дакле шта значи да су ове
    две вероватноће једнаке?
  • 10:31 - 10:36
    То значи да ако сам ја нападач
    и пресретнем одређени шифрат с,
  • 10:36 - 10:42
    тада је у ствари, вероватноћа да је
    овај шифрат шифра за m0, иста
  • 10:42 - 10:47
    као и вероватноћа да је он шифра за m1.
  • 10:47 - 10:52
    Зато што су ове две вероватноће једнаке.
    Дакле ако је све што имам шифрат с,
  • 10:52 - 10:58
    тада ја никако не могу да знам да ли је
    шифрат потекао од m0 или од m1,
  • 10:58 - 11:03
    јер је, понављам, вероватноћа да се добије с
  • 11:03 - 11:09
    иста за обе ове поруке.
  • 11:09 - 11:13
    Овде поново имамо дефиницију.
    И сада само желим да ово поново
  • 11:13 - 11:18
    запишем мало прецизније.
  • 11:18 - 11:22
    Дакле ако имам на располагању неки шифрат,
  • 11:22 - 11:27
    не могу на основу тога да тврдим
    од које поруке потиче m0 или m1.
  • 11:27 - 11:32
    Штавише, ово важи за све поруке,
    за сваки пар порука.
  • 11:32 - 11:37
    И не само да не могу да разликујем да ли је шифрат добијен од m0 или m1,
  • 11:37 - 11:42
    не знам ни да ли потиче од m2, m3, m4, m5,
  • 11:42 - 11:47
    зато што све оне имају исту вероватноћу
    да се од њих добије с.
  • 11:47 - 11:52
    То значи, да приликом шифровања порука једнократном бележницом,
  • 11:52 - 11:57
    чак и најмоћнији декриптор,
    колико год паметан био,
  • 11:57 - 12:03
    не може да сазна ништа о отвореном тексту
  • 12:03 - 12:10
    на основу шифрата.
    Да кажемо ово на још један начин,
  • 12:10 - 12:16
    не постоји напад који је усмерен само на шифрат
  • 12:16 - 12:23
    на шифру са савршеном тајношћу.
    Напади који су усмерени само на шифрат
  • 12:23 - 12:29
    нису једини постојећи напади - постоје друге врсте напада, којима је подложна оваква шифра.
  • 12:32 - 12:37
    Сада када смо разумели појам савршене тајности,
  • 12:37 - 12:41
    поставља се питање, да ли је могуће направити шифру са овом особином?
  • 12:41 - 12:46
    Испоставља се да једнократна књижница
    има савршену тајност.
  • 12:46 - 12:51
    Желим и да вам изведем доказ за ово,
    то је уједно и Шенонов први резултат,
  • 12:51 - 12:56
    доказ је једноставан, тако да
    хајде да га одмах изведемо.
  • 12:56 - 13:01
    Потребно је да протумачимо шта то значи,
    та вероватноћа Pr (Е(k, m0) = с).
  • 13:01 - 13:06
    Није тешко да се види да за сваку поруку
  • 13:06 - 13:11
    и за сваки шифрат, вероватноћа да се шифровањем m кључем k
  • 13:11 - 13:16
    добија с, при чему се, по дефиницији,
    кључ бира насумице,
  • 13:16 - 13:24
    представља количник броја кључева из скупа К,
  • 13:25 - 13:32
    таквих да ако шифрујем m са k добијам с,
  • 13:32 - 13:37
    подељених са укупним бројем могућих кључева.
  • 13:37 - 13:43
    То је вероватноћа да ако одаберем насумице неки кључ, он ће да преслика m у с.
  • 13:43 - 13:48
    To je практично број кључева који пресликавају m у с,
    кроз укупни број кључева.
  • 13:48 - 13:53
    Претпоставимо сада да имамо шифру
    такву да за све поруке и све шифрате,
  • 13:53 - 13:59
    важи да ако погледам овај број, број k из скупа К, таквих да је Е(k, m) = с
  • 13:59 - 14:04
    другим речима, посматрам број кључева
  • 14:04 - 14:09
    који пресликавају m у с; претпоставимо да је
    овај број нека константа.
  • 14:09 - 14:14
    Рецимо да је то 2, 3, 10 или 15.
  • 14:14 - 14:19
    Рецимо да је то константна вредност. У том случају, према дефиницији, за свако m0 и m1
  • 14:19 - 14:25
    и за свако с, ова вероватноћа мора да буде иста,
    зато што је именилац исти,
  • 14:25 - 14:30
    бројилац исти, нека константа,
    и из тога следи да је и вероватноћа
  • 14:30 - 14:36
    увек иста за свако m и с. Дакле ако је ово тачно, шифра мора да има
  • 14:36 - 14:44
    савршену тајност. Да видимо сада
    шта можемо да кажемо
  • 14:44 - 14:49
    о овој величини за једнократну бележницу.
    Питање за вас је, ако имате
  • 14:49 - 14:55
    на располагању шифрат и поруку,
    колико једнократних кључева постоји,
  • 14:55 - 15:00
    који пресликавају поруку m у с?
    Другим речима, колико кључева
  • 15:00 - 15:06
    постоји, таквих да је m XOR k = c?
  • 15:06 - 15:13
    Надам се да сте одговорили да је један.
    Да видимо и зашто:
  • 15:13 - 15:18
    За једнократну бележницу, израз Е(k, m) = c,
    по дефиницији значи
  • 15:18 - 15:25
    да је k XOR m = c.
    Али то такође значи да мора да је
  • 15:25 - 15:32
    m XOR с = k. Ово смо добили тако што смо извршили XOR обе стране са m.
  • 15:32 - 15:38
    Из овога произилази,
    да је за једнократну бележницу,
  • 15:38 - 15:44
    број кључева у К, таквих да је E(k, m) = c, једноставно 1,
  • 15:44 - 15:50
    и то важи за све поруке и шифрате. Тако да, на основу претходно реченог,
  • 15:50 - 15:55
    произилази да једнократна бележница има савршену тајност.
  • 15:55 - 15:59
    Овим је доказ завршен.
    Ово је врло једноставна лема.
  • 15:59 - 16:04
    Међутим, иако је толико једноставно
    да се она докаже,
  • 16:04 - 16:08
    из овог доказа произилази јако моћан закључак.
  • 16:08 - 16:12
    Ово у ствари значи да за једнократну бележницу не постоји напад који се ослања само на шифрат.
  • 16:12 - 16:16
    Дакле за разлику од шифре замене, или Вижнерове шифре, или шифарског диска,
  • 16:16 - 16:21
    које су све могле да буду разбијене нападом који се ослања само на шифрат,
  • 16:21 - 16:25
    код једнократне бележнице, како смо доказали, ово једноставно није могуће.
  • 16:25 - 16:29
    На основу шифрата, ништа се не сазнаје о отвореном тексту. Али, као што видимо,
  • 16:29 - 16:33
    ово није крај приче. То јест, јесмо ли завршили? Будући да смо открили начин
  • 16:33 - 16:37
    да шифрирамо тако да декриптор не може да открије ништа
  • 16:37 - 16:41
    о нашој поруци, можда смо дакле завршили са течајем? Али заправо, као што ћемо да видимо,
  • 16:41 - 16:45
    постоје и други напади. У ствари, једнократна бележница и није тако безбедна шифра.
  • 16:45 - 16:49
    Постоје други могући напади,
  • 16:49 - 16:54
    које ћемо ускоро да видимо. Наглашавам поново ову чињеницу, да и поред савршене тајности,
  • 16:54 - 16:59
    не произилази да је једнократна бележница безбедна шифра. Али, као што смо рекли,
  • 16:59 - 17:04
    код једнократне бележнице незгодно је то
    што је тајни кључ јако дугачак.
  • 17:04 - 17:08
    Ако постоји начин да се тајни кључ безбедно пренесе другој страни, онда може
  • 17:08 - 17:12
    тим истим начином да се саопшти
    и сама порука другој страни,
  • 17:12 - 17:17
    а у том случају уопште нам и не треба шифра.
    Дакле, још једном, проблем је то
  • 17:17 - 17:21
    што једнократна бележница има јако дуги кључ,
    и намеће се питање да ли постоје
  • 17:21 - 17:25
    друге шифре које имају савршену тајност,
    али много, много краће кључеве?
  • 17:25 - 17:30
    Лоша вест је то што је Шенон, након што је доказао да једнократна бележница има
  • 17:30 - 17:35
    савршену тајност, доказао и теорему
    да свака шифра која има
  • 17:35 - 17:40
    савршену тајност, мора да има на располагању најмање исти број кључева
  • 17:40 - 17:45
    као и број порука које се обрађују шифром. То значи, да ако шифра има савршену тајност,
  • 17:45 - 17:51
    тада број кључева, то јест дужина кључа
  • 17:51 - 17:56
    мора да буде већа или једнака дужини поруке.
  • 17:56 - 18:01
    Заправо, пошто једнократна бележница задовољава овај услов код једнакости,
  • 18:01 - 18:05
    она је у ствари оптимална шифра која има савршену тајност.
  • 18:05 - 18:09
    Дакле једнократна бележница је занимљива шифра,
  • 18:09 - 18:13
    али јако тешка за примену,
  • 18:13 - 18:18
    због дугачних кључева. Сам појам савршене тајности,
  • 18:18 - 18:22
    иако врло занимљив, говори нам у суштини да шифре које су згодне за примену
  • 18:22 - 18:26
    не могу да буду безбедне. Али, као што смо напоменули, сама замисао која је
  • 18:26 - 18:31
    у основи једнократне бележнице је јако добра.
    А у следећој лекцији ћемо да видимо,
  • 18:31 - 18:34
    како да на основу ње направимо применљив систем.
Title:
Information theoretic security and the one time pad (19 min)
Video Language:
English

Serbian subtitles

Revisions