Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία



Σχετικά έγγραφα
Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Διαιρετότητα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία. Ακέραια διαίρεση. Διαιρετότητα. ΜΚΔ: χρήσιμες ιδιότητες

Αλγεβρικές Δομές και Αριθμοθεωρία

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι

Κεφάλαιο 2. Μαθηματικό Υπόβαθρο. 2.1 Θεωρία Αριθμών Διαιρετότητα

* * * ( ) mod p = (a p 1. 2 ) mod p.

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Αριθμοθεωρητικοί Αλγόριθμοι

a = a a Z n. a = a mod n.

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Εφαρμοσμένη Κρυπτογραφία Ι

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Υπολογιστικά & Διακριτά Μαθηματικά

s G 1 ). = R, Z 2 Z 3 = Z6. s, t G) s t = st. 1. H = G 4. [G : H] = a G ah = Ha.

Υπολογιστικά & Διακριτά Μαθηματικά

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

a b b < a > < b > < a >.

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ

Υπολογισμός της δύναμης z=x b modn

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

G 1 = G/H. I 3 = {f R : f(1) = 2f(2) ή f(1) = 3f(2)}. I 5 = {f R : f(1) = 0}.

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο.

Κρυπτογραφία Δημοσίου Κλειδιού

Δακτύλιοι και Πρότυπα Ασκήσεις 2. όπου a (4 i) (1 2 i), b i. Στη συνέχεια βρείτε κάθε τέτοιο d. b. Δείξτε ότι [ i] (4 i)

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

ΚΕΦΑΛΑΙΟ 1: Πρότυπα. x y x z για κάθε x, y, R με την ιδιότητα 1R. x για κάθε x R, iii) υπάρχει στοιχείο 1 R. ii) ( x y) z x ( y z)

Α Δ Ι. Παρασκευή 15 Νοεμβρίου Ασκηση 1. Να ευρεθεί η τάξη τού στοιχείου a τής ομάδας (G, ), όπου. (4) a = ( 1 + i 3)/2, (G, ) = (C, ),

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

Ε Μέχρι 18 Μαΐου 2015.

Θεωρία Galois. Πρόχειρες σημειώσεις (εκδοχή )

bca = e. H 1j = G 2 H 5j = {f G j : f(0) = 1}

f(t) = (1 t)a + tb. f(n) =

ΚΕΦΑΛΑΙΟ 8: Εφαρμογή: Το θεώρημα του Burnside

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

Βασική Άλγεβρα. Ασκήσεις (εκδοχή )

Βασική Άλγεβρα. Ασκήσεις (εκδοχή )

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Αλγεβρικές Δομές Ι. 1 Ομάδα I

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Πεπερασμένα σώματα και Κρυπτογραφία Σύμφωνα με τις παραδόσεις του Α. Κοντογεώργη. Τσουκνίδας Ι.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις Επαναληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Δακτύλιοι και Πρότυπα Ασκήσεις 6. Η ύλη των ασκήσεων αυτών είναι η Ενότητα6, Εφαρμογές Θεωρημάτων Δομής στη Γραμμική Αλγεβρα.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Επανάληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Ε Μέχρι 31 Μαρτίου 2015.

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 5

ΚΕΦΑΛΑΙΟ 4: Ριζικό του Jacobson

G = a. H = g n. a m = a nq+r = a nq a r = (a n ) q a r = a r = (a n ) q a m. h = a m = a nq = (a n ) q a n

ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Υπολογιστικά Προβλήματα και Αλγόριθμοι στην Κρυπτογραφία

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 7

Υπολογιστικά & Διακριτά Μαθηματικά

Γραμμική Αλγεβρα ΙΙ Διάλεξη 1 Εισαγωγή Χρήστος Κουρουνιώτης Πανεπισ τήμιο Κρήτης 19/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 1 19/2/ / 13

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Στοιχεία Θεωρίας Αριθμών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Τίτλος Μαθήματος: Θεωρία Ομάδων. Ενότητα: Θεωρία Sylow. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

F 5 = (F n, F n+1 ) = 1.

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

Ο μαθητής που έχει μελετήσει το κεφάλαιο της θεωρίας αριθμών θα πρέπει να είναι σε θέση:

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

Υπολογιστικά & Διακριτά Μαθηματικά

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

Basik 'Algebra Tm ma Majhmatik n Panepist mio Ajhn n Aj na 2013

ΠΑΡΑΡΤΗΜΑ Αʹ. Στοιχεία από την Άλγεβρα

4.2 ΕΥΚΛΕΙΔΕΙΑ ΔΙΑΙΡΕΣΗ

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΚΕΦΑΛΑΙΟ 6: Κεντρικές Απλές Άλγεβρες

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

b. Για κάθε θετικό ακέραιο m και για κάθε A. , υπάρχουν άπειρα το πλήθος πολυώνυμα ( x) [ x] m και ( A) 0.

f(n) = a n f(n + m) = a n+m = a n a m = f(n)f(m) f(a n ) = b n f : G 1 G 2, f(a n a m ) = f(a n+m ) = b n+m = b n b m = f(a n )f(a m )

Μεταθέσεις και πίνακες μεταθέσεων

Ποιες από τις παρακάτω προτάσεις είναι αληθείς; Δικαιολογήστε την απάντησή σας.

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 9

Το Θεώρημα CHEVALLEY-WARNING

Εφαρμοσμένη Κρυπτογραφία Ι

Υπολογιστικά & Διακριτά Μαθηματικά

Εθνικό Μετσόβιο Πολυτεχνείο

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 4 1 2

Κρυπτογραφία. Θεωρία Αριθμών 2/4/2014. Θεωρία Αριθμών

Transcript:

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Εισαγωγή στη Θεωρία Αριθμών Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1 / 46

Διαιρετότητα Ορισμός Για a, b Z θα λέμε ότι ο a διαιρεί τον b, συμβολικά a b, αν υπάρχει c Z τέτοιο ώστε b = ca Θα λέμε ότι ο a δεν διαιρεί τον b, συμβολικά a b, αν c Z, b ca Ιδιότητες Για κάθε a, b, c Z : 1 a a, 1 a, a 0 2 0 a a = 0 3 a b b c a c 4 a b b a a = ±b 5 a b a bc 6 a b a c a (xb + yc) x, y Z 7 a b a b και a b b 0 a b Σχολή ΗΜΜΥ ΕΜΠ 2 / 46

Διαιρετότητα H διαιρετότητα είναι μια σχέση μερικής διάταξης στο N Ορολογία a γνήσιος διαιρέτης του b: a b και 0 < a < b a μη τετριμμένος διαιρέτης του b: a b και 1 < a < b p > 1 πρώτος αριθμός: μοναδικοί διαιρέτες του ο 1 και ο p p, q σχετικά πρώτοι (coprime): μοναδικός κοινός διαιρέτης ο 1 Σχολή ΗΜΜΥ ΕΜΠ 3 / 46

