3 Teori för symmetriska system

Relevanta dokument
Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1

Källkodning. Egenskaper hos koder. Några exempel

Föreläsninsanteckningar till föreläsning 3: Entropi

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Övning 1 Sannolikhetsteorins grunder

4 Diskret stokastisk variabel

Statistikens grunder HT, dagtid Statistiska institutionen

Shannon-Fano-Elias-kodning

Detta ger oss att kanalkapaciteten för den ursprungliga kanalen är C = q 1 C 1 + q 2 C C =1 h ( ) 0.30.

SF1901: Sannolikhetslära och statistik

Stat. teori gk, ht 2006, JW F7 STOKASTISKA VARIABLER (NCT 5.7) Ordlista till NCT

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Lektionsanteckningar 11-12: Normalfördelningen

Några viktiga satser om deriverbara funktioner.

Lösningsförslag till övningsuppgifter, del V

Oberoende stokastiska variabler

Datakompression. Harald Nautsch ISY Bildkodning, Linköpings universitet.

Kursinnehåll. Datakompression. Föreläsningar, preliminärt program. Examination

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Kontinuitet och gränsvärden

TSBK04 Datakompression. Övningsuppgifter

TSBK04 Datakompression Övningsuppgifter

TAMS79: Föreläsning 1 Grundläggande begrepp

SF1922/SF1923: SANNOLIKHETSTEORI OCH DISKRETA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 23 mars, 2018

TAMS79: Föreläsning 10 Markovkedjor

Satsen om total sannolikhet och Bayes sats

Matematisk statistik - Slumpens matematik

Statistik 1 för biologer, logopeder och psykologer

Sannolikhetsbegreppet

Kap 2. Sannolikhetsteorins grunder

SF1901 Sannolikhetsteori och statistik I

SF1901: Sannolikhetslära och statistik

Matematisk statistik TMS064/TMS063 Tentamen

1 LP-problem på standardform och Simplexmetoden

Lärmål Sannolikhet, statistik och risk 2015

1.1 Diskret (Sannolikhets-)fördelning

Föresläsningsanteckningar Sanno II

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

SF1901 Sannolikhetsteori och statistik I

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

4.1 Grundläggande sannolikhetslära

SF1901: SANNOLIKHETSTEORI OCH FLERDIMENSIONELLA STOKASTISKA STATISTIK VARIABLER. Tatjana Pavlenko. 8 september 2017

1 Konvexa optimeringsproblem grundläggande egenskaper

Konvergens och Kontinuitet

Stokastiska processer och simulering I 24 maj

Sannolikheter och kombinatorik

Läsanvisningar till kapitel

SF1901: SANNOLIKHETSTEORI OCH KONTINUERLIGA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 7 september 2016

Stokastiska vektorer

TMS136. Föreläsning 4

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

Kap 3: Diskreta fördelningar

Träd och koder. Anders Björner KTH

Mer om reella tal och kontinuitet

Stokastiska Processer

Grundfrågor för kryptosystem

1 Föreläsning I, Mängdlära och elementär sannolikhetsteori,

SF1911: Statistik för bioteknik

1 De fyra fundamentala underrummen till en matris

MVE051/MSG Föreläsning 7

Betingning och LOTS/LOTV

Några satser ur talteorin

TAMS79: Föreläsning 4 Flerdimensionella stokastiska variabler

Föreläsning 12: Repetition

Finansiell Statistik (GN, 7,5 hp,, VT 2009) Föreläsning 2. Diskreta Sannolikhetsfördelningar. (LLL Kap 6) Stokastisk Variabel

Grundläggande matematisk statistik

Matematisk statistik 9hp Föreläsning 2: Slumpvariabel

Exempel. Kontinuerliga stokastiska variabler. Integraler i stället för summor. Integraler i stället för summor

Definitionsmängd, urbild, domän

Repetitionsföreläsning

NÅGOT OM KRYPTERING. Kapitel 1

Föreläsning 4: Konfidensintervall (forts.)

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

Lab 3 Kodningsmetoder

Kapitel 4. Kontinuerliga slumpvariabler och deras sannolikhetsfördelningar. Sannolikhetslära och inferens II

Mängder och kardinalitet

F5 STOKASTISKA VARIABLER (NCT , samt del av 5.4)

Problemdel 1: Uppgift 1

Tentamen : Lösningar. 1. (a) Antingen har täljare och nämnare samma tecken, eller så är täljaren lika med noll. Detta ger två fall:

Kapitel 3 Diskreta slumpvariabler och deras sannolikhetsfördelningar

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av

FACIT: Tentamen L9MA30, LGMA30

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

1 Minkostnadsflödesproblem i nätverk

Om konvergens av serier

1 Positivt definita och positivt semidefinita matriser

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Föreläsning 2 (kap 3): Diskreta stokastiska variabler

TENTAMEN I STATISTIKENS GRUNDER 1

Informationsteori. Repetition Kanalkapaciteten C. Repetition Källkodhastigheten R 2. Repetition Kanalkodhastigheten R 1. Huffmans algoritm: D-när kod

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

1 Grundläggande kalkyler med vektorer och matriser

Föreläsningsmanus i matematisk statistik för lantmätare, vecka 5 HT06

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a

FACIT för Förberedelseuppgifter: SF1911 STATISTIK FÖR BI0TEKNIK inför tentan MÅDAGEN DEN 9 DECEMBER 2016 KL Examinator: Timo Koski

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

Grundläggande matematisk statistik

Transkript:

55 3 Ordning är när man genast vet var man absolut inte behöver leta. 3.1 Kodning Informationsteorin infördes av Claude Shannon på 40-talets första hälft för att kunna resonera kvantitativt om kodning i allmänhet och kryptologi i synnerhet. Kryptering är en typ av kodning som används för att åstadkomma pålitlig kommunikation. Andra typer av kodning finns också. I informationsutbytessammanhang, både vid kommunikation och vid lagring, förekommer tre enheter: källan, kanalen och mottagaren. K källan s e c kanalen d c d e d s M mottagaren Figur 3.1. Kodningar Mellan dessa införs kodare och avkodare. Kodaren har tre funktioner: Källkodning (s), kryptering (e), kanalkodning (c). Avkodaren (decode, d-...) inverterar dessa operationer. 3.1.1 Källkodning Tanken är att eliminera redundans i meddelandet för att därmed om möjligt reducera det antal bitar som behöver sändas eller lagras. Två delmoment ingår. i. Källkompression, där kodningen är sådan att viss information förstörs, men att det mottagna ändå är acceptabelt för mottagaren. (Jfr 'hashing'.) Omnämnda kryptografiska 'hashmetoder är MD5 ('message digest') och SHA ('secure hash algorithm'). ii. Källkompaktering, som syftar till att ta bort redundans ur källans meddelande, men att fortfarande möjliggöra exakt återskapande på destinationssidan eller vid återutvinnande. Kända sådana metoder är Huffmankodning och LZ (Ziv-Lempel)-kodning. 3.1.2 Kryptering Huvudsyftena är att åstadkomma konfidentialitet, integritet eller autenticitet. Två typer av kryptering finns. Båda kan vara block- eller flödesorienterade. i. Symmetriska chiffer (Lika gamla som "världens äldsta yrken".). Moderna metoder är DES, IDEA, Blowfish, m fl. En ny standard AES är under utarbetande. ii. Asymmetriska chiffer (Från 1976.): RSA, Blum-Goldwasser, ElGamal, m fl. De tre nämnda är i tur och ordning determinsistisk, probabilistisk respektive indeterministisk, där skillnaden mellan de båda sistnämnda ligger i kontrollen över vissa sannolikheter. 3.1.3 Kanalkodning i. Översättningskoder syftar till att abstrahera kanalens fysiska begränsningar, tex att vid Morsekodning ge källan en möjlighet att vara oberoende av regeln att inga 'spaces' tillåts följa på varandra. Vi erhåller därmed en störd oinskränkt ('unconstrained') kanal. Området är relativt oberoende chiffersystem, men presenteras ändå kortfattat i slutet av kapitlet.

