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

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

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

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

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

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

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

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

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

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

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

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

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

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

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

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

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

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

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

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

UP class. & DES και AES

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

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

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

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

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

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

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

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

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

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

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

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

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

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

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

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

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

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

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

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

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

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ημερομηνία Αποστολής στον Φοιτητή: 17 Οκτωβρίου 2011

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα ροής. Πέτρος Ποτίκας. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

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

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

A N A B P Y T A ΑΣΚΗΣΕΙΣ ΠΟΛΥΩΝΥΜΩΝ. 1 (α + β + γ) [(α-β) 2 +(α-γ) 2 +(β-γ) 2 ] και τις υποθέσεις

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

Γραμμική Άλγεβρα Ενότητα 2: Διανυσματικοί χώροι

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

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

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

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

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

Κεφάλαιο 0. Μεταθετικοί ακτύλιοι, Ιδεώδη

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

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

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εφαρμοσμένα Μαθηματικά ΙΙ 5ο Σετ Ασκήσεων (Λύσεις) Πίνακες Επιμέλεια: I. Λυχναρόπουλος

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Υπολογιστική Κρυπτογραφία

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

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

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

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.

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

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

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

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

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

9 Πολυώνυμα Διαίρεση πολυωνύμων

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

Υπολογιστική Κρυπτογραφία

, για κάθε n N. και P είναι αριθμήσιμα.

Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

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

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

project RSA και Rabin-Williams

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης Διδάσκοντες: Στάθης Ζάχος Άρης Παγουρτζής 29 Οκτωβρίου 2012

1 Εισαγωγή Στη Θεωρία Αριθμών Ορισμός 1. Για a, b Z θα λέμε ότι ο α διαιρεί τον b αν υπάρχει c Z τέτοιο ώστε b = ac. Συμβολικά γράφουμε a b. Παρατήρηση 1. Θα λέμε ότι ο α δεν διαιρεί τον b και θα συμβολίζουμε με a b αν c Z, b ca. Πρόταση 1. Για κάθε a, b 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 και b 0 τότε a b. Απόδειξη. Άσκηση. Παρατήρηση 2. H διαιρετότητα στους N είναι μια σχέση μερικής διάταξης. Ορισμός 2. O a θα λέγεται γνήσιος διαιρέτης του b αν a b και 0 < a < b. Ορισμός 3. O a θα λέγεται μη τετριμμένος διαιρέτης του b αν a b και 1 < a < b. Ορισμός 4. Ο p > 1 θα λέγεται πρώτος αριθμός αν μοναδικοί διαιρέτες του είναι ο 1 και ο p. Θεώρημα 1. Ακέραιας διαίρεσης με υπόλοιπο Για κάθε 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 είναι μη κενό (για παράδειγμα το x = a S) συνεπώς έχει ελάχιστο στοιχείο r. Υπάρχει q Z τέτοιο ώστε 1

a qb = r a = qb + r και 0 r < b Έστω q, r Z τέτοια ώστε τότε Επίσης, a = q b + r και 0 r < b, 0 r r < b διότι 0 r < b και 0 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. Θεώρημα 2. Έστω a, b Z και d = gcd(a, b). Τότε: a) υπάρχουν k, λ Z τέτοια ώστε d = ka + λb. b) κάθε κοινός διαιρέτης d των a, b είναι μικρότερος του d. Απόδειξη. Για να δείξουμε την ύπαρξη έστω, S = {xa + yb x, y Z, xa + yb 0} Το S είναι μη κενό (διότι για παράδειγμα περιέχει το b 2 = 0a + bb) και συνεπώς έχει ελάχιστο στοιχείο d με d = ka + λb.θα δείξουμε ότι d a. Έστω πως d a. Τότε υπάρχουν q, r Z τέτοια ώστε a = qd + r 0 < r < d Όμως, r = a qd = a q(ka + λb) = (1 qk)a + ( λq)b και φυσικά r S και 0 < r < d, άτοπο. Ομοίως d b. Για την μοναδικότητα. Έστω d τέτοιο ώστε d a και d b. Τότε a = c 1 d και b = c 2 d οπότε d = ka+λb = kc 1 d +λc 2 d = (kc 1 +λc 2 )d. Συνεπώς, d d d d. Παρατήρηση 3. Το S είναι ιδεώδες με γεννήτορα τον d, S =< d >. Πόρισμα 1. Αν gcd(a, b) = 1 τότε υπάρχουν κ, λ Z τέτοια ώστε κa + λb = 1. Πρόταση 2. Αν c ab και gcd(a, c) = 1 τότε c b. Απόδειξη Εφόσον gcd(a, c) = 1 υπάρχουν κ, λ Z τέτοια ώστε κc+λa = 1 κcb+λab = b c b. 2

