Κωδικός του Καίσαρα

Ο Κώδικας του Καίσαρα είναι μία από τις απλούστερες και πιο γνωστές τεχνικές κωδικοποίησης στην κρυπτογραφία. Είναι κώδικας αντικατάστασης στον οποίο κάθε γράμμα του κειμένου αντικαθίσταται από κάποιο άλλο γράμμα με σταθερή απόσταση κάθε φορά στο αλφάβητο. Για παράδειγμα, με μετατόπιση 3, το Α θα αντικαθιστούνταν από το Δ, το Β από το Ε, και ούτω καθεξής. Η μέθοδος πήρε το όνομά της από τον Ιούλιο Καίσαρα, ο οποίος την χρησιμοποιούσε στην προσωπική του αλληλογραφία.
Το βήμα κωδικοποίησης που εκτελείται από τον κώδικα του Καίσαρα συχνά ενσωματώνεται ως τμήμα ενός πιο πολύπλοκου πλαισίου όπως ο κώδικας Vigenère (Βιζενέρ), και έχει ακόμη σύγχρονη εφαρμογή στο σύστημα ROT13. Όπως με όλους τους μονοαλφαβητικούς κώδικες αντικατάστασης, ο κώδικας του Καίσαρα σπάει εύκολα και στη σύγχρονη εφαρμογή του δεν παρέχει ουσιαστικά κάποια ασφάλεια επικοινωνίας.

 

Ο κώδικας του Καίσαρα πήρε το όνομά του από τον Ιούλιο Καίσαρα, ο οποίος, σύμφωνα με τον Σουητώνιο, τον χρησιμοποιούσε με μετατόπιση τριών θέσεων ώστε να προστατεύσει μηνύματα στρατιωτικής σημασίας. Ενώ η πρώτη καταγεγραμμένη χρήση είναι για τον Καίσαρα, είναι γνωστό ότι χρησιμοποιήθηκαν και άλλοι κώδικες αντικατάστασης νωρίτερα.
Αν είχε κάτι εμπιστευτικό να πει, το έγραφε κωδικοποιημένο, δηλαδή αλλάζοντας την σειρά των γραμμάτων του αλφαβήτου, ώστε ούτε μία λέξη να μην μπορεί να διαβαστεί. Αν οποιοσδήποτε επιθυμεί να τα αποκωδικοποιήσει και να κατανοήσει το νόημα, πρέπει πρώτα να αντικαταστήσει το τέταρτο γράμμα του αλφαβήτου, δηλαδή το D, με το A και να κάνει το ίδιο με τα υπόλοιπα.
 ΣουητώνιοςΗ ζωή του Ιούλιου Καίσαρα 56
Ο ανηψιός του, Αύγουστος, επίσης χρησιμοποιούσε τον κώδικα, με δεξιά μετατόπιση όμως ενός, και δεν γύριζε στην αρχή του αλφαβήτου:
Όποτε έγραφε κρυπτογραφημένα, έγραφε B για A, C για B, και τα υπόλοιπα γράμματα βάση της ίδιας αρχής, χρησιμοποιώντας όμως AA στη θέση του X.
 ΣουητώνιοςΗ ζωή του Αυγούστου 88
Υπάρχουν στοιχεία ότι ο Ιούλιος Καίσαρας χρησιμοποιούσε και πιο πολύπλοκα συστήματα,[3] και ένας συγγραφέας, ο Αύλος Γέλλιος, αναφέρεται σε μία (σήμερα χαμένη) διατριβή για την κρυπτογραφία:
Υπάρχει ακόμα μία μάλλον εφευρετικώς γραμμένη διατριβή από τον γραμματικό Πρόβο σχετικά με το μυστικό νόημα των γραμμάτων στη σύνθεση των επιστολών του Καίσαρα.
 Αύλος ΓέλλιοςΑττικαί νύκτες 17.9.1–5