Ακέραια διαίρεση Θεώρημα (Ακέραιας Διαίρεσης) Για κάθε a, b Z με b > 0 υπάρχουν μοναδικά q (quotient, πηλίκο), r (remainder, υπόλοιπο) (q, r Z) τέτοια ώστε: a = qb + r και 0 r < b Απόδειξη Έστω το σύνολο S = {a xb x Z, a xb 0} S (πχ a ( a b) S) συνεπώς έχει ελάχιστο στοιχείο r < b (γιατί;) Υπάρχει επομένως q Z τέτοιο ώστε a qb = r a = qb + r, 0 r < b Σχολή ΗΜΜΥ ΕΜΠ 4 / 46

Ακέραια διαίρεση Θεώρημα (Ακέραιας Διαίρεσης) Για κάθε a, b Z με b > 0 υπάρχουν μοναδικά q (quotient, πηλίκο), r (remainder, υπόλοιπο) (q, r Z) τέτοια ώστε: a = qb + r και 0 r < b Απόδειξη Έστω το σύνολο S = {a xb x Z, a xb 0} S (πχ a ( a b) S) συνεπώς έχει ελάχιστο στοιχείο r < b (γιατί;) Υπάρχει επομένως q Z τέτοιο ώστε a qb = r a = qb + r, 0 r < b Έστω q, r Z τέτοια ώστε a = q b + r, 0 r < b, επομένως 0 r r < b qb + r = q b + r (q q )b = (r r) q q b = r r Αν q q τότε b r r, άτοπο Συνεπώς q = q και r = r Σχολή ΗΜΜΥ ΕΜΠ 4 / 46

Μέγιστος Κοινός Διαιρέτης (Greatest Common Divisor) Θεώρημα (ΜΚΔ) Έστω a, b Z και d = min {xa + yb x, y Z, xa + yb 0} Τότε: (i) d a και d b (ii) d a d b d d Σχολή ΗΜΜΥ ΕΜΠ 5 / 46

Μέγιστος Κοινός Διαιρέτης (Greatest Common Divisor) Θεώρημα (ΜΚΔ) Έστω a, b Z και d = min {xa + yb x, y Z, xa + yb 0} Τότε: (i) d a και d b (ii) d a d b d d Απόδειξη (i) Έστω κ, λ Z τώ d = κa + λb Θδο d a Σχολή ΗΜΜΥ ΕΜΠ 5 / 46

Μέγιστος Κοινός Διαιρέτης (Greatest Common Divisor) Θεώρημα (ΜΚΔ) Έστω a, b Z και d = min {xa + yb x, y Z, xa + yb 0} Τότε: (i) d a και d b (ii) d a d b d d Απόδειξη (i) Έστω κ, λ Z τώ d = κa + λb Θδο d a Έστω d a Τότε υπάρχουν q, r Z τέτοια ώστε a = qd + r, 0 < r < d, r = a qd = a q(κa + λb) = (1 qκ)a + ( λq)b οπότε r {xa + yb x, y Z, xa + yb 0} και r < d, άτοπο Σχολή ΗΜΜΥ ΕΜΠ 5 / 46

Μέγιστος Κοινός Διαιρέτης (Greatest Common Divisor) Θεώρημα (ΜΚΔ) Έστω a, b Z και d = min {xa + yb x, y Z, xa + yb 0} Τότε: (i) d a και d b (ii) d a d b d d Απόδειξη (i) Έστω κ, λ Z τώ d = κa + λb Θδο d a Έστω d a Τότε υπάρχουν q, r Z τέτοια ώστε a = qd + r, 0 < r < d, r = a qd = a q(κa + λb) = (1 qκ)a + ( λq)b οπότε r {xa + yb x, y Z, xa + yb 0} και r < d, άτοπο Όμοια δείχνουμε d b Σχολή ΗΜΜΥ ΕΜΠ 5 / 46

Μέγιστος Κοινός Διαιρέτης (Greatest Common Divisor) Θεώρημα (ΜΚΔ) Έστω a, b Z και d = min {xa + yb x, y Z, xa + yb 0} Τότε: (i) d a και d b (ii) d a d b d d Απόδειξη (i) Έστω κ, λ Z τώ d = κa + λb Θδο d a Έστω d a Τότε υπάρχουν q, r Z τέτοια ώστε a = qd + r, 0 < r < d, r = a qd = a q(κa + λb) = (1 qκ)a + ( λq)b οπότε r {xa + yb x, y Z, xa + yb 0} και r < d, άτοπο Όμοια δείχνουμε d b (ii) Έστω d τέτοιο ώστε d a και d b Τότε a = c 1 d, b = c 2 d Επομένως: d = κc 1 d + λc 2 d d d d d Σχολή ΗΜΜΥ ΕΜΠ 5 / 46

ΜΚΔ: χρήσιμες ιδιότητες Σαν πορίσματα του προηγούμενου θεωρήματος προκύπτουν τα παρακάτω: ο αλγόριθμος του Ευκλείδη βρίσκει τον ΜΚΔ δύο ακεραίων αριθμών (βλ παρακάτω) gcd(a, b) = 1 κ, λ Z, κa + λb = 1 (χρήση σε εύρεση αντιστρόφου modulo b: κa mod b = 1) Σχολή ΗΜΜΥ ΕΜΠ 6 / 46

ΜΚΔ: χρήσιμες ιδιότητες Σαν πορίσματα του προηγούμενου θεωρήματος προκύπτουν τα παρακάτω: ο αλγόριθμος του Ευκλείδη βρίσκει τον ΜΚΔ δύο ακεραίων αριθμών (βλ παρακάτω) gcd(a, b) = 1 κ, λ Z, κa + λb = 1 (χρήση σε εύρεση αντιστρόφου modulo b: κa mod b = 1) Αν c ab gcd(a, c) = 1 τότε c b: gcd(a, c) = 1 κ, λ Z : κc + λa = 1 κcb + λab = b c b Σχολή ΗΜΜΥ ΕΜΠ 6 / 46

ΜΚΔ: χρήσιμες ιδιότητες Σαν πορίσματα του προηγούμενου θεωρήματος προκύπτουν τα παρακάτω: ο αλγόριθμος του Ευκλείδη βρίσκει τον ΜΚΔ δύο ακεραίων αριθμών (βλ παρακάτω) gcd(a, b) = 1 κ, λ Z, κa + λb = 1 (χρήση σε εύρεση αντιστρόφου modulo b: κa mod b = 1) Αν c ab gcd(a, c) = 1 τότε c b: gcd(a, c) = 1 κ, λ Z : κc + λa = 1 κcb + λab = b c b Αν p πρώτος p ab τότε p a p b: Αν gcd(p, a) = p τότε p a Αν gcd(p, a) = 1, αφού p ab θα πρέπει p b Σχολή ΗΜΜΥ ΕΜΠ 6 / 46

Θεμελιώδες Θεώρημα Αριθμητικής Κάθε ακέραιος αριθμός n > 1 μπορεί να γραφτεί με μοναδικό τρόπο ως πεπερασμένο γινόμενο πρώτων αριθμών Απόδειξη ύπαρξης: με τη μέθοδο της επαγωγής Απόδειξη μοναδικότητας: στηρίζεται στην ιδιότητα αν p πρώτος p ab τότε p a p b σε συνδυασμό με χρήση επαγωγής Άσκηση: συμπληρώστε τις λεπτομέρειες Σχολή ΗΜΜΥ ΕΜΠ 7 / 46