Πρόταση 3. Αν p πρώτος αριθμός και p ab τότε p a ή p b. Απόδειξη Αν gcd(p, a) = p τότε p a. Αν gcd(p, a) = 1 εφόσον p ab από Πρόταση 2 p b. Θεώρημα 3. Θεμελιώδες Θεώρημα Αριθμητικής Κάθε ακέραιος αριθμός n, n > 1 μπορεί να γραφτεί με μοναδικό τρόπο (αν αγνοήσουμε τη σειρά των παραγόντων ) ως πεπερασμένο γινόμενο πρώτων αριθμών. Απόδειξη. Υποθέτουμε ότι n = p 1 p 2 p r = q 1 q 2 q s και χωρίς βλάβη της γενικότητας μπορούμε να υποθέσουμε ότι p 1 p 2... p r και q 1 q 2... q s. Αρκεί να δείξουμε ότι r = s και p i = q i, i = 1,..., r. Για n = 2 το Θεώρημα ισχύει. Υποθέτουμε ότι ισχύει για κάθε ακέραιο k < n και θα δείξουμε ότι ισχύει για τον n. Αν ο n είναι πρώτος τότε το Θεώρημα προφανώς ισχύει. Αν ο n δεν είναι πρώτος τότε r > 1 και s > 1. Επειδή p 1 q 1 q 2 q s και q 1 p 1 p 2 p r θα έχουμε p 1 = q i για κάποιο i και q 1 = p j για κάποιο j. Όμως, p 1 p j = q 1 και q 1 q i = p 1. Έχουμε p 1 = q 1, 1 < n p 1 < n και n p 1 = p 2 p r = q 2 q s. Από την υπόθεση της επαγωγής r 1 = s 1 και p i = q i, i = 2,..., r. Τελικά r = s και p i = q i, i = 1,..., r. 2 Το κρυπτοσύστημα Σακιδίου Ορισμός 5. Κλασικά κρυπτοσυστήματα ή κρυπτοσυστήματα ιδιωτικού κλειδιού ή συμμετρικά κρυπτοσυστήματα. Ένα συμμετρικό κρυπτοσύστημα αποτελείται από τα ακόλουθα: : Ένα χώρο μηνυμάτων (plaintext) M. Ένα χώρο κωδικοποιημένων μηνυμάτων (ciphertext) C. Ένα χώρο κλειδιών K. Ένα αποδοτικό αλγόριθμο κωδικοποίησης Enc : K M C. Ένα αποδοτικό αλγόριθμο αποκωδικοποίησης Dec : K C M. Ένα αποδοτικό αλγόριθμο δημιουργίας κλειδιών G : N K. πρέπει επίσης να ικανοποιεί την ακόλουθη σχέση Για όλα τα m M και k K, Dec K (Enc K (m)) = m. 3

