Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Θεωρία αριθμών Αλγεβρικές δομές Χρήστος Ξενάκης
Το σύνολο των ακεραίων Ζ = {..., -2, -1, 0, 1, 2,...} Το σύνολο των φυσικών Ν = {0, 1, 2,...} Η έννοια της διαιρετότητας Έστω, d є N O d διαιρεί τον α, συμβολικά d = kd για κάθε k є Z Το α είναι πολλαπλάσιο του d O d είναι διαιρέτης του α Κάθε ακέραιος α έχει τετριμμένους διαιρέτες το 1 και το α Οι μή τετριμμένοι διαιρέτες του α λέγονται παράγοντες Οι παράγοντες του 24 είναι 2, 3, 4, 6, 8 και 12 2
Πρώτοι αριθμοί Ένας ακέραιος α > 1 του οποίου οι μόνοι διαιρέτες είναι το 1 και το α Οι πρώτοι αριθμοί παίζουν σημαντικό ρόλο στη Θ. Αριθμών 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,..., 389,..., 2003 Υπάρχουν άπειροι πρώτοι αριθμοί Σύνθετοι αριθμοί Ένας ακέραιος α > 1 ο οποίος δεν είναι πρώτος λέγεται σύνθετος αριθμός Ο 15 είναι σύνθετος γιατί το 3 15 4, 6, 8, 9, 10,..., 666 = 2 3 2 37,..., 2001 = 3 23 29,... Ο ακέραιος 1 δεν είναι ούτε πρώτος ούτε σύνθετος 3
Θεώρημα της διαίρεσης Για κάθε ακέραιο α και οποιονδήποτε θετικό ακέραιο n, υπάρχουν q, r τέτοια ώστε 0 r < n και α = qn + r Η τιμή q είναι το πηλίκο της διαίρεσης (α div n) Η τιμή r είναι το υπόλοιπο της διαίρεσης (α mod n) Για παράδειγμα α=73, n=17 => q=4 και r=5 73 mod 17 = 5 και 73 div 17 = 4 34 mod 17 = 0 4
Ορίζουμε τη συνάρτηση mod για κάθε α, n є Z mod n = α α/ n n ν n = o διαφορετικά Αρχή της modulr αριθμητικής Έστω α1, α2 є Z και * μία από της πράξεις +, -, Τότε η αναγωγή mod n είναι ένας ομομορφισμός από τους ακεραίους στους ακεραίους mod n (1 * 2) mod n = [(1 mod n) * (2 mod n)] mod n 5
Αρχή της modulr αριθμητικής (1 * 2) mod n = [(1 mod n) * (2 mod n)] mod n Απόδειξη: 1 = k1n + r1, 0 r1 n 1 2 = k2n + r2, 0 r2 n 1 Για πρόσθεση (α1 + α2 ) mod n = [( k1n + r1) + ( k2n + r2)]mod n [( k1+ k2) n + ( r1+ r2)]mod n [ r1+ r2]mod n [( 1mod n) + ( 2 mod n)]mod n 6
Αρχή της modulr αριθμητικής 7
Modulr αριθμητική Αν α mod n = b mod n, τότε λέμε ότι το α είναι ισότιμο ή ισουπόλοιπο ή ισοδύναμο με το b modulo n b(mod n) b(mod n) n ( b ) Έστω n θετικός ακέραιος και α, b και c ακέραιοι 1) (mod n) 2) b(mod n) b (mod n) 3) b(mod n) b c(mod n) c(mod n) 8
Κοινός διαιρέτης Αν ο d διαιρεί το α και το b τότε είναι κοινός διαιρέτης των, b Οι διαιρέτες του 24 είναι: 1, 2, 3, 4, 6, 8, 12 και 24 Οι κοινοί διαιρέτες των 18 κ 24 => 1, 2, 3, και 6 Αν d κ d b τότε d (x+by), για κάθε x, y є Z το οποίο εξειδικεύεται στα παρακάτω Αν d κ d b τότε d (+b) και d (-b) Αν α b κ b τότε = ± b 9
Μέγιστος κοινός διαιρέτης, gcd(, b) δύο ακεραίων, b όπου δεν είναι και οι δύο μηδέν gcd(18, 24)=6, gcd(7, 11)=1, gcd(0, 6)=6 Ιδιότητες gcd(, b) = gcd(b, ) gcd(, b) = gcd(-, b) gcd(, b) = gcd(, b ) gcd(, 0) = gcd(, k) = για κάθε κ є Z gcd(, n) = gcd(+kn, n) για κάθε κ,n є Z 10
Μέγιστος κοινός διαιρέτης Αν, b є Z, όχι και οι δύο μηδέν, τότε ο gcd(, b) είναι το μικρότερο θετικό στοιχείο του συνόλου {x+yb : x, y є Z} των γραμμικών συνδυασμών των και b. Αν, b є Z, και d και d b τότε d gcd(, b) Για όλους, b є Z, και n μη αρνητικό ακέραιο gcd(n, nb) = n gcd(, b) Για όλους, b, n є N, αν n b και gcd(,n)=1, τότε n b 11
Σχετικά πρώτοι ή πρώτοι μεταξύ τους Αν, b є Z, και gcd(, b) = 1 Το 7 κ 27 είναι πρώτοι μεταξύ τους gcd(7, 27) = 1 Αν, b, p є Z, και gcd(, p) = 1 και gcd(b, p) = 1 τότε gcd(b, p) = 1 υπάρχουν χ1, χ2, y1, y2 є Z, ώστε x1 + py1 = 1 bx2 + py2 = 1 Πολλαπλασιάζοντας b( x1x 2) + p( y1bx2 + y2x2 + py1y2) = 1 12
Για όλους τους πρώτους p όλους τους ακέραιους, b, αν p b, τότε p ή p b Θα χρησιμοποιήσουμε την εις άτοπο απαγωγή Έστω p b αλλά p ł και p ł b Επειδή ο p είναι πρώτος => gcd(, p)=1 και gcd(b, p)=1 Από το προηγούμενο θεώρημα συνεπάγεται ότι gcd(b, p)=1 Άτοπο, γιατί p b 13
Ένας σύνθετος α μπορεί να γραφεί κατά μοναδικό τρόπο ως ένα γινόμενο της μορφής p 1 p 2 p s πρώτοι e1 e2 es = p1 p2 ps = p p 1 < p 2 i= 1 < < p s s ei i και e 1 e 2 e Για παράδειγμα α=18, έχουμε 18 = 2 1 3 2 {2 = 1, 3 = 2} Για b = 3600 = 2 4 3 2 5 2 {b2 = 4, b3 = 2, b5 = 2} c = 18 3600 = 64800, c2 = 1+4=5, c3 = 2+2=4, c5 = 0+2=5 64000 = 2 5 3 4 5 2 Για να υπολογίσουμε το gcd(18, 3600), τους εκφράζουμε σαν γινόμενο πρώτων gcd(18, 3600) = 2 1 3 2 = 18 s Z + 14
Αλγόριθμος του Ευκλείδη Ο gcd(, b) όπου α, b є Z + υπολογίζεται από την παραγοντοποίηση των α b σε πρώτους = p e1 1 p e2 2 p es s b = p h1 1 p h2 2 p hs s gcd(, b) = p min( e1, h1) 1 p min( e2, h2) 2 p min( es, hs) s 15
Αλγόριθμος του Ευκλείδη Για οποιονδήποτε μη αρνητικό ακέραιο και b gcd(, b) = gcd(b, mod b) Παράδειγμα gcd(32, 24) = gcd(24, 32 mod 24) = gcd(24, 8) = gcd(8, 24 mod 8) = gcd(8, 0) = 8 16
Αλγόριθμος του Ευκλείδη Ευκλείδης1(57, 21) = Ευκλείδης1(21, 15) = Ευκλείδης1(15, 6) = Ευκλείδης1(6, 3) = Ευκλείδης1(3, 0) = 3 17
Ανεπτυγμένη μορφή του αλγόριθμου του Ευκλείδη Yπολογίζει τους ακέραιους συντελεστές x και y στο γραμμικό συνδυασμό d = gcd(, b) = x + yb Oι συντελεστές x, y είναι χρήσιμοι στον υπολογισμό των modulr πολλαπλασιαστικών αντίστροφων Ο αλγόριθμος έχει ως είσοδο ένα ζεύγος μη αρνητικών ακεραίων (, b) έξοδο μια τριάδα της μορφής (d, x, y) η οποία ικανοποιεί την παραπάνω σχέση 18
19 Βασικές έννοιες της θεωρίας αριθμών Ανεπτυγμένη μορφή του αλγόριθμου του Ευκλείδη Ένα απλό βήμα του αρχικού αλγορίθμου του Ευκλείδη μετατρέπει το πρόβλημα εύρεσης του gcd(, b) gcd(b, mod b) Υποθέτουμε ότι γνωρίζουμε το gcd(b, mod b) αλλά και τους x, y ώστε ' ' ' ' ' ' mod ) mod '( ' y b x y και y x άρα b b y x y b b y' b x' d αντικαθιστώντας b b b γνωστό ότι b y b x d = = + = + = = + =
Ανεπτυγμένη μορφή του αλγόριθμου του Ευκλείδη 20
Ανεπτυγμένη μορφή του αλγόριθμου του Ευκλείδη 21
Modulr αριθμητική ομάδες Ένα σύνολο G εφοδιασμένο με την πράξη λέγεται ομάδα (group) η πράξη είναι προσεταιριστική,, b, c G, ( b) c = (b c) υπάρχει το ουδέτερο στοιχείο e G ως προς την πράξη e G, G, e = e = και κάθε στοιχείο του G έχει συμμετρικό στοιχείο G, G, = = e Αν επιπλέον η πράξη είναι αντιμεταθετική, τότε η δομή (G, ) λέγεται αντιμεταθετική ή αβελιανή ομάδα, b G, b = b 22
Modulr αριθμητική ομάδες Σε μια ομάδα (G, ) αποδεικνύεται ότι ισχύουν Το ουδέτερο στοιχείο e G είναι μοναδικό. Κάθε στοιχείο του συνόλου G έχει ένα μόνο συμμετρικό στοιχείο Κάθε στοιχείο α G είναι απλοποιήσιμο, b, c G, b = c b = c και b = c b = c Αν, b G, τότε η εξίσωση α x = β έχει μοναδική λύση στο G, την x = b Αν, b G, τότε η εξίσωση x = b έχει μοναδική λύση στο G, την x = b Για αντιμεταθετική ομάδα έχουμε : x = b = b 23
Modulr αριθμητική ομάδες Μια ομάδα (G, ) είναι πεπερασμένη εάν ο πληθάριθμος G έχει πεπερασμένο πλήθος στοιχείων G λέγεται τάξη (order) της ομάδας Θεωρούμε το σύνολο Z n* = {[] n Z n : gcd(, n) = 1} των κλάσεων ισοδυναμίας των ακεραίων που είναι σχετικά πρώτοι με το n. Για παράδειγμα, Z 21* = {1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20} όπου, χάριν απλότητας, ορίζουμε ως [α] 21 Aν p είναι πρώτος τότε, Z * p= {[] p Z p : 1 p 1} = {1, 2,, p 1}. Η τάξη του Z * n, συμβολικά φ(n), είναι συνάρτηση του n η οποία είναι γνωστή ως η συνάρτηση φ του Euler. 24
Modulr αριθμητική ομάδες Aν p πρώτος τότε, φ(p) = p 1 Αν n είναι σύνθετος, τότε φ(n) < n και εάν η παραγοντοποίησή του σε πρώτους, τότε Π.χ., επειδή 21 = 3 7, που είναι πρώτοι, 25
Modulr αριθμητική ομάδες Aν p πρώτος και k 1, τότε φ(p k ) = p k p k-1 Αν gcd(, b) = 1, τότε φ(b) = φ() φ(b) Π.χ., φ(1512) = φ(2 3 3 3 7) = φ(2 3 )φ(3 3 ) φ(7) = (2 3 2 2 )(3 3 3 2 )(7 1) = 4 18 6 = 432. Υπάρχουν 432 ακέραιοι μεταξύ των 1 και 1512 οι οποίοι είναι σχετικά πρώτοι με τον 1512. 26
Modulr αριθμητική ομάδες 27
Modulr αριθμητική ομάδες Έστω ότι Z * n και έστω ότι η τριάδα (d, x, y) = Ευκλείδης2(, n) Επειδή Z * n είναι d = 1 και x + ny = 1 Ισοδύναμα x 1 (mod n) Έτσι, [x] n είναι ένα πολλαπλασιαστικό αντίστροφο του [] n, modulo n Έστω = 8 και n = 21 τότε Ευκλείδης2(, n)=(d, x, y) = (1, 8, 3) ώστε 1 = 8 8 + 21 ( 3). Το 8, δηλ. [8] 21 είναι πολλαπλασιαστικό αντίστροφο του 8 modulo 21. Πράγματι, 8 8 = 64 1 (mod 21). Έστω = 5 και n = 11., τότε (d, x, y) = (1, 2, 1), επομένως το 2 9 (mod 11) είναι ένα πολλαπλασιαστικό αντίστροφο του 5 modulo 11. 28