Πρώτοι αριθμοί Παραδείγματα 2, 3, 5,, 1997,, 6469, (333 + 10 793 )10 791 + 1 (με 1585 ψηφία, παλίνδρομος βρέθηκε το 1987 από τον Η Dubner) 2 1257787 1 (με 378632 ψηφία βρέθηκε το 1996) 2 13466917 1 (με 4053946 ψηφία βρέθηκε το 2001) 2 43112609 1 (με 12978189 ψηφία βρέθηκε το 2008) 2 57885161 1 (με 17425170 ψηφία βρέθηκε το 2013) Θεώρημα (Ευκλείδη) Οι πρώτοι αριθμοί είναι άπειροι σε πλήθος Απόδειξη Εστω ότι οι πρώτοι είναι πεπερασμένοι σε πλήθος, συγκεκριμένα p 1, p 2,, p n Τότε ο αριθμός p 1 p 2 p n + 1 δε διαιρείται από κανένα πρώτο παρά μόνο από το 1 και τον εαυτό του, άρα είναι πρώτος, κάτι που είναι άτοπο Σχολή ΗΜΜΥ ΕΜΠ 8 / 46

Αλγόριθμος Ευκλείδη function gcd(a,b: integer); if b = 0 then gcd a else gcd gcd(b, a mod b, ) Σχολή ΗΜΜΥ ΕΜΠ 9 / 46

Αλγόριθμος Ευκλείδη function gcd(a,b: integer); if b = 0 then gcd a else gcd gcd(b, a mod b, ) Θεώρημα (ορθότητα Ευκλείδειου αλγορίθμου) ο αλγόριθμος του Ευκλείδη βρίσκει τον ΜΚΔ δύο ακεραίων αριθμών Απόδειξη Βρίσκει διαιρέτη: αν a, b > 0 Z τότε gcd(a, b) = gcd(b, a mod b) Ο διαιρέτης που βρίσκει μπορεί να γραφτεί σαν γραμμικός συνδυασμός των a, b (γιατί;) Επομένως είναι ο ΜΚΔ Σχολή ΗΜΜΥ ΕΜΠ 9 / 46

Αλγόριθμος Ευκλείδη 1742 = 3 494 + 260 132 = 3 35 + 27 494 = 1 260 + 234 35 = 1 27 + 8 260 = 1 234 + 26 27 = 3 8 + 3 234 = 9 26 + 0 8 = 2 3 + 2 3 = 1 2 + 1 2 = 2 1 + 0 gcd(1742, 494) = 26, gcd(132, 35) = 1 Σχολή ΗΜΜΥ ΕΜΠ 10 / 46

Αλγόριθμος Ευκλείδη 1742 = 3 494 + 260 132 = 3 35 + 27 494 = 1 260 + 234 35 = 1 27 + 8 260 = 1 234 + 26 27 = 3 8 + 3 234 = 9 26 + 0 8 = 2 3 + 2 3 = 1 2 + 1 2 = 2 1 + 0 gcd(1742, 494) = 26, gcd(132, 35) = 1 Χρόνος εκτέλεσης: O(log a) διαιρέσεις, O(log 3 a) bit operations (υποθέτοντας a b) Σχολή ΗΜΜΥ ΕΜΠ 10 / 46

Αλγόριθμος Ευκλείδη 1742 = 3 494 + 260 132 = 3 35 + 27 494 = 1 260 + 234 35 = 1 27 + 8 260 = 1 234 + 26 27 = 3 8 + 3 234 = 9 26 + 0 8 = 2 3 + 2 3 = 1 2 + 1 2 = 2 1 + 0 gcd(1742, 494) = 26, gcd(132, 35) = 1 Χρόνος εκτέλεσης: O(log a) διαιρέσεις, O(log 3 a) bit operations (υποθέτοντας a b) Τα κ, λ τώ d = κa + λb μπορούν να υπολογιστούν στον ίδιο χρόνο: επεκτατεμένος αλγόριθμος Ευκλείδη Χρήσεις: υπολογισμός αντιστρόφων modulo n, επίλυση γραμμικών ισοτιμιών, κρυπτογραφία δημοσίου κλειδιού (RSA, El Gamal, κά) Σχολή ΗΜΜΥ ΕΜΠ 10 / 46

Συνάρτηση φ του Euler Ορισμός φ(n) είναι το πλήθος των αριθμών από το 1 μέχρι και n που είναι σχετικά πρώτοι με τον n Υπενθύμιση: m, n σχετικά πρώτοι (coprime): μοναδικός κοινός διαιρέτης ο 1 Ιδιότητες φ(p) = p 1 για p πρώτο φ(p a ) = p a (1 1 p ) για p πρώτο φ(mn) = φ(m)φ(n) για m, n σχετικά πρώτους Άσκηση: αποδείξτε το Παρατήρηση: για σύνθετο n, φ(n) = n p n (1 1 p ) Σχολή ΗΜΜΥ ΕΜΠ 11 / 46

Αριθμητική modulo, ο δακτύλιος Z m Σχέση ισοτιμίας (congruence) Η πράξη mod m, m Z, m > 0, απεικονίζει το Z στο Z m = {0,, m 1} Δύο αριθμοί a, b λέγονται ισότιμοι modulo m, συμβολικά a b (mod m), αν έχουν την ίδια απεικόνιση με την πράξη mod m: a b (mod m) def modm = b mod m m (a b) Άλλοι συμβολισμοί: a = b (mod m) ή και a b (m) Είναι σχέση ισοδυναμίας Κάθε κλάση C k, 0 k m 1, περιέχει τους ακεραίους που αφήνουν υπόλοιπο k αν διαιρεθούν με το m Z m = {C 0, C 1, C 2,, C m 1 } Πιο απλά: Z m = {0,, m 1} Σχολή ΗΜΜΥ ΕΜΠ 12 / 46

Πράξεις στο Z m Πρόσθεση: C k + C j = C (k+j) mod m Πολλαπλασιασμός: C k C j = C kj mod m Η απεικόνιση ( mod m) : Z Z m είναι ομομορφισμός (ακριβέστερα: επιμορφισμός) Πιο απλά: (a + b) mod m = (a mod m + b mod m) mod m, (a b) mod m = ((a mod m) (b mod m)) mod m Πρακτική σημασία: αντί να κάνουμε τις πράξεις στο Z και στο τέλος να βρίσκουμε το υπόλοιπο της διαίρεσης με m, μπορούμε να κάνουμε τις πράξεις κατευθείαν στο Z m : σημαντική μείωση χρόνου εκτέλεσης σε πολλές περιπτώσεις Σχολή ΗΜΜΥ ΕΜΠ 13 / 46

Ύψωση σε δύναμη modulo m Επαναλαμβανόμενος Τετραγωνισμός (Repeated Squaring) Είσοδος: a, n, m Z + Έξοδος: a n mod m x a mod m; y 1; while n > 0 do if n mod 2 0 then y y x mod m; x x 2 mod m n n 2 end while output y Χρόνος εκτέλεσης: O(log n) επαναλήψεις, O(log n log 2 m) bit operations Σχολή ΗΜΜΥ ΕΜΠ 14 / 46

