project RSA και Rabin-Williams

Σχετικά έγγραφα
ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

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

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

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

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

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

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

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

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

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

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

Ασφάλεια Πληροφοριακών Συστημάτων

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

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

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

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

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

Το κρυπτοσύστημα RSA

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

Το κρυπτοσύστημα RSA

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

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

Αλγόριθµοι δηµόσιου κλειδιού

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

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

Το κρυπτοσύστημα RSA. Παναγιώτης Γροντάς - Άρης Παγουρτζής 20/11/2018. ΕΜΠ - Κρυπτογραφία ( ) RSA 1 / 51

Κρυπτογραφία ηµόσιου Κλειδιού Η µέθοδος RSA. Κασαπίδης Γεώργιος -Μαθηµατικός

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

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

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

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

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

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

7. O κβαντικός αλγόριθμος του Shor

1 Ψηφιακές Υπογραφές. 1.1 Η συνάρτηση RSA : Η ύψωση στην e-οστή δύναμη στο Z n. Κρυπτογραφία: Αρχές και πρωτόκολλα Διάλεξη 6. Καθηγητής Α.

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

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

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 9 (Πρωτόκολλα πιστοποίησης ταυτότητας μηδενικής γνώσης Fiat-Shamir)

Παραγωγή μεγάλων πρώτων αριθμών

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

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

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

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

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

Public Key Cryptography. Dimitris Mitropoulos

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

Ασφάλεια Πληροφοριακών Συστηµάτων

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

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

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

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

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

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 11 (Επαναληπτικές ασκήσεις)

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Όταν οι αριθμοί είναι ομόσημοι Βάζουμε το κοινό πρόσημο και προσθέτουμε

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

Συμμετρικά κρυπτοσυστήματα

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

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

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

UP class. & DES και AES

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

Κεφάλαιο. Ψηφιακές Υπογραφές Εισαγωγή. Πίνακας Περιεχομένων

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

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

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

Πρώτοι αριθμοί και κρυπτογραφικός αλγόριθμος RSA. Άριστος Χαραλάμπους, Δημήτρης Χαραλάμπους, Νικόλας Παρασκευάς

ΑΛΓΕΒΡΑ Α ΓΥΜΝΑΣΙΟΥ ΘΕΤΙΚΟΙ ΚΑΙ ΑΡΝΗΤΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΧΑΛΑΤΖΙΑΝ ΠΑΥΛΟΣ

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

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

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Τα μαθηματικά των αρχαίων Ελλήνων στις πιο σύγχρονες μεθόδους κρυπτογράφησης

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

Πρόσφατες κατευθύνσεις

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

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών project RSA και Rabin-Williams Στοιχεία Θεωρίας Αριθμών& Εφαρμογές στην Κρυπτογραφία Ονοματεπώνυμο Σπουδαστών: Θανάσης Ανδρέου Γιώργος Παπαδόπουλος

Κρυπτοσύστημα RSA Κρυπτοσύστημα δημοσίου κλειδιού. Δημοσιεύτηκε το 1978 απο τους Ron Rivest, Adi Shamir και Leonard Adleman Στηρίζεται στη δυσκολία του factoring.

Κρυπτοσύστημα RSA - Παραγωγή κλειδιών Επίλογή δύο τυχαίων μεγάλων πρώτων αριθμών p και q. Υπολογισμός N = pq Υπολογισμός του φ(n) = (p 1)(q 1) Επιλογή ένος τυχαίου αριθμού e τέτοιου ώστε: 0 <e <φ(n), (e,φ(n)) = 1. Το e δημοσιεύεται ως το δημόσιο κλειδί για την κρυπτογράφηση του μηνύματος. Υπολογισμός του αντιστρόφου του e ed 1 (mod φ(n)) Το d κρατείται κρυφό και είναι το ιδιωτικό κλειδί.

Κρυπτοσύστημα RSA - Κρυπτογραφηση & Αποκρυπτογράφηση E(m) = m e modn. D(c) = c d modn

Υλοποίηση RSA - Εύρεση Πρώτων Γλώσσα προγραμματισμου: Java Ευκολία διαχείρησης μεγάλων αριθμών.με χρήση της κλάσης BigInteger. Test Miller-Rabin Εκτελέστη για 1000 τυχαίους αριθμούς Πιθανότητα λάθους: 1 4 1000

Υλοποίηση RSA - Υπολογισμός Κλειδιών (1) Υπολογισμός πρώτων αριθμων p, q μεγέθους 1024 bits. Μορφή πρώτων: 11x...x1. Εγγυημένα το γινόμενο τους είναι 2048 bits Καλό μέγεθος σύμφωνα με τον Shamir. N = pq φ(n) = (p 1)(q 1)

Υλοποίηση RSA - Υπολογισμός Κλειδιών (2) Εύρεση e: 1. Δημιουργία τυχαίου πρώτου αριθμού. 2. Ελεγχος, αν είναι σχετικά πρώτος με το φ(n). 3. Αν είναι βρήκαμε το e! 4. Αν δεν είναι πρόσθεσε και πήγαινε στο βήμα 2. Υπολογισμός του ιδιωτικού εκθέτη d : ed 1 (mod φ(n)) Χρήση του αλγόριθμου Extended GCD.

Υλοποίηση RSA - Ανάγνωση Μηνύματος Χρήση κλάσης BufferedInputStream: Ανάγνωση αρχείου σε τμήματα του N. Ανάγνωση ως binary και όχι ώς ASCII. Μέγεθος των τμημάτων του μηνύματος επιλέχθηκε αυθαιρετα ώς 1024 bits = 128 bytes Θα μπορούσε να χρησημοποιηθεί οποιόδηποτε μέγεθος από 1 255 bytes Βλέπουμε τα τμήματα του μυνήματος ως έναν αριθμό. Μέσω της κλάσης BigInteger μετατρέπουμε το bytearray σε BigInteger.

