✖

Κρυπτογράφημα Vigenère

Το κρυπτογράφημα Vigenère είναι ένα διάσημο κρυπτογράφημα που χρησιμοποιεί πολλά αλφάβητα κρυπτογράφησης, και γι' αυτό αντέχει πολύ περισσότερο στην κλασική ανάλυση συχνοτήτων.

Η αρχή της κρυπτογράφησης και της αποκρυπτογράφησης

Τη διαδικασία της κρυπτογράφησης μπορούμε να την εξηγήσουμε με τη βοήθεια του κρυπτογραφήματος του Καίσαρα. Κλειδί του κρυπτογραφήματος Vigenère είναι οποιαδήποτε λέξη που αποτελείται από γράμματα του αγγλικού αλφαβήτου, δηλαδή a—z. Κλειδί μπορεί λοιπόν να είναι, για παράδειγμα, η λέξη «bcf». Η κρυπτογράφηση γίνεται ως εξής: γράφουμε το απλό κείμενο και ακριβώς από κάτω το κλειδί, το οποίο επαναλαμβάνουμε μέχρι να έχει το ίδιο μήκος με το απλό κείμενο. Επειδή η κρυπτογράφηση δουλεύει με λατινικά γράμματα, γράφουμε τις ελληνικές λέξεις με λατινικούς χαρακτήρες. Για το απλό κείμενο «kalispera» (καλησπέρα) θα έμοιαζε κάπως έτσι:

Απλό κείμενο:kalispera
Κλειδί:bcfbcfbcf

Τώρα θα κρυπτογραφούσαμε όλα τα γράμματα του απλού κειμένου με το κρυπτογράφημα του Καίσαρα, με το αντίστοιχο κλειδί, δηλαδή με το κλειδί που βρίσκεται στην ίδια στήλη. Το κρυπτογράφημα του Καίσαρα είναι κρυπτογράφημα μετατόπισης: το κλειδί δείχνει κατά πόσα γράμματα πρέπει να μετατοπίσουμε το γράμμα του απλού κειμένου, μετρώντας από το γράμμα «a». Το γράμμα «b», για παράδειγμα, σημαίνει μετατόπιση κατά ένα γράμμα του αλφαβήτου «προς τα δεξιά». Το γράμμα «d» σημαίνει μετατόπιση κατά τρία γράμματα προς τα δεξιά. Τη λέξη «geia» με το κρυπτογράφημα του Καίσαρα και με κλειδί «b» θα την κρυπτογραφούσαμε ως «hfjb».

Ενώ στο κρυπτογράφημα του Καίσαρα κρυπτογραφούμε ολόκληρο το κείμενο με ένα γράμμα, στο κρυπτογράφημα Vigenère συνήθως κρυπτογραφούμε με περισσότερα γράμματα. Η κρυπτογράφηση του κειμένου «kalispera» με κλειδί «bcf» θα έβγαινε λοιπόν έτσι:

Απλό κείμενο:kalispera
Κλειδί:bcfbcfbcf
Κρυπτογραφημένο κείμενο:lcqjuuftf

Το πρώτο γράμμα «k» το κρυπτογραφήσαμε με το κλειδί «b», δηλαδή μετατόπιση κατά ένα γράμμα, γι' αυτό το αποτέλεσμα είναι το γράμμα «l». Το γράμμα «a» το κρυπτογραφήσαμε με το κλειδί «c», δηλαδή μετατόπιση κατά δύο γράμματα, και το αποτέλεσμα είναι το γράμμα «c». Και ούτω καθεξής.

Αποκρυπτογραφούμε με ακριβώς τον ίδιο τρόπο, μόνο που αντί να μετατοπίζουμε τα γράμματα «προς τα δεξιά», τα μετατοπίζουμε «προς τα αριστερά».

Διαδικτυακό εργαλείο κρυπτογράφησης και αποκρυπτογράφησης του κρυπτογραφήματος Vigenère

Κείμενο:
Κλειδί:

Το τετράγωνο του Vigenère

Ολόκληρη η διαδικασία της κρυπτογράφησης και της αποκρυπτογράφησης μπορεί να εξηγηθεί και με το τετράγωνο του Vigenère, ένα βοήθημα που μπορούμε να χρησιμοποιήσουμε κατά την κρυπτογράφηση. Το τετράγωνο του Vigenère είναι ένας πίνακας με 26 γραμμές και 26 στήλες. Σε κάθε γραμμή είναι γραμμένο το αλφάβητο, και σε κάθε γραμμή είναι μετατοπισμένο κατά ένα γράμμα σε σχέση με την προηγούμενη:

