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

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

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

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

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

Επισκόπηση Κρυπτογραφίας: privacy. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία. Επισκόπηση Κρυπτογραφίας: authentication, integrity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 1

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

UP class. & DES και AES

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

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

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

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

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

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

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία και Ασφάλεια Δικτύων

Ασφάλεια Υπολογιστικών Συστηµάτων

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

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

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

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

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

project RSA και Rabin-Williams

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

Βασικές Έννοιες Κρυπτογραφίας

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

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

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

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

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

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

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

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

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

Διαλογικά Συσ τήματα Αποδείξεων Διαλογικά Συστήματα Αποδείξεων Αντώνης Αντωνόπουλος Κρυπτογραφία & Πολυπλοκότητα 17/2/2012

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

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

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

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

Κρυπτογραφία. Συναρτήσεις μονής κατεύθυνσης - Συναρτήσεις κατακερματισμού. Άρης Παγουρτζής - Πέτρος Ποτίκας

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου

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

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

Κατάλογος Σχηµάτων. Κατάλογος Πινάκων. I Θεµέλια 27

Freedom of Speech. Κρυπτογραφία και ασφαλής ανταλλαγή πληροφοριών στο Internet

Παύλος Εφραιμίδης. προηγμένα κρυπτογραφικά πρωτόκολλα. Ασφ Υπολ Συστ

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

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

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

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

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

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

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

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

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

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

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

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

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

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

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

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

Κρυπτογραφία: Εισαγωγή & Ιστορικά συστήματα

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

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

Transcript:

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

1 Επισκόπηση Κρυπτολογίας Ο όρος Κρυπτολογία (Cryptology) συμπεριλαμβάνει την Κρυπτογραφία (Cryptography), την Κρυπτανάλυση (Cryptanalyss) και τις εφαρμογές τους. Πολλές φορές λέμε Κρυπτογραφία, εννοώντας Κρυπτολογία. Αντικείμενα της Κρυπτολογίας Μυστικότητα / Ιδιωτικότητα (Secrecy / Prvacy) Κρυπτογράφηση: μετασχηματισμός απλού αρχικού κειμένου (plantext) σε κρυπτοκείμενο (cphertext), συνήθως με χρήση κλειδιού. Αποκρυπτογράφηση: μετασχηματισμός κρυπτοκειμένου στο αρχικό κείμενο, συνήθως με χρήση κλειδιού. Παραγωγή / Διανομή κλειδιού Συμμετρικά κρυπτοσυστήματα / Ιδιωτικού κλειδιού (κρυπτογραφία διπλής κατεύθυνσης): μονοαλφαβητικά, πολυαλφαβητικά, τμήματος, ροής, DES, AES Μη συμμετρικά κρυπτοσυστήματ / Δημοσίου κλειδιού (κρυπτογραφία μονής κατεύθυνσης): Knapsack, RSA, ElGamal, Ellptc Curves Αυθεντικοποίηση (Authentcaton) Data / message orgn: υπογραφές, κυρίως βασισμένα σε συστήματα δημοσίου κλειδιού αλλά και Message Authentcaton Codes (MACs) Entty / User: Identfcaton Schemes, πρωτόκολλα ταυτοποίησης (Interactve Proofs (IP), Zero Knowledge (ZK)) Ακεραιότητα (Integrty) Συνήθως περιλαμβάνεται στην αυθεντικοποίηση Hash Functons (επίσης έχουν μεγάλη χρήση στις ψηφιακές υπογραφές) Συνδυασμός με αυθεντικοποίηση (MACs = keyed hash functons) Διαχείριση κλειδιών (Key Management) Παραγωγή Διανομή Έμπιστη αρχή Πρωτόκολλα (πολλών συμμετεχόντων) Broadcast Consensus 1