56 ii. Transmissionskoder "förvandlar" kanalen till en störningsfri dito genom att införa redundans (checksumma, paritetsbitar) via felupptäckande eller felkorrigerande koder. Vissa sådana metoder kan också användas för att skapa chiffer. En MAC är en privatnyckelbaserad variant av en transmissionskod. De nyckelfria metoderna är helt försvarslösa mot avsiktliga manipulationer. MAC å andra sidan är konstruerade för att mota 'active wiretapping'. 3.1.4 Kommentar Enligt klassisk teori ska de tre typerna av kodning alltid ske i denna ordning. Det vore ju mot all intuition att t ex tillföra redundans, som underlättar arbetet för en forcör, innan kryptering sker. Däremot kan det ju aldrig vara fel att, som förekommer i vissa protokoll, kryptera även checksumman, då dessförinnan klartexten har krypterats oberoende av detta. Redundans kan också verka i motsatt riktning. Nedan kommer några definitioner och satser som behövs för att kunna beskriva kvantitet i samband med kodning; information, entropi, ekvivokation och kanalkapacitet. Huvudsyftet är att härleda eller uppskatta ett mått f = H(K C) N som anger kryptoanalytikerns ovisshet om nyckeln K givet ett chiffer C av längden N. Intuitivt gäller att då N är så stort att f 0, så låter sig K i teorin bestämmas entydigt. Det förutsätter ofta att nyckeln återanvänds på flera block. 3.2 Sannolikheter och entropi Betrakta stokastiska variabler X som antar värden i {x 1,..., x L } med sannolikheter p i = p(x i ). Ibland används beteckningen p = (p 1,... p L ). Utfallsrummet kan t ex antas beskriva källans generering av tex klartextmeddelanden. Med 1- gram över A = {a,..., z} blir L = 26 och med digram över A blir L = 26 2. I stället för att utgå från {a,..., z} kan man ibland välja att låta källans alfabet bestå av ord i ett lexikon. Orden blir då symboler och L i storleksordningen 10000-100000 för naturliga språk. En probabilistisk synvinkel på språk intas i detta sammanhang, eftersom normalt fullständig kunskap saknas om språkets meningar. Deterministiska kontextfria grammatikor som bl a används för att beskriva eller definiera programspråk behöver kompletteras. Den betingade sannolikheten för x givet y skrivs p y (x) eller p(x y) och det gäller för den simultana sannolikheten att p(x, y) = p(x y) p(y). Matrisen P = {p(y i x j )} brukar kallas sannolikhetsövergångsmatrisen och kan tas som definition av en kanal och denna eller p(x, y) som karakteristik av en källa då digram betraktas. Ett uttryck som Σ i [1,n] a i b i förekommer ofta. Genom att införa vektorerna a = (a 1,..., a n ) och b = (b 1,..., b n ) och en skalärprodukt < > kan formler skrivas kompaktare: <a b> = Σ i [1,n] a i b i. Beteckningen kan generaliseras till det fall där funktioner f tillämpas på vektorkomponenter tex <a f(b)> = Σ i [1,n] a i f(b i ).

57 3.2.1 Definitioner och samband i. Utfall. Resultatet av ett slumpmässigt beteende kallas ett utfall eller elementarhändelse. ii. Utfallsrum. Mängden Ω av alla möjliga utfall kallas ett utfallsrum. iii. Händelse. En delmängd ω av utfallsrummet kallas en händelse. Om antalet utfall är ändligt eller uppräkneligt kallas Ω diskret. iv. Sannolikheter. Till varje händelse associeras ett tal p(ω); sannolikheten för ω. Denna uppfyller 0 p(ω) 1, Σ ω Ω p(ω) = 1. Om ω 1 och ω 2 är disjunkta så gäller dessutom att p(ω 1 ω 2 ) = p(ω 1 ) + p(ω 2 ). Paret <Ω, p> kallas ett sannolikhetsrum. Allmänt gäller att och att p(ω 1 ω 2 ) = p(ω 1 ) + p(ω 2 ) - p(ω 1 ω 2 ) p(φ) = 0, där Φ är tomma mängden. Om det gäller att p(ω 1 ω 2 ) p(ω 1, ω 2 ) = p(ω 1 ) p(ω 2 ), så kallas ω 1 och ω 2 oberoende. Om det finns n olika händelser (eller utfall) ω i och det gäller att p(ω i ) = 1 / n, för alla i så föreligger en likformig sannolikhetsfördelning. v. Möjligheter. Från kombinatoriken anförs följande. Antag givet en mängd med N element. Ur denna mängd plockas n element; n N. På hur många sätt kan detta ske? Fyra fall kan särskiljas: ANTAL MÖJLIGHETER Dragning med återläggning Dragning utan återläggning Med hänsyn till ordning N n N(N-1)(N-2)...(N-n+1) Utan hänsyn till ordning (( N+n-1, n )) ((N, n)) Tabell 3.1. Antal urval Symbolen ((n, m)) eller C(n, m) betyder n! / (m!(n-m)!) och n! = n(n-1)(n-2)... 1.

58 Om en "urna" innehåller v stycken "0-or" och s stycken "1-or" blir sannolikheten för att man vid n dragningar med återläggning får k stycken "0-or" lika med ((n, k)) p k q n-k, där p = v/(v+s) och q = s/(v+s). I fallet utan återläggning erhålls sannolikheten ((v, k)) ((s, n-k)) / ((v+s, n)). vi. Betingad sannolikhet. Uttrycket p (ω 2 ω 1 ) p ω1 (ω 2 ) p(ω 1 ω 2 ) / p(ω 1 ) p(ω 1, ω 2 ) / p(ω 1 ) kallas den betingade sannolikheten för ω 2 om ω 1 inträffat. Om händelserna ω 1,..., ω n är parvis oförenliga, har positiva sannolikheter och tillsammmans uppfyller hela Ω, så gäller för varje händelse ω att Satsen om total sannolikhet p(ω) = Σ i p(ω i ) p(ω ω i ) Bayes sats p(ω k ω) = p(ω k ) p(ω ω k ) / ( Σ i p(ω i ) p(ω ω i ) ). Bayes sats används ofta i specialfallet p(x y) = p(x) * p(y x) / p(y) under förutsättning att p(y) > 0. Denna senare variant är enkel att bevisa med hjälp av definitionen av betingad sannolikhet: p(x y) p(y) = p(x, y) = p(y, x) = p(y x) p(x). vii. Stokastisk variabel. En stokastisk variabel (sv) X kan ses som en beteckning av en händelse och är formellt en funktion från utfallsrummet till de reella (kontinuerlig sv) eller naturliga talen (diskret sv), d v s X: ω X(ω). För diskret sv definieras en sannolikhetsfördelning på följande vis; p X (i) = p(x=i) = Σ {ω Ω; X(ω) = i} p(ω) och en distribution F X (i) = p(x i). En distribution är monotont icke-avtagande, ligger i intervallet [0, 1], är (höger)kontinuerlig och har (gräns)värdena F(0) = 0 och F( ) = 1. Nedanstående tabell visar några fördelningar. Om p är liten kan en binomialfördelning approximeras med en Poissondito som ofta är enklare att hanterna formelmässigt.

59 En sv med värden i [0, n-1] kallas Om Likformigt fördelad p X (i) = 1/n Binomialfördelad p X (i) = ((n, i)) p i (1-p) n-i, 0 p 1 Poissonfördelad p X (i) =( λ i /i!)e -λ, λ 0 Tabell 3.2. Några fördelningar viii. Väntevärde. Givet p X (i) definieras väntevärdet E[X] = Σ i i p X (i). Om f är en funktion vars definitionsområde innehåller X:s värdeförråd definieras väntevärdet för f: E[f] = Σ i f(i) p X (i). ix. Moment. Det k:te momentet är E[X k ] = Σ i i k p X (i). (Om k = 1 erhålls väntevärdet.) x. Variansen är Var{X} = E[X 2 ] - (E[X]) 2. xi. Standardavvikelsen är s(x) = Var {X}. Om det är uppenbart vilken stokastisk variabel som avses utelämnas ibland/ofta subindex X i beteckningen p X. Det vållar egentligen bara problem då argumentet inte upplyser om X. 3.2.2 Tillämpningar på kryptosystem i. Inducerade sannolikheter. Beteckna sannolikheten för en klartext x med p(x) och sannolikheten för en vald nyckel med p(k). Ofta förutsätts att nycklarna är lika sannolika. Dessa sannolikheter inducerar följande relevanta sannolikheter. Låt C(K) beteckna mängden av möjliga chiffer för nyckeln k, d v s C(K) = {e k (x) : x M }. 1. För varje c C gäller då att p(c) = Σ {k : c C(K)} p(k) p (d k (c)). 2. Vidare kan den betingade sannolikheten för ett kryptogram c givet meddelandet x beräknas enligt p(c x) = Σ {k : x = dk(c)} p(k). 3. Nu är det enkelt att via Bayes sats bestämma p(x c), d v s sannolikheten för klartexten x givet chiffret c: p(x c) = (p(x) * Σ {k : x = dk(c)} p(k)) / Σ {k : c C(K)} p(k) p (d k (c)). 4. Simultansannolikheten p(x, k) = p(x) * p(k) eftersom x och k väljs oberoende av varandra. 5. Sannolikheten p(x, c) erhålls som p(x, c) = Σ {k: ek(x) = c} p(x) * p(k). 6. Sannolikheten p(c, k) erhålls som p(c, k) = Σ {x: ek(x) = c} p(x) * p(k). 7. Sannolikheten p(k c) erhålls som p(k c) = p(c, k) / p(c).

