Αναζήτηση αυτού του ιστολογίου

Κυριακή 11 Απριλίου 2010

Κρυπτογραφικά

Στις μέρες πολύς λόγος γίνεται για την ασφάλεια των δεδομένων που διακινούνται από διάφορους οργανισμούς όπως οι τράπεζες, οι ασφαλιστικές εταιρίες και τα ταχυδρομεία. Καμιά φορά λόγος γίνεται και για τις πληροφορίες που στέλνουμε με τα κινητά μας τηλέφωνα, αλλά ο μεγάλος πρωταγωνιστής αυτών των συζητήσεων είναι ο «διάβολος» αυτός που στα Ελληνικά λέγεται Ίντερνετ. Όλο και περισσότερος κόσμος αποφασίζει με μεγαλύτερη ευκολία μέσω διαδικτύου, να κάνει από το σπίτι του αγορές, ενοικιάσεις, συμπλήρωση αιτήσεων και άλλες ηλεκτρονικές συναλλαγές που πριν μερικά χρόνια μας φαίνονταν αδιανόητες. Δεν είναι και λίγο πράγμα βλέπετε να αποφύγει κανείς την ατέλειωτη ουρά στην εφορία και όλο τον εκνευρισμό που αυτή προκαλεί, έστω κι αν υπάρχει η απώλεια της συναναστροφής με τις όμορφες λογίστριες που συρρέουν για να τακτοποιήσουν επείγουσες εκκρεμότητες!


Η ασφάλεια μιας ιστοσελίδες που διαχειρίζεται ευαίσθητα δεδομένα φαίνεται από ένα εικονίδιο σε εμφανές σημείο της με σχήμα κλειδαριάς, συνήθως μάλιστα είναι χρυσή κλειδαριά. Αν κλικάρουμε (είναι και αυτό ένα από τα πολλά καινούργια ρήματα της Νεοελληνικής που μπήκε στη ζωή μας εσχάτως…) πάνω στο εικονίδιο αυτό θα εμφανιστεί μια αναφορά ασφαλείας. Διάφορες πληροφορίες δηλαδή για την ασφάλεια της ιστοσελίδας. Μια από τις πιο συνηθισμένες προτάσεις σε τέτοιου είδους αναφορές είναι «Αυτή η σύνδεση είναι κρυπτογραφημένη.» και σε αυτό το σημείο βρήκα πάτημα για να σας ζαλίσω πάλι με τα μαθηματικά μου.

Η Κρυπτογραφία είναι η διαδικασία με την οποία μετασχηματίζουμε ένα λεκτικό ή αριθμητικό μήνυμα σε άλλη μορφή, ώστε να μην είναι κατανοητό σε περίπτωση που πέσει σε λάθος χέρια. Αφού λοιπόν είναι μετασχηματισμός δεν γίνεται να μη μελετηθεί από τους Μαθηματικούς, όμως δεν ήταν πάντα ζήτημα μαθηματικών. Οι πρώτες αναφορές που έχουμε για κρυπτογραφημένα μηνύματα είναι σε αρχαίους λαούς όπως οι Αιγύπτιοι, οι Βαβυλώνιοι, οι Σπαρτιάτες. Οι δε Ρωμαίοι είχαν βρει ένα απλό τρόπο κρυπτογράφησης των στρατιωτικών τους εγγράφων, ο οποίος όμως ήταν αρκετά αποτελεσματικός για την εποχή εκείνη. Θα κάνω στην συνέχεια μια περιγραφή αυτής της μεθόδου που είναι γνώστη σήμερα ως «Μέθοδος του Καίσαρα» αλλά πριν από αυτό, πάρετε ένα παιχνιδάκι….



Αντιστοιχίσετε τα κρυπτογραφημένα μηνύματα της αριστερής στήλης στις προτάσεις της δεξιάς στήλης.

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