Θεωρία ομάδων Ομάδα (group): ζεύγος (G, ) τέτοιο ώστε: a, b G : a b G a, b, c G : a (b c) = (a b) c e G, a G : a e = a (το e είναι μοναδικό) a G : a 1 G : a a 1 = e Αντιμεταθετική (Αβελιανή) ομάδα: επιπλέον a b = b a Σχολή ΗΜΜΥ ΕΜΠ 15 / 46

Θεωρία ομάδων Ομάδα (group): ζεύγος (G, ) τέτοιο ώστε: a, b G : a b G a, b, c G : a (b c) = (a b) c e G, a G : a e = a (το e είναι μοναδικό) a G : a 1 G : a a 1 = e Αντιμεταθετική (Αβελιανή) ομάδα: επιπλέον a b = b a Το ζεύγος (Z m, +) είναι αντιμεταθετική ομάδα Σχολή ΗΜΜΥ ΕΜΠ 15 / 46

Θεωρία ομάδων Ομάδα (group): ζεύγος (G, ) τέτοιο ώστε: a, b G : a b G a, b, c G : a (b c) = (a b) c e G, a G : a e = a (το e είναι μοναδικό) a G : a 1 G : a a 1 = e Αντιμεταθετική (Αβελιανή) ομάδα: επιπλέον a b = b a Το ζεύγος (Z m, +) είναι αντιμεταθετική ομάδα Τάξη (order) πεπερασμένης ομάδας: η πληθικότητά της Σχολή ΗΜΜΥ ΕΜΠ 15 / 46

Θεωρία ομάδων Ομάδα (group): ζεύγος (G, ) τέτοιο ώστε: a, b G : a b G a, b, c G : a (b c) = (a b) c e G, a G : a e = a (το e είναι μοναδικό) a G : a 1 G : a a 1 = e Αντιμεταθετική (Αβελιανή) ομάδα: επιπλέον a b = b a Το ζεύγος (Z m, +) είναι αντιμεταθετική ομάδα Τάξη (order) πεπερασμένης ομάδας: η πληθικότητά της Υποομάδα (subgroup): (S, ) υποομάδα της (G, ) def S G (S, ) ομάδα Σχολή ΗΜΜΥ ΕΜΠ 15 / 46

Θεωρία ομάδων Ομάδα (group): ζεύγος (G, ) τέτοιο ώστε: a, b G : a b G a, b, c G : a (b c) = (a b) c e G, a G : a e = a (το e είναι μοναδικό) a G : a 1 G : a a 1 = e Αντιμεταθετική (Αβελιανή) ομάδα: επιπλέον a b = b a Το ζεύγος (Z m, +) είναι αντιμεταθετική ομάδα Τάξη (order) πεπερασμένης ομάδας: η πληθικότητά της Υποομάδα (subgroup): (S, ) υποομάδα της (G, ) def S G (S, ) ομάδα Πρόταση (S, ) είναι υποομάδα της (G, ) ανν S G και S κλειστό ως προς Σχολή ΗΜΜΥ ΕΜΠ 15 / 46

Η πολλαπλασιαστική ομάδα (U(Z m ), ) Πρόταση gcd(a, m) = 1 αν και μόνο αν c Z m τέτοιο ώστε a c 1 (mod m) Σχολή ΗΜΜΥ ΕΜΠ 16 / 46

Η πολλαπλασιαστική ομάδα (U(Z m ), ) Πρόταση gcd(a, m) = 1 αν και μόνο αν c Z m τέτοιο ώστε a c 1 (mod m) Απόδειξη (i) Ευθύ: με χρήση Θεωρ ΜΚΔ (ii) Αντίστροφο: x Z, ax 1 (mod m) m (ax 1) Αν gcd(a, m) = d > 1 τότε d m (ax 1) d 1, άτοπο Σχολή ΗΜΜΥ ΕΜΠ 16 / 46

Η πολλαπλασιαστική ομάδα (U(Z m ), ) Πρόταση gcd(a, m) = 1 αν και μόνο αν c Z m τέτοιο ώστε a c 1 (mod m) Απόδειξη (i) Ευθύ: με χρήση Θεωρ ΜΚΔ (ii) Αντίστροφο: x Z, ax 1 (mod m) m (ax 1) Αν gcd(a, m) = d > 1 τότε d m (ax 1) d 1, άτοπο Ορισμός U(Z m ) = {a Z m : gcd(a, m) = 1} είναι το σύνολο των σχετικά πρώτων με τον m, που λέγονται και units του Z m Περιέχει ακριβώς τα στοιχεία του Z m που έχουν αντίστροφο modulo m Σχολή ΗΜΜΥ ΕΜΠ 16 / 46

Η πολλαπλασιαστική ομάδα (U(Z m ), ) Πρόταση gcd(a, m) = 1 αν και μόνο αν c Z m τέτοιο ώστε a c 1 (mod m) Απόδειξη (i) Ευθύ: με χρήση Θεωρ ΜΚΔ (ii) Αντίστροφο: x Z, ax 1 (mod m) m (ax 1) Αν gcd(a, m) = d > 1 τότε d m (ax 1) d 1, άτοπο Ορισμός U(Z m ) = {a Z m : gcd(a, m) = 1} είναι το σύνολο των σχετικά πρώτων με τον m, που λέγονται και units του Z m Περιέχει ακριβώς τα στοιχεία του Z m που έχουν αντίστροφο modulo m Το (U(Z m ), ) είναι αντιμεταθετική ομάδα με πληθάριθμο φ(m) Για p πρώτο: U(Z p ) = Z p \ {0} = Z p Σχολή ΗΜΜΥ ΕΜΠ 16 / 46

Θεωρία ομάδων Τάξη (order) στοιχείου Κυκλική ομάδα (cyclic group): τάξη a def = min{y N : a y = e} (G, ) κυκλική def g (G, ) : x G : y N : x = g y Γεννήτορας (generator) a γεννήτορας της G def τάξη a = G Πρόταση: μια ομάδα έχει γεννήτορα ανν είναι κυκλική Η τάξη της ομάδας ισούται με την τάξη του γεννήτορα (Άσκηση: αποδείξτε) Σχολή ΗΜΜΥ ΕΜΠ 17 / 46