60 ii. Perfekt sekretess. Ett chiffer ger perfekt sekretess om för alla x och c det gäller att p(x c) = p(x) Kännedom om ett chiffer tillför alltså ingen kunskap om klartexten. Ett chiffer med perfekt sekretess är oforcerbart, men endast 'one time pad' erbjuder perfekt sekretess (vad man vet). Genom att använda Bayes sats ser vi att detta är ekvivalent med att (för alla c och x) p(c x) = p(c). Tänk igenom vad det betyder om p(x c ) < p(x) eller om p(x c) > p(x)! iii. Några satser 1. Om S ger perfekt sekretess så gäller att varje x kan avbildas på varje c. Betrakta nämligen ett x och ett c. Eftersom S är perfekt gäller att p(x c) = p(x). Men p(x) > 0 för alla x. Det betyder att p(x c) > 0 vilket betyder att givet ett c så finns det minst ett x som avbildas på c. 2. Om S ger perfekt sekretess så gäller att K C M. Högra olikheten är uppenbar eftersom varje chiffer (perfekt eller ej) är en injektiv avbildning. Vidare: För varje givet x kan enligt ovan varje c erhållas och för varje c måste en separat avbildning finnas då x är givet. Alltså följer påståendet. 3. (Shannon, 1949) Ett kryptosystem S med lika många nycklar, klartexter och chiffer ger perfekt sekretess precis då alla nycklar är lika sannolika och det för varje klartext x och varje chiffer c finns exakt en nyckel k så att c = e k (x). Bayes sats kan i analogi med följande användas för att visa detta (Gör det!). iv. Skiftchiffer. Ett skiftchiffer med lika sannolika nycklar ger perfekt sekretess med avseende på enstaka klartextsymboler! Om M = C = K = Z 26 och y = e K (x) = x + K mod 26 och varje nyckelval har sannolikheten 1/26 så gäller p(y) = Σ K Z26 p(k) p(d K (y)) = Σ K Z26 1/26 p(y - K) = 1/26 Σ K Z26 p(y - K). För varje y så innebär y y - K mod 26 en permutation över Z 26 varför Σ K Z26 p(y - K) = 1 och alltså, för alla y, p(y) = 1/26. Vidare gäller att p(y x) = p(y - x mod 26) = 1/26, för alla x och y eftersom K bestäms entydigt av givna x och y via K = y - x mod 26. Till sist beräknas p(x y) med hjälp av Bayes sats: p(x y) = p(x) p(y x) / p(y) = 26 p(x) / 26 = p(x), vilket enligt definitionen betyder perfekt sekretess.

61 Observera att resonemanget kräver att man använder en ny slumpmässig nyckel för varje x och att vi därmed har visat att OTP ger perfekt sekretess. Samma resonemang kan användas för affina chiffer. 3.2.3. Entropi och ekvivokation Här införs några viktiga mått: entropi H, självinformation I och ekvivokation H(X Y) för att bl a kunna analysera fall då en (1) nyckel används för fler chiffreringar. Nedanstående definitioner av I och H vacklar lite: Somliga föredrar att se dessa som funktioner av stokastiska variabler, medan puristerna framhåller att de egentligen är funktioner av sannolikhetsfördelningar. Bevisen för satserna är ganska korta. Stokastiska variabler X med värden i {x 1,..., x n } och sannolikhetsfördelninger används. p = (p(x 1 ),..., p(x n )) = (p 1,..., p n ) i. Självinformation: I(X = x) = - log p(x). Logaritmen som oftast används är 2-logaritmen. Detta mått anger det antal bitar som behövs för att koda x med en optimal kod; d v s en kod som utnyttjar så få bitar som möjligt. Om det finns n = 2 k lika sannolika utfall blir självinformationen för vart och ett av dessa I = log n = k. Heuristisk motivering: 1. Sannolikheterna ingår i definitionen därför att ett påstående om en händelse som inträffar med fullständig visshet (p = 1) (solen går upp) inte ger någon information alls, medan ett påstående om en osannolik (p 0) händelse (jorden krockar med Mars) ger mycken visdom/information om händelsen verkligen inträffar/observeras. 2. Logaritmen har sin plats därför att två samtidigt inträffade händelser a och b med simultansannolikheten p(a, b) = p(a) p(b), d v s oberoende händelser, bör ge en adderad information; log (p(a) p(b)) = log p(a) + log p(b). 3. Logaritmfunktionen är förutom additiv även kontinuerlig (över de reella talen). 4. Minustecknet ger ett icke-negativt informationsmått. 5. Logaritmbasen väljs som 2 eftersom detta ger "antalet bitar" ('bits'). Naturliga logaritmen (ln) ger sk 'nats'. ii. Ömsesidig information: I(X = x, Y = y) = - log ( p(x y) / p(x) ). Detta är ett mått på den information som erhålls för händelsen X = x om händelsen Y = y inträffar/observeras (eller omvänt; I är alltså symmetrisk i X och Y).

62 iii. Entropi: Medelvärdet av självinformationen blir: H(X) = H(p) = Σ i p i I(X = x i ) = - Σ i p i log p i = - <p log(p)> Summan tas över alla p i 0. Alternativt tolkas 0 log 0 som lim x 0 x log x = 0. Detta är ett mått på à priori ovissheten i X eller den maximala informationen som en observation kan ge om just den aktuella variabeln. Heuristisk motivering: Ett mått som är kontinuerligt i p i, ökar med L om alla p i = 1/L och som utgör en viktad summa av måtten då valen bryts ned i delval, kan visas erhållas endast med denna funktion (en konstant undantagen, vilken svarar mot valet av logaritmbas). Exempel. 1. Om L = 2 och p 1 = p 2 = 1/2 så är H(X) = 1/2 log 2 + 1/2 log 2 = 1. För två lika sannolika möjligheter behövs en bit för att avgöra vilken det rör sig om. 2. För godtyckligt L och med p i = 1/L erhålls H(X) = L * 1/L log L = log L. Observera specialfallet L = 2 n som alltså ger n bitar. 3. Om t ex p 1 = 1 och alla andra p i = 0 erhålls H(X) = 1 log 1 + (L- 1) * 0 * log 0 = 0. Utfallet är känt; inga bitar behövs för att specificera det. 4. Om p 1 = 1/2 och p 2 = p 3 = 1/4 erhålls H(X) = 1.5. Ett mellanting. Alltså: Ju "jämnare" fördelning desto större entropi! Då massan är centrerad i en punkt är entropin 0. Det var ingen slump att Shannon valde namnet entropi. Termodynamikens andra huvudsats: I ett slutet system avtar inte entropin. Det är tur för datortekniker att öppna system existerar! iv. Medelvärdet av den ömsesidiga informationen: I(X, Y) = - Σ x Σ y p(x, y) log (p(x y)/p(x)) = - Σ y p(y) Σ x p(x y) log (p(x y)/p(x)). Eftersom I(X = x, Y = y) är en funktion av två variabler så summeras över båda för att bilda medelvärdet. Notera att I(X, Y) = I(Y, X). v. Entropi (fler variabler): H(X,...,Y) = - Σ... Σ p(x,...,y) log p(x,...,y) = H(X...Y) = H(X), där X = (X,...,Y). Detta är användbart i kryptologin då N-gram studeras. Vid ökande N växer antalet termer i summan exponentiellt.