Ας επανέλθουμε τώρα στη «Μέθοδο του Καίσαρα», καταρχάς ονομάστηκε έτσι γιατί προφανώς αποδίδεται σε Ρωμαίο αυτοκράτορα, τον Ιούλιο Καίσαρα. Η κρυπτογράφηση του μηνύματος γινόταν με αντικατάσταση κάθε γράμματος με το τρίτο διαδοχικό του στο αλφάβητο… Α=>Δ, Β=>Ε, Γ=>Ζ κτλ. Ένα εύλογο ερώτημα είναι, τι έκαναν με τα τελευταία γράμματα, που δεν έχουν τρίτο διαδοχικό. Προφανώς ξεκινούσαν από την αρχή δηλαδή Χ=>Α, Ψ=>Β και Ω=>Γ. Οπότε ας πούμε ότι ήθελαν να στείλουν, στα Ελληνικά πάντα, το μήνυμα ΕΠΙΘΕΣΗ. Θα αντικαθιστούσαν κάθε γράμμα με το τρίτο διαδοχικό του στην αλφαβήτα, δηλαδή θα γινόταν ΘΤΜΛΘΦΚ. Μπορεί να φαίνεται απλό, ίσως και γελοίο, αλλά για κάποιον που δεν είναι υποψιασμένος είναι αποτελεσματικότατο. Βέβαιο οι Ρωμαίοι δεν χρησιμοποιούσαν πάντα το τρίτο γράμμα αλλά άλλαζαν κατά καιρούς το βήμα της μετατόπισης και αντικαθιστούσαν άλλες φορές με το τρίτο διαδοχικό γράμμα, άλλες με το όγδοο και πάει λέγοντας. Έτσι η μέθοδος αυτή γινόταν ακόμα πιο αποτελεσματική. Για να γίνει τώρα η αποκρυπτογράφηση από τον παραλήπτη θα πρέπει να γνωρίζει το κλειδί, με άλλα λόγια με ποιο βήμα έχει γίνει η μετατόπιση και η αντικατάσταση. Οπότε κατασκευάζει ένα απλό πίνακα αντιστοίχισης και βρίσκει το πραγματικό μήνυμα. Στη δική μας περίπτωση τώρα για βήμα τρία γράμματα, η αντιστοίχηση αποκρυπτογράφησης είναι :


Αποκρυπτογραφώντας με αυτό τον τρόπο τα τέσσερα μηνύματα του παιχνιδιού μας, έχουμε τα έξής αποτελέσματα….

ΑΛΡΒΠΝΤΩΩΓΒΝΑΓΠ   => ΧΘΞΨΝΚΠΦΦΩΨΚΧΩΝ

ΘΥΩΞΜΝΙΓΣΝΜΓΙΓ       => ΕΤΦΛΙΚΖΩΟΚΙΩΖΩ

ΔΨΥΜΣΘΑΓΗΣΨΞΘΜΔ  => ΑΥΡΙΟΕΧΩΔΟΥΛΕΙΑ

ΟΓΞΤΝΣΨΦΘΛΡΑΟΗ     => ΜΩΛΠΚΟΥΣΕΘΞΧΜΔ

Όπως φαίνεται ο τρόπος αυτός της αποκωδικοποίησης και με το συγκεκριμένο κλειδί, των τριών βημάτων, ξεκαθαρίζει μόνο το τρίτο μήνυμα το οποίο είναι «ΑΥΡΙΟ ΕΧΩ ΔΟΥΛΕΙΑ»
Με την πάροδο του χρόνου οι κρυπταναλυτές έβρισκαν σχετικά εύκολα τρόπους να ξεκλειδώνουν τέτοια μηνύματα κοιτάζοντας την συχνότητα εμφάνισης των γραμμάτων στα γνωστά κείμενα.( Σύνδεσμος στη Βικιπαίδεια για πιο πολλές πληροφορίες ) Έτσι δημιουργήθηκε η ανάγκη για νέες μεθόδους πιο πολύπλοκες και συνεπώς πιο δύσκολες για τους επίδοξους «κλέφτες». Μια άλλη μέθοδος λοιπόν ήταν να μετατοπίζουμε κάθε γράμμα του αρχικού μηνύματος με διαφορετικό τρόπο. Έτσι η μετατόπιση δεν εξαρτιόταν από έναν μόνο αριθμό, το 3 ή το 8, αλλά από μια λέξη για παράδειγμα «ΑΣΠΡΟ» . Ας υποθέσουμε ότι το μήνυμά μας είναι δύο λέξεις ΦΥΓΕ ΑΜΕΣΩΣ. Βάζουμε κάτω τη λέξη κλειδί όσες φορές χρειάζεται. Στη συνέχεια μετατοπίζουμε τα γράμματα του μηνύματος σύμφωνα με τον αριθμό που αντιστοιχεί στο γράμμα της λέξης κλειδί.

Για δείτε το …



Έτσι κάτω από τα Φ, βάλαμε το Α που είναι το 1ο γράμμα οπότε μετατοπίζουμε το Φ κατά 1,δηλαδή το Φ γίνεται Χ. Κάτω από το Υ βάλαμε το Σ που είναι το 18ο γράμμα άρα μετατοπίζουμε το Υ κατά 18 ( αν τελειώσουν τα γράμματα πάμε από την αρχή) οπότε γίνεται Ξ. Με τον τρόπο αυτό υπάρχει μεγαλύτερη ασφάλεια αφού προκύπτουν διαφορετικά αποτελέσματα για το ίδιο γράμμα, για παράδειγμα το Ε μπορεί να γίνει ή Χ ή Ψ ή κάποιο άλλο γράμμα, οπότε είναι δύσκολο με βάση την συχνότητα εμφάνισης των γραμμάτων να βρούμε το κλειδί του κώδικα. Μπορείτε τώρα αν θέλετε απλά να επιβεβαιώσετε ότι στο δικό μας παιχνίδι η πρόταση «ΩΡΑΙΑ ΜΑΘΗΜΑΤΙΚΑ» έχει κρυπτογραφηθεί με τον τρόπο αυτό και λέξη κλειδί «ΑΣΠΡΟ».