Υλοποίηση RSA - Αποθήκευση Κρυπτοκειμένου Χρήση κλάσης BufferedOutputStream για τους ίδιους λόγους. Το κάθε κρυπτογραφημένο τμήμα μύνηματος έχει αυθαίρετη τιμή στο Z N Αριθμός bytes από 1 256 Χρήση αριστερού padding με 0 έτσι ώστε κάθε κρυπτογραφημένο τμήμα να έχει σταθερό μέγεθος 256 bytes.

Υλοποίηση RSA - Παρατηρήσεις Για τις υπόλοιπες πράξεις με μεγάλους αριθμούς, όπως ύψωση σε δύναμη modn η BigInteger μας παρέχει αποδοτικές και εύχρηστες μεθόδους. Η εύρεση των πρώτων είναι σχετικά χρονοβόρα διαδικασία (20-30 δευτερόλεπτα), γιατί η πιθάνοτητα να βρεθεί με τυχαίες δοκιμές τόσο μεγάλος πρώτος είναι σχετικά μικρή.

Κρυπτοσύστημα Rabin-Williams Παραλλαγή του Rabin ώστε η κρυπτογράφηση να μην είναι διφορούμενη. Δημοσιεύτηκε το 1996 απο τον Hugh Williams. Οπως και στο Rabin η αποκατάσταση του αρχικού κειμένου από το κρυπτοκείμενο είναι το ίδιο δύσκολη με το factoring.

Κρυπτοσύστημα Rabin-Williams - Παραγωγή κλειδιών Επίλογή δύο τυχαίων μεγάλων πρώτων αριθμών p και q, με p 3 (mod 8) και q 7 (mod 8). Υπολογισμός δημοσίου κλειδιού N = pq, για το οποίο θα ισχύει N 5 (mod 8) Υπολογισμός ιδιωτικού κλειδιού d = (p 1)(q 1) 4 +1 2.

Κρυπτοσύστημα Rabin-Williams - Κρυπτογράφηση E 1 = { 4(2M + 1), αν ( 2M+1 2(2M + 1), αν ( 2M+1 N N ) = 1 ) = 1 C = E 1 2 modn

Κρυπτοσύστημα Rabin-Williams - Απόκρυπτογράφηση D 1 = C d modn M = D 1 4 1 2, αν D 1 0 (mod 4) N D 1 4 1 D 1 2 1 2, αν D 1 1 (mod 4) 2, αν D 1 2 (mod 4) N D 1 1 2 2, αν D 1 3 (mod 4)

Κρυπτοσύστημα Rabin-Williams - Γενικές Πληροφορίες Ασφάλεια: οποιοδήποτε κρυπτογραφικό σχήμα είναι τόσο δύσκολο όσο το factoring, είναι τελείως απροστάτευτο σε Chosen-Ciphertetx Attack. Παραλλαγές: αντί να υψώνουμε εις το τετράγωνο το μύνημα, το υψώνουμε είς τον κύβο. Επίσης οι πρώτοι αριθμοί πρέπει να είναι p q 1 (mod 3).

Υλοποίηση Rabin-Williams Στο μεγαλύτερο μέρος της διαδικασίας χρησιμοποιήθηκαν παρόμοια εργαλεία με αυτά που χρησιμοποιήθηκαν στο RSA. Διαφορετική διαδικασία για εύρεση πρώτων Υλοποίηση του αλγόριθμου υπολογισμού του συμβόλου Jacobi

Υλοποίηση Rabin-Williams - Εύρεση Πρώτων Πριν εκτελεστεί το test Miller-Rabin γίνεται έλεγχος για το άν ο αριθμός που δημιουργήθηκε είναι 3 (mod 8) για τον πρώτο και 7 (mod 8) για τον δεύτερο.

Υλοποίηση Rabin-Williams - Σύμβολο Jacobi Υλοποίηση αναδρομικού αλγορίθμού με χρησιμοποιώντας τους κανόνες: ( 1 n ) = 1. ( ab n ) = ( a n )( b n ). ( 2 n ) = 1 αν n2 1 8 είναι άρτιος, 1 αλλιώς. ( a n ) = ( a mod n n ). ( a n 1n 2 ) = ( a n 1 )( b n 2 ) Αν (a, n) = 1 και a, b είναι περιττά: ( a ) = ( n (a 1)(b 1) ), αν είναι άρτιος. n a 4 ( a ) = ( n (a 1)(b 1) ), αν είναι περιττός. n a 4

Υλοποίηση Rabin-Williams - Ανάγνωση Μηνύματος Μέγεθος των τμημάτων του μηνύματος ορίστηκε πάλι ως 1024 bits = 128 bytes Για το M πρέπει να ισχύει 2(2M + 1) < N, αν ( 2M+1 N ) = 1 και 4(2M + 1) < N, αν ( 2M+1 N ) = 1. Σε κάθε περίπτωση = 128 bytes < N 8 1

Υλοποίηση Rabin-Williams - Παρατηρήσεις Πιό γρήγορη από την υλοποίηση του RSA: Ισως ο έλεγχος για p 3 (mod 8) και q 7 (mod 8) αυξάνει και την πιθανότητα να είνα ένας αριθμός πρώτος. Απλά υψώνουμε στο τετράγωνο δε χρειάζεται χρόνος για υπολογισμό του e

Ερωτήσεις...