Mental poker Secure Functon Evaluaton (SFE), Secure Multparty Computaton (S- MPC) Votng / Electons Interactve Proofs / Zero Knowledge Μαθηματικό υπόβαθρο Θεωρία αριθμών Άλγεβρα (θεωρία ομάδων, πολυώνυμα) Υπολογιστική πολυπλοκότητα Σημαντικά προβλήματα: έλεγχος πρώτων αριθμών (prmalty), παραγοντοποίηση (factorng), διακριτός λογάριθμος (dscrete logarthm) 2 Κλασικά κρυπτοσυστήματα Μονοαλφαβητικά: κάθε γράμμα του αρχικού κειμένου κωδικοποιείται με το ίδιο γράμμα πάντοτε (γενικότερα με τον ίδιο τρόπο). Περιλαμβάνονται τα κρυπτοσυστήματα: ολίσθησης (shft cpher: γενίκευση του κρυπτοσυστήματος Καίσαρα), παραλλαγή shft cpher με χρήση λέξης-κλειδί, αντικατάστασης (substtuton cpher), PLAYFAIR, affne cpher. Πολυαλφαβητικά: κάθε γράμμα του αρχικού κειμένου μπορεί να κωδικοποιείται με διαφορετικό τρόπο σε διαφορετικά σημεία του κειμένου. Περιλαμβάνονται τα κρυπτοσυστήματα Vgenère, AUTOCLAVE, Hll, permutaton, Vernam (one-tme pad), block cphers, stream cphers. Λεπτομέρειες για τα παραπάνω συστήματα: [Zac12, κεφ.1] και [St06, ch.1]. 3 Κρυπτανάλυση του κρυπτοσυστήματος Vgenère Ορισμός του κρυπτοσυστήματος. K = (k 0, k 1,..., k r 1 ): κλειδί, r χαρακτήρων X = (x 0, x 1,..., x n 1 ): αρχικό κείμενο (plantext), n χαρακτήρων C = (c 0, c 1,..., c n 1 ): κρυπτοκείμενο (cphertext), n χαρακτήρων c = E K (x ) = (x + k mod r ) mod 26, 0 n 1: κρυπτογράφηση x = D K (c ) = (c k mod r ) mod 26, 0 n 1: αποκρυπτογράφηση Τα κείμενα και το κλειδί αποτελούνται από κεφαλαία γράμματα της Αγγλικής γλώσσας (χωρίς κενά), τα οποία αντιστοιχίζουμε στους αριθμούς από 0 έως 25. 2

Κρυπτανάλυση. Η κρυπτανάλυση συνίσταται στην εύρεση του μήκους του κλειδιού πρώτα και κατόπιν στην εύρεση του ίδιου του κλειδιού. 1. Εύρεση μήκους κλειδιού. Αυτό μπορεί να γίνει με δύο τρόπους: Kassk test: εύρεση patterns που επαναλαμβάνονται, πιθανή περίοδος: ΜΚΔ των αποστάσεων μεταξύ επαναλαμβανόμενων patterns. Στηρίζεται στο ότι ίδιες λέξεις του αρχικού κειμένου που η απόστασή τους είναι πολλαπλάσιο του m (μήκος κλειδιού), κωδικοποιούνται με τον ίδιο τρόπο. Index of Concdence (δείκτης σύμπτωσης): εκφράζει την πιθανότητα δύο τυχαίοι χαρακτήρες ενός κειμένου να ταυτίζονται. Σε δοσμένο κείμενο με f το πλήθος εμφανίσεων του γράμματος : IC(X) = 25 ( f 2 ) ( n 2) = 25 f (f 1) n(n 1) Σημαντική ιδιότητα: η τιμή του δείκτη σύμπτωσης θα παραμείνει ίδια αν κάνουμε shft τους χαρακτήρες κατά k (γενικότερα κάτω από οποιαδήποτε μετάθεση). Σε άγνωστο κείμενο αγγλικής E[IC(X)] = 25 p2 = 0.065, όπου p η στατιστική συχνότητα του γράμματος στην αγγλική. Σε εντελώς τυχαίο κείμενο με αγγλικούς χαρακτήρες: E[IC(X)] 25 ( ) 1 2 = = 1 26 26 = 0.038. Άρα μπορούμε με μεγάλη πιθανότητα να ξεχωρίσουμε ένα τυχαίο κείμενο με αγγλικούς χαρακτήρες από ένα κανονικό αγγλικό κείμενο. Κάνουμε δοκιμές για να βρούμε το μήκος r του κλειδιού. Δοκιμάζουμε διαδοχικά τις τιμές r = 1, 2,.... Χωρίζουμε το κρυπτοκείμενο σε r στήλες, όπου κάθε στήλη περιλαμβάνει τα γράμματα που βρίσκονται στις θέσεις + jr, 0 j n/r 1, και παίρνουμε το IC της κάθε στήλης. Αν έχουμε πετύχει το σωστό μήκος κλειδιού τότε πιθανότατα κάθε στήλη θα έχει IC αρκετά κοντά στο 0.065 (αλλιώς όλες οι στήλες θα έχουν λίγο-πολύ συμπεριφορά τυχαίου κειμένου και άρα IC κοντά στο 0.038 στην πράξη μπορεί να είναι λίγο μεγαλύτερο αν το κείμενο δεν είναι πολύ μεγάλο, συνήθως όμως είναι < 0.050). 2. Εύρεση κλειδιού. Και αυτό το βήμα μπορεί να γίνει με δύο τρόπους: 3

