ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ

Σχετικά έγγραφα
a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

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

KΕΦΑΛΑΙΟ 3 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Κρυπτογραφία και Πολυπλοκότητα

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

5.1 Ιδιοτιµές και Ιδιοδιανύσµατα

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Προηγούµενο: Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Σύνοψη Ιδιοτήτων

Αλγόριθµοι για την παραγοντοποίηση ακεραίων αριθµών

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Προτεινοµενες Ασκησεις - Φυλλαδιο 9

6 Εφαρµογές των παραγώγων στον υπολογισµό ορίων α- προσδιόριστων µορφών - Κανόνες L Hôpital

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

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

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

11 Το ολοκλήρωµα Riemann

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

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

Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Παράδειγµα (1/2) O( g(n) ) είναι σύνολο συναρτήσεων:

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

(x) = δ(x) π(x) + υ(x)

µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα;

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

Κεφάλαιο 9 Ιδιοτιµές και Ιδιοδιανύσµατα

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

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

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

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

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

Κεφάλαιο 6. Πεπερασµένα παραγόµενες αβελιανές οµάδες. Z 4 = 1 και Z 2 Z 2.

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

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

1.7 ΙΑΙΡΕΣΗ ΠΟΛΥΩΝΥΜΩΝ

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Υπερβατικοί Αριθµοί και Θεώρηµα του Liouville

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε Αποδείξεις

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

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

Πρόβληµα 2 (12 µονάδες)

1 Υποθέσεις και Θεωρήµατα

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

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

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

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

Αρµονική Ανάλυση. Ενότητα: L p Σύγκλιση. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

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

Αρµονική Ανάλυση. Ενότητα: Προσεγγίσεις της µονάδας και Αθροισιµότητα - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

3 Αναδροµή και Επαγωγή

Όνοµα: Λιβαθινός Νικόλαος 2291

1 Ορισµός ακολουθίας πραγµατικών αριθµών

Θεωρία Υπολογισµού Theory of Computation

Παρεµβολή και Προσέγγιση Συναρτήσεων

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 4

4.1 Το αόριστο ολοκλήρωµα - Βασικά ολοκληρώ-

Αριθµοί Liouville. Ιωάννης Μπαρµπαγιάννης

ΚΕΦΑΛΑΙΟ 4ο: ΠΟΛΥΩΝΥΜΑ ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ

Αλγεβρα. Ενότητα: Πολυώνυµα πολλών µεταβλητών - ο αλγόριθµος της διαίρεσης. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

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

3 o Καλοκαιρινό Μαθηµατικό σχολείο Ε.Μ.Ε. Λεπτοκαρυά Πιερίας 2009

Θεωρια Αριθµων Προβληµατα

Το θεώρηµα αντίστροφης απεικόνισης. ) και ακόµη ότι η g f 1 1. g y

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

ΑΠΟΚΡΙΣΗ ΙΚΤΥΟΥ R-L σε ΤΕΤΡΑΓΩΝΙΚΟ και ΤΡΙΓΩΝΙΚΟ ΠΑΛΜΟ

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Αρµονική Ανάλυση. Ενότητα: Χώροι L p - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

1 Οι πραγµατικοί αριθµοί

Δ/νση Β /θµιας Εκπ/σης Φλώρινας Κέντρο ΠΛΗ.ΝΕ.Τ. Λογάριθµοι ΛΟΓΑΡΙΘΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΛΟΓΑΡΙΘΜΟΥΣ

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

Δραστηριότητα για τους µαθητές µε το κόσκινο του Ερατοσθένη:.. (και άσκηση 10 σελ. 219 «Η φύση και η δύναµη των µαθηµατικών»)

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

Αριθµητική Ολοκλήρωση

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

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1)

Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

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

Θεωρια Αριθµων. Θεωρητικα Θεµατα. Ακαδηµαϊκο Ετος ιδασκοντες: Α. Μπεληγιάννης & Σ. Παπαδάκης

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

ΠΟΛΥΩΝΥΜΙΚΕΣ - ΡΗΤΕΣ ΑΝΙΣΩΣΕΙΣ P x = x+ 2 4 x x 3x x x x 3x

Ορια Συναρτησεων - Ορισµοι

Τελική Εξέταση 10 Φεβρουαρίου 2017 ιάρκεια εξέτασης 2 ώρες και 30 λεπτά

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

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


13 Μέθοδοι υπολογισµού ολοκληρωµάτων Riemann

ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012

Κεφάλαιο 8. Η οµάδα S n. 8.1 Βασικές ιδιότητες της S n

2 o Καλοκαιρινό σχολείο Μαθηµατικών Νάουσα 2008

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 4

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