Είναι άγνωστο το πόσο αποτελεσματικός ήταν ο κώδικας του Καίσαρα τον καιρό του, είναι όμως πιθανό ότι ήταν αρκετά ασφαλής, κυρίως επειδή οι περισσότεροι εχθροί του Καίσαρα ήταν αναλφάβητοι και οι υπόλοιποι θα υπέθεταν ότι τα μηνύματα ήταν γραμμένα σε μία άγνωστη ξένη γλώσσα.[4] Δεν υπάρχουν καταγραφές για τεχνικές λύσης κωδίκων απλής αντικατάστασης. Οι παλαιότερες σωζώμενες καταγραφές χρονολογούνται στον 9ο αιώνα στα έργα του άραβα Αλ Κιντί ο οποίος ανακάλυψε την μέθοδο ανάλυσης συχνοτήτων.[5]
Τον 19ο αιώνα, το τμήμα των προσωπικών διαφημίσεων των εφημερίδων χρησιμοποιούνταν για την ανταλλαγή κρυπτογραφημένων μηνυμάτων με απλούς κώδικες. Ο Ντέιβιντ Καν (1967) περιγράφει παραδείγματα εραστών που χρησιμοποιούσαν κρυπτογραφημένα με τον κώδικα του Καίσαρα μηνύματα για να επικοινωνήσουν μέσω των The Times.[6]Ακόμα και τόσο πρόσφατα όσο το 1915, ο κώδικας του Καίσαρα χρησιμοποιήθηκε από τον Ρωσικό στρατό σε αντικατάσταση πιο πολύπλοκων κωδίκων, οι οποίοι ήταν πολύ δύσκολοι για να εξοικειωθούν μαζί τους τα στρατεύματα. Επακόλουθο ήταν οι Γερμανοί και οι Αυστριακοί κρυπταναλυτές να μην έχουν ιδιαίτερες δυσκολίες να αποκρυπτογραφήσουν τα μηνύματά τους.[7]
Ο κώδικας του Καίσαρα μπορεί να βρεθεί σήμερα σε παιδικά παιχνίδια. Ένας κώδικας του Καίσαρα με μετατόπιση 13 χρησιμοποιείται από τον αλγόριθμο ROT13, μία απλή μέθοδο συσκότισης κειμένου που χρησιμοποιείται ευρέως στο Usenet για να συσκοτίζει το κείμενο (σε περιπτώσεις αστείων ή spoiler ιστοριών), αλλά δεν χρησιμοποιείται ως σοβαρή μέθοδος κρυπτογράφησης.[8]
Ο κώδικας Vigenère χρησιμοποιεί τον κώδικα του Καίσαρα με διαφορετική μετατόπιση σε κάθε θέση του κειμένου. Η τιμή της μετατόπισης καθορίζεται από την χρήση μιας επαναλαμβανόμενης λέξης κλειδί. Αν η λέξη κλειδί είναι τόσο μεγάλη όσο το μήνυμα, επιλεγμένη τυχαία, και δεν χρησιμοποιηθεί ποτέ ξανά, τότε ο κώδικας είναι σημειωματάριο μίας χρήσης, και έχει αποδειχτεί ότι δεν σπάει. Οι ιδανικές συνθήκες όμως είναι τόσο δύσκολο να ικανοποιηθούν που στην πράξη δεν γίνεται ποτέ. Λέξεις κλειδιά μικρότερες από το μήνυμα εισάγουν κυκλικό μοτίβο το οποίο μπορεί να εντοπιστεί με στατιστικώς προηγμένη εκδοχή της ανάλυσης συχνοτήτων.[9]
Τον Απρίλιο του 2006, ο φυγάς αρχηγός της μαφίας Μπερνάρντο Προβεζάνο συνελήφθη στη Σικελία, εν μέρει επειδή κάποια από τα μηνύματά του, γραμμένα σε παραλλαγή του κώδικα του Καίσαρα, αποκρυπτογραφήθηκαν.
Ο κώδικας του Προβεζάνο έκανε χρήση αριθμών, έτσι ώστε το A γραφόταν ως 4, το
B ως 5 και ούτω καθεξής. Το 2011, ο Ρατζίμπ Καρίμ καταδικάστηκε στο Ηνωμένο Βασίλειο για «αδικήματα τρομοκρατίας» αφού χρησιμοποίησε τον κώδικα του Καίσαρα για να επικοινωνήσει με ισλαμιστές ακτιβιστές από το Μπαγκλαντές, συζητώντας σχέδια για την ανατίναξη αεροπλάνων της British Airways ή την παρενόχληση των τηλεπικοινωνιακών της δικτύων. Παρόλο που και τα δύο μέρη είχαν πρόσβαση σε κατά πολύ καλύτερες τεχνικές κρυπτογράφησης (ο ίδιος ο Καρίμ χρησιμοποιούσε το PGP για αποθήκευση δεδομένων σε σκληρούς δίσκους), επέλεξαν να χρησιμοποιήσουν την δική τους μέθοδο (υλοποιημένη σε Microsoft Excel) «επειδή οι 'άπιστοι' το γνώριζαν [εν. το PGP] και έτσι ήταν λιγότερο ασφαλές».

 