Το βασικό πρόβλημα στα κρυπτοσυστήματα αυτά είναι η ανταλλαγή του κλειδιού. Με τη συμβολή των Diffie Hellman (το 1976) προέκυψαν κρυπτοσυστήματα μονής κατεύθυνσης ή δημοσίου κλειδιού. Σ ένα κρυπτοσύστημα δημοσίου κλειδιού υπάρχουν δύο κλειδιά το ένα που γίνεται δημόσιο και χρησιμοποιείται για την κρυπτογράφηση των μηνυμάτων και ένα ιδιωτικό για την αποκρυπτογράφηση. Σημαντικό είναι ότι η γνώση του δημοσίου κλειδιού δεν μπορεί εύκολα να μας οδηγήσει στην αποκρυπτογράφηση του κειμένου. Δηλαδή, ενώ η εφαρμογή του αλγόριθμου κρυπτογράφησης είναι εύκολη όταν είναι γνωστό το δημόσιο κλειδί η εύρεση του αλγόριθμου αποκρυπτογράφησης χωρίς τη γνώση του κλειδιού αποκρυπτογράφησης είναι υπολογιστικά δύσκολη (trapdoor function). Με απλά λόγια, κάποιος που μπορεί να κρυπτογραφήσει μια πληροφορία δεν μπορεί να χρησιμοποιήσει το δημόσιο κλειδί για να την αποκρυπτογραφήσει. Ορισμός 6. trapdoor function Συναρτήσεις f που ο υπολογισμός της αντίστροφής συνάρτησης f 1 από την f είναι πρακτικά ανέφικτος αν δεν μας δοθεί κάποια περαιτέρω πληροφορία (στην συγκεκριμένη περίπτωση το ιδιωτικό κλειδί για την αποκρυπτογράφηση) Το κρυπτοσύστημα Merkle - Hellman, είναι ένα κρυπτοσύστημα δημοσίου κλειδιού βασισμένο στο πρόβλημα του σακιδίου. Το κρυπτοσύστημα Merkle - Hellman βασίζεται ουσιαστικά στο NP-complete πρόβλημα του αθροίσματος υποσυνόλων (Subset Sum). Subset Sum Problem Είσοδος: Ένα σύνολο A = {a 1, a 2,..., a n } και ένα k N. Έξοδος: Ένα A = {a i1, a i2,..., a im } A τέτοιο ώστε m j=1 a i j = k. Όχι αν δεν υπάρχει τέτοιο υποσύνολο του Α. Παρατήρηση 4. Αν το σύνολο Α έχει n το πλήθος στοιχεία τότε τα δυνατά υποσύνολα του Α είναι 2 n. Για n αρκετά μεγάλο η επίλυση του προβλήματος δεν είναι εύκολη. Ορισμός 7. Ένα σύνολο Α = {a 1, a 2,..., a n } καλείται υπεραυξητικό (super increasing) αν i n έχουμε a i > i 1 j=1 a j. Παράδειγμα 1. Το Α = {1, 3, 9, 20, 42, 88} είναι υπεραυξητικό. Παρατήρηση 5. Στα υπεραυξητικά σύνολα είναι εύκολη η λύση του Subset Sum Problem. Παράδειγμα 2. Ας υποθέσουμε ότι θέλουμε να γράψουμε το 51 ως άθροισμα στοιχείων του Α = {1, 3, 9, 20, 42, 88}. 4