Κουβεντιάζοντας µε τις ασκήσεις

ΛΥΣΕΙΣ 6 ης ΕΡΓΑΣΙΑΣ - ΠΛΗ 12,

Αλγόριθµοι και Πολυπλοκότητα

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ 1. Το προβληµα του διακριτου λογαριθµου Στο µάθηµα αυτό ϑα δούµε κάποιους αλγόριθµους για υπολογισµό διακριτών λογάριθµων. Θυµίζουµε ότι στο πρόβληµα του διακριτού λογάριθµου (DL), µας δίνεται µια οµάδα G, ένα στοιχείο g G τάξης n > 1 και κάποιο y g και ϑέλουµε να υπολογίσουµε το µικρότερο µη αρνητικό ακέραιο x τέτοιο ώστε y = g x. Αρχικά ϑα περιγράψουµε δύο αλγόριθµους που µπορούν να εφαρµοστούν σε οποιαδήποτε οµάδα G. Τέτοιους αλγόριθµους τους ονοµάζουµε γενικούς. Είναι ϕανερό ότι το x µπορεί να ϐρεθεί αν υπολογίσουµε µε τη σείρα τα g k για k = 0, 1, 2,..., n 1, και σε κάθε ϐήµα να συγκρίνουµε το g k µε το y. Οταν είναι ίσα έχουµε ϐρει το x. Ο αλγόριθµος αυτός ονοµάζεται συχνά και τετριµ- µένος και χρειάζεται O(n log n) πράξεις στη G. Στις επόµενες παραγράφους ϑα περιγράψουµε αλγόριθµους που ϐελτιώνουν το ϕράγµα αυτό. 2. Ο αλγοριθµος Baby-step/Giant-step Ο αλγόριθµος αυτός είναι του D. Shanks. Εστω ότι µας δίνεται το g G τάξης n (γνωστής) και το y g = {g k 0 k n 1}. Θέλουµε να υπολογίσουµε το 0 x n 1 τέτοιο ώστε y = g x. Εστω 1 < q < n ένας ακέραιος. Τότε γράφοντας την εξίσωση της διαίρεσης µε υπόλοιπο του x (που δεν ξέρουµε) µε το q έχουµε x = q i 0 + j 0, µε 0 i 0 < n q και 0 j 0 < q. Φυσικά τα i και j δεν τα ξέρουµε. Οµως ξέρουµε ότι υπάρχουν και ότι αν υπολογίσουµε τα i 0 και j 0 ϑα έχουµε υπολογίσει το x. Αυτό ϑα κάνουµε. Γράφουµε g x = y = g qi 0+j 0 yg j 0 = g gi 0. Η τελευταία εξίσωση υποδεικνύει τον ακόλουθο αλγόριθµο. (1) Υπολόγισε τα u = g 1 και w = g q. (2) Για j = 0, 1,..., n/q υπολόγισε το yu j και αποθήκευσε τα (yu j, j). 1