63 vi. IT-olikheten och Jensens olikhet: Dessa två resultat kommer ofta till användning vid bevis för utsagor om H. IT-olikheten (IT = informationsteori, ett begrepp cirka 50 år äldre än informationsteknologi) log x (x - 1) log e (log x är 2-logaritmen) eller ln x x - 1 (ln x är den naturliga logaritmen) Bevisas mha differentialkalkylens medelvärdessats f(x) = f (a) + (x - a) f' (a + θ(x - a)), 0 < θ < 1: ln x = ln x - ln 1 = (x - 1) / (1 + θ(x - 1)) x - 1, där uttrycket 1 / (1 + θ (x - 1)) är logaritmens derivata i en inre punkt. Rita figur! Nyttig är ibland är den lite allmännare Jensens olikhet: Om f är kontinuerlig och strikt konkav på intervallet I och a i 0 och Σ i a i = 1, så gäller att Σ i a i f(x i ) f (Σ i a i x i ), för alla x i I och med likhet precis då x 1 =... = x n. En funktion f är strikt konkav om 2 f ((x + y) / 2) > f(x) + f(y) för alla x och y på intervallet I. (Konkavitet, utan strikt, definieras med i st f >.) För en funktion vars andraderivata existerar kan olikheten f'' < 0 tas som karakteristik på strikt konkavitet. Logaritmfunktionen är strikt konkav på alla intervall där den existerar. vii. Sats. 0 H(X) log L. -- L är utfallsrummets kardinalitet Maximum antas då p i = 1/L, för alla i och minimum då ett p k = 1 och de andra alltså 0. Bevis(skiss). H(X) - log L = - Σ i p i log p i - log L = Σ i p i (log (1/p i ) - log L) = Σ i p i log (1/(Lp i )) {it-olikheten} Σ i p i (1/(Lp i ) - 1) log e = 0. viii. Betingad entropi: H(X Y = y) = H Y=y (X) = - Σ x p(x y) log p(x y). Detta är ett mått på osäkerheten i X för ett visst givet Y = y.