Αν έχουμε ένα τέτοιο τετράγωνο του Vigenère, η κρυπτογράφηση θα γινόταν ως εξής: παίρνουμε το γράμμα του απλού κειμένου και βρίσκουμε τη γραμμή με αυτό το γράμμα. Έπειτα παίρνουμε το γράμμα του κλειδιού και βρίσκουμε τη στήλη. Το γράμμα του κρυπτογραφημένου κειμένου είναι το γράμμα που βρίσκεται στην αντίστοιχη γραμμή και στήλη.

Στο προηγούμενο παράδειγμα κρυπτογραφήσαμε το «kalispera» με κλειδί «bcf». Βρίσκουμε λοιπόν τη γραμμή που ξεκινά με «k» και τη στήλη που ξεκινά με «b». Στο σημείο τομής αυτής της γραμμής και της στήλης βρίσκεται το γράμμα «l», το αντίστοιχο γράμμα του κρυπτογραφημένου κειμένου.

Στην αποκρυπτογράφηση προχωράμε αντίστροφα. Αν θέλουμε να αποκρυπτογραφήσουμε το γράμμα «l» με κλειδί «b», βρίσκουμε τη στήλη «b», σε αυτήν βρίσκουμε τη γραμμή που περιέχει το γράμμα «l», και το γράμμα που βρίσκεται στην αρχή αυτής της γραμμής είναι το γράμμα του απλού κειμένου.

Η κύρια δύναμη του κρυπτογραφήματος Vigenère

Γιατί το κρυπτογράφημα Vigenère ήταν στην εποχή του τόσο ισχυρό; Επειδή δυσκόλευε σημαντικά την κλασική ανάλυση συχνοτήτων. Για παράδειγμα, στο κρυπτογράφημα του Καίσαρα ισχύει ότι δύο ίδια γράμματα του απλού κειμένου κρυπτογραφούνται στο ίδιο γράμμα του κρυπτογραφημένου κειμένου. Αυτό όμως στο κρυπτογράφημα Vigenère δεν ισχύει, τουλάχιστον όχι πάντα.

Αν κρυπτογραφούσαμε το κείμενο «bravo bravo bravo» (μπράβο) με κλειδί «stan», θα παίρναμε το κρυπτογραφημένο κείμενο «tkaig urnnh besoo». Βλέπουμε ότι, παρόλο που το απλό κείμενο περιέχει τρεις ίδιες λέξεις, στο κρυπτογραφημένο κείμενο κάθε λέξη φαίνεται εντελώς διαφορετική. Η μεσαία λέξη, «urnnh», μάλιστα περιέχει δύο γράμματα «n», τα οποία όμως προήλθαν από δύο διαφορετικά γράμματα του απλού κειμένου: «av».

Η επιλογή του κλειδιού

Η ασφάλεια του κρυπτογραφήματος Vigenère εξαρτάται πολύ από την επιλογή του κλειδιού. Ενώ στο κρυπτογράφημα του Καίσαρα δεν είχε σημασία ποιο γράμμα θα διαλέξουμε, αρκεί να ήταν διαφορετικό από το «a», στο κρυπτογράφημα Vigenère διαφορετικά κλειδιά οδηγούν σε διαφορετικό επίπεδο ασφάλειας.

  • Ένα κλειδί που αποτελείται μόνο από ένα γράμμα ανάγει το κρυπτογράφημα Vigenère πάλι στο κρυπτογράφημα του Καίσαρα.
  • Ένα κλειδί που αποτελείται από περισσότερα ίδια γράμματα, για παράδειγμα «mmm», οδηγεί και πάλι στο κρυπτογράφημα του Καίσαρα.
  • Ένα κείμενο που έχει κρυπτογραφηθεί με σύντομο κλειδί σπάει πολύ εύκολα.
  • Ένα αρκετά μεγάλο κρυπτογραφημένο κείμενο, που έχει κρυπτογραφηθεί με όχι εντελώς σύντομο κλειδί (γύρω στους πενήντα χαρακτήρες), σπάει επίσης πολύ εύκολα. Σε έναν υπολογιστή σε λίγα δευτερόλεπτα.
  • Ένα κείμενο που έχει κρυπτογραφηθεί με κλειδί εντελώς τυχαίο και ίδιου μήκους με το ίδιο το κείμενο είναι αδύνατο να σπάσει.