Οικονομικό Πανεπιζηήμιο Αθηνών Τμήμα Πληποθοπικήρ ΠΜΣ Κπςπηογπαθία και Εθαπμογέρ Διαλέξειρ Ακ. Έηοςρ 2011-2012 Ι. Μαξηάο & Δ. Μαξθάθεο Γηάιεμε 10-1
Απιθμηηική Υπόλοιπων & DH Εγκαθίδρσζη κλειδιών Diffie Hellman
Απιθμηηική Υπόλοιπων & DH Δσνάμεις Σηοιτείων ζε σπόλοιπα Αθνινπζίεο δπλάκεσλ a modulo n, όπνπ a є Z* n Γειαδή a 0, a 1, a 2,. modulo n. H 0th ηηκή ηεο αθνινπζίαο είλαη a 0 modn = 1, θαη ε ith ηηκή είλαη a i mod n. Γπλάκεηο 3 modulo 7 i 0 1 2 3 4 5 6 7 8 9 10 11 3 i mod 7 1 3 2 6 4 5 1 3 2 6 4 5 Γπλάκεηο 2 modulo 7 i 0 1 2 3 4 5 6 7 8 9 10 11 2 i mod 7 1 2 4 1 2 4 1 2 4 1 2 4 Πρ, 2* = {1, 2, 4} ζην Z* 7, θαη ord 7 (2) = 3.
Απιθμηηική Υπόλοιπων & DH Δσνάμεις Σηοιτείων ζε σπόλοιπα Έζησ a* ππννκάδα ηνπ Z* n πνπ γελλά ν a από επαλαιακβαλόκελν πνιιαπιαζηαζκό, θαη ord n (a) ("order of a, modulo n") λα νξίδεη ηελ ηάμε ηνπ a ζην Z* n. Αλ ord n (g)= Z* n, ηόηε θάζε ζηνηρείν ηνπ Z* n είλαη δύλακε ηνπ g, modulo n, νπόηε g είλαη πξσηεύσλ ξίδα ή γελλήηνξαο ηνπ Z* n. Π.ρ, 3 είλαη πξσηνγελήο ξίδα modulo 7, αιιά όρη ν 2 Αλ ην Z* n έρεη ξίδα ηόηε ε νκάδα αλαθέξεηαη σο θπθιηθή
Διακπιηόρ λογάπιθμορ & DH Πξνβιήκαηα δηαθξηηνύ ινγαξίζκνπ Αλ ζέινπκε λα ππνινγίζνπκε ηελ k th δύλακε ζηνηρείνπ ζπλόινπ (discrete exponentiation): Αθέξαηα ύςσζε ζε δύλακε k Δύξεζε ππνινίπνπ θαηά δηαίξεζε κε n Π.ρ.. ζην Z* 17 : 3 4 = 81, κεηά δηαίξεζε κε 17, νπόηε ππόινηπν 13, άξα 3 4 13 mod17 Discrete logarithm: αληίζηξνθν πξόβιεκα : Γεδνκέλνπ όηη 3 k 13 (mod 17), πνην είλαη ην k? Σπλήζσο ζθεπηόκαζηε ην κηθξόηεξν, άξα k = 4. Αιιά ππάξρνπλ άπεηξνη k
Γηα ην ζύλνιν Z* p ={1,, p 1} θάησ από πνιιαπιαζηαζκό modulo prime p Έζησ πξώηνο αξηζκόο p Ωο πξσηνγελήο ξίδα (ή γελλήηνξαο) g ηνπ πξώηνπ p νξίδεηαη ν αξηζκόο ηνπ νπνίνπ νη δπλάκεηο ηνπ modulo(p) παξάγνπλ όινπο ηνπο αθέξαηνπο από 1 έσο p-1 Γπλάκεηο 3 modulo 7 i 0 1 2 3 4 5 6 7 8 9 10 11 3 i mod 7 1 3 2 6 4 5 1 3 2 6 4 5 To g=3 παξάγεη ηνλ Z* 7, άξα πξσηνγελήο ξίδα ηνπ p=7 θαη ηάμε=6 Γηα νπνηνδήπνηε αθέξαην a є Z* p θαη γηα κία πξσηόγελλε ξίδα g ελόο πξώηνπ p κπνξεί λα βξεζεί z ηέηνηνο ώζηε g z =amodp O z θαιείηαη δηαθξηηόο ινγάξηζκνο ή δείθηεο ηνπ a γηα βάζε g θαη modp θαη ζπκβνιίδεηαη σο z=ind g,p (a)
DLP: Discrete Logarithm Problem: Γεδνκέλνπ ελόο πξώηνπ p, κηαο γελλήηξηαο g ηνπ Z* p, θαη ελόο ζηνηρείνπ β є Z* p, βξεο ην αθέξαην x, 0 x p-2, ηέηνην ώζηε g x =βmodp Βέβαηα δεδνκέλνπ ηνπ x είλαη ππνινγηζηηθά εθηθηό λα βξεζεί ην g x (square and mulitply) DHP: Diffie-Hellman problem Γεδνκέλνπ ελόο πξώηνπ p, κηαο γελλήηξηαο g ηνπ Z* p, θαη ησλ ζηνηρείσλ g α modp θαη g β modp, βξεο ην g αβ mod p
A θαη B ζηέιλνπλ από έλα κήλπκα ζε αλαζθαιέο θαλάιη. Απνηέιεζκα: Κνηλό κπζηηθό θιεηδί K γλσζηό θαη ζηα δύν κέξε Βήκα 1. Δπηιέγεηαη θαη δεκνζηνπνηείηαη πξώηνο αξηζκόο p θαη κία πξσηόγελλεο ξίδα g ηνπ p Βήκα 2. Γεκηνπξγία ηπραίσλ αξηζκώλ Ο Α επηιέγεη έλαλ ηπραίν αθέξαην Χ Α, Χ Α <p θαη ππνινγίδεη ην Υ Α =g ΧΑ modp Ο B επηιέγεη έλαλ ηπραίν αθέξαην Χ B, Χ B <p θαη ππνινγίδεη ην Υ B =g ΧB modp Βήκα 3. Κάζε πιεπξά απνζηέιιεη ζηελ άιιε ηηο ηηκέο Υ Α θαη Υ B Κάζε πιεπξά θξαηά κπζηηθή ηηο ηηκέο Χ Α θαη Χ B Βήκα 4. Παξαγσγή θιεηδηνύ Γηα Α: Κ=(Υ Β ) ΧΑ modp Γηα Β: Κ=(Υ Α ) ΧΒ modp Γηάιεμε 7-8
A B : p, g, Υ Α= g Φ Αmodp A B : Υ Β= g Φ Βmodp p=n Οη δύο ζτέζεης παράγοσλ ηο ίδηο αποηέιεζκα: K= (Υ B ) Φ Αmodp = (g Φ Bmodp) Φ Αmodp = (g Φ B) Φ Αmodp = g Φ BΦΑmodp = (g Φ Αmodp) Φ Βmodp = (Υ A ) Φ Bmodp Έλας θρσπηαλαισηής δηαζέηεη ηα ζηοητεία g, p, Υ Α θαη Υ Β. Είλαη αλαγθαζκέλος λα βρεη έλα δηαθρηηό ιογάρηζκο γηα λα σποιογίζεη ηο Κ. Γηα παράδεηγκα αλ επηηεζεί ζηολ Β ζα πρέπεη λα σποιογίζεη Φ B =ind g,n (Υ Β ) Γηα κεγάιοσς πρώηοσς (p) ηο πρόβιεκα ζεωρείηαη σποιογηζηηθά αλέθηθηο λα ισζεί
Υποζέηοσκε όηη ο πρώηος αρηζκός είλαη ηο p=71 Η πρωηογελής ρίδα είλαη a=7 Οη Α θαη B επηιέγοσλ ηδηωηηθά θιεηδηά Φ Α =5 θαη Φ B =12 Τα αληίζηοητα δεκόζηα θιεηδηά είλαη γηα ηολ A: Υ A = 7 5 mod 71 = 51 mod 71 γηα ηολ Β: Υ Β = 7 12 mod 71 = 4 mod 71 Σηε ζσλέτεηα αληαιιάζζοσλ ηα δεκόζηα θιεηδηά Υ A θαη Υ Β γηα λα σποιογίζοσλ ηο θοηλό θιεηδί K Α: K= (Υ B ) Φ Αmodp = (4 mod 71) 5 mod 71=4 5 mod 71=30 mod71 Β: K= (Υ Α ) Φ Βmodp = (51 mod 71) 12 mod 71=51 12 mod71=30 mod71
Θα νξίζνπκε μαλά ην κεραληζκό σο εμήο: Η Alice θαη Bob ζπκθσλνύλ ζε κηα πεπεξαζκέλε θπθιηθή νκάδα G θαη ζε έλα γελλήηνξα g ηνπ G Η Alice επηιέγεη έλα ηπραίν θπζηθό αξηζκό a θαη ζηέιλεη ην g a ζηνλ Bob Ο Bob επηιέγεη έλα ηπραίν θπζηθό αξηζκό b θαη ζηέιλεη ην g b ζηελ Alice H Alice ππνινγίδεη ην Κ=(g b ) a Ο Bob ππνινγίδεη ην Κ=(g a ) b Η Alice θαη ν Bob θαηέρνπλ ην ζηνηρείν ηεο νκάδαο g ab πνπ είλαη ην shared secret key. Οη ηηκέο (g b ) a θαη (g b ) a ζπκπίπηνπλ γηαηί ε πνιιαπιαζηαζηηθή νκάδα G είλαη κεηαβαηηθή σο πξνο ηνλ πνιιαπιαζηαζκό