2 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ (3) Για i = 0, 1,..., q 1 υπολόγισε το w i και για κάθε µία τιµή που υπολογίζεις, κοίτα αν το w i είναι το πρώτο µέλος κάποιου Ϲεύγους που έχεις υπολογίσει στο ϐήµα (2). (4) Οταν ϐρείς το i 0 τέτοιο ώστε w i 0 = yu j 0, απάντησε x = qi 0 + j 0. Η ορθότητα του αλγόριθµου είναι ϕανερή από όσα είπαµε παραπάνω. Πόσες πράξεις στη G κάνει ο αλγόριθµος ; Εχουµε O(log q) πράξεις στο ϐήµα (1), O( n/q log(n/q)) πράξεις στο ϐήµα (2) και O(q log q) πράξεις στο ϐήµα (3). Συνολικά έχουµε O(q log q + (n/q) log(n/q)) πράξεις. Θυµηθείτε ότι έχουµε ακόµη την ελευθερία να επιλέξουµε το q. Αν δούµε το q + n/q σαν συνάρτηση του q, ελαχιστοποιήται για q = n. Βέβαια το q πρέπει να είναι ακέραιος, οπότε επιλέγουµε το q να είναι ένας ακέραιος κοντά στο n, για παράδειγµα το n. Τότε ο αριθµός των ϐηµάτων του αλγορίθµου είναι O( n log n). 3. Ο αλγοριθµος των Pohlig και Hellman Ο στόχος του αλγορίθµου των Pohlig και Hellman είναι διαφορετικός από αυτόν του Baby-step/Giant-step. Στόχος είναι να ανάγουµε τον υπολογισµό ενός διακριτού λογαρίθµου στην οµάδα g στο υπολογισµό πολλών διακριτών λογαρίθµων σε υποοµάδες της g. Για να το πετύχουµε αυτό χρειάζεται να γνωρίζουµε την ανάλυση του n σε πρώτους παράγοντες. Ας υποθέσουµε λοιπόν ότι η ανάλυση αυτή είναι n = p t 1 1 p tr r. Αν καταφέρουµε να υπολογίσουµε 0 a (i) < p t i i για i = 1,..., r τέτοια ώστε x a (i) (mod p t i ) τότε µπορούµε να ϐρούµε το x από τις παραπάνω σχέσεις µε το Κινέζικο Θεώρηµα Υπολοίπων. Άρα µένει να δείξουµε πώς µπορούν να υπολογιστούν τα a (i). Εστω ότι n = mp t µε (m, p) = 1. Αν y 0 = y m, g 0 = g m, τότε y 0 = g0 x και g 0 είναι στοιχείο τάξης p t. Αν 0 a < p t είναι ο διακριτός λογάριθµος του y 0 ως προς τη ϐάση g 0, τότε x a (mod p t ). Αν γράψουµε το a στη ϐάση p, έχουµε a = a 0 + a 1 p + + a t 1 p t 1, 0 a i < p, για i = 0, 1,..., t 1. Θέλουµε να υπολογίσουµε τα a 0, a 1,..., a t 1. Εχουµε ( ) a y 0 = g0 a y pt 1 0 = g pt 1 0 και ϑέτοντας h 0 = y pt 1 0, g 1 = g pt 1 0, έχουµε h 0 = g a 0+a 1 p+ +a t 1 p t 1 1 = g a 0 1, διότι η τάξη του g 1 είναι p. Από τα δεδοµένα µπορούµε να υπολογίσουµε τα h 0 = y n/p και g 1 = g n/p. Στη συνέχεια υπολογίζουµε το διακριτό λογάριθµο του h 0 ως προς τη ϐάση g 1. Το αποτέλεσµα είναι το a 0.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 3 Ας υποθέσουµε τώρα ότι έχουµε υπολογίσει τα a 0,..., a i 1 και ϑέλω να υπολογίσω το a i. Εχουµε οπότε y 0 = g a 0+a 1 p+ +a i 1 p i 1 +a i p i + +a t 1 p t 1 0, y 0 g a 0 a 1 p a i 1 p i 1 0 = g a ip i + +a t 1 p t 1 0. Υψώνοντας στην p t i 1 και τα δύο µέλη, έχουµε h i = g a i 1, όπου h i = (y 0 g a 0 a 1 p a i 1 p i 1 0 ) pt i 1. Κάναµε και πάλι χρήση του γεγονότος ότι η τάξη του g 1 είναι p. Από τα προηγούµενα ϐήµατα, έχουµε υπολογίσει τα a 0,..., a i 1, οπότε µπορούµε να υπολογίσουµε το h i και στη συνέχεια το διακριτό λογάριθµο του h i ως προς τη ϐάση g 1. Το αποτέλεσµα είναι το a i. Η πολυπλοκότητα του αλγορίθµου µπορεί να υπολογιστεί ως εξής. Για να υπολογίσουµε κάθε ένα από τα ψηφία a i απαιτούνται O(log n) πράξεις στην οµάδα καθώς και ο υπολογισµός ενός διακριτού λογαρίθµου σε µια οµάδα τάξης p. Με τον αλγόριθµο Baby-Step/Giant-Step αυτό µπορεί να γίνει µε O( p log p) πράξεις στην οµάδα. Συνεπώς, για να υπολογίστουν όλα τα ψηφία του x mod p t i i απαιτούνται O(t i pi log p i ) πράξεις στην οµάδα. Για να υπολογιστεί ο x modulo p t i i για i = 1,..., r απαιτούνται O ( r i=1 t ) i pi log p i πράξεις. Καθώς n p t i i για κάθε 1 i r, η παραπάνω ποσότητα ϕράσεται από την O ( log n r ) i=1 pi. Είναι εύκολο να δει κανείς ότι r log n/ log 2. Αν p = max{p 1,..., p r }, τότε ένα άνω ϕράγµα για τον αριθµό των πράξεων που απαιτεί ο αλγόριθµος είναι O ( p (log n) 2 ). Το δίδαγµα είναι ότι ο υπολογισµός ενός διακριτού λογαρίθµου σε µια κυκλική οµάδα τάξης n µπορεί πάντα να αναχθεί στον υπολογισµό διακριτών λογαρίθ- µων σε υποοµάδες πρώτης τάξης. Αν ϑέλουµε το πρόβληµα να είναι δύσκολο, πρέπει να σιγουρευτούµε ότι το n διαιρείται από κάποιο µεγάλο πρώτο. Για παράδειγµα, αν ο µόνος διαθέσιµος αλγόριθµος είναι αυτός των Pohlig και Hellman, και ϑέλουµε ο υπολογισµός του διακριτού λογαρίθµου να απαιτεί περίπου 2 100 πράξεις στην οµάδα, τότε πρέπει να επιλέξουµε µια οµάδα τάξης n, όπου το n διαιρείται από κάποιο πρώτο µεγέθους περίπου 2 200 (δηλαδή να έχει πρώτο διαιρέτη µε 200 περίπου bits). Παράδειγµα 3.1. Ας πούµε για παράδειγµα, ότι p = 2 t + 1 είναι πρώτος και ϑέλουµε να υπολογίζουµε διακριτούς λογάριθµους στην οµάδα F p. Η τάξη της οµάδας είναι n = p 1 = 2 t, που µπορεί να παραγοντοποιηθεί πολυ εύκολα. Χρησιµοποιόντας τον αλγόριθµο των Pohlig και Hellman µπορούµε να λύσουµε το πρόβληµα σε χρόνο O( 2 log 2 n) = O(log 2 p). ηλαδή το πρόβληµα λύνεται σε πολυωνυµικό χρόνο. Αν ϑέλουµε να ϐασίσουµε ένα σύστηµα ElGamal στην

