Diskrete Mathematik – Unterlagen Fabian Hahn, Dino Wernli,, Stefan Götschi Mai 2008 1. Relationen Allgemeines Def: binäre Relation zwischen und : x wir schreiben für , Relationen können als binäre || || Matrix oder als gerichteter Graph dargestellt werden. Mögliche Eigenschaften von Relationen auf A • reflexiv: : , • antireflexiv: : , • symmetrisch: , : , , • antisymmetrisch: , : , , * • transitiv: , , : , , , Operationen auf Relationen Übliche Mengenoperationen sind zulässig. Komposition: ; ; , : , , Transitiver Abschluss: " … !#$ Arten von Relationen ! Äquivalenzrelationen: Eine Relation ~ auf heisst Äquivalenzrelation, falls sie symmetrisch, transitiv und reflexiv ist. Eine Partition einer Menge ist eine disjunkte Unterteilung in Untermengen & & ' mit: &* Eine Äquivalenzrelation partitioniert eine Menge in Äquivalenzklassen. Die Äquivalenzklasse/Partition von : ()) * 1| ~ 4 Ordnungsrelationen: Eine Relation + heisst Partialordnung auf ,, falls sie reflexiv, antisymmetrisch und transitiv ist. Dabei ist es möglich, dass manche Paare nicht vergleichbar sind. Eine Partialordnung, wo alle Paare paarweise vergleichbar sind, heisst Totalordnung/Kette/lineare Ordnung auf Begriffe: • , maximales Element, falls: -. / ,: . 0 , • , grösstes Element, falls: .: , 0 . • , + heisst wohlgeordnet, falls jede nicht-leere nicht Teilmenge von ein kleinstes Element besitzt Endliche Ordnungsrelationen können als HasseHasse Diagramme dargestellt werden. n. Dabei werden immer nur direkte Nachbarn verbunden. Bsp: * 1 | Teiler von , · . · 34 Relationen als Funktionen Relation 5 heisst funktional 5: , falls: • : , 5 • , 5 , Y 5 * Y Wir schreiben für , 5: 5 * oder 5: Z Zusätzliche Eigenschaften: • 5: injektiv,, falls: / Y 5 / 5Y Folgerung: || + || | • 5: surjektiv, surjektiv falls: : 5 * Folgerung: || 0 || | • 5: bijektiv,, falls surjektiv und injektiv Folgerung: || * || | , bzw. gleichmächtig 2. Kombinatorik Allgemeines Urnenmodell: ziehe 8 aus 9 mit Zurücklegen ohne Zurücklegen 9 geordnet : 9! 9 E 8! ungeordnet 9X8E1 [ \ 8 9 @ A 8 Der Binomialkoeffizient !: ist das Bildungsgesetz für das Pascal-Dreieck. • • • • • • !: * !<:!·:! * !! !!<$!<I…!<:]$ ! :! ! ! !<$ ! X !: * !<: * !<$ * !]$ E :<$ : :<$ : : ! : !<: ! ! Binomischer Satz: , X . * ∑:#>: , . ∑!:#>!: * 2! B ! : ! : !·_ : !: 0 @: A ; BC C + ^ : ; @: A + !: + @ : A @ A C Vandermonde: !: * ∑:̀#>L̀!<L :<` Datenkompression Binäre Entropiefunktion: D, * E, log I , E 1 E , log I1 E , Approximation für Binomialkoeffizient: !: K 2 C B !ab@ A Ein String der Länge 9 aus einer Stringmenge mit Nullwahrscheinlichkeit , ist auf die Länge ! log I J! K 9D, komprimierbar. Kombinatorische Regeln • für & Partitionen von : || * ∑|& | • für & &#$,…,! beliebig: |Xd | * ∏9d*1|d | • Inklusion/Exklusion: |!&#$ & | * ∑L&#$E1 E L<$ ∑$i &j k &lk …k&m i ! ef!h#$ &g e Euler’sche M-Funktion N9 * |18 10, … , 9 E 14 1 | nno8, 9 * 14|. Zum Beispiel: N6 * 2 ; R prim NR * R E 1 T T <$ Allgemein: 9 * ∏L& R& U N9 * ∏L& R& U R& E 1 Schubfachprinzip Wenn 9 Objekte auf 8V 9 Schubfächer verteilt werden, enthält mindestens 1 Schubfach mindestens 2 Objekte. Anwendung: für jede Folge der Länge 9 ist die längste monotone Teilfolge höchstens ~√9 lang. Anzahl Äquivalenzrelationen lenzrelationen auf eine n-Menge n Es gibt W!,: * W!<$,:<$ X 8 · W!<$,: Möglichkeiten, eine 9Menge in genau 8 Partitionen zu zerlegen. 1 Nun ist die #Äquivalenzrelationen: ! * ∑!:# #$ W!,: Die Rekursion W!,: bildet das Stirling-Dreieck Dreieck 2.Art: • Graphen Allgemein Mögliche Eigenschaften von Graphen Graph * , : • ungerichtet: symmetrisch • Permutationen Eine Permutation q ist eine bijektive Abbildung einer Menge auf sich selbst und kann dargestellt werden: • • 1 2 3 … 9 als Matrix: q * [ \ q1 q2 q3 … q9 Menge eindeutiger, disjunkterr Zyklen. (Zyklen selbst nicht eindeutig 1,3,8 8 * 3,8,1) deg < * Anzahl Kanten, die in ankommen isomorpher Graph Y * Y , Y zu : 5: Y bijektiv: , : , 5, 5 Es gilt immer: ∑ deg < * ∑ deg ] * || Nachbarschaftsfunktion: Γ Γ * 1 | , 4 Für ungerichtete Graphen gilt • : deg ] * deg < * deg • ∑ deg * 2 · || | 1-elementige Zyklen heissen Fixpunkte der Permutation. # fixpunktfreier Permutationen einer 9-Menge Menge 9! ^ <$ Einfacher Graph: keine Loops und Mehrfachkanten Sei W!,: die Anzahl Permutationen einer 9-Menge Menge mit genau 8 Zyklen W!,: * W!<$,:<$ X 9 E 1 · W!<$,: Durch diese Rekursion entsteht das Stirling-Dreieck Dreieck 1.Art: Weg: * > , … , L ; & , &]$ Alle Permutationen tionen einer Menge bilden eine nichtnicht kommutative (nicht-Abelsche) Gruppe. Bipartiter Graph: Zweifärbbar, färbbar, keine Kante ist Verbindung zwischen zwei gleichfarbigen farbigen Knoten. Knoten Es gilt: bipartit enthält keine ungeraden Kreise Pfad: Weg, bei dem alle Knoten verschieden sind Zusammenhängender Graph: Graph , , Pfad > , … , L : > * L * Kreis > , … , L :: Pfad mit L , > Teilgraph Y , Y von G:: Y ; Y ; Y Y 3. Lösen von Rekursionsgleichungen Fibonacci-Zahlen 5> * 0; 5$ * 1; 5! * 5!<$ X 5!<I Man nehme den Ansatz: 5! * u! und setze ein: u! * u!<$ X u!<I uI E u E 1 * 0 Die Nullstellen des Polynoms u$,I * Lösung der Form: 5! * $v√w liefern eine I ! ! $]√w $<√ √w @ I A X@ I A Anfangswerte einsetzen ergibt: * $ √w ; *E Cantormenge „Faktor 5 in jede Richtung“ erzeugt 8 Kopien: $ √w Es gilt: 8 * 5 x y * z{| } z{| : für CM: 5 * 3, 8 * 2 y * log ~ 2 Master-Theorem o9 * · o@9A X 59 Lösung : o9 * 59, 59 9z{| 9z{| , 59 V 9z{| log 9 · 9z{| , 59 * 9z{| 4. Graphentheorie Definition Graph , Menge(Knoten), Relation(Kanten) • deg ] * Anzahl Kanten, die von weggehen Induzierter Teilgraph von , falls: , Y : , , Y Notation: Y * ( Y ) Zwei verbundene Knoten in sind auch in verbunden. Zusammenhangskomponente (ZHK) (& ) von : & , d: , & Partition von , so dass: Pfad Es gilt immer: besitzt mind. || E || ZHK • Ein Graph , • zusammenhängend || 0 || E 1 Brücke ^ von Y , \1^4 eine ZHK mehr als Bäume Definitionen und Eigenschaften: • Wald: einfacher, ungerichteter Graph ohne Kreise • Baum: zusammenhängender Wald • Blatt: mit deg deg *1 • Jeder Baum (ausser dem Punkt) hat 0 2 Blätter Äquivalente Aussagen: 1. Baum: kreislos, zusammenhängend 2. zusammenhängend, || * || X 1 | X 1 3. kreislos, || * || 4. zusammenhängend, alle ^ sind Brücken 5. , , ein eindeutiger Pfad, Pfad Spannbaum * , Y eines eine zusammenhängenden Graphen , falls ein Baum ist und Y : vollständiger Graph, 9 Knoten, hat 9!<I Spannbäume Einige spezielle ungerichtete Graphen : Kreisgraph mit 9 Knoten 2 , : Gittergraph, waagrechte, 9 senkrechte Linien: * 1d, 4 , d * 1 … , * 1 … 9 : d, , d Y , Y (d * d Y | E Y | * 1 ∨ * Y |d E d Y | * 1) , : bipartiter Graph, wobei jeder Knoten einer Farbe mit jedem Knoten der anderen Farbe verbunden ist. : y-dimensionaler Hyperkubus.Nehme 2 Kopien von x<$ , füge zusätzliches Bit links hinzu: • • , y¡ , * 1 # Kanten: || * y a 2x<$ Eulertouren und Hamiltonkreise Eulertour: geschlossene Tour in zusammenhängendem , bei der jede Kante genau einmal besucht wird. Eulertour in : deg gerade ungeschlossene Eulertour: in alle Kantengrade ausser genau zwei sind gerade Hamiltonkreis: geschlossener Kreis in zusammenhängendem , jeder Knoten wird genau einmal besucht. Der Graph heisst dann Hamiltonsch. Für , 9 0 2: , 9 gerade ¢£,! Hamiltonsch x ist Hamiltonsch für alle y ausser 1 , mit deg 0 || I Hamiltonsch Planare Graphen Ein Graph ist genau dann planar, wenn er so gezeichnet werden kann, dass sich keine Kanten überkreuzen. Die Kanten müssen aber nicht zwingend gerade sein. Eigenschaften planarer Darstellungen von Graphen: Für einen zusammenhängenden planaren Graphen , der die Ebene in 5 Gebiete unterteilt, gilt die Euler-Formel: || X 5 E || * 2 || + 3 a || E 6 planar, dreiecksfrei || + 2 a || E 4 Ein zusammenhängender Graph ist genau dann NICHT planar, wenn er sich auf ¥~,~ oder ¥w reduzieren lässt, durch: • • Eine beliebige Kante streichen 2 Knoten verschmelzen, Verbindungen behalten Färbung von Graphen Ziel: Die Knoten von mit 8 Farben färben, so dass keine Kante 2 Knoten gleicher Farbe verbindet. ¦ : minimale Anzahl nötiger Farben zur Färbung von Es gilt: ¦ * 2 ist bipartit Färbbarkeit von speziellen Graphen: ¦¥! * 9 ¦¥£,! * 2 ¦¢£,! * 2 ¦Baum * 2 2, 9 gerade ® 3, 9 ungerade ¦R¯9° + 4 ¦! * « ¢ heisst Matching von , , falls: Matchings • • ¢ Kein Knoten von ist in 1 Kante von ¢ Ein Matching ist perfekt, falls jeder Knoten eine Kante hat. Perfektes Matching im Graph mit * ∪ bipartit: Annahme oBdA || + ||. Das Matching heisst perfekt, genau dann, wenn gilt: |¢| * ||. 5. Zahlentheorie Teilbarkeit Teilbarkeitsoperator: | teilt 9: a 9 * Regeln zum Teilbarkeitsoperator: • • • • | | | | ∨ | | | | | * ∨ * E | X | , y ℤ, y / 0 ´, ° ℤ eindeutig mit: * ´ a y X ° Es gilt: 0 + ° V y und wir schreiben x * ° Theoreme zu ggT und kgV Grösster gemeinsamer Teiler von 2 oder mehr Zahlen: kleinste positive Zahl, die sich als Linearkombination eben dieser Zahlen darstellen lässt: y * nno, * X Formell: y| y| | | |y Zahlen , heissen teilerfremd, falls: nno, * 1 Erweiterter Euklid-Algorithmus (EEA): nno24,9 * 3 * E1 a 24 X 3 a 9 24 9 6 3 0 (24) (9) 1 0 1 -1 0 1 -2 3 Kleinstes gemeinsames Vielfaches von 2 oder mehr Zahlen: kleinste Zahl, die sich als positive Linearkombination der Zahlen darstellen lässt: ¯ * 8n, Formell: |¯ |¯ | | ¯| Zusammenhang zwischen ggT und kgV: Sei * ∏& R& U und * ∏& R& U ¯& , 5& 0 0, dann gilt: T • • } U ,}U nno, * ∏& R& µ¸¹ TU ,}U 8n, * ∏& R& Ausserdem gilt: µ¶· T 8n, a nno, * a Primzahlen und Primfaktorzerlegung (PFZ) Definition: R prim 0 | R * 1 ∨ * R Es gilt: R| a R| ∨ R| Es gibt unendlich viele PZ. Es gibt beliebig grosse Lücken zwischen 2 auf einander folgende PZ: (9! X 2, 9! X 9) Primzahldichte: q9 * |11 V 8 + 9 | 8 R°d4| Approximation: q9 a ln 9 K 9 ! K z· ! etwa jede 231. hundertstellige Zahl ist eine Primzahl º! Jede Zahl besitzt eine eindeutige PFZ: $ * ∏& R& U T Modulare Arithmetik ≡£ * ¼ X | E £ * £ 3 Rechenregeln: R prim • • • • • £ X * £ £ X £ £ a * £ £ a £ Satz von Fermat(1): ¾ ≡¾ ¾<$ ≡¾ 1 Satz von Fermat(2): ¾ ¿ * ¾ ¾ ÀÁÂj ¿ Euler: 9 ℕ, ℤ∗! Å! ≡! 1 Beispiel einer Anwendung der Restsätze: w 2007I>>Ç * w w 2007I>>Ç * w 2I>>Ç * w 8 a 2I>>È * w @w 16w>$ a w 8A * w @3 a w 1w>$ * 3 Ansatz für Restberechnung: Umkehrung des CRS ! Bsp: , ≡II , ≡I I , ≡$$ $$ Iterierte Quersummen: Die IQS einer Zahl ist die Ziffer, die man erhält wenn man so lange immer wieder die Quersumme berechnet, bis das Resultat + 9 ist. Es gilt für IQS: • • • ÉW X * ÉWÉW X ÉW ÉW a * ÉWÉW a ÉW 9 9 / 0 Ë 9 * 0 ® 9*0 ÉW9 * Ê 0 ÌÍ9̼ Ë 9 IQS-Kontrolle von Rechnungen: falsch sicher falsch Struktur und Aufbau der Restklassen: Die Kongruenz modulo ist eine Äquivalenzrelation. Die Partitionierung in Restklassen modulo bildet ℤ£ . ℤ£ * 1 (0), (1), … , ( E 1) 4 Es gilt für eine Partitionierung: Klassen () und () • • • • X ( X ) a ( a ) X ≡£ Y X Y a ≡£ Y a Y Jede Restklasse von ℤ£ besitzt eine additive Inverse: (), (), (), (): X (0) Eine multiplikative Inverse existiert genau dann wenn: ,: () a (,) * (1) nno, * 1 Multiplikative Inversenberechnung mit EEA: nno, * 1 * a X a * <$ Íy Definiere: ℤ∗£ * 1() | nn¼, * 14 ℤ∗w * 1(1), (2), (3), (4)4 * ℤw \ 104 Deshalb gilt: |ℤ∗£ | * N und für R prim: ℤ∗¾ ≡ ℤ¾<$ Der Chinesische Restsatz (CRS): Seien $ … L paarweise teilerfremd nno& , h * 1 und sei ein , gesucht mit: , ≡£j $ , … , , ≡£m L Dann lassen sich die Bedingungen vereinfachen: , ≡Î ; ¢ * ∏& & Zur Berechnung von geht man wie folgt vor: * Î ÏÐ & a & ¢ ¢ <$ a [ \ Íy & Ñ & & Ò * Ó: * Î $ · I · I<$ Íy $ X I · $ · $<$ Íy I Ò * Ô: * Î $ I ~ I ~ <$ Íy $ X I $ ~ $ ~ <$ Íy I X ~ I $ I $ <$ Íy ~ % «j # ÀÕj ® #À l Andere Richtung: Õl Lemma aus dem CRS: Betrachte die Menge ℤ∗£ mit * R´. Es gelten folgende äquivalente Aussagen: • • • • ∗ ℤ£ nno, * 1 nno, R * 1 nno, ´ * 1 $ @ A ; nno$ , R * 1 * nnoI , ´ I Es folgt direkt: N * |ℤ∗£ | * Öℤ∗¾ Ö a |ℤ∗× | Allgemein für 9 * ∏L&#$ R& U T • • |ℤ∗! | * Øℤ∗ Ùj Ø a … a Øℤ∗ Ùm Ø ¾j |ℤ! | * eℤ¾Ùj e a … a eℤ¾Ùm e VORSICHT: |ℤ∗È | j / |ℤ∗I | · |ℤI∗ | Neuformulierung des CRS: T PFZ von 9 * ∏& R& U dann gilt: • • ¾m m ; |ℤÈ | / |ℤI | · |ℤI | ℤ∗! ≡ ℤ∗ Ùj ℤ∗ Ùl … ¾j ¾l ℤ! ≡ ℤ¾Ùj ℤ¾Ùl … j l VORSICHT: ℤ∗È ≢ ℤI∗ ℤ∗I weil 2 mal selber Primfaktor ℤÈ ≢ ℤI ℤI weil 2 mal selber Primfaktor 6. Algebra Gruppen: Sei eine Menge und ∗ : eine Operation auf besagte Menge, so ist ,∗ eine Gruppe, falls: • • • • Abgeschlossen bezüglich ∗ Assoziativ: q$ ∗ qI ∗ q~ * q$ ∗ qI ∗ q~ Neutralelement: ^: q ∗ ^ * ^ ∗ q * q Invertierbar: qq <$ : q ∗ q <$ * ^ Eine Gruppe heisst Abelsch, falls sie kommutativ ist. Eine Gruppe ist zyklisch, falls n mit Í°yn * | | Beispiel: ÛÜ * 1^, , I , ~ , … , ÝLx<$ 4 Es gilt: n Generator Í°yn * | | Es gilt: | | prim zyklisch und n / ^: Í°yn * R T Eigenschaften einer zyklischen Gruppe , | | * ∏& R& U : • • • • • ≡ ℤ|Þ| , X ihre Untergruppen sind zyklisch sie ist Abelsch (kommutativ) n Generator von , falls d * 1 … 9 ∶ n besitzt genau N| | Generatoren |Þ| ¾U /^ 4 Symmetriegruppe einer Figur: Drehungen und Spiegelungen, die die Figur invariant lassen (bei Quadrat d a 90° -Drehungen). Die Symmetriegruppe eines regelmässigen 9-Ecks enthält immer 29 Elemente. Zwei Gruppen heissen isomorph, falls eine bijektive Abbildung existiert, die verträglich mit ∗ ist. Beispiel: $ * ℤI , X und I * 1o, á4, ,Í° $ ≡ I Gruppen von Ordnung R prim sind eindeutig aufgebaut. ,∗ heisst Untergruppe von ,∗, falls und auch eine Gruppe ist bezüglich ∗ . Es gilt: || | | | Produkt zweier Gruppen ,Þ und ¥,â : für ¥,∗: n, 8 ∗ nY , 8 Y * n Þ nY , 8 â 8 Y Ordnung eines Elements: Í°y * min 1d 0 | * ^4 ÛÜ * ä^, , I , ~ , … , ÝLx<$ å Í°y * |ÛÜ| Es gilt: ∗ * & h Àæmçè &]h ; & <$ * & ÝLx<& Satz von Lagrange: beliebige Gruppe: |Þ| * ^; Í°y| | | Der diskrete Logarithmus Geg: * ÛnÜ , Zahl n J Ges: dazugehöriges , ∗ , 2J ≡ 5 , * 4 Bsp: Gruppe ℤ$$ Schwieriges Problem: nützlich für Kryptographie Baby-Step, Giant-Step Algorithmus ê [ë|ì| a íîï|ì|\: 1. speichere: n J]$ , n J]& , … , n J]Î @¢ * ë| |A als Tupel: 0, n J ; 1, n J]$ ; … ; ¢, n J]Î und sortiere diese nach dem zweiten Wert 2. Berechne n> , nÎ , nIÎ , … , n hÎ bis man im Intervall der gespeicherten Werte landet 3. Assoziiere n hÎ mit einem d ,dann: , * ¢ E d Ringe und Körper ¥, X, ∗ heisst Körper, falls: • • • ¥, X abelsche Gruppe mit Neutralelement 0 ¥ \ 104 , ∗ abelsche Gruppe mit Neut. 1 Distributivität: X * X Charakteristik: ¦¥ * Í°yâ,] 1 0· *0 Nullteilerfrei: * 0 * 0 ∨ * 0 X I * I X 1 X 1 X I Die multiplikative Gruppe ist immer zyklisch Für Körper gilt: • • • • • Jeder endliche Körper besitzt genau R! Elemente. Jedem R! kann man einen eindeutigen Körper áR! zuordnen. Körper, dessen Multiplikation keine Inverse besitzt: Ring Moduloarithmetik mit Polynomen über Körper Die Menge ¥(,) aller Polynome über einen Körper ¥ * áR! bilden einen Ring: " ¥(,) * ÊÐ & , |& ¥ð ∪ 104 &#> & Es gilt: deg0 * E∞ ; für L / 0: deg∑L&#> & , & * ° Es gelten analoge Sätze zur normalen Moduloarithmetik: ,, , ¥(,) , ´,, °,: * ´ a X ° , | , ,: , a , * , R, irreduzibel R, * Ì, a ¼, degs * 0 ∨ degt * 0 : R * 0 R, nicht irreduzibel Umkehrung gilt nur bis und mit ° * 3 • • • • Über áR existieren irreduzible Polynome jeden Grades. Definition von Inverse und ggT: gleich wie bei den Zahlen. Berechnung des nno zweier Polynome mittels EEA: In á3 , ~ X 2, X 1 2, X , X 2 I 2, 2 *weil: 1 , ~ X 2, X 1 2, I X , X 2 1 ,X1 1 0 2, X 1 ,X2 0 1 1 X 2, X 1, X 1* ,I X 1 1 a 2, I X , X 2 X 2, X 1 a 2, * 2 Sei allgemein ´, irreduzibel in ¥ * áR! , dann bilden die Polynome ¥(,) über ¥ modulo ôõ einen Körper. Um áRx aus áR zu konstruieren: 1. schreibe alle Polynome & mit deg& V y in die Additions- und Multipliationstabelle 2. wähle irreduzibles Polynom ´& y-ten Grades über áR und fülle Tabellen modulo ´& aus Beispiel für Erweiterungskörper: ℝ(,) Íy, I X 1 ≡ ℂ 7. Kryptographie RSA (Rivest, Shamir, Adleman) RSA ist ein PK-SK Kryptosystem. Es benutzt: R, ´ prim 9 * R a ´ ¾<$×<$ ≡! 1 Vorgehen des Kryptosystems mit ℤ∗! : • B wählt 2 Primzahlen R, ´ und eine Zahl ^ mit nno^, R E 1´ E 1 * 1 • B berechnet 9 * R´ und y * ^ <$ Íy N9 • B schickt den PK 9, ^ und behält SK 9, y • A verschlüsselt Mitteilung V 9: * ! _ • A schickt rüber, B entschlüsselt: * ! x Potenzieren mit Square & Multiply: ^ * ^L , ^L<$ , … , ^> I _ * _m I a _mÂj I a _mÂl I … I a _æ RSA – Digitale Signaturen Vertrag ℤ∗! mit RSA so signieren, dass die Information verifizierbar nur vom wahren Absender kommen kann. Vorgehen beim Signieren (A hat den Vertrag): • PK und SK genau wie beim Kryptosystem • A berechnet Ì * ! x und schickt , Ì rüber • Für die Verifikation muss gelten: ! Ì _ * RSA Schwachstelle: „(p - 1) Algorithmus“ Wenn für eine der beiden Primzahlen gilt: R E 1 hat nur kleine Primfaktoren, dann: • für ein relativ kleines : R E 1 | ! • es gilt: ø! * :¾<$ ¾<$ : ≡¾ 1 und 5 • ø! ≢× 1 ùReø! E 1 ¬ @´e2ø! E 1Aû also muss gelten: R * nno2ø! E 1 , 9 Diffie Hellman Verschlüsselung Dieses symmetrische Kryptosystem basiert auf die Schwierigkeit von diskreten Logarithmen: 1. A wählt eine zyklische Gruppe * ÛnÜ und ein beliebiges .. Der SK besteht nur aus dem .. 2. A schickt den PK , n, n ü . B wählt ein beliebiges , und schickt den Tupel a n Jü , n J zurück 3. Nun kennen A und B n Jü , ein dritter aber nicht 4. Entschlüsselung: * a n Jü a n Jü <$ in Das System funktioniert für alle zyklischen Gruppen, aber für ℤ∗¾ sind sicher keine effizienten Algorithmen bekannt. 8. Lagrange-Interpolation Theorie Ein Polynom von Grad 9 ist mit 9 Stützstellen eindeutig bestimmt. Berechnung dieses Polynoms: 1. Bestimme für jede Stützstelle ýh ein Polynom & , 1, d * ® sodass: & ýh * « 0, d / 2. Bilde das gesuchte Polynom R, * ∑!&#> þ& & , Es gilt: & , * J<ఈబ J<ఈj …J<ఈUÂj J<ఈUశj …J<ఈB ఈU <ఈబ ఈU <ఈj …ఈU <ఈUÂj ఈU <ఈUశj …ఈU <ఈB Anwendung: Secret Sharing Geheimnis unter 9 Parteien so verteilen, dass mindestens 8 Parteien nötig sind, um das Geheimnis zu entziffern. Erstelle ein Polynom von Grad 8 E 1, dessen Auswertung bei , * 0 genau das Geheimnis ist. Verteile dann an jede der 9 Personen einen Shared * ý& , Rý& ; ý& / 0 Codierung allgemein Ziel: 8-Bit-String über verrauschten Kanal verschicken, so dass der Empfänger die Nachricht eindeutig versteht. Vorgehen: • Bilde alle 8-Strings auf 9-Strings ab, wobei 9 8. Diese bilden die Menge der Codewörter . • Schicke man den 9-String zum Empfänger. Was bei ihm ankommt, ist wegen verrauschtem Kanal nicht zwingend Codewort. Der Empfänger nimmt dann das Codewort mit der kleinsten Hamming-Distanz zum Empfangenen und dekodiert diesen. • Erwünschte Eigenschaft: Codewörter liegen möglichst weit auseinander. Minimaldistanz: y * min 1 y¡ , | , 4 In einem beliebigen Code kann man: • • + I Fehler korrigieren + y E 1 Fehler detektieren x<$ Codierungsstrategien Lineare Codes: Ein Code heisst linear, falls: • • symmetrisch translationsinvariant Lineare Codes besitzen eine Generatormatrix ℝ :! , um die Strings abzubilden und eine Parity-Check Matrix ℝ J ! mit der Eigenschaft: a * 0 Grundsätzlich kommt beim Empfänger das Wort X ^ an. Die Dekodierung erfolgt folgendermassen: X ^ * X ^ * 0 X ^ ^ nennt man Syndrom. Im Allgemeinen ist es schwierig, vom Syndrom auf den Fehler zu schliessen, aber durch geschickte Parameterwahl der Codierung ist es möglich. Beispiele von Codierungen Hamming-Code (linearer Code über ìࡲÓ): Der Code-Raum ist ein 4-dim Unterraum von á2Ç . 0 Die -Matrix ist: Ï0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1Ñ 1 Die Zeilen von bilden eine Basis des 3-dim Orhtogonalraums auf den Code-Raum . Die Minimaldistanz ist die kleinste Hammingdistanz zweier Codewörter, also auch das kleinste Hamminggewicht eines Codeworts (aufgrund der Linearität und wegen á2). Da mindestens 3 Spalten von linear abhängig sind, ist 3 auch die minimale Anzahl „Einsen“, die man baucht, um ein Codewort ( * 0 zu erzeugen. Somit gilt: y * 3 Nun fehlt nur noch die Generatormatrix . Es ist erwünscht, dass die linke 4 4 Matrix die Einheitsmatrix ist, damit die ersten 4 Bits eines Codeworts die eigentliche Botschaft darstellen. 1 0 *൮ 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ? ? ? ? ? ? ? ? ? ? ൲ ? ? 1 0 *൮ 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 ൲ 0 1 Die 4 Zeilen müssen eine Basis des Code-Raums sein, also braucht man 4 linear unabhängige Codes in den Zeilen. Deshalb muss für jede Zeile gelten: a n& * 0 Man erhält: Optimale Codes (Lagrange-Interpolation): Die maximale erreichbare Minimaldistanz bei gegebenem 9, 8 beträgt: y + 9 E 8 X 1. Optimale Codes sind Codes, die genau diesen Wert erreichen. Ein optimaler Code entsteht durch Polynomauswertung. Man konstruiert aus einer 8-Array-Botschaft (> , … , :<$ ) ein Polynom R, * > X $ , X . . . X:<$ , :<$ . Die Codierung besteht darin, dieses Polynom an 9 verschiedene Stellen auszuwerten: ,> … ,! Die Dekodierung ist allgemein NP-vollständig, aber durch leichte Abänderungen dieses Codes kann man es einfacher machen. Ein Beispiel dafür ist der Reed-Solomon-Code. 6