64 ix. Ekvivokation. H(X Y) = H Y (X) = Σ y p(y) H(X Y = y) = - Σ y p(y) Σ x p(x y) log p(x y) = - Σ x,y p(x, y) log p(x y) Detta är medelvärdet av den betingade entropin över alla Y eller osäkerheten om X givet Y. Den kryptologiska relevansen framgår genom att välja X = nycklar och Y = kryptogram: Vilken är forcörens ovisshet om nyckeln då chiffertexten observeras? Exempel. Låt L = 4 och p(x) = 1/4 för alla x. Då är H(X) = 2. Antag också att p(y) = 1/4 för alla y. Om nu varje y begränsar möjligheterna för x så att y 1 bara medger x 1 eller x 2 (lika sannolika) y 2 bara medger x 2 eller x 3 (lika sannolika) y 3 bara medger x 3 eller x 4 (lika sannolika) y 4 bara medger x 4 eller x 1 (lika sannolika) så erhålls H(X Y) = 4 [ (1/4) 2 { (1/2) log 2 } ] = 1. Tolka! x. Sats. Bevis(skiss). I(X, Y) = H(X) + H(Y) - H(XY) = H(X) - H(X Y) = H(Y) - H(Y X) = I(Y, X). I(X, Y) = - E[ log (p(x y ) / p(x) ] = - E[ log (p(x, y) / (p(x) p(y)) ] = H(X) + H(Y) - H(XY). xi. Sats. 0 H(X Y) log L. När antas maximum? Notera att H(X X) = 0 för alla X. Visa detta! xii. Sats. H(X) = H(X 1 ) + H(X 2 X 1 ) + H(X 3 X 1 X 2 ) +... + H(X n X 1... X n-1 ), där X = (X 1,..., X n ). Om {X i } är oberoende bortfaller betingningen varför H(X) = H(X 1 ) + H(X 2 ) + H(X 3 ) +... + H(X n ). Om dessutom alla X i har identisk fördelning (X = X i för alla i) blir H(X) = n H(X). Det senare betyder att språkhastigheten r = lim n H(X) / n = H(X) för n-gram om varje tecken i ett sådant antas oberoende av omgivningen och alla platser likafördelade. Multiplikationsregeln för betingade sannolikheter utnyttjas för beviset av xii:

65 xiii. Sats. p(x) = p(x 1 ) p(x 2 X 1 ) p(x 3 X 1 X 2 )... p(x n X 1... X n-1). H(X Y) H(X). Använd återigen IT-olikheten tillsammans med relationen p(x) = Σ y p(x, y) och definitionen av betingad sannolikhet för beviset. Tolkning: En tilläggskunskap om Y kan inte öka ovissheten om X. xiv. Korrolarium. I(X, Y) = I(Y, X) 0. xv. Den binära entropifunktionen är h(p) = Ω(p) = H(p, 1 - p). X har två möjliga utfall med sannolikheter p och 1-p. Funktionen h antar maximum (=1) för p = 0.5 och är 0 för p = 0 och p = 1. Funktionen h = 0.5 för p 0.11 och 0.89. Om a och b är konstanter är derivatan: h(a + bp)/ p = b log [( 1- a - bp) / (a + bp)]. xvi. Sats. (Fanos lemma) Om X och Y har värden {x 1,... x L } så gäller H(X Y) h(p(x Y)) + p(x Y) log (L - 1), där p(x Y) = ΣΣ x,y p(x y). Satsen kan ges följande tolkning: H(X Y) är den information som behövs för att bestämma X då Y är känd. Om X = Y är vi klara, men för att bestämma om så är fallet krävs h(p(x Y)) bitar. Om X Y så kvarstår L - 1 möjligheter för X. Detta ger en entropi högst log (L - 1). xvii. Sats. För en stationär källa (simultansannolikheten för X i är oberoende av tidstranslation) gäller a. H(X n X 1... X n-1 ) H(X n-1 X 1... X n-2 ). b. H(X 1... X n ) n H(X n X 1... X n-1 ). c. H(X 1... X n ) / n H(X 1... X n-1 ) / (n - 1). d. lim n H(X 1... X n )/n = lim n H(X n X 1... X n-1 ) = r = entropihastigheten. e. För en Markovkälla (ett tidstegs minne) är r = H(X n X n-1 ). xviii. Sats. Om (X, Y, Z) är en Markovkälla så gäller a. I(X, Z) I(X, Y) b. I(X, Z) I(Y, Z)

66 Denna sats visar att informationsbehandling aldrig kan öka informationen: I modus ponens innehåller C A och C A B inte mindre information än C B. I additionen x = a + b innehåller högerledet minst lika mycket information som vänsterledet. xix. Sats. a. H(X, Y) = H(X) + H(Y X) b. H(X, Y) H(X) + H(Y). Likhet gäller precis då X och Y är oberoende. Ovissheten i den samtidiga händelsen (X, Y) är samma som ovissheten i X plus ovissheten i Y då X är given och den är inte större än summan av ovissheterna i X och Y var för sig. xx. Redundansen för ett språk M med alfabetsstorlek L definieras som D = R - r = log M - r. R = log L = "maximala antalet bitar per bokstav" = alfabetshastigheten = absoluta hastigheten. I engelskan är L = 26 och alltså R 4.7. En 0:te ordningens approximation av språket ger H(X) / N = H(X) = log L. Genom att beakta att bokstäverna i ett N-gram är beroende erhålls bättre approximationer för ökande N. Kvantiteten r = lim N H(X)/N = språkhastigheten (språkentropin) = medelvärdet av antalet effektiva informationsbitar per bokstav för språket är central. I engelska språket uppskattas r till intervallet [1, 1.5] (som uppnås vid N = 100, ca.). Ibland definieras redundansen som D / R = 1 - r / R; t ex i så fall 75% för engelska. För att beräkna H(X) för ökande N används frekvenstabeller för N-gram med N = 0, 1, 2,.... N = 0 ger H = 4.7, N = 1 ger H / 1 4.17 (tabell 2.1), N = 2 ger H / 2 3.62 &c. Jämför sats xvii.c ovan. xxi. Rényientropi. Detta mått är en generalisering av Shannons entropi och definieras för α 0 och α 1 enligt H α (X) = (1 - α) -1 log Σ p(x) α. Med gränsprocessen α 1 erhålls H 1 (X) = H(X). Med gränsprocessen a erhålls H (X) = - log max p(x). Vidare gäller för 0 < α < β att H α (X) H β (X), med likhet om och endast om X är likformigt fördelad. Speciellt gäller att log X H α (X), för α 0 och att H(X) H α (X), för α > 1.

67 3.3 Kodningssatser och 'one time pad' 3.3.1 Shannons satser Följande satser bevisades av Shannon i mitten av 40-talet och de utgör startpunkten för vetenskapsgrenen informationsteori. Satserna ges här utan bevis. En minnesregel för dessa satser är följande. H < κ < C Den första satsen karakteriserar källan och säger att entropin är det mått som är mest relevant för att beskriva det verkliga informationsinnehållet: i. Kodhastighet. Om blocklängden för ord som produceras är n och om dess ord kodas med kodord av längd ρ så kallas kvantiteten κ = ρ / n för kodhastigheten. ii. Sats. (Källkodningssatsen) Antag att källans ord av blocklängd n produceras av en diskret minnesfri källa med entropi H(p) och kodas med kodord av längd ρ ur ett alfabet av storlek K. Då gäller för alla ε > 0 att sannolikheten för avkodningsfel p e ε förutsatt att κ log K > H(p). Omvänt gäller att om olikheten inte är uppfyllt så är sannolikheten för avkodningsfel större än 1 - ε. För binära koder, K = 2, kan alltså källans ord återskapas precis då κ > H(p). Villkoret sätter alltså en undre gräns för hur mycket ett meddelande kan kompakteras utan att informationen förloras. Den andra satsen visar att kanalkapaciteten är det avgörande måttet för att utvisa hur mycket en kanal accepterar. iii. Kanalkapaciteten C för en minnesfri kanal beskriven av övergångssannolikheterna p(y x) definieras som C = max p(x) I(X, Y) = max p(x) (H(Y) - H(Y X)), där maximum tas över alla sannolikhetsfördelningar för invärdena x till kanalen. Observera att H(Y X) = 0 om kanalen är störningsfri, ty då är den mottagna signalen identisk med den sända. Ibland kan det vara enklare (eller naturligare) att använda maximum över I(Y, X) i stället; funktionen I är ju symmetrisk i X och Y. iv. Sats. (Kanalkodningssatsen) Antag att kodhastigheten κ för en minnesfri kanal uppfyller κ < C. Då gäller för alla ε > 0 att det finns en blocklängd n och en kod med denna längd och hastighet κ vars sannolikhet p e för avkodningsfel uppfyller p e ε. Observera att signal/brus-förhållandet inte ingår (explicit). Även denna sats har en omvändning. Om κ > C så finns ingen blockkod vars sannolikhet för avkodningsfel understiger ε.

68 3.3.2 Den binära symmetriska kanalen (BSC) I BSC (och i 'one time pad') finns två källsymboler x 1 och x 2 som förekommer med sannolikhet p(x 1 ) = p respektive p(x 2 ) = 1 - p. Figuren illustrerar denna kanal. x1 a 1-a a y1 x2 1-a Figur 3.2 BSC y2 Övergångssannolikheterna för de mottagna symbolerna y 1 och y 2 ges av och p(y 1 x 2 ) = p(y 2 x 1 ) = a p(y 1 x 1 ) = p(y 2 x 2 ) = 1 - a. Ett värde a 0 representerar ett överföringsfel (eller "distorsion" via kryptering) ; lika för båda symbolerna. Likheten a = 0.5 gäller för 'one time pad'; en slumpföljdsnyckel har ju lika många 0-or som 1-or. För att beräkna kanalkapaciteten C används I(X, Y) = H(Y) - H(Y X). H (Y) erhålls enkelt genom att beakta att och att Alltså är p(y 1 ) = p(x 1 ) p(y 1 x 1 ) + p(x 2 ) p(y 1 x 2 ) = a + p - 2ap p(y 2 ) = 1 - p(y 1 ). H(Y) = h (p(y 1 )) = h (a + p - 2ap), där h är den binära entropifunktionen. Genom att utnyttja att p(x i, y j ) = p(x i ) p(y j x i ) kan den andra termen beräknas. H(Y X) = - Σ x Σ y p(x, y) log p(y x) H(Y X) = - p [a log a + (1 - a) log (1 - a)] - (1- p) [a log a + (1- a) log (1- a)] = h (a). Eftersom kanalen är symmetrisk är detta resultat oberoende av p. Den ömsesidiga informationen blir alltså I(X, Y) = h (a + p - 2ap) - h (a), som beror både på felsannolikheten a och på källans sannolikhetsfördelning p. Om a = 0 så blir I = h(p) = H(X), med maximum C = 1 (för p = 0.5).

69 Om a = 0.5 (maximalt kanalfel) så blir C = max I = 0. Det är precis detta senare förhållande (C = 0) som gör 'one time pad' oforcerbar. Kanalkapaciteten är C = max p I = max p [h(a + p - 2ap) - h(a) ] = 1 - h(a). Maximum (över p) av h är ju 1 och kvantiteten h(a) är oberoende av p. 3.4 Huffmankodning i. Allmänt. Detta är ett sätt att koda den information som en källa genererar på ett redundansminskande vis. Grundidén är att representera de mera frekventa symbolerna med kortare kodord och acceptera att sällsynta symboler därmed kräver längre kodord. Kodorden blir med nödvändighet olika långa; koden är av typ: - Fix- till variabellängd. Avgränsare mellan kodsymbolerna bör undvikas eftersom sådana naturligtvis skulle belägga kanalens kapacitet i onödan så koden ska vara - Momentant avkodbar. Detta gäller för alla koder som uppfyller prefixvillkoret: Inget kodord utgör prefix till ett annat kodord (en sk prefixfri kod). ii. Exempel. Antal givet 8 källsymboler med sannolikheter p i, i = 1,..., 8, där p i = 1/32, för i = 0,1, 2, 3, p i = 1/16 för i = 4, 5, p i = 1/4, för i = 6 och p i = 1/2, för i = 7. Entropin blir H(X) = 2 1/8. Trivial kodning av 8 symboler ger medelkodordslängd 3. Följande tabell 3.3 visar en bättre kod. Symbol Sannolikhet (pi) Kodord (xi) Kodordslängd (li) 0 1/32 00 000 5 1 1/32 00 001 5 2 1/32 00 010 5 3 1/32 00 011 5 4 1/16 00 10 4 5 1/16 00 11 4 6 1/4 01 2 7 1/2 1 1 Tabell 3.3. En kodning Medelkodordslängden blir w = Σ p i l i = 2 1/8. Detta råkar sammanfalla med H(p), p = (p 0,..., p 7 ). Observera att prefixvillkoret är uppfyllt; exempelvis kan 000110000000001000101... bara avkodas som 30127.. och att denna avkodning kan ske utan att meddelandet behöver innehålla avskiljare mellan kodsysmbolerna.överensstämmelsen w = H(p), d v s redundansen D = 0 för det kompakterade språket, gäller inte alltid, men däremot följande sats.

70 iii. Sats. Medelkodordslängden w för en kompakterande, binär prefix-kod för en källa p uppfyller alltid w H(p). Vidare finns en prefixfri kod för vilken w H(p) + ε, för godtyckligt valt ε > 0. iv. Sats. En prefixfri kod med minimal längd uppfyller: a. Om p i > p j så gäller l i l j. b. De två minst sannolika källsymbolerna har kodord med samma längd. c. Om det finns fler kodord med samma längd så överenstämmer de i alla bitar utom de sista. Resultatet i denna sats kan användas konstruktivt: Kombinera de två minst sannolika källsymbolerna till en "artificiell" symbol vars sannolikhet är summan av de två andras. Då uppstår en ny källa med antalet symboler reducerat med ett. Konstruera nu en optimal kod för denna nya källa &c. För att hitta kodord för de minst sannolika symbolerna i den ursprungliga källan, använd den optimala koden för den artificiella och lägg 0 respektive 1 till koden för den artificiella symbolen. Att detta faller väl ut följer av följande. v. Sats. Antag att de två minst sannolika källsymbolerna kombineras till en artificiell symbol och att C' är optimala koden för denna artificiella källa. Konstruera C från C' genom att till den artificiella symbolens kod lägga 0 respektive 1 för att forma koderna för de minst sannolika källsymbolerna i ursprungskällan och lämna de övriga kodorden lika. Då gäller att C är den optimala koden för originalkällan. Huffmankoden erhålls om denna procedur tillämpas rekursivt. vi. Exempel. Antag givet 7 källsymboler a, b, c, d, e, f och g med sannolikheter 3/8, 3/16, 3/16, 1/8, 1/16, 1/32 respektive 1/32. Låt koden växa fram ur ett liggande träd med löven längst till vänster; se figur 3.3. I trädets grenar införs successivt 0-or (gren uppåt) och 1-or (gren nedåt). Koden blir: Symbol Sannolikhet (pi) Kodord (xi) Kodordslängd (li) a 3/8 1 1 b 3/16 011 3 c 3/16 010 3 d 1/8 001 3 e 1/16 0001 4 f 1/32 00001 5 g 1/32 00000 5 Tabell 3.4. En Huffmankodning Medelkodordslängden blir w = Σ p i l i = 2.44. Entropin är H(p) = 2. 37. Detta gav en ganska bra kod. Kodförbättringar kan erhållas om man betraktar N-gram i stället för 1-gram. vii. Exempel. Antag tre givna källsymboler a, b och c med sannolikheter 3/4, 3/16 respektive 1/16. Huffmankoden för 1-gram har koderna 1, 01 respektive 00. Detta ger w = 1.25 och vi har H(p) = 1.012, vilket antyder att en förbättning på 20% vore möjlig. Huffmankodning av digram ger nedanstående tabell. Sannolikheterna i tabellen bildas som produkten av de enskilda symbolernas sannolikheter. Medelkodordslängden blir w = 2.09. Observera dock att kodorden står för två källsymboler. Kodhastigheten är alltså 1.045. Jämför detta med 1.25 som är hastigheten för Huffmankoden för 1-gram och med 1.012 som är ursprungskällans entropi.

71 g 1/32 f 1/32 0 1 e 1/16 d 1/8 1/16 1 0 1/8 1 0 1/4 0 Vägen visar hur koden för c uttyds c b 3/16 3/16 0 1 3/8 1 1 5/8 0 3/8 a Figur 3.3.Ett Huffmanträd Symbolpar Sannolikhet Kodord Kodordslängd aa 0.5625 1 1 ab 0.1406 011 3 ac 0.0469 011 3 ba 0.1406 010 3 bb 0.0352 000 11 5 bc 0.0117 000 101 6 ca 0.0469 000 0 4 cb 0.0117 000 100 1 7 cc 0.0039 000 100 0 7 Tabell 3.5. Huffmankodning av digram Ett ibland användbart resultat är Krafts olikhet: viii. Sats. I ett alfabet av storlek K (för en binär kod är K = 2) existerar en prefixkod med M kodord av längd l(m), m = 1,..., M, precis då Σ m K -l(m) 1. 3.5 Chiffersäkerhet Efter att ha infört entropibegreppet och bevisat kanal- och källkodningssatserna var det en "barnlek" för Shannon att visa resultaten i detta avsnitt avseende konventionella chiffer[s resistens mot forcering]. 3.5.1 Nyckelekvivokation; Shannons tillvägagångssätt En "nyckelkvantitet" (hihi!) är H(K C), som beskriver en forcörs osäkerhet om kryptonyckeln K då han/hon "fångar upp" ett chiffer C. i. Allmänt. En approximation till nyckelekvivokationen H(K C) = - Σ C p(c) Σ K p (K C) log p (K C) kan härledas på följande (lite heuristiska) sätt.

72 Betrakta N-gram. Sätt S = 2 RN T = 2 rn, där R = log L (L = antalet element i alfabetet) är absoluta hastigheten och r är språkhastigheten, r = lim N H(X) / N. S är det totala antalet tänkbara meddelanden och T är antalet meningsfulla. Alla dessa antas vara lika sannolika och sannolikheterna summerar till 1 (nåja, nästan). Sannolikheten att det finns exakt m avbildningar mellan ett visst c och element i mängden av meningsfulla meddelanden är (k! / (m! (k - m)!) ) * (T / S) m * (1 - T / S) k - m = {def} = f(m), då k = 2 H(K) = antalet nycklar, som alla förutsätts lika sannolika. (Dragning med återläggning.) Om ett kryptogram med m sådana "linjer tillbaka" uppfångas är den betingade entropin för ett givet c lika med log m, ty alla är ju lika sannolika varför maximumvärdet antas. Sannolikheten för ett sådant chiffer är a(m) = ms / kt = m 2 DN - H(K), där D = R - r = p(c), eftersom det kan produceras av m nycklar av totalt k stycken med sannolikheter S / T. Ekvivokationen blir därför eller H(K C) = Σ c p(c) H(K C = c) H(K C) = Σ m a(m) f(m) log m = S / Tk Σ m f(m) m log m H(K C) = 2 DN-H(K) Σ m [1, k] C(k,m) 2 -DNm (1-2 -DN ) H(K) - m m log m där D = R - r och k = 2 H(K) och C(k,m) = k! / (m!(k - m)!). Den inramade ekvationen kan approximeras. Inför beteckningen λ = kt / S = 2 H(K) - DN. Tre delfall (med avseende på λ eller Ν) underlättar analysen. ii. Fall 1: λ = kt / S >> 1 (N litet). Då gäller approximationen H(K C) = H(K) - DN. Väntevärdet av m är λ. Om detta är >> 1 så är variationen av log m liten och kan ersättas med log λ, som i sin tur kan faktoriseras ur summan, som då reduceras till λ.

73 Vidare är k = 2 H(K) och log (T/S) = - DN. Så H(K C) = log(tk / S) = log T - log S + log k. Därav resultatet. iii. Fall 2: λ = kt / S 1. Här gäller approximationen H(K C) = e -λ Σ m 1 (λ m /m) log (m + 1). Detta faller ut om binomialfördelningen approximeras med en Poisson-dito: p m (1 - p) k - m = [p = 2 -DN ] = e -λ λ m /m! Summeringen blir kvar. iv. Fall 3: λ = kt / S << 1 (N stort). Slutligen gäller H(K C) = k 2 -DN. Det enda signifikanta bidraget i summan i Fall 2 kommer från m = 1. Om de övriga försummas fås H(K C) = e -λ λ. v. Entydighetslängd. Slutsatsen av ovanstående tre fall blir att nyckelekvivokationen börjar med att avta linjärt från värdet H(K) för att efter ett (kort) transitionsintervall avta exponentiellt. Tangenten dragen från den linjära delen skär N-axeln (abskissan) vid en punkt där H(K C) är "liten" (nästan 0); vid den s k entydighetslängden ('unicity distance') N u. Entydighetslängden är det minsta N-värde för vilket det inte råder någon osäkerhet om nyckeln då C är känt, d v s då H (K C) = 0 = H(K) - DN. Detta ger approximationen: N u = H(K) / D Figur 3.4 visar dessa relationer. Detta approximerar storleken av den mängd av chiffertext som forcören måste ha tillgång till för att entydigt bestämma nyckeln och därmed forcera chiffret. H(K C) H(K) Nu H(K) - DN N Figur 3.4 Entydighetslängd och ekvivokation

74 vi. Kommentar. Notera också att resonemanget innehåller intressanta resultat rörande sannolikheter; det är inte alltid nödvändigt att gå över till entropier för att finna "pärlor". Exempelvis kan det vara intressant att tabellera sannolikheten för att finna korrekt lösning (rätt nyckel) som funktion av log λ för k = 1, 2,.... Man kan nämligen visa att p(rätt nyckel) = (1/λ) * (1 - (1 - (λ/k)) k ) (1/λ) * (1 - e -λ ) för λ << 1. Funktionerna p(rätt nyckel) har ett intervall runt log λ 0 i vilket sannolikheten snabbt växlar mellan 0 och 1. Även detta resonemang leder fram till entydighetslängden eftersom log λ 0 motsvarar H(K) - DN 0. Kom ihåg att λ = 2 H(K) - DN. 3.5.2 Nyckelekvivokation; alternativ framställning Här kommer återigen ett försök att uppskatta den punkt där tillräcklig information finns för att teoretiskt härleda nyckeln entydigt. Några satser att rekapitulera är följande. i. Sats. H(X, Y) = H(Y) + H(X Y) Bevis. H(X, Y) = - Σ x,y p(x, y) log p(x, y) = - Σ x,y p(x, y) log p(x y) - Σ x,y p(x, y) log p(y) = = H(X Y) - Σ x,y p(y) p(x y) log p(y) = H(X Y) - Σ y p(y) log p(y) Σ x p(x y) = = H(X Y) + H(Y) * 1. ii. Korrolarium. En följdsats är H(X Y) H(X) med likhet precis då X och Y är oberoende, dvs då H(X, Y) = H(X) + H(Y). En lämplig väg att visa detta är att först visa att H(X, Y) H(X) + H(Y) med likhet just då X och Y är oberoende och sedan kombinera detta med i. ovan för att erhålla ii. iii. Sats. För ett kryptosystem <M, C, K, E, D> gäller för N-gram C, K, M att H(K C) = H(K) + H(M) - H(C) Bevis. En liten generalisering ("vektorargument" i H, Y = <K, M>) av i. ger H(K, M, C) = H(C K, M) + H(K, M). K och M bestämmer emellertid C entydigt via c = e k (m) varför H(C K, M) = 0. Då gäller att H(K, M, C) = H(K, M). (1)

75 Vidare är M och K oberoende så H(K, M) = H(K) + H(M). Alltså är H(K, M, C) = H(K) + H(M). (2) Analogt, eftersom H(M K, C) = 0, gäller att H(K, M, C) = H(K, C). (3) Slutligen erhålls alltså H(K C) = H(K, C) - H(C) = {(3)} = H(K, M, C) - H(C) = {(2)} = H(K) + H(M) - H(C). Med hjälp av denna relation kan ytterligare bestämningar av H(K C) erhållas. iv. Sats. Om M = C så gäller olikheterna följande olikheter. H(K) - DN H(K C) H(K) Bevis. Det gäller att H(M) Nr = N (D - R), där r = lim N H(M) / N är språkhastigheten, R = log M är alfabetshastigheten och D = R - r är redundansen. Självklart är H(C) N log C. Alltså gäller H(K C) H(K) - N(R - D) - N log C = { om C = M } = H(K) - DN. v. Falska nycklar. Definiera mängden K(c) av nycklar för vilka c är ett chiffer som svarar mot en meningfull klartext m på följande vis: K(c) = {K K: m M, p(m) > 0, e k (m) = c}. Både m och c uppfattas som N-gram. Då gäller H(K C) = Σ c C p(c) H(K C = c) Σ c C p(c) log K(c) log Σ c C p(c) K(c). Å andra sidan gäller att antalet s falska nycklar då ett visst c observeras är K(c) - 1. Av de tänkbara nycklarna är det ju bara en som är korrekt. Väntevärdet E[s] blir Alltså: eller E[s] = Σ c C p(c) ( K(c) - 1) = Σ c C p(c) K(c) - 1. H(K C) log (E[s] + 1)

76 E[s] 2 H(K C) - 1. Ur iv. ovan följer så att E[s] 2 H(K) - DN - 1. Om, slutligen, det föreligger så mycket chiffer, dvs N är så stort, att H(K) - DN = 0 blir det förväntade antalet falska nycklar = 0, varvid chiffret är forcerat (i teorin). vi. Entydighetslängd. Detta N-värde kallas entydighetslängden N u för vilken gäller att N u = H(K) / D Kommentar. Oftast används förutsättningen H(K) = log K (alla nycklar är lika sannolika) och uppskattningen D = 3.2 (för engelska) då denna ekvation används. 3.5.3 Sekretess i. Praktisk sekretess. Många bra chiffer kan ha liten entydighetslängd: För DES är om D = 3.2. N u H(K) / D = log 2 56 / D = 56 / D 17.5 (tecken) För denna kryptomassa, d v s tre ECB-chiffreringar med samma nyckel, låter sig nyckeln entydigt bestämmas. Men: Praktisk sekretess följer av att forceringen ändå är mycket arbetssam. Att via 'brute force' pröva 2 56 10 17 olika nycklar tar ju 10 11 sekunder (mer än ett miljon dygn) om varje nyckel kan prövas på 1 µs. ii. Perfekt sekretess. För 'one time' pad är H(M C) = H(M) (= 1, för binär kodning) och kanalkapaciteten noll oberoende av [hur stort] N [än väljes], vilket uttrycker det faktum att denna metod också ger perfekt sekretess, dvs N u =. Allmänt kan man visa att det alltid gäller att H(K C) H(M C), vilket också betyder att villkoret H(K C) = H(K) medför perfekt sekretess (dock ej omvänt). Villkoret I(C, M) = 0 p (M C) = p(m) är en vanlig definition på perfekt sekretess; dvs C och M är stokastiskt oberoende precis då perfekt sekretess föreligger. Visa ekvivalensen! Med hjälp av Bayes sats kan villkoret för perfekt sekrtess också skrivas p(c M) = p(c) (för alla M och C) Observera att ett PKS har entydighetslängden 0! Här behövs ju ingen kryptomassa alls för att teoretiskt beräkna den privata nyckeln ur den publika.

77 iii. Ideal sekretess. Om D 0 kommer inte heller att nyckelekvivokationen gå mot 0 då N växer, så chiffret kommer inte heller då att vara forcerbart. Shannon kallade detta förhållande för 'ideal secrecy'. Detta är anledningen till att kompaktering eller randomisering kan vara bra att ta till som ett steg före krypteringen. 3.5.4 Exempel Låt följande [artificiella] alfabet och chiffer vara givna. Klartextmängd M = {α, β} med p(α) = 1/4 och p(β) = 3/4. Chiffermängd C = {1, 2, 3, 4}. Nyckelmängd K = {k 1, k 2, k 3 } med p(k 1 ) = 1/2, p(k 2 ) = p(k 3 ) = 1/4. Chifferfunktionen e definieras av följande tabell (chiffermatris). e α β k 1 1 2 k 2 2 3 k 3 3 4 Med dessa data kan p(c) och p(m c) beräknas för c C och m M. (Se 3.2.2.i.) c p (c) 1 1/8 2 3/8 + 1/16 = 7/16 3 3/16 + 1/16 = 1/4 4 3/16 För att bestämma p(m c) är det lämpligt att först bestämma p(c m) = Σ {k: m = dk(c)} p(k). Ur siffrorna för p(k i ) erhålls följande. c p(c α) p(c β) 1 1/2 0 2 1/4 1/2 3 1/4 1/4 4 0 1/4 Bayes sats ger därefter följande tabell. c p(α c) p(β c) 1 1 0 2 1/7 6/7 3 1/4 3/4 4 0 1 Med hjälp av Bayes sats erhålls också de betingade nyckelsannolikheterna. c p(k 1 c) p(k 2 c) p(k 3 c) 1 1 0 0 2 6/7 1/7 0 3 0 3/4 1/4 4 0 0 1

78 Med dessa värden erhålls: H(M) = -1/4 log (1/4) - 3/4 log (3/4) = 2-3/4 log 3 0.81. H(K) = 1.5. H(C) 1.85. H(K C) 0.46. Detta är kompatibelt med H(K C) = H(K) + H(M) - H(C). 3.6 Störningsfria kanaler Följande resonemang syftar till att kvantifiera begreppet kanalkapacitet för en störningsfri kanal, d v s då H(output input) = 0. En komplikation är att de meddelanden som sänds via kanalen inte kan bestå av godtyckliga kombinationer av tecken eller bitar; stopp-bitar måste förekomma på exakt rätt platser; fastställda regler för Morse-signalering måste följas &c. En annan komplikation består i att att de olika kodorden kan ha olika utsträckning i tiden (olika längd). Antag att alfabetet är {s i }, i = 1,..., n. Till varje symbol s i associeras en tid t i ; den tid det tar att sända symbolen. i. Exempel. Vid Morse-signalering kodas tecken mha,, ; dvs "punkt", "streck" och "mellanslag". Varje bokstav sänds t ex som en fix sekvens av och. Bokstavs- och ordmellanrum kodas också. Implementeringen av grundsymbolerna kan vara: Symbol Implementering Tid Kommentar Ett intervall +5V, ett 0V 2 Kort "pip" Tre intervall +5V, ett 0V 4 Långt "piiip" Tre intervall 0V 3 Bokstavsmellanrum Sex intervall 0V 6 Ordmellanrum Tabell 3.6. Morsekod-förutsättningar Härav följer den naturliga restriktionen att två bokstavsmellanrum inte får följa på varandra, ty i så fall kan detta inte skiljas från ordmellanrum. Frågan är hur kapaciteten för en kanal ska definieras för detta fall. En definition bör ju degenerera till den vanliga i det fall alla bitkombinationer är tillåtna. När binärdata sänds som oktetter (256 olika möjligheter) och kanalen klarar 8n bitar/sek är det naturligt att detta får stå för kanalkapaciteten C. I detta fall har alla 256 olika kodord samma tidsutsträckning. N(T) står för antalet tillåtna signaler av längd T i tiden. I binära fallet är alltså N(T) = 2 8 T. ii. Definition. Kanalkapaciteten (för en diskret kanal) är C = lim T log [N(T) ] / T. Observera att detta uttryck reduceras till det intuitiva resultatet om alla ord har samma längd. Vad händer om de olika kodorden har olika utsträckning?

79 Om N(t) står för antalet sekvenser med utsträckning t så gäller N(t) = N(t - t 1 ) + N(t - t 2 ) +... + N(t - t n ). (1) Det totala antalet är lika med summan av antalet sekvenser som slutar på s 1,..., s n och dessa är N(t - t 1 ),..., respektive N(t - t n ). Differensekvationen (1) har en lösning N(t) X t, asymptotiskt för stora t, där X är största roten till karakteristiska ekvationen x -t1 + x -t2 +... + x -tn = 1. (2) Det betyder att C = log X. I de fall då det också finns begränsningar på de tillåtna sekvenserna, tex Morse-kodning, kan ett analogt resonemang ofta användas. iii. Exempel; Morse-signalering. Genom att räkna sekvenser av symboler och ta hänsyn till den näst sista och den sista förekommande symbolen så finner vi i detta fall att N(t) = N(t - 2) + N(t - 4) + N(t - 5) + N(t - 7) + N(t - 8) + N(t - 10); se tabellen ovan och FSM nedan. Ekvationen x -10 + x -8 + x -7 + x -5 + x -4 + x -2 = 1 (3) kan lösas numeriskt och den största roten X ger C 0.539. iv. Exempel. Morse-signalering ger upphov till följande ändliga tillståndsmaskin; figur 3.5. bokstavs- eller ordmellanrum punkt eller streck a1 punkt eller streck a2 Figur 3.5. Tillståndsmaskin för Morsesignalering Lite generellare: Låt en mängd tillstånd a 1,..., a m utgöra grunden för specifikation av möjliga signaler bland S = {s 1,..., s n }. En tillståndsövergång, som svarar mot att en tillåten signal tillhörande en delmängd av S sänds, ger upphov till en nytt tillstånd. Då gäller följande sats (utan bevis men med exempel). v. Sats. Om b ij (s) är längden (i tid räknat) för den s:te symbolen som leder från tillstånd i till tillstånd j, så är kanalkapaciteten C = log x o, där x o är den största reella roten till (determinant)ekvationen det [ Σ s x -bij(s) - I ] = 0, där I är enhetsmatrisen och x är en fri variabel.

80 vi. Exempel; Morsekodning. Med ovan angiven tabell och FSM blir ekvationen 1 x 2 + x 4 x 3 + x 6 x 2 + x 4 1 = 0. Genom att räkna ut denna determinant med Cramers regel återfås ekvationen (3). Ett viktigt specialfall av satsen är det då alla kodord har samma längd. Ett annat specialfall erhålls om alla kodsekvenser är tillåtna. Noter Det mesta i detta kapitel härstämmar från artiklarna [Sha48] och [Sha49]. Bra böcker om informationsteori är [Bla87] och [Joh88]. Stinson [Sti85] har ett utmärkt kapitel om samma ämne. Övningar 3.1. Antag att X är en heltalsvariabel som representeras med 32 bitar. Antag vidare att sannolikheten för att X [0, 255] är 1/2 och att alla värden i detta intervall är lika sannolika. X är dessutom likformigt fördelad i komplementintervallet. Beräkna H(X). 3.2. Låt X vara ett av följande meddelanden: a, b, c, d, e, f med p(a) = p(b) = p(c) = 1/4 p(d) = 1/8 p(e) = p(f) = 1/16 Bestäm H(X) och gör en så bra kodning du kan av X. 3.3. Visa att för, n = 2, H(X) antar maximum för p 1 = p 2 = 1/2. 3.4. Visa motsvarande resultat för godtyckligt n. 3.5. Visa att H(X, Y) H(X) + H(Y). När antas likhet? 3.6. Visa att H(X, Y) = H(Y) + H(X Y). 3.7. Låt M stå för ett sexsiffrigt tal som chiffreras med ett skiftchiffer med en nyckel K [0, 9]. Beräkna H(M), H(C), H(K), H(M C) och H(K C) givet att alla värden på M och K är lika sannolika. 3.8. Ömsedidiga informationen kan definieras som via Visa att I(X, Y) = Σ x,y p(x, y) log [p(x y) / p(x)]. I(X, Y) = H(X) - H(X Y). 3.9. a. Bestäm H(M) då p(m i ) = 2 -i, i = 1, 2,.... (Oändligt många utfall alltså!) b. Vilken blir medelkodordslängden för Huffmankodningen?

81 3.10. Antag givet ett kryptosystem definierat av följande matris e k (m) α β γ k 1 1 2 3 k 2 2 3 4 k 3 3 4 1 Antag vidare att p(α) = 1/2, p(β) = 1/3 och p(γ) = 1/6 och att alla k i är lika sannolika. Beräkna H(M), H(K), H(C), H(K C) och H(M C). 3.11. En tärning slås 10 gånger. Vilken är sannolikheten att 6 uppträder minst en gång? 3.12. Bestäm entydighetslängden för ett affint chiffer och för ett permutationschiffer över block av längd d. 3.13. En bridgekortlek är en mängd av 52 olika objekt som kallas kort. En bridgehand är en delmängd omfattande 13 element. En giv är en partitionering av kortleken i fyra händer. Det är möjligt att representera en bridgehand genom att tilldela varje kort en unik 6-bitskod så att ett 78-bits meddelande representerar en hand (s k 'pulse coded modulation'). Visa att den inte finns någon binär representation av en godtycklig hand som använder mindre än ungefär 52 * h(1/4) = 42 bitar. 3.14. a. Beräkna alfabetshastigheten R, hastigheten r och redundansen D för ett språk över M = {a, b, c, d} då p(a) = 0.5, p(b) = 0.25 och p(c) = p(d) = 0.125. b. Beräkna R, r, D över digram för samma språk om p(x, y) = 0.25 för alla x, y i M. 3.15. Visa att ett affint chiffer där alla nycklar är lika sannolika ger perfekt sekretess då det tillämpas på enstaka klartextsymboler. 3.16. Antag givet ett litet chiffersystem med M = {1, 2, 3}, C = {0, 1, 2, 3} och K = {k 1, k 2, k 3 } definierat på följande vis. e k1 (x) = x. e k2 (x) = x - 1. e k3 (x) = (1 - x) mod 4. a. Skriv ut chiffermatrisen. b. Antag att följande kryptogram observeras: 002232330. Vilken är den nyckel som använts? 3.17. Bevisa att H(K C) H(M C) i alla chiffersystem. 3.18. För ett visst chiffer och för ett visst klartextspråk har man studerat nyckelekvivokationens, f = H C (K) N, beroende av längden N på de chiffer man uppfångat. Ett delresultatet är följande. N 0 5 10 f 64 49 34 Ange med motivering approximationer till följande kvantiteter: - Nyckelentropin H(K), - språkets redundans D, - entydighetslängden N u, - H C (K) 15 och H C (K) 20.

82 3.19. Beräkna H(K C) och H(K M, C) för ett affint chiffer. 3.20. Antag att X har kardinalitet n, 2 k n < 2 k+1 och att p(x) = 1/n för alla x X. a. Gör en prefixfri kodning f av X sådan att medelkodordslängden w(f) = k + 2-2 k+1 /n. b. Illustrera tekniken för n = 6. Beräkna w och H(X) i detta fall. Ledning. Koda 2 k+1 - n element som strängar av längd k och resten av längd k +1. 3.21. Antalet 1-bitar i en bitvektor brukar kallas Hammingvikten för vektorn. Hur många bitars information ger kunskap om Hammingvikten för en DES-nyckel? 3.22. Om n är ett positivt heltal så kallas en n n matris L = (L ij ) sådan att i varje rad och i varje kolumn varje tal i {1,..., n} förekommer exakt en gång för en latinsk kvadrat. Med M = C = K = {1,..., n} kan man definiera e i (j) = L ij. Uppfyller detta chiffer perfekt sekretess? 3.23. Entydighetslängder. Fyll i de utelämnade värdena i nedanstående tabell! Chiffer Entydighetslängd Caesar 1.5 log 26 / 3.2 Allmän substitution Vigenere Affina Hill LFSR Rotor Data Encryption Standard Skipjack Pohlig-Hellman IDEA One time pad PKS