Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου 2013-2014
Project Ορισμοί Ιστορία Η αποκρυπτογράφηση στις μέρες μας Κρυπτογράφηση Αποκρυπτογράφηση Αποκρυπτογραφημένο-Κρυπτογραφημένο κείμενο
Γενικός Ορισμός Κρυπτογραφία Η διαδικασία μετασχηματισμού ενός μηνύματος σε μία ακατανόητη μορφή με τη χρήση κάποιου κρυπτογραφικού αλγορίθμου Αποκρυπτογράφηση Η αντίστροφη διαδικασία όπου από το κρυπτογραφημένο κείμενο παράγεται το πρωτότυπο
ΙΣΤΟΡΙΑ ΤΗΣ ΚΡΥΠΤΟΓΡΑΦΙΑΣ Ιστορική αναδρομή Πρώτη Περίοδος Κρυπτογραφίας (1900 π.χ. 1900 μ.χ.) Δεύτερη Περίοδος Κρυπτογράφησης ( 1900 μ.χ- 1950 μ.χ )
ΙΕΡΟΓΛΥΦΙΚΑ (3000-1600 π.χ)
Η Στήλη της Ροζέτας
Γραμμική Α' Ο δίσκος της Φαιστού Σύμβολα Γραμμικής Α'
Γραμμική Β'
Σπαρτιατική Σκυτάλη
Ο κώδικας του Πολύβιου
Κώδικας Καίσαρα
Κώδικας Vigenere
Δίσκος Jefferson
Ο Κώδικας MORSE
Δέυτερη Περίοδος Στρατού των ΗΠΑ M-209 Cipher Κώδικας Ναβάχο Enigma
Η Αποκρυπτογράφηση στις μέρες μας (Eφαρμογές) 1)Ασφάλεια συναλλαγών σε τράπεζες δίκτυα - ΑΤΜ 2)Κινητή τηλεφωνία 3)Στρατιωτικά δίκτυα (Τακτικά συστήματα επικοινωνιών μάχης) 4)Ηλεκτρονικές επιχειρήσεις (πιστωτικές κάρτες, πληρωμές) 5)Ηλεκτρονικό ταχυδρομείο (e-mail)
6)Συστήματα συναγερμών 7)Word Wide Web (www) 8)Δορυφορικές εφαρμογές (δορυφορική τηλεόραση) 9)Ασύρματα δίκτυα (Hipperlan, bluetooth, 802.11x) 10)Συστήματα ιατρικών δεδομένων και άλλων βάσεων δεδομένων
Κρυπτογράφηση Αρχικό κείμενο Τελικό κείμενο Ένας αριθμός αρκετών bit ως είσοδος στη συνάρτηση κρυπτογράφησης Το αποτέλεσμα της εφαρμογής ενός κρυπτογραφικού αλγόριθμου στο αρχικό κείμενο Η αποκρυπτογράφηση
Είδη Κλασσικά (Συμμετρικά) Κρυπτοσυστήματα Μοντέρνα (Ασύμμετρα) Κρυπτοσυστήματα
ΣΥΜΜΕΤΡΙΚΗ ΚΡΥΠΤΟΓΡΑΦΗΣΗ Είναι το σύστημα εκείνο το οποίο χρησιμοποιεί κατά τη διαδικασία της κρυπτογράφησης ένα κοινό κλειδί. Η ασφάλεια αυτών των αλγορίθμων βασίζεται στη μυστικότητα του κλειδιού. ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΗΣΗ Δημιουργήθηκε για να καλύψει την αδυναμία μεταφοράς κλειδιών που παρουσίαζαν τα συμμετρικά συστήματα. Χαρακτηριστικό του είναι ότι έχει δυο είδη κλειδιών ένα ιδιωτικό και ένα δημόσιο. Το δημόσιο είναι διαθέσιμο σε όλους ενώ το ιδιωτικό είναι μυστικό. Ο,τι κρυπτογραφεί το ένα, μπορεί να το αποκρυπτογραφήσει μόνο το άλλο
Κλασικά - Συμμετρικά 1)Δέσμης (Block Ciphers) 2)Ροής (Stream Ciphers) 3)Συμμετρικοί Κρυπταλγόριθμοι Κατακερματισμού 4)Κώδικας του Καίσαρα
Μοντέρνα Ασύμμετρα 1)Το πρωτόκολλο των Diffie-Hellman 2)DSA 3)Κρυπτογραφικό σύστημα Paillier 4)Πρότυπο ψηφιακών υπογραφών ElGamal 5) Η κρυπτογραφία ελλειπτικών καμπυλών 6)SSL 7)RSA
Σχετικοί ορισμοί Κρυπτολογία: μελέτη της ασφαλούς επικοινωνίας με χρήση των εφαρμοσμένων μαθηματικών, της θεωρητικής πληροφορικής ή της επιστήμης ηλεκτρονικού μηχανικού. Στεγανογραφία: η διαδικασία κατά την οποία αποκρύπτεται κάποια πληροφορία που πρέπει να αποσταλεί σε κάποιον παραλήπτη μέσα σε ένα μέσο, έτσι ώστε να μην γίνει αντιληπτή από ανεπιθύμητα άτομα, εκτός του παραλήπτη για τον οποίον προορίζεται. Κρυπτογραφικός αλγόριθμος (cipher): η μέθοδος μετασχηματισμού δεδομένων σε μία μορφή που να μην επιτρέπει την αποκάλυψη των περιεχομένων τους από μη εξουσιοδοτημένα μέρη. Κατά κανόνα ο κρυπτογραφικός αλγόριθμος είναι μία πολύπλοκη μαθηματική συνάρτηση. Αρχικό κείμενο (plaintext) το μήνυμα το οποίο αποτελεί την είσοδο σε μία διεργασία κρυπτογράφησης.
Σχετικοί ορισμοί Κλειδί (key): ένας αριθμός αρκετών bit που χρησιμοποιείται ως είσοδος στη συνάρτηση κρυπτογράφησης. Κρυπτογραφημένο κείμενο (ciphertext) είναι το αποτέλεσμα της εφαρμογής ενός κρυπτογραφικού αλγόριθμου πάνω στο αρχικό κείμενο. Κρυπτανάλυση (cryptanalysis) είναι μία επιστήμη που ασχολείται με το "σπάσιμο" κάποιας κρυπτογραφικής τεχνικής ούτως ώστε χωρίς να είναι γνωστό το κλειδί της κρυπτογράφησης, το αρχικό κείμενο να μπορεί να αποκωδικοποιηθεί.
Περιγραφή Κρυπτογράφησης- Αποκρυπτογράφησης όσο μεγαλύτερο είναι το κλειδί κρυπτογράφησης, τόσο δυσκολότερα μπορεί να αποκρυπτογραφηθεί το κρυπτογραφημένο μήνυμα από επίδοξους εισβολείς. Διαφορετικοί αλγόριθμοι κρυπτογράφησης απαιτούν διαφορετικά μήκη κλειδιών για να πετύχουν το ίδιο επίπεδο ανθεκτικότητας κρυπτογράφησης.
Γραμμικό σύστημα είναι ένα σύνολο από γραμμικές εξισώσεις ή ανισώσεις με τους ίδιους αγνώστους, τους οποίους προσπαθούμε να προσδιορίσουμε ώστε να επαληθεύουν όλες τις εξισώσεις ή ανισώσεις του συνόλου. Η πιο απλή μη τετριμμένη περίπτωση γραμμικού συστήματος είναι όταν έχουμε δύο άγνωστες μεταβλητές: αx+βy=γ α x+β y= γ Ένα σύστημα γραμμικών εξισώσεων μπορεί να είναι αδύνατο (καμιά λύση), να έχει μοναδική λύση να είναι αόριστο (άπειρες λύσεις).
Γραμμικό σύστημα (συνέχεια) Οι δύο εξισώσεις του συστήματος παριστάνουν ευθείες. Ζωγραφίζουμε τις ευθείες αυτές στο ίδιο σύστημα συντεταγμένων. τρεις δυνατές περιπτώσεις: 1) Αν οι ευθείες τέμνονται σε ένα σημείο, τότε το σύστημα έχει μοναδική λύση, τη δυάδα που δίνεται από τις συντεταγμένες του σημείου τομής. Οι ευθείες τέμνονται όταν: 2) Αν οι ευθείες είναι παράλληλες, τότε το σύστημα είναι αδύνατο. Οι ευθείες είναι παράλληλες όταν έχουν την ίδια κλίση, δηλαδή όταν: 3) Αν οι ευθείες ταυτίζονται, τότε το σύστημα είναι αόριστο, δηλαδή έχει άπειρες λύσεις. Οι ευθείες ταυτίζονται όταν μπορούμε να κάνουμε πράξεις και να καταλήξουμε σε ισοδύναμο σύστημα που θα έχει
Μέθοδος αντίθετων συντελεστών Με τη μέθοδο αυτή επιδιώκουμε να εμφανίσουμε στις δύο εξισώσεις αντίθετους συντελεστές για έναν από τους αγνώστους, έτσι ώστε να τον απαλείψουμε κατόπιν με πρόσθεση κατά μέλη. το αρχικό σύστημα δίνει, μετά από τον πολλαπλασιασμό της πρώτης εξίσωσης με (α') και της δεύτερης με (-α), το ισοδύναμο σύστημα Η πρόσθεση κατά μέλη δίνει Με την ίδια διαδικασία όπως και στην προηγούμενη μέθοδο προσδιορίζουμε και τον άλλο άγνωστο:
ΚΡΥΠΤΟΓΡΑΦΗΜΕΝΟ ΑΠΟΚΡΥΠΤΟΓΡΑΦΗΜΕΝΟ ΚΕΙΜΕΝΟ
Κρυπτογράφηση κλειδί πίνακας ( Caesar cipher ) Στην κρυπτογράφηση του Caesar (Καίσαρα) κάθε γράμμα της αλφάβητου αντιστοιχεί σε ένα άλλο γράμμα το οποίο βρίσκεται τρία γράμματα μπροστά από αυτό για παράδειγμα το γράμμα α αντιστοιχεί στο γράμμα δ αφού το δ βρίσκεται 3 γράμματα μετά από το α. α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω ς δ ε ζ η θ ι κ λ μ ν ξ ω π ρ σ τ υ φ χ ψ ω α β γ ς Κενό:32 Τελεία:46
Παραδείγματα 1) Το κείμενο που θέλουμε να κρυπτογραφήσουμε είναι: Η αποκρυπτογράφηση είναι ο ένας από τους δύο κλάδους της κρυπτολογίας To κείμενο γίνετε: κ32δτσνυψτσζυδωκφκ32θμπδμ32σ32θπδς32δτσ32χσψς3 2ηψσ32νξησψς32χκς32νυψτχσξσζμδς46
2) Με την μέθοδο του αλγορίθμου cipher γίνετε: Η σημασία της κρυπτολογίας είναι τεράστια στους τομείς της ασφάλειας υπολογιστικών συστημάτων. To κείμενο γίνετε: κ32φκωδφμδ32χκς32νυψτχσξσζμδς32θμπδμ32χθυδφχμδ3 2φχσψς32χσωθμς32χκς32δφωδξθμδς32ψτσξσζμφχμνγπ 32φψφχκωδχγπ46
3) Το κείμενο που θα κρυπτογραφήσουμε είναι: Παρεμφερείς κλάδοι της κρυπτογραφίας είναι η στεγανογραφία και η στεγανοανάλυση. Η κρυπτογράφηση του είναι : τδυθωθυθμς32νξδησμ32χκς32νυψτχσζυδωμδς32θμπδμ32κ3 2φχθπσζυδωμδ32νδμ32κ32φχθπσζυδωμδς46
4) Το κείμενο που θα κρυπτογραφηθεί είναι: Η κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος γίνεται με τη βοήθεια ενός αλγόριθμου κρυπτογράφησης. H Λύση του ειναι : κ32νυψτχσζυδωκφκ32νδμ32δτσνυψτσζυδωκφκ32θπσς32ω κπψωδχσς32ζμπθχδμ32ωθ32χκ32εσκλθμδ32θπσς32δξζ συμλωσψ32νυτχσζυδωκφκς46
Παραδείγματα Κώδικα Καίσαρα Α = 0, Β = 1,... Ω = 23 mod= ακέραιο υπόλοιπο διαίρεσης x: η θέση του γράμματος n: Οι θέσεις που μετακινούνται τα γράμματα 1 ο παράδειγμα: Έστω η λέξη: <<ΚΑΛΗΜΕΡΑ>>, n=3 Α) Κρυπτογράφηση Απλό κείμενο: <<ΚΑΛΗΜΕΡΑ>> Παίρνουμε τον τύπο Για Κ: x=9, Εn(K)= (3+9)mod24=12mod24= 12= Ν Για Α: x=0, Εn(Α)= (3+0)mod24= 3mod24= 3= Δ Για Λ: x=10, En(Λ)= (3+10)mod24= 13mod24= 13= Ξ Για Η: x=6, Εn(Η)= (3+6)mod24=9mod24= 9= K Για Μ: x=11, En(Μ)= (3+11)mod24=14mod24= 14= O Για Ε: x=4, En(E)= (3+4)mod24)= 7mod24= 7= Θ Για Ρ: x=16, Εn(Ρ)= (3+16)mod24= 19mod24= 19= Y Για Α: x=0, En(Α)= (3+0)mod24= 3mod24= 3= Δ Κρυπτογραφημένο κείμενο: <<ΝΔΞΚΟΘΥΔ>>
Παραδείγματα Κώδικα Καίσαρα (συνέχεια) Β) Αποκρυπτογράφηση Κρυπτογραφημένο κείμενο: <<ΝΔΞΚΟΘΥΔ>>, n=3 Παίρνουμε τον τύπο: Για Ν: x=12, Dn(Ν)=(12-3)mod24=9= K Για Δ: x=3, Dn(Δ)=(3-3)mod24=0= A Για Ξ: x=13, Dn(Ξ)=(13-3)mod24=10 mod24=10= Λ Για Κ: x=9, Dn(Κ)=(9-3)mod24=6 mod246= Η Για Ο: x=14, Dn(Ο)=(14-3)mod24=10 mod24= 11= M Για Θ: x=7, Dn(Θ)=(7-3)mod24=4 mod24= 4= Ε Για Υ: x=19, Dn(Y)= (19-3)mod24= 16 mod24= 16= Ρ Για Δ: x=3, Dn(Δ)= (3-3)mod24= 0 mod24= 0= A Αποκρυπτογραφημένο κείμενο: <<ΚΑΛΗΜΕΡΑ>>
Παραδείγματα Κώδικα Καίσαρα (συνέχεια) 2 Ο παράδειγμα: Α) Κρυπτογράφηση <<ΣΧΟΛΕΙΟ>>, n=-2 Για Σ: x=16, Εn(Σ)=(16-2)mod24=14=Π Για Χ: x=21, En(X)=(21-2)mod24=19=Υ Για Ο: x=14, En(O)=(14-2)mod24=12=Ν Για Λ: x=10, En(Λ)=(10-2)mod24=8=Ι Για Ε: x=4, En(E)=(4-2)mod24=2=Γ Για Ι: x=8, En(I)=(8-2)mod24=6=Η Για Ο: x=14, En(O)=(14-2)mod24=12=Ν
Παραδείγματα Κώδικα Καίσαρα (συνέχεια) Β) Αποκρυπτογράφηση Κρυπτογραφημένο κείμενο: <<ΠΥΝΙΓΗΝ>>, n=-2 Παίρνουμε τον τύπο: Για Π: x=14, Dn(Ν)=(14-(-2)mod24=16 mod9= 16=Σ Για Υ: x=19, Dn(Δ)=(19-(-2))mod24=21 mod24=21= Χ Για Ν: x=12, Dn(Ξ)=(12-(2))mod24=14mod24=14= Ο Για Ι: x=8, Dn(Κ)=(8-(2))mod24=10 mod24=10= Λ Για Γ: x=2, Dn(Ο)=(2-(2))mod24=4 mod24= 4= Ε Για Η: x=6, Dn(Θ)=(6-(2))mod24=8 mod24= 8= Ι Για Ν: x=12, Dn(Y)= (12-(2))mod24= 14 mod24= 14= Ο Αποκρυπτογραφημένο κείμενο: <<ΣΧΟΛΕΙΟ>>
Κώδικας Vigenere
Κρυπτοσύστημα Vigenere Κρυπτογράφηση: Αντιστοιχούμε στα γράμματα του αρχικού μηνύματος τα γράμματα του κλειδιού, βρίσκουμε τη θέση κάθε γράμματος του κλειδιού και μετακινούμε κάθε γράμμα του αρχικού μηνύματος τόσες θέσεις όσες είναι το γράμμα του κλειδιού δεξιά. Αποκρυπτογράφηση: Αντιστοιχούμε στα γράμματα του κρυπτογράματος τα γράμματα του κλειδιού, βρίσκουμε τη θέση κάθε γράμματος του κλειδιού και μετακινούμε κάθε γράμμα του κρυπτογράμματος τόσες θέσεις όσες είναι το γράμμα του κλειδιού αριστερά.
1 ο Παράδειγμα Vigenere Αρχικό μήνυμα: ΛΥΚΕΙΟ Κλειδί: ΠΑΙΔΙΑ Κρυπτογράφηση Κλειδί μετά την επανάληψη: ΠΑΙΔΙΑ Πλήθος θέσεων ολίσθησης: Π(15), Α(0), Ι(8) Δ(3), Ι(8), Α(0) Κρυπτόγραμμα: ΒΥΣΘΡΟ
1 ο παράδειγμα Vigenere (συνέχεια) Αποκρυπτογράφηση: Κρυπτόγραμμα: ΒΥΣΘΡΟ Κλειδί μετά την επανάληψη: ΠΑΙΔΙΑ Πλήθος θέσεων ολίσθησης: Π(15), Α(0), Ι(8) Δ(3), Ι(8), Α(0) Αρχικό μήνυμα: ΛΥΚΕΙΟ
2 ο παράδειγμα Vigenere Αρχικό κείμενο: ΤΟ ΔΕΝΤΡΟ Κλειδί: ΒΑΘΜΟΙ Κρυπτογράφηση Κλειδί μετά την επανάληψη: ΒΑ ΘΜΟΙΒΑ Πλήθος θέσεων ολίσθησης: Β(1),Α(0), Θ(7), Μ(11), Ο(14), Ι(8), Β(1), Α(0) Κρυπτόγραμμα: ΥΟΛΠΓΓΣΟ
2 ο παράδειγμα Vigenere (συνέχεια) Αποκρυπτογράφηση: Κρυπτόγραμμα: ΥΟ ΛΠΓΓΣΟ Κλειδί: ΒΑΘΜΟΙ Κλειδι μετά την επανάληψη: ΒΑ ΘΜΟΙΒΑ Πλήθος θέσεων ολίσθησης: Β(1),Α(0), Θ(7), Μ(11), Ο(14), Ι(8), Β(1), Α(0) Αρχικό μήνυμα: ΤΟ ΔΕΝΤΡΟ
Κρυπτογράφηση (Hill Cipher)
Αλγοριθμος Hill Εφευρέθηκε από τον Lester S. Hill το 1929. Ονομάζεται και Πολυγραφικός Κώδικας Αντικατάστασης Ο Hill χρησιμοποιεί μαθηματικούς πίνακες, ορίζουσες πινάκων, ανάστροφους πίνακες και πολλαπλασιασμό πινάκων. Για να αντιμετωπίσει κατηγορίες ότι το σύστημά του ήταν πάρα πολύ περίπλοκο για καθημερινή χρήση,ο Hill κατασκεύασε μια μηχανή κρυπτογράφησης για το σύστημά του χρησιμοποιώντας μια σειρά από γρανάζια και αλυσίδες.
Θεωρία Hill: Για να μπορέσουμε να σας εξηγήσουμε τον αλγόριθμο του Hill πρέπει να αναφέρουμε στοιχεία από γραμμική άλγεβρα.
Ορίζουσα
Αντίστροφος πίνακα nxn
Πολλαπλασιασμός Πινάκων: Κατά το πολλαπλασιασμό δύο πινάκων Α,Β θα πρέπει ο αριθμος στηλών του πίνακα Α να ισούται με τον αριθμό γραμμών του πίνακα Β. Αν για παράδειγμα έχουμε το πίνακα Α(Μ x N) και το πίνακα Β(Ι x K), τότε θα πρέπει απαραίτητα Ν=K. Ο τελικός πίνακας που προκύπτει, έχει διαστάσεις Γ(Μ x K). π.χ. Ο πολλαπλασιασμός των πινάκων A(2x3), B(3x5) είναι εφικτός (αριθμός στηλών Α=3 και αριθμός γραμμών Β=3) ενώ ο πολλαπλασιασμός των πινάκων A(2x3), B(4x5) δεν είναι εφικτός αφού(αριθμός στηλών Α=3 και αριθμός γραμμών Β=4 / 3<>4). Τελικός πίνακας με διάσταση Γ(2x5).
2 0 2( 3) 0 2 2 0 0 1 6 0 3 0 BA 0 1 0( 3) ( 1)2 0 0 ( 1)1 2 1 2 1 1 5 1( 3) 5 2 1 0 5 1 7 5
Παράδειγμα Hill
Παράδειγμα Hill Κάθε γράμμα της Ελληνικού Αλφαβήτου, το αντιστοιχούμε σε έναν αριθμό (π.χ. το Α αντιστοιχεί στον αριθμό 0, Το B Στον Αριθμό 1..το Ω στον αριθμό 23). Χωρίζουμε τη φράση Ο ΕΥΟΣΜΟΣ, σε δυάδες, όπως ΟΕ ΥΟ ΣΜ ΟΣ Γιατί δε χρησιμοποιούμε τριάδες; Διότι θα χρειαστεί να πολλαπλασιάσουμε τις δυάδες που φτιάξαμε, με το κλειδί μας- πίνακας 2x2. Έτσι το πρώτο ζευγάρι είναι το ΟΕ, το δεύτερο ΥΟ, το τρίτο ΣΜ και το τέταρτο ΟΣ. Το Ο είναι το 14 γράμμα της αλφαβήτου (μην ξεχνάμε ότι ξεκινάμε από το Α=0) και το Ε είναι το 4 γράμμα.
Παράδειγμα Hill (συνέχεια)
Παράδειγμα Hill (συνέχεια) Η φράση Ο ΕΥΟΣΜΟΣ έχει κρυπτογραφηθεί στη φράση ΓΙΞΕΓΚΣΚ.
7-1 mod 24 24= 3 * 7 +3 7= 2 * 3 +1 Παράδειγμα Hill (συνέχεια) Αποκρυπτογράφηση Σύμφωνα με τον αλγόριθμο του Ευκλείδη, πάμε ανάποδα: 3=24 3 * 7 1=7 2 * 3 Αντικαθιστούμε στον τελευταίο τύπο το 3 με το (3=24-3*7) 1=7 2 (24-3 7) = 7 2 24 + 6 7 = 7 7-2 24=7 Άρα καταλήγουμε πως ο αντίστροφος του 7 mod 24 είναι ο 7.
Η ομάδα έχει αναλάβει για το δεύτερο τετράμηνο, τη μετατροπή του Αλγόριθμου Hill σε σεναριογλώσσα JAVASCRIPT για όλους τους φυλλομετρητές(chrome,explorer,firefox κλπ).
Σας ευχαριστούμε!