Βήμα 1ο: Προφανώς αποκλείω το 88. Βήμα 2ο: Πρέπει οπωσδήποτε να πάρω το 42 διότι διαφορετικά τα στοιχεία που απομένουν έχουν άθροισμα μικρότερο του 42. Βήμα 3ο: Απόμενουν 51-42=9. Βήμα 4ο: Παίρνω και το 9. Βασική Ιδέα του Merkle - Hellman Knapsack κρυπτοσυστήματος είναι να χρησιμοποιήσω ως δημόσιο κλειδί ένα καμουφλαρισμένο υπεραυξητικό διάνυσμα. Ξεκινώ με κάποιο υπεραυξητικό διάνυσμα Α Επιλέγω t, m : m > a i και gcd(t, m) = 1 Υπολογίζω το A = t A mod m και το δημοσιεύω. Συνοπτικά, Δημόσιο κλειδί: το A Ιδιωτικό κλειδι: t 1 mod m, A, m Έστω λοιπόν πως η Αλίκη θέλει να λάβει μια πληροφορία b = (..., 0, 1,...) από τον Βασίλη. Για τον σκοπό αυτό η Αλίκη κατασκευάζει το σύνολο A και το δημοσιεύει. Ο Βασίλης χρησιμοποιώντας το σύνολο κωδικοποιεί την πληροφορία. b y = Enc A (b) = n i=1 b ia i Η Αλίκη λαμβάνει ως απάντηση από τον Βασίλη έναν αριθμό τον οποίο και αποκωδικοποιεί ως εξής: y Solve A [ t 1 y mod m ] όπου ο Solve A είναι ένας αλγόριθμος επίλυσης του στιγμιοτύπου Subset Sum στο υπεραυξητικό διάνυσμα Α, αναλυτικότερα... Solve A [ t 1 ( n i=1 a i b i) mod m ] = Solve A [ t 1 ( n i=1 (t a i mod m) b i ) mod m ] = Solve A [( n i=1 a ib i ) mod m] = 5

Solve A [ n i=1 a ib i ] όπου η τελευταία ισότητα αληθεύει διότι m > n i=1 a ib i. Παράδειγμα 3. Έστω το υπεραυξητικό σύνολο Α = {1, 3, 5, 11} και m = 23, t = 7. Ο αντίστροφος του 7 mod 23 είναι ο 10 mod 23. Κατασκευάζω το A = {7, 21, 12, 8} (κάθε στοιχείο του A προκύπτει από το Α, a i ta i mod 23). Θα κωδικοποιήσουμε την ακολουθία b = (0110) χρησιμοποιώντας το A. enc A (0110) = 0 7 + 1 21 + 1 12 + 0 8 = 33. Για την αποκωδικοποίηση, 8 = 10 33 mod 23 Dec (A,t 1,m) = Solve A (8) = (0110) όπου Solve A ένας αλγόριθμος για να κατασκευάσουμε την ακολουθία b από το υπεραυξητικό σύνολο Α. Το Subset Sum πρόβλημα είναι ένα από τα NP-complete προβλήματα. Μεταξύ άλλων αυτό σημαίνει ότι δεν υπάρχει γνωστός αλγόριθμος που να το επιλύει σε πολυωνυμικό χρόνο. Αυτό φυσικά δεν αποκλείει την περίπτωση να υπάρχει αλγόριθμος που να επιλύει σε πολυωνυμικό χρόνο ειδικές περιπτώσεις του προβλήματος. Γι αυτό και το 1984 Ο Shamir έσπασε το κρυπτοσύστημα των Merkle Hellman. Διαπίστωσε ότι δεν είναι απαραίτητος ο υπολογισμός των αρχικών m, t, A που χρησιμοποιήθηκαν. Αρκεί ο επιτιθέμενος να βρει m, t τέτοια ώστε να μπορεί να κατασκευαστεί κάποιο υπεραυξητικό σύνολο A. Επίθεση στο κρυπτοσύστημα Επιλέγω t = 7, t 1 = 13, m = 15. Κατασκευάζω νέο υπεραυξητικό σύνολο A = t 1 A mod 15 = (1, 3, 6, 14). t 1 33 mod 15 = 9 mod 15. 9 = 0 1 + 1 3 + 1 6 + 0 14 Η ακολουθία που κωδικοποιήθηκε είναι η (0110). Χωρίς να γνωρίζουμε το αρχικό υπεραυξητικό σύνολο, χωρίς να χρειάζεται να υπολογίσουμε το αρχικό υπεραυξητικό σύνολο, κατασκευάσαμε με κατάλληλα νέα t, m υπεραυξητικό σύνολο με τη χρήση του οποίου αποκωδικοποιήσαμε την πληροφορία. 6

Βιβλιογραφία Zac12 : Σημειώσεις Ζάχου, ΕΜΠ, 2012. Sti06 : D. Stinson: Cryptography: Theory and Practice, 3rd edition, CRC Press, 2005. 7