Μέχρι εδώ νομίζω πως τα πράγματα ήταν σχετικά εύκολα, αφού δεν εμφανίστηκε ούτε ένας απλός μαθηματικός τύπος. Όμως καθώς η ζωή προχωρούσε, προχωρούσε και η ανάγκη για ακόμα πιο ασφαλείς τρόπους κωδικοποίησης, και μια πρώτη και απλή σκέψη ήταν να μην κωδικοποιούμε ένα ένα τα γράμματα αλλά ζεύγη γραμμάτων ή γενικά ομάδες γραμμάτων. Για μεγαλύτερη ασφάλεια (και καλά τώρα) αποφάσισαν όλη αυτή η διαδικασία να γίνει με την βοήθεια δύο απλών γραμμικών συναρτήσεων σαν και αυτές που ακολουθούν




Οι εξισώσείς αυτές προτιμήθηκαν σε σχέση με άλλες γιατί έχουν εύκολες πράξεις και μπορούμε να αντιστραφούν δίχως δυσκολίες. Είμαι σίγουρος πως στους περισσότερους αυτές οι εξισώσεις μόνο απλές δεν φαίνονται. Είναι γνωστό εξάλλου πως τα μαθηματικά πολλές φορές γίνονται δύσκολα μόνο και μόνο από τους ιδιαίτερους συμβολισμούς που έχουν και γι’ αυτό δεν πρόκειται να επιμείνω άλλο. Στο τέλος παραθέτω μερικούς συνδέσμους για όποιον θέλει να μελετήσει και την μέθοδο αυτή λίγο καλύτερα. Ο μαθηματικά τολμηρός αναγνώστης μπορεί αν θέλει να επιβεβαιώσει πως η πρόταση ΔΥΣΚΟΛΟΣ ΓΡΙΦΟΣ έχει κρυπτογραφηθεί με τον τρόπο αυτό και α=5, β=3,γ=1,δ=2.


Στο σημείο αυτό θέλω να επισημάνω μια δυσκολία που παρουσιάζεται και στις τρεις αυτές μεθόδους κρυπτογράφησης. Όλες στηρίζονται σε κάποιο κλειδί. Η πρώτη στο βήμα της μετατόπισης. Η δεύτερη στη λέξη και η τρίτη στους τέσσερις αριθμούς α,β,γ,δ. Για να γίνει η αποκρυπτογράφηση θα πρέπει αυτοί που λαμβάνουν το μήνυμα να γνωρίζουν το κλειδί ώστε να το διαβάσουν σωστά. Το πρόβλημα είναι πως αν το κλειδί παραμείνει για μεγάλο χρονικό διάστημα το ίδιο υπάρχει κίνδυνος «ο αντίπαλος» να το ανακαλύψει, ενώ αν αλλάζει τακτικά υπάρχει δυσκολία στη μεταβίβασή του χωρίς να γίνει κάποια υποκλοπή.

Από το 1976 και μετά εμφανίστηκε μια νέα μέθοδος κρυπτογράφησης όπου το κλειδί δεν ήταν πια μυστικό αλλά φανερό και ονομάζεται Κρυπτογράφηση Δημόσιου Κλειδιού. Στην πραγματικότητα πρόκειται για μέθοδο που έχει δύο κλειδιά, ένα Δημόσιο Κλειδί και ένα Ιδιωτικό Κλειδί. Αυτή η νέα μέθοδος οφείλει την μεγάλη επιτυχία της στους πολύ μεγάλους πρώτους αριθμούς. Οι πρώτοι αριθμοί έχουν κάποιες παραξενιές. Καταρχάς ένας πρώτος αριθμός δεν έχει διαιρέτες πέρα από το 1 και τον εαυτό του. Η σημαντικότερη παραξενιά τους όμως είναι πως δεν έχουν καμία κανονικότητα στη σειρά εμφάνισής τους οπότε… Οπότε κάπου εδώ πρέπει να σταματήσω, εξάλλου πόσα μαθηματικά αντέχει καθημερινά ένας άνθρωπος.



Υπάρχουν βέβαια και άλλοι σημαντικοί αλγόριθμοι κρυπτογράφησης. Ένας από τους ασφαλέστερους και πιο διαδεδομένους είναι ο One-time Pad που χρησιμοποιείται από πολλές κυβερνήσεις για σημαντικές υποθέσεις τους. Αλλά νομίζω πως είναι ασφαλέστερο για μένα να μην ασχοληθώ με τέτοια πράγματα! Σε όσους όμως από εσάς συνεχίσετε αυτήν την αναζήτηση εύχομαι δύναμη και καλή τύχη.

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

Μερικοί Σύνδεσμοι κι ένα Βιβλίο
5. Η φύση και η δύναμη των μαθηματικών     (Πανεπιστημιακές Εκδόσεις Κρήτης) 

Δημοφιλείς αναρτήσεις

Μια ομορφιά