Άλλες αλγεβρικές δομές: δακτύλιοι, σώματα Δακτύλιος (ring) (R, +, ) δακτύλιος def (R, +) αντιμεταθετική ομάδα (R, ) μονοειδές (προσεταιριστική, ουδέτερο) a ( (b + c) a = b a + Το (Z m, +, ) είναι αντιμεταθετικός δακτύλιος (commutative ring): η πράξη έχει επιπλέον την αντιμεταθετική ιδιότητα Σχολή ΗΜΜΥ ΕΜΠ 18 / 46

Άλλες αλγεβρικές δομές: δακτύλιοι, σώματα Σώμα (field) (F, +, ) σώμα def (F, +, ) αντιμεταθετικός δακτύλιος (F \ {e + }, ) αντιμεταθετική ομάδα Το (Z p, +, ), p πρώτος, είναι σώμα (και συμβολίζεται και GF(p) ή F p ) Πρόταση Κάθε σώμα τάξης p είναι ισομορφικό με το F p Σχολή ΗΜΜΥ ΕΜΠ 19 / 46

Μικρό Θεώρημα Fermat Θεώρημα (μικρό Fermat) prime p, a Z, p a : a p 1 1 (mod p) Απόδειξη Για a Z με p a, τα στοιχεία a 1, a 2,, a (p 1) είναι διαφορετικά ανά δύο στο Z p: i a j a (mod p) p a(i j) p (i j) i j (mod p) Επομένως a p 1 (p 1)! (p 1)! a p 1 1 (mod p) Σχολή ΗΜΜΥ ΕΜΠ 20 / 46

Μικρό Θεώρημα Fermat Θεώρημα (μικρό Fermat) prime p, a Z, p a : a p 1 1 (mod p) Απόδειξη Για a Z με p a, τα στοιχεία a 1, a 2,, a (p 1) είναι διαφορετικά ανά δύο στο Z p: i a j a (mod p) p a(i j) p (i j) i j (mod p) Επομένως a p 1 (p 1)! (p 1)! a p 1 1 (mod p) Παρόμοια αποδεικνύεται το πιο γενικό: Θεώρημα (Euler) a Z, gcd(a, m) = 1 a φ(m) 1 (mod m) Σχολή ΗΜΜΥ ΕΜΠ 20 / 46

Σύμπλοκα, ομάδα πηλίκο Σύμπλοκο (coset) H a = {h a : h H, a G} def δεξί σύμπλοκο (coset) της H στη G για υποoμάδα της (G, ) Σχολή ΗΜΜΥ ΕΜΠ 21 / 46

Σύμπλοκα, ομάδα πηλίκο Σύμπλοκο (coset) H a = {h a : h H, a G} def δεξί σύμπλοκο (coset) της H στη G για υποoμάδα της (G, ) Ομάδα πηλίκο (Quotient group) G/H: το σύνολο των συμπλόκων της H στην G To (G/H, ) είναι ομάδα με πράξη (H a) (H b) = H (a b) Σχολή ΗΜΜΥ ΕΜΠ 21 / 46

Θεώρημα Lagrange Αν H είναι υποομάδα της πεπερασμένης ομάδας G τότε G = G/H H Απόδειξη Στηρίζεται στο γεγονός ότι δύο σύμπλοκα ταυτίζονται ή είναι ξένα μεταξύ τους Σχολή ΗΜΜΥ ΕΜΠ 22 / 46

Θεώρημα Lagrange Αν H είναι υποομάδα της πεπερασμένης ομάδας G τότε G = G/H H Απόδειξη Στηρίζεται στο γεγονός ότι δύο σύμπλοκα ταυτίζονται ή είναι ξένα μεταξύ τους Πόρισμα (σημαντικό!): Η τάξη ενός στοιχείου μιας πεπερασμένης ομάδας διαιρεί την τάξη της ομάδας: a G : a G = e Σχολή ΗΜΜΥ ΕΜΠ 22 / 46

Θεώρημα Lagrange Αν H είναι υποομάδα της πεπερασμένης ομάδας G τότε G = G/H H Απόδειξη Στηρίζεται στο γεγονός ότι δύο σύμπλοκα ταυτίζονται ή είναι ξένα μεταξύ τους Πόρισμα (σημαντικό!): Η τάξη ενός στοιχείου μιας πεπερασμένης ομάδας διαιρεί την τάξη της ομάδας: a G : a G = e Περαιτέρω πορίσματα: μικρό Θεώρημα Fermat (ομάδα (Z p, )), Θεώρημα Euler (ομάδα (U(Z m ), )) Οι αποδείξεις τους χωρίς χρήση Θ Lagrange προϋπήρχαν Κάθε ομάδα με τάξη πρώτο αριθμό είναι κυκλική (άρα έχει γεννήτορα) Σχολή ΗΜΜΥ ΕΜΠ 22 / 46

Fermat (primality) test Έλεγχος Fermat Για να δούμε αν ένας δοσμένος ακέραιος n είναι πρώτος: Επιλέγουμε τυχαία a Z n : αν a n 1 1 (mod n) τότε n σύνθετος (με βεβαιότητα), αλλιώς λέμε ότι το n περνάει το test (ίσως είναι πρώτος) Στην δεύτερη περίπτωση επαναλαμβάνουμε Πρόταση Αν για σύνθετο n υπάρχει ένας μάρτυρας (witness) (δηλ a Z n, a n 1 1 (mod n)), τότε υπάρχουν τουλάχιστον n/2 μάρτυρες Απόδειξη Χρήση Θ Lagrange στην ομάδα των μη μαρτύρων του U(Z n ) Πόρισμα: ο έλεγχος Fermat απαντάει σωστά με πολύ μεγάλη πιθανότητα για τους περισσότερους αριθμούς Εξαιρούνται όμως οι αριθμοί Carmichael: σύνθετοι για τους οποίους δεν υπάρχει μάρτυρας Σχολή ΗΜΜΥ ΕΜΠ 23 / 46

Μέγεθος γνήσιας υποομάδας Πόρισμα του Θ Lagrange Αν (S, ) υποομάδα της (πεπερασμένης) ομάδας (G, ) και S G τότε: S G /2 Σχολή ΗΜΜΥ ΕΜΠ 24 / 46

Ισοτιμία σε Z m, Z n ισοτιμία σε Z mn Πρόταση Για κάθε m, n N τω gcd(m, n) = 1, για κάθε a, b Z: a b (mod m) a b (mod n) a b (mod mn) Απόδειξη (i) Ευθύ: x, y Z : a b = xm = yn Από Θ ΜΚΔ: 1 = κm + λn x = κxm + λxn = κyn + λxn n x nm xm = a b (ii) Αντίστροφο: a b (mod mn) mn (a b) m (a b), όμοια για n Σχολή ΗΜΜΥ ΕΜΠ 25 / 46

Δηλαδή, ισοτιμία στο Z m και στο Z n συνεπάγεται ισοτιμία στο Z mn και αντίστροφα Επιπλέον, οι ισότιμοι ενός ακεραίου στο Z m και στο Z n καθορίζουν μοναδικά τον ισότιμό του στο Z mn, και αντίστροφα Ο τελευταίος υπάρχει πάντα για m, n σχετικά πρώτους αποδεικνύεται με χρήση του Θ ΜΚΔ: 1 = km + ln a 1 a 2 = skm + sln sln + a 1 = skm + a 2 Αυτή η ιδιότητα γενικεύεται και διατυπώνεται πιο αυστηρά στο περίφημο Κινέζικο Θεώρημα Υπολοίπων Σχολή ΗΜΜΥ ΕΜΠ 26 / 46

Κινέζικο Θεώρημα Υπολοίπων (Chinese Remainder Theorem - CRT) Θεώρημα (Κινέζικο Θεώρημα Υπολοίπων) Εστω ένα σύστημα ισοτιμιών x a 1 (mod m 1 ) x a 2 (mod m 2 ) x a k (mod m k ) ώστε gcd(m i, m j ) = 1 για i j Τότε το σύστημα έχει μοναδική λύση στον δακτύλιο Z M, M = m 1 m 2 m k Ισοδύναμα: το σύστημα έχει άπειρες λύσεις στο Z και αν s 1, s 2 δύο λύσεις ισχύει s 1 s 2 (mod M) Σχολή ΗΜΜΥ ΕΜΠ 27 / 46

Απόδειξη Για κάθε i {1,, k} ορίζουμε M i = M m i Ισχύει gcd(m i, m i ) = 1 Επομένως N i Z mi : N i M i 1 (mod m i ) Επίσης i j : N i M i 0 (mod m j ) Οπότε μία λύση είναι η παρακάτω (επαληθεύστε): y = k N i M i a i i=1 Αν s 1, s 2 δύο διαφορετικές λύσεις τότε έχουμε ότι για κάθε i, s 1 s 2 (mod m i ) Από πρόταση προηγούμενης διαφάνειας και επαγωγή προκύπτει: i s 1 s 2 (mod M) Πολυπλοκότητα: η επίλυση του συστήματος γίνεται σε πολυωνυμικό χρόνο Σχολή ΗΜΜΥ ΕΜΠ 28 / 46

Σημαντικές συνέπειες του CRT Δύο ισομορφισμοί: Z m1 m 2 m k = Zm1 Z m2 Z mk ως προς πρόσθεση, αφαίρεση και πολλαπλασιασμό (οι πράξεις στις k-άδες ορίζονται κατά μέλη με τον προφανή τρόπο: τα στοιχεία στη θέση i αθροίζονται / πολλαπλασιάζονται στον δακτύλιο Z mi ) Σχολή ΗΜΜΥ ΕΜΠ 29 / 46

Σημαντικές συνέπειες του CRT Δύο ισομορφισμοί: Z m1 m 2 m k = Zm1 Z m2 Z mk ως προς πρόσθεση, αφαίρεση και πολλαπλασιασμό (οι πράξεις στις k-άδες ορίζονται κατά μέλη με τον προφανή τρόπο: τα στοιχεία στη θέση i αθροίζονται / πολλαπλασιάζονται στον δακτύλιο Z mi ) U(Z m1 m 2 m k ) = U(Z m1 ) U(Z m2 ) U(Z mk ) ως προς πολλαπλασιασμό και διαίρεση Σχολή ΗΜΜΥ ΕΜΠ 29 / 46

Η δομή της ομάδας Z p Η πολλαπλασιαστική ομάδα Z p Είναι κυκλική: πχ Z 11 = {1, 2,, 10} = {21, 2 2,, 2 1 0} (mod 11) Για κάθε d (p 1) περιέχει ακριβώς μία κυκλική υποομάδα τάξης d (βλ και Θεμελιώδες Θεώρημα Κυκλικών Ομάδων) Περιέχει ακριβώς φ(p 1) γεννήτορες (μία κυκλική ομάδα τάξης r περιέχει φ(r) γεννήτορες) Για p = 2q + 1, q πρώτο, υπάρχουν q 1 γεννήτορες Σχολή ΗΜΜΥ ΕΜΠ 30 / 46

Η δομή της ομάδας Z p Η πολλαπλασιαστική ομάδα Z p Έλεγχος αν a γεννήτορας: d p 1, d < p 1 : a p 1 d 1 (mod p) Για p = 2q + 1, q πρώτο, αν a 1 a p 1 2 1 (mod p), τότε a είναι γεννήτορας Ακριβώς τα μισά στοιχεία είναι τετραγωνικά υπόλοιπα (quadratic residues) modulo p, δηλ είναι τετράγωνα κάποιου αριθμού modulo p Τα στοιχεία αυτά ταυτίζονται με τις άρτιες δυνάμεις ενός γεννήτορα: Σχολή ΗΜΜΥ ΕΜΠ 31 / 46

Η δομή της ομάδας Z p Η πολλαπλασιαστική ομάδα Z p Έλεγχος αν a γεννήτορας: d p 1, d < p 1 : a p 1 d 1 (mod p) Για p = 2q + 1, q πρώτο, αν a 1 a p 1 2 1 (mod p), τότε a είναι γεννήτορας Ακριβώς τα μισά στοιχεία είναι τετραγωνικά υπόλοιπα (quadratic residues) modulo p, δηλ είναι τετράγωνα κάποιου αριθμού modulo p Τα στοιχεία αυτά ταυτίζονται με τις άρτιες δυνάμεις ενός γεννήτορα: QR(p) = {g 2i 1 i p 1 2 } Σχολή ΗΜΜΥ ΕΜΠ 31 / 46

Η δομή της ομάδας U(Z pq ) Η πολλαπλασιαστική ομάδα U(Z pq ), p, q πρώτοι Δεν είναι κυκλική: κάθε στοιχείο έχει τάξη το πολύ lcm(p 1, q 1) (p 1)(q 1) 2 (βλ και συνάρτηση Carmichael) Πχ στην U(Z 15 ) = {1, 2, 4, 6, 7, 8, 10, 11, 13, 14} πράγματι, κάθε στοιχείο έχει τάξη το πολύ 4 = lcm(3 1, 5 1) Περιέχει υποομάδα τάξης lcm(p 1, q 1) Ακριβώς τo 1 4 των στοιχείων είναι τετραγωνικά υπόλοιπα (quadratic residues) modulo n, δηλ είναι τετράγωνα κάποιου αριθμού modulo n Τα στοιχεία αυτά προκύπτουν συνδυάζοντας με CRT τετραγωνικά υπόλοιπα modulo p με τετραγωνικά υπόλοιπα modulo q Σχολή ΗΜΜΥ ΕΜΠ 32 / 46

Τετραγωνικά Υπόλοιπα (Quadratic Residues) Ορισμός Ένας ακέραιος k Z m λέγεται τετραγωνικό υπόλοιπο modulo m αν υπάρχει l Z m τώ k l 2 (mod m) Τότε ο l λέγεται τετραγωνική ρίζα του k modulo m Παρατήρηση: όπως είδαμε, τα μισά στοιχεία του Z p και το 1 4 των στοιχείων του Z pq (για p, q πρώτους) είναι τετραγωνικά υπόλοιπα (modulo p και pq αντίστοιχα) Σχολή ΗΜΜΥ ΕΜΠ 33 / 46

Τετραγωνικά Υπόλοιπα (Quadratic Residues) Ορισμός Ένας ακέραιος k Z m λέγεται τετραγωνικό υπόλοιπο modulo m αν υπάρχει l Z m τώ k l 2 (mod m) Τότε ο l λέγεται τετραγωνική ρίζα του k modulo m Παρατήρηση: όπως είδαμε, τα μισά στοιχεία του Z p και το 1 4 των στοιχείων του Z pq (για p, q πρώτους) είναι τετραγωνικά υπόλοιπα (modulo p και pq αντίστοιχα) Για αυτά τα στοιχεία και μόνο οι ισοτιμίες: x 2 a (mod p) x 2 a (mod pq) έχουν λύση Σχολή ΗΜΜΥ ΕΜΠ 33 / 46

Τετραγωνικά Υπόλοιπα (Quadratic Residues) Ορισμός Ένας ακέραιος k Z m λέγεται τετραγωνικό υπόλοιπο modulo m αν υπάρχει l Z m τώ k l 2 (mod m) Τότε ο l λέγεται τετραγωνική ρίζα του k modulo m Παρατήρηση: όπως είδαμε, τα μισά στοιχεία του Z p και το 1 4 των στοιχείων του Z pq (για p, q πρώτους) είναι τετραγωνικά υπόλοιπα (modulo p και pq αντίστοιχα) Για αυτά τα στοιχεία και μόνο οι ισοτιμίες: x 2 a (mod p) x 2 a (mod pq) έχουν λύση Παρατήρηση: αν x 0 είναι λύση τότε και x 0 είναι λύση Πόσες λύσεις υπάρχουν; Σχολή ΗΜΜΥ ΕΜΠ 33 / 46

Πλήθος τετραγωνικών ριζών modulo n Πρόταση Έστω p, q πρώτοι Τότε: 1 Η ισοτιμία x 2 a (mod p) έχει είτε 0 είτε 2 λύσεις στο Z p 2 Η ισοτιμία x 2 a (mod pq) έχει είτε 0 είτε 4 λύσεις στο U(Z pq ) Απόδειξη 1 Αν x1, x 2 λύσεις της ισοτιμίας τότε x 2 1 x2 2 (mod p) άρα p (x 2 1 x2 2 ) p (x 1 x 2 )(x 1 + x 2 ) p (x 1 x 2 ) p (x 1 + x 2 ) x 1 x 2 x 1 x 2 (mod p) 2 Η λύση της ισοτιμίας ισοδυναμεί με τη λύση των δύο ισοτιμιών x 2 a (mod p), x 2 a (mod q) Εστω ότι η πρώτη έχει λύσεις τις x p, x p και η δεύτερη τις x q, x q Για καθε ένα από τους συνδυασμούς των λύσεων αυτών (που είναι 4) προκύπτει, με χρήση CRT, μια διαφορετική λύση για την ισοτιμία στο U(Z), από το σύστημα Σχολή ΗΜΜΥ ΕΜΠ x ±x p (mod p), x ±x q (mod q) 34 / 46

Τετραγωνικές ρίζες modulo n: πρόσθετες ιδιότητες Η προηγούμενη πρόταση μπορεί να γενικευτεί για n = p a 1 1 pa 2 2 pa k k όπου η αντίστοιχη εξίσωση έχει είτε 0 είτε 2k λύσεις Τετριμμένες περιπτώσεις: στο Z p, το a 0 (mod p) έχει μία τετραγωνική ρίζα, το ίδιο και στο Z pq Στο Z pq, αν a 0 (mod p), και a 0 (mod q) τότε το a έχει 2 ρίζες που προκύπτουν από το σύστημα x 0 (mod p), x ±x q (mod q) με χρήση CRT Σχολή ΗΜΜΥ ΕΜΠ 35 / 46

Τετραγωνικές ρίζες modulo n και παραγοντοποίηση Ο αριθμός 1 έχει δύο τετραγωνικές ρίζες modulo p : ±1 Επίσης έχει 4 τετραγωνικές ρίζες modulo pq: τις ±1, και άλλες δύο (±u 1 (mod p)q) που λέγονται μη τετριμμένες ρίζες της μονάδας modulo n Η ύπαρξη μη τετριμμένων ριζών του 1 modulo n συνιστά απόδειξη ότι ο n είναι σύνθετος, και συγχρόνως δίνει άμεσα δύο παράγοντες του n: gcd(n, u ± 1) Παρόμοια πληροφορία παίρνουμε από την ύπαρξη 2 μη αντίθετων τετραγωνικών ριζών οποιουδήποτε αριθμού a Z n Η ιδιότητα αυτή χρησιμοποιείται στην απόδειξη ορθότητας του Miller-Rabin primality test, και σε διάφορες άλλες αποδείξεις (κρυπτοσυστήματα RSA, Rabin, κλπ) Σχολή ΗΜΜΥ ΕΜΠ 36 / 46

Παρατήρηση για κάθε a Z p ισχύει a p 1 2 ±1 (mod p) Η ιδιότητα αυτή σχετίζεται άμεσα με τη συνάρτηση που είναι γνωστή ως σύμβολο Legendre και τη γενίκευσή της, το σύμβολο Jacobi Το Σχολή ΗΜΜΥ τελευταίο ΕΜΠ χρησιμοποιείται στο Solovay-Strassen primality test 37 / 46 Τετραγωνικές ρίζες modulo n: έλεγχος ύπαρξης Πρόταση (Κριτήριο Euler) Για p πρώτο, η ισοτιμία x 2 a (mod p) έχει λύση αν και μόνο αν a p 1 2 1 (mod p) Απόδειξη Θα δείξουμε ότι και οι δύο συνθήκες ισχύουν αν και μόνο αν το a είναι άρτια δύναμη ενός γεννήτορα Έστω ότι a g k (mod p) για γεννήτορα g της Z p Τότε: : x 2 a (mod p) l : g 2l g k (mod p) 2l k (mod p 1) k mod 2 = Επίσης, από μικρό Θ Fermat: a p 1 2 g k 2 (p 1) 1 (mod p) p 1 k 2 (p 1) k mod 2 = 0

Σύμβολο Legendre Ορισμός ( ) a = p 1, if x : x 2 a (mod p) 1, if x : x 2 a (mod p) 0, if p a Αν ( a p ) = 1 τότε το a ονομάζεται τετραγωνικό υπόλοιπο modulo p Αν ( a p ) = 1 τότε το a ονομάζεται τετραγωνικό μη υπόλοιπο modulo p Σχολή ΗΜΜΥ ΕΜΠ 38 / 46

Ιδιότητες συμβόλου Legendre Πρόταση 1 m n (mod p) ( m p ) = ( n p ) 2 ( a p ) a p 1 2 (mod p) 3 ( ab p ) = ( a p )( b p ) Απόδειξη (1): άμεσα από τον ορισμό (2): αν a 0 (mod p) ισχύει Αλλιώς a Z p, οπότε αν a QR(n) τότε από κριτήριο Euler ισχύει a p 1 2 1 ( a p ) (mod p) Αν a QR(n) τότε επειδή a p 1 2 ±1 (mod p), θα έχουμε αναγκαστικά: (3) από ιδιότητα 2 a p 1 2 1 ( a p ) (mod p) Σχολή ΗΜΜΥ ΕΜΠ 39 / 46

Ιδιότητες συμβόλου Legendre Πρόταση { 1, if p 1 (mod 4) 1 ( 1 p 1 p ) = ( 1) 2 = 1, if p 3 (mod 4) ( { 2 2 1, if p 1 (mod 8) p 7 (mod 8) p) = 1, if p 3 (mod 8) p 5 (mod 8) Η απόδειξη βασίζεται στο ακόλουθο: Λήμμα (Gauss) Αν το πλήθος των στοιχείων του συνόλου {a mod p, 2a mod p,, p 1 2 a mod p} που είναι μεγαλύτερα του p 2 το συμβολίσουμε με µ τότε ισχύει ότι ( a p ) = ( 1)µ Σχολή ΗΜΜΥ ΕΜΠ 40 / 46

Ιδιότητες συμβόλου Legendre Θεώρημα (Νόμος Τετραγωνικής Αντιστροφής (Quadratic Reciprocity Law)) ( ) p = q { ( q p ( q p ), αν p q 3 (mod 4) ), αλλιώς Με χρήση του νόμου τετραγωνικής αντιστροφής, και των προηγούμενων ιδιοτήτων έχουμε έναν πιο γρήγορο υπολογισμό του συμβόλου Legendre: O(log 2 p) Σχολή ΗΜΜΥ ΕΜΠ 41 / 46

Σύμβολο Jacobi Ορισμός (Σύμβολο Jacobi) Για n = p a 1 1 pa 2 2 pa k k ορίζουμε το σύμβολο Jacobi ως εξής: ( m ) = n k ( ) m ai i=1 p i Σχολή ΗΜΜΥ ΕΜΠ 42 / 46

Σύμβολο Jacobi Ορισμός (Σύμβολο Jacobi) Για n = p a 1 1 pa 2 2 pa k k ορίζουμε το σύμβολο Jacobi ως εξής: ( m ) = n k ( ) m ai i=1 Το σύμβολο Jacobi είναι γενίκευση του συμβόλου ( Legendre και ικανοποιεί τις ίδιες ιδιότητες εκτός της a p 1 2 a p) (mod p) Το γεγονός αυτό χρησιμοποιείται στον έλεγχο πρώτων αριθμών Solovay-Strassen p i Σχολή ΗΜΜΥ ΕΜΠ 42 / 46

Σύμβολο Jacobi Ορισμός (Σύμβολο Jacobi) Για n = p a 1 1 pa 2 2 pa k k ορίζουμε το σύμβολο Jacobi ως εξής: ( m ) = n k ( ) m ai i=1 Το σύμβολο Jacobi είναι γενίκευση του συμβόλου ( Legendre και ικανοποιεί τις ίδιες ιδιότητες εκτός της a p 1 2 a p) (mod p) Το γεγονός αυτό χρησιμοποιείται στον έλεγχο πρώτων αριθμών Solovay-Strassen Το σύμβολο Jacobi ( a n ) δεν χαρακτηρίζει πλήρως την ύπαρξη λύσεων της ισοτιμίας x 2 a (mod n) Πράγματι, αν η ισοτιμία αυτή έχει λύσεις τότε ( a n ) = 1 αλλά δεν ισχύει το αντίστροφο (πχ για n = pq, ( a p ) = ( a q ) = 1 ( a n ) = 1 p i Σχολή ΗΜΜΥ ΕΜΠ 42 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ εως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ εως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ εως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Ορθότητα: Θα αποδείξουμε ότι η πιθανότητα αποτυχίας είναι < 1 2 Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ εως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Ορθότητα: Θα αποδείξουμε ότι η πιθανότητα αποτυχίας είναι < 1 2 Μπορεί να γίνει αμελητέα (negligible) με επαναλήψεις του ελέγχου για άλλο b κάθε φορά Σχολή ΗΜΜΥ ΕΜΠ 43 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Σχολή ΗΜΜΥ ΕΜΠ 44 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Σχολή ΗΜΜΥ ΕΜΠ 44 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Factoring sequence: ±1,, ±1, 1, 1 (mod n) Σχολή ΗΜΜΥ ΕΜΠ 44 / 46

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Factoring sequence: ±1,, ±1, 1, 1 (mod n) Αποδεικνύεται με χρήση του Θ Lagrange ότι τα στοιχεία που απεικονίζονται σε non-factoring sequences είναι το πολύ τα μισά Λεπτομέρειες: στον πίνακα Σχολή ΗΜΜΥ ΕΜΠ 44 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Power(a, y, n): υπολογισμός a y mod n Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Power(a, y, n): υπολογισμός a y mod n Primality(n): έλεγχος αν ο n είναι πρώτος αριθμός Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Power(a, y, n): υπολογισμός a y mod n Primality(n): έλεγχος αν ο n είναι πρώτος αριθμός Find-Prime(n): εύρεση πρώτου > n Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Power(a, y, n): υπολογισμός a y mod n Primality(n): έλεγχος αν ο n είναι πρώτος αριθμός Find-Prime(n): εύρεση πρώτου > n Quad-Res(a, n): έλεγχος αν x : x 2 a (mod n) Για n πρώτο, ή σύνθετο με γνωστή παραγοντοποίηση Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Ευεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την ύπαρξη αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού GCD(a, n): εύρεση ΜΚΔ(a, n) Inverse(a, n): υπολογισμός a 1 mod n Power(a, y, n): υπολογισμός a y mod n Primality(n): έλεγχος αν ο n είναι πρώτος αριθμός Find-Prime(n): εύρεση πρώτου > n Quad-Res(a, n): έλεγχος αν x : x 2 a (mod n) Για n πρώτο, ή σύνθετο με γνωστή παραγοντοποίηση Square-Root(a, n): εύρεση x : x 2 a (mod n), αν υπάρχει Για n πρώτο, ή σύνθετο με γνωστή παραγοντοποίηση Σχολή ΗΜΜΥ ΕΜΠ 45 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Σχολή ΗΜΜΥ ΕΜΠ 46 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Factor(n): παραγοντοποίηση του n Σχολή ΗΜΜΥ ΕΜΠ 46 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Factor(n): παραγοντοποίηση του n e-th-root(c, n): εύρεση m : m e c (mod n) Γνωστό και ως RSA-Decrypt(c, n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Σχολή ΗΜΜΥ ΕΜΠ 46 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Factor(n): παραγοντοποίηση του n e-th-root(c, n): εύρεση m : m e c (mod n) Γνωστό και ως RSA-Decrypt(c, n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Discrete-Log(g, a, p): εύρεση x : g x a (mod p) Δύσκολο για p πρώτο Σχολή ΗΜΜΥ ΕΜΠ 46 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Factor(n): παραγοντοποίηση του n e-th-root(c, n): εύρεση m : m e c (mod n) Γνωστό και ως RSA-Decrypt(c, n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Discrete-Log(g, a, p): εύρεση x : g x a (mod p) Δύσκολο για p πρώτο Quad-Res(a, n): έλεγχος αν x : x 2 a (mod n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Σχολή ΗΜΜΥ ΕΜΠ 46 / 46

Δυσεπίλυτα αριθμητικά προβλήματα Χαρακτηρίζονται από την μη ύπαρξη (ως τώρα) αποδοτικού (πολυωνυμικού χρόνου) αλγορίθμου, ντετερμινιστικού ή πιθανοτικού Factor(n): παραγοντοποίηση του n e-th-root(c, n): εύρεση m : m e c (mod n) Γνωστό και ως RSA-Decrypt(c, n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Discrete-Log(g, a, p): εύρεση x : g x a (mod p) Δύσκολο για p πρώτο Quad-Res(a, n): έλεγχος αν x : x 2 a (mod n) Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Square-Root(a, n): εύρεση x : x 2 a (mod n), αν υπάρχει Δύσκολο για n σύνθετο με άγνωστη παραγοντοποίηση Σχολή ΗΜΜΥ ΕΜΠ 46 / 46