1ος τρόπος: στατιστική κρυπτανάλυση στις στήλες με βάση τη συχνότητα εμφάνισης των γραμμάτων, διγραμμάτων, κ.λπ. της αγγλικής (ή γενικότερα της γλώσσας του αρχικού κειμένου). 2ος τρόπος: με χρήση ενός δείκτη παρόμοιου με τον IC βρίσκουμε το σχετικό shft μεταξύ της πρώτης στήλης και της m-οστής στήλης (για 2 m r). Για να γίνει αυτό δοκιμάζουμε διαδοχικά shfts της πρώτης στήλης ως εξής: για 0 j 25 κάνουμε shft στους δείκτες των παρατηρημένων εμφανίσεων των γραμμάτων της στήλης κατά j ως εξής: έστω ότι το πλήθος εμφανίσεων του χαρακτήρα στην πρώτη στήλη συμβολίζεται με f (1) ): τότε το πλήθος εμφανίσεων του χαρακτήρα στην πρώτη στήλη όπου κάθε χαρακτήρας έχει ολισθήσει κατά j, δίνεται από τον τύπο: f (1) = f (1) ( j) mod 26 Στη συνέχεια υπολογίζουμε τον Δείκτη Αμοιβαίας Σύμπτωσης (Index of Mutual Concdence IMC): IMC(C 1, C m ) = 25 f (1) f (m) () s 2 όπου s το πλήθος των χαρακτήρων των στηλών του κειμένου (s = n/r ). Ο δείκτης αυτός αντιστοιχεί στην πιθανότητα δύο τυχαίοι χαρακτήρες από δύο κείμενα να ταυτίζονται, και έχει παρόμοιες ιδιότητες με τον δείκτη σύμπτωσης ως προς το ότι παρατηρώντας την τιμή του μπορούμε να συμπεράνουμε με μεγάλη πιθανότητα αν τα κείμενα είναι κανονικά αγγλικά κείμενα (ή προέρχονται από αγγλικό κείμενο, με την ίδια ολίσθηση). Έτσι, θα έχουμε πετύχει το σωστό σχετικό shft αν το IMC των δύο στηλών είναι κοντά στο 0.065. Έχοντας τα σχετικά shft της πρώτης στήλης με τις υπόλοιπες τα πιθανά κλειδιά είναι 26, οπότε με 26 δοκιμές βρίσκουμε το σωστό κλειδί. Η μέθοδος αυτή περιγράφεται (με κάποιες παραλλαγές) στο [St06,ch.1]. Βιβλιογραφία Zac12 : Σημειώσεις Ζάχου, ΕΜΠ, 2012. St06 : D. Stnson: Cryptography: Theory and Practce, 3rd edton, CRC Press, 2005. 4