4 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ οµάδα F p διαιρέτη. πρέπει να επιλέξουµε το p έτσι ώστε το p 1 να έχει µεγάλο πρώτο Παράδειγµα 3.2. Ας δούµε και ένα παράδειγµα υπολογισµού διακριτού λογάριθµου µε τη µέθοδο Pohlig-Hellman. Ας είναι η οµάδα µας η F 29 και µας δίνονται τα y = 10 και g = 3. Βλέπουµε ότι η τάξη της οµάδας είναι n = 29 1 = 28 = 2 2 7 και η τάξη του g είναι 28, δηλαδή g = F 29. Θέλουµε να ϐρούµε 0 x 28 τέτοιο ώστε y = g x δηλαδή 10 3 x (mod 29). Το x υπολογίζεται mod 28. Σύµφωνα µε τον αλγόριθµο, ϑα υπολογίσω το x mod 2 2 και mod 7. ηλαδή, ϑα υπολογίσω a και b τέτοια ώστε Αρχικά υπολογίζω το a. Υπολογίζω x a (mod 2 2 ) x b (mod 7). y 0 = y 7 = 10 7 17 (mod 29), g 0 = g 7 = 3 7 12 (mod 29), g 1 = g 2 0 = 12 2 28 (mod 29). Γράφω το a στη ϐάση 2, a = a 0 + 2a 1, µε 0 a 0, a 1 1. Για το a 0 υπολογίζω : h 0 = y 2 0 = 17 2 28 mod 29. Καθώς h 0 = g 1 1, ϐλέπουµε ότι a 0 = 1. Στη συνέχεια, υπολογίζω : h 1 = y 0 g a 0 0 = 17 12 1 28 mod 29, και το διακριτό λογάριθµο του h 1 ως προς τη ϐάση g 1, που είναι και πάλι ίσος µε 1. Άρα a 1 = 1. Συνεπώς a = 1 + 2 = 3. Προχωρώ στον υπολογισµό του b. Καθώς στην ανάλυση 28 = 2 2 7 το 7 εµφανίζεται µε εκθέτη 1, αρκει να υπολογίσω ένα µόνο ψηφίο, το ίδιο το b. Υπολογίζω y 0 = y 4 = 10 4 24 mod 29, g 0 = g 4 = 3 4 23 mod 29, g 1 = g 0. Επίσης, έχουµε h 0 = y 0. Ετσι έχουµε h 0 = g b 1, δηλαδή 24 12 b (mod 29). Υπάρχουν 7 δυνατές επιλογές για το b (οι b = 0, 1,..., 6), τις οποίες µπορώ να εξετάσω µια προς µία. Φυσικά ϑα µπορούσα να εφαρµόσω τον αλγόριθµο Baby-step/Giant-step. Σε κάθε περίπτωση, ϐρίσκω b = 6.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 5 Ετσι έχω να λύσω το σύστηµα x 3 (mod 4) x 6 (mod 7). Με τον αλγόριθµο για το Κινέζικο Θεώρηµα Υπολοίπων, ϐρίσκω x = 27. Πραγ- µατικά, µπορεί κανείς εύκολα να επαληθεύσει ότι 3 27 = 10 mod 29.