“Ασύμμετροι αλγόριθμοι ή αλγόριθμοι δημόσιου κλειδιού (asymmetric or public key)”

·        Ασύμμετροι αλγόριθμοι
Οι ασύμμετροι αλγόριθμοι ή αλγόριθμοι δημόσιου κλειδιού είναι σχεδιασμένοι έτσι ώστε το κλειδί που χρησιμοποιείται για την κρυπτογράφηση να είναι διαφορετικό από το κλειδί που χρησιμοποιείται για την αποκρυπτογράφηση. Πέρα από αυτό, το κλειδί αποκρυπτογράφησης δεν μπορεί να υπολογιστεί από το κλειδί κρυπτογράφησης. Οι αλγόριθμοι αυτοί καλούνται και "δημόσιου κλειδιού" γιατί το κλειδί κρυπτογράφησης μπορεί να δημοσιοποιηθεί. Ο καθένας μπορεί να κρυπτογραφήσει ένα μήνυμα με το δημόσιο κλειδί αλλά μόνο αυτός που διαθέτει το αντίστοιχο ιδιωτικό κλειδί μπορεί να το αποκρυπτογραφήσει.
Παραδείγματα ασύμμετρων αλγορίθμων είναι οι RSA, ElGamal και DSA.
Οι συμμετρικοί αλγόριθμοι είναι πολύ πιο γρήγοροι, εφαρμοσμένοι είτε σε υλικό είτε σε λογισμικό. από τους ασύμμετρους αλγόριθμους. Ως εκ τούτου οι συμμετρικοί αλγόριθμοι χρησιμοποιούνται για την κρυπτογράφηση του κυρίου μέρους των δεδομένων, ενώ οι αλγόριθμοι δημόσιου κλειδιού βρίσκουν κατάλληλη εφαρμογή σε πρωτόκολλα ανταλλαγής κλειδιών και ψηφιακών υπογραφών.
800px-Κρυπτογράφηση_Συμμετρικού_Κλειδιού.png

·        Κρυπτογράφηση Δημόσιου Κλειδιού

Η κρυπτογράφηση δημοσίου κλειδιού (Public Key Cryptography) ή ασύμμετρου κλειδιού (Asymmetric Cryptography) επινοήθηκε στο τέλος της δεκαετίας του 1970 από τους Whitfield Diffie και Martin Hellman και παρέχει ένα εντελώς διαφορετικό μοντέλο διαχείρισης των κλειδιών κρυπτογράφησης από την προγενέστερη κρυπτογράφηση συμμετρικού κλειδιού. Η βασική ιδέα είναι ότι ο αποστολέας και ο παραλήπτης δεν μοιράζονται ένα κοινό μυστικό κλειδί όπως στην περίπτωση της κρυπτογράφησης συμμετρικού κλειδιού, αλλά διαθέτουν διαφορετικά κλειδιά για διαφορετικές λειτουργίες.
Κρυπτογράφηση_Δημόσιου_Κλειδιού_-_Εμπιστευτικότητα.png

·        Διαχείριση κλειδιού

Η διαχείριση του κλειδιού είναι η διαδικασία παραγωγής, διανομής, επαλήθευσης, χρησιμοποίησης, ενημέρωσης, αποθήκευσης και καταστροφής κλειδιών σε ένα σύστημα κρυπτογράφησης. Η ασφαλής μέθοδος διαχείρισης των κλειδιών είναι πάρα πολύ σημαντική. Στην πράξη οι περισσότερες επιθέσεις σε συστήματα ασφαλείας έχουν ως στόχο τις διαδικασίες διαχείρισης των κλειδιών και όχι τους ίδιους τους αλγόριθμους.
Οι αλγόριθμοι δημόσιου κλειδιού καθιστούν την διαχείριση πολύ πιο εύκολη. Το ιδιωτικό κλειδί δεν χρειάζεται να μεταδοθεί ποτέ. Βέβαια παρουσιάζεται ένα πρόβλημα ο κάθε χρήστης πρέπει να διαθέτει ένα δικό τους ζεύγος κλειδιών. Στα συστήματα που χρησιμοποιούν ασύμμετρη κρυπτογραφία χρειάζονται μέθοδοι διανομής και επαλήθευσης κλειδιών. Τα πρωτόκολλα CCITT X.509 παρέχουν κανόνες για τις δικασίες αυτές. Η δημιουργία του δημόσιου και του ιδιωτικού κλειδιού γίνεται από ειδικές συναρτήσεις οι οποίες δέχονται ως είσοδο έναν μεγάλο τυχαίο αριθμό και στην έξοδο παράγουν το ζεύγος των κλειδιών. Είναι προφανές ότι όσο πιο τυχαίος είναι ο αριθμός που παρέχεται ως είσοδος στη γεννήτρια κλειδιών τόσο πιο ασφαλή είναι τα κλειδιά που παράγονται. Σε σύγχρονα προγράμματα κρυπτογράφησης ο τυχαίος αριθμός παράγεται ως εξής: Κατά τη διαδικασία κατασκευής των κλειδιών, το πρόγραμμα σταματάει για 5 λεπτά και καλεί τον χρήστη να συνεχίσει να εργάζεται με τον υπολογιστή. Στη συνέχεια για να παράξει τον τυχαίο αριθμό συλλέγει στα 5 αυτά λεπτά τυχαία δεδομένα που εξαρτώνται από τη συμπεριφορά του χρήστη (κινήσεις ποντικιού, πλήκτρα του πληκτρολογίου που πατήθηκαν, κύκλοι μηχανής που καταναλώθηκαν κοκ). Με βάση αυτά τα πραγματικά τυχαία δεδομένα υπολογίζεται ο τυχαίος αριθμός και εισάγεται στη γεννήτρια κλειδιών για να κατασκευαστεί το δημόσιο και το ιδιωτικό κλειδί του χρήστη.

Μειονεκτήματα και Πλεονεκτήματα την Συμμετρικής και Ασύμμετρης Κρυπτογραφίας

Το μεγαλύτερο πρόβλημα της συμμετρικής κρυπτογραφίας, όπως αναφέραμε περιληπτικά προηγουμένως, είναι η συνεννόηση και ανταλλαγή του κλειδιού, χωρίς κάποιος τρίτος να μάθει για αυτό. Η μετάδοση μέσα από το Διαδίκτυο δεν είναι ασφαλής γιατί οποιοσδήποτε γνωρίζει για την συναλλαγή και έχει τα κατάλληλα μέσα μπορεί να καταγράψει όλη την επικοινωνία μεταξύ αποστολέα και παραλήπτη και να αποκτήσει το κλειδί. Έπειτα, μπορεί να διαβάσει, να τροποποιήσει και να πλαστογραφήσει όλα τα μηνύματα που ανταλλάσσουν οι δύο ανυποψίαστοι χρήστες. Βέβαια, μπορούν να βασισθούν σε άλλο μέσο επικοινωνίας για την μετάδοση του κλειδιού (π.χ. τηλεφωνία), αλλά ακόμα και έτσι δεν μπορεί να εξασφαλιστεί ότι κανείς δεν παρεμβάλλεται μεταξύ της γραμμής επικοινωνίας των χρηστών. Η ασύμμετρη κρυπτογραφία δίνει λύση σε αυτό το πρόβλημα αφού σε καμία περίπτωση δεν "ταξιδεύουν" σ το δίκτυο οι εν λόγω ευαίσθητες πληροφορίες.
Άλλο ένα ακόμα πλεονέκτημα των ασύμμετρων κρυπτοσυστημάτων είναι ότι μπορούν να παρέχουν ψηφιακές υπογραφές που δεν μπορούν να αποκηρυχθούν από την πηγή τους. Η πιστοποίηση ταυτότητας μέσω συμμετρικής κρυπτογράφησης απαιτεί την κοινή χρήση του ίδιου κλειδιού και πολλές φορές τα κλειδιά αποθηκεύονται σε υπολογιστές που κινδυνεύουν από εξωτερικές επιθέσεις. Σαν αποτέλεσμα, ο αποστολέας μπορεί να αποκηρύξει ένα πρωτύτερα υπογεγραμμένο μήνυμα, υποστηρίζοντας ότι το μυστικό κλειδί είχε κατά κάποιον τρόπο αποκαλυφθεί. Στην ασύμμετρη κρυπτογραφία δεν επιτρέπεται κάτι τέτοιο αφού κάθε χρήστης έχει αποκλειστική γνώση της ιδιωτική του κλείδας και είναι δικιά του ευθύνη η φύλαξη του.
Μειονέκτημα της ασύμμετρης κρυπτογραφίας είναι η ταχύτητα. Κατά κανόνα, η διαδικασίες κρυπτογράφησης και πιστοποίησης ταυτότητας με συμμετρικό κλειδί είναι σημαντικά ταχύτερη από την κρυπτογράφηση και ψηφιακή υπογραφή με ζεύγος ασύμμετρων κλειδιών. Η ιδιότητα αυτή καλείται διασφάλιση της μη αποκήρυξης της πηγής (non-repudiation). Επίσης, τεράστιο μειονέκτημα της ασύμμετρης κρυπτογραφίας είναι η ανάγκη για πιστοποίηση και επαλήθευση των δημόσιων κλείδων από οργανισμούς (Certificate Authority) ώστε να διασφαλίζεται η κατοχή τους νόμιμους χρήστες. Όταν κάποιος απατεώνας κατορθώσει και ξεγελάσει τον οργανισμό, μπορεί να συνδέσει το όνομα του με την δημόσια κλείδα ενός νόμιμου χρήστη και να προσποιείται την ταυτότητα αυτού του νόμιμου χρήστη.
Σε μερικές περιπτώσεις, η ασύμμετρη κρυπτογραφία δεν είναι απαραίτητη και η συμμετρική κρυπτογραφία από μόνη της είναι αρκετή. Τέτοιες περιπτώσεις είναι περιβάλλονται κλειστά, που δεν έχουν σύνδεση με το Διαδίκτυο. Ένας υπολογιστής μπορεί να κρατά τα μυστικά κλειδιά των χρηστών που επιθυμούν να εξυπηρετηθούν από αυτόν, μια και δεν υπάρχει ο φόβος για κατάληψη της μηχανής από εξωτερικούς παράγοντες. Επίσης, στις περιπτώσεις που οι χρήστες μπορούν να συναντηθούν και να ανταλλάξουν τα κλειδιά ή όταν η κρυπτογράφηση χρησιμοποιείται για τοπική αποθήκευση κάποιων αρχείων, η ασύμμετρη κρυπτογραφία δεν είναι απαραίτητη.
Τα δύο κρυπτοσυστήματα μπορούν να εφαρμοστούν μαζί, συνδυάζοντας τα καλά τους χαρακτηριστικά και εξαλείφοντας τα μειονεκτήματα τους. Ένα παράδειγμα τέτοιου συνδυασμού είναι οι ψηφιακοί φάκελοι (θα αναλυθούν παρακάτω).


Μαρία Χαλκιαδάκη
Φανή Φασομυτάκη
Μαρκέλλα Βράπη
Αγγελική Σταυριανάκη


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου