Μοντέλα κρυπτογράφησης και αποκρυπτογράφησης διακριτών μηνυμάτων. Βασικοί ορισμοί

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

Μετάφραση από τα ελληνικά, η κρυπτογραφία είναι μυστική γραφή (που γίνεται πλέον κατανοητή με την ευρεία έννοια). Στην κρυπτογραφία, το κείμενο είναι ορατό αλλά δεν μπορεί να διαβαστεί. Η κρυπτογραφία χρησιμοποιεί τη μετατροπή ενός χαρακτήρα σε έναν άλλο, παρμένο από το ίδιο ή άλλο αλφάβητο.

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

Έτσι το 400 π.Χ. μι. Η Σπάρτη χρησιμοποιούσε κυκλική κρυπτογράφηση κυλίνδρων. Γύρω του τυλίχτηκε ένας κύλινδρος, μετά τον οποίο γράφτηκε κείμενο κατά μήκος του ειλητάρου παράλληλα με τον άξονα του κυλίνδρου - γραμμή προς γραμμή. Ως αποτέλεσμα, τα γράμματα στον ξεδιπλωμένο κύλινδρο ήταν διατεταγμένα χωρίς εμφανή σειρά. Για να διαβάσει το μήνυμα, ο παραλήπτης έπρεπε να τυλίξει τον κύλινδρο στον ίδιο ακριβώς κύλινδρο.

300 π.Χ μι. Στην Ελλάδα το έργο Tacticus γράφτηκε για κρυφά μηνύματα. 200 π.Χ μι. εφευρέθηκε ένα πολυβικό τετράγωνο, που περιείχε 5x5=25 κελιά για είκοσι τέσσερα γράμματα του ελληνικού αλφαβήτου και ένα κενό, εγγεγραμμένο με τυχαία σειρά. Κατά την κρυπτογράφηση κειμένου, το απαιτούμενο γράμμα βρέθηκε στο τετράγωνο και αντικαταστάθηκε με ένα άλλο γράμμα από την ίδια στήλη, αλλά εγγεγραμμένο σε μια γραμμή παρακάτω. Το γράμμα που ήταν στην κάτω γραμμή της πλατείας αντικαταστάθηκε με ένα γράμμα από η πάνω σειράτην ίδια στήλη. Ο παραλήπτης, που είχε ακριβώς το ίδιο τετράγωνο, αποκρυπτογραφούσε το μήνυμα εκτελώντας τις υποδεικνυόμενες πράξεις με αντίστροφη σειρά.

Ο Καίσαρας, σε αλληλογραφία με τον Κικέρωνα, χρησιμοποίησε αυτό που σήμερα ονομάζεται Η κρυπτογράφηση του Καίσαρα.Η μέθοδος του Καίσαρα είναι η εξής. Πρώτον, κάθε γράμμα του αλφαβήτου συνδέεται με τον αύξοντα αριθμό του. Στη συνέχεια, κατά την κρυπτογράφηση, δεν γράφεται το ίδιο το γράμμα, αλλά εκείνο του οποίου ο αριθμός είναι μεγαλύτερος κατά έναν ακέραιο ΠΡΟΣ ΤΗΝ,ονομάζεται κλειδί. Για ένα αλφάβητο που περιέχει Τγράμματα, ο κανόνας κρυπτογράφησης δίνεται από τη σχέση:

n=(K + I) mod Μ,

Οπου Π- ο αριθμός του γράμματος που λήφθηκε ως αποτέλεσμα της κρυπτογράφησης του γράμματος με τον αριθμό ΕγώΕδώ χρησιμοποιείται η λειτουργία υπολογισμού modulo Τ,όταν εκτελείται, δεν καταγράφεται το ίδιο το ποσό Κ+ Ι, και το υπόλοιπο από τη διαίρεση αυτού του ποσού με Τ.

Μια γενίκευση της κρυπτογράφησης του Καίσαρα ονομάζεται απλή κρυπτογράφηση αντικατάστασης.Η ουσία του έγκειται στο γεγονός ότι όλα τα γράμματα του αλφαβήτου αντικαθίστανται από άλλα γράμματα του ίδιου αλφαβήτου σύμφωνα με έναν κανόνα, ο οποίος είναι το κλειδί. Για παράδειγμα, ΕΝΑαντικαθίσταται από V,β-να από προς- επί V,..., Εγώ- επί ΣΟΛ.Ο αριθμός των πιθανών μεταθέσεων με μια τέτοια κρυπτογράφηση, που αντιστοιχεί σε ένα αλφάβητο με έναν τόμο Τ= 32, είναι Μ! =32! = 2, 63 10 35 . Εάν δοκιμάσετε ένα εκατομμύριο κλειδιά σε ένα δευτερόλεπτο κατά την αποκρυπτογράφηση χρησιμοποιώντας μια μέθοδο brute-force, τότε συνολικός χρόνοςη αποκρυπτογράφηση θα διαρκέσει 8,3-10 21 χρόνια.



Η ανάπτυξη του απλού κρυπτογραφήματος αντικατάστασης ήταν ο κρυπτογράφησης Blaise Vigenère (XVI αιώνας, Γαλλία). Σε αυτόν τον κρυπτογράφηση το κλειδί είναι η λέξη, δηλ. μια ακολουθία σειριακών αριθμών βασικών γραμμάτων. Το κλειδί, επαναλαμβανόμενο εάν είναι απαραίτητο, υπογράφεται κάτω από το μήνυμα, μετά το οποίο πραγματοποιείται προσθήκη modulo Τσε κάθε στήλη, η οποία περιέχει ένα γράμμα του μηνύματος και το κλειδί.

Πολλοί διάσημοι μαθηματικοί ασχολήθηκαν με την κρυπτογραφία, όπως ο Viète, ο Cardano, ο Leibniz και, τέλος, ο Francis Bacon. Ο τελευταίος πρότεινε δυαδική κωδικοποίησηΛατινικό αλφάβητο.

Στη Ρωσία, μια ανεξάρτητη κρυπτογραφική υπηρεσία οργανώθηκε για πρώτη φορά από τον Peter I, ο οποίος, υπό την επίδραση της επικοινωνίας με τον Leibniz, ίδρυσε ένα ψηφιακό θάλαμο για την ανάπτυξη και τη χρήση της κρυπτογραφίας.

Η Βιομηχανική Επανάσταση στις ανεπτυγμένες χώρες οδήγησε στη δημιουργία μηχανών κρυπτογράφησης. Στα τέλη του 18ου αιώνα, ο Jefferson (ο μελλοντικός τρίτος Πρόεδρος των Ηνωμένων Πολιτειών) εφηύρε τροχούς κρυπτογράφησης. Η πρώτη πρακτικά λειτουργική μηχανή κρυπτογράφησης προτάθηκε το 1917 από τον Vernam. Την ίδια χρονιά, εφευρέθηκε μια περιστροφική μηχανή κρυπτογράφησης, η οποία στη συνέχεια παρήχθη από τη Siemens με το όνομα «Enigma» (αίνιγμα), ο κύριος αντίπαλος των κρυπτογράφων των Συμμάχων Δυνάμεων κατά τη διάρκεια του Β' Παγκοσμίου Πολέμου.

Ο K. Shannon συνέβαλε ανεκτίμητη στην κρυπτογραφία, ειδικά με το έργο του «Secrecy and Stealth», που γράφτηκε το 1948. Το 1976, ο Diffie και ο Hellman πρότειναν κρυπτοσυστήματα δημόσιου κλειδιού. Το 1977, οι ΗΠΑ εισήγαγαν το ανοιχτό ομοσπονδιακό πρότυπο κρυπτογράφησης μη ταξινομημένων μηνυμάτων (DES). Το 1989, ανοιχτό οικιακό σύστημακρυπτογράφηση GOST 28147-89.

Ρύζι. 1. Κύρια στάδια ανάπτυξης κρυπτογραφικών συστημάτων

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

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

Χρήση προϊόντων ταχείας δράσης τεχνολογία υπολογιστών,

Ανακάλυψη ενός νέου τύπου κρυπτογραφίας με πιο «διαφανείς» μεθόδους κρυπτανάλυσης (κρυπτογραφία δημόσιου κλειδιού),

Η εμφάνιση νέων πρόσθετων λειτουργιών ασφαλείας, εκτός από την κρυπτογράφηση και την αποκρυπτογράφηση,

Χρησιμοποιώντας τις πιο πρόσφατες φυσικές μεθόδους στην κρυπτογραφία (δυναμικό χάος, κβαντική κρυπτογραφία, κβαντικός υπολογιστής).

2. Μαθηματικό μοντέλο ενός διακριτού συστήματος κρυπτογράφησης/αποκρυπτογράφησης μηνυμάτων

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

Μαθηματικό μοντέλοΤο διακριτό σύστημα κρυπτογράφησης/αποκρυπτογράφησης μηνυμάτων ονομάζεται ζεύγος συναρτήσεων

, (1)

, (2)

που μεταμορφώνουν το μήνυμα Μσε κρυπτόγραμμα μιχρησιμοποιώντας ένα κλειδί κρυπτογράφησης K Shκαι, αντιστρόφως, ένα κρυπτόγραμμα μισε μήνυμα Μχρησιμοποιώντας το κλειδί αποκρυπτογράφησης Προς DS. Και τα δυοΟι συναρτήσεις που ορίζουν ένα κρυπτοσύστημα πρέπει να πληρούν τις ακόλουθες απαιτήσεις:

Λειτουργίες φά(,) Και σολ(,) με γνωστά ορίσματα υπολογίζονται απλά,

Λειτουργία g(E, K DS) με άγνωστο κλειδί Κ ΔΣδύσκολο να υπολογιστεί.

Υποτίθεται ότι το κλειδί αποκρυπτογράφησης Κ ΔΣάγνωστο στους παράνομους χρήστες, αν και μπορεί να γνωρίζουν τις λειτουργίες φά(.) Και σολ(.), καθώς και το κλειδί κρυπτογράφησης K Sh, εάν δεν ταιριάζει με το κλειδί Προς DS.Η τελευταία προϋπόθεση αποτελεί τη λεγόμενη αρχή Kaziski.

Εάν το κλειδί κρυπτογράφησης είναι ίσο με το κλειδί αποκρυπτογράφησης, π.χ. K Sh = Κ ΔΣτότε καλείται το σύστημα συμμετρικό (με ένα κλειδί).Για να λειτουργήσει, τα ίδια κλειδιά πρέπει να παραδοθούν κρυφά στα σημεία κρυπτογράφησης και αποκρυπτογράφησης.

Αν K Sh = Προς DS,τότε καλείται το σύστημα κρυπτογράφησης ασύμμετρη (δύο κλειδιών).Σε αυτή την περίπτωση το κλειδί K Shπαραδίδεται στο σημείο κρυπτογράφησης και το κλειδί Προς DS -στο σημείο αποκρυπτογράφησης. Και τα δύο κλειδιά πρέπει προφανώς να είναι συνδεδεμένα λειτουργική εξάρτηση K DS = φ(K S)αλλά έτσι ώστε χρησιμοποιώντας ένα γνωστό κλειδί κρυπτογράφησης K Shθα ήταν αδύνατο να ανακτηθεί το κλειδί αποκρυπτογράφησης Κ ΔΣΑυτό σημαίνει ότι για ένα ασύμμετρο σύστημα κρυπτογράφησης φ(.) πρέπει να είναι μια συνάρτηση που είναι δύσκολο να υπολογιστεί. Σε ένα τέτοιο σύστημα, είναι δυνατό να διανεμηθούν κρυφά μόνο τα κλειδιά αποκρυπτογράφησης μεταξύ νόμιμων χρηστών και να δημοσιοποιηθούν τα κλειδιά κρυπτογράφησης και να δημοσιευθούν, για παράδειγμα, σε έναν δημόσιο κατάλογο. Επομένως, το κρυπτοσύστημα που εξετάζουμε ονομάζεται σύστημα με ανοιχτό (δημόσιο)κλειδί. Το κρυπτοσύστημα δημόσιου κλειδιού προτάθηκε για πρώτη φορά από τους Diffie και Hellman το 1976. Είναι απαραίτητο να γίνει διάκριση μεταξύ τριών κύριων τύπων επιθέσεων από αντιπάλους στο κρυπτοσύστημα:

Μόνο με γνωστό κρυπτόγραμμα μι,

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

Δεδομένου ενός γνωστού κρυπτογράμματος και ενός ειδικά επιλεγμένου τμήματος του μηνύματος που αντιστοιχεί σε ένα τμήμα του κρυπτογράμματος που λαμβάνεται με το ίδιο κλειδί (μερικώς επιλεγμένη επίθεση απλού μηνύματος),

Τα σύγχρονα κρυπτοσυστήματα θεωρούνται ισχυρά εάν είναι ανθεκτικά και στους τρεις τύπους επιθέσεων.

Για κρυπτοσυστήματα που κρυπτογραφούν μηνύματα με χαμηλές απαιτήσεις για την πιθανότητα σφάλματος κατά τη μετάδοση (ψηφιακή ομιλία, ψηφιακή εικόνα), είναι απαραίτητο να προστεθεί μια τέταρτη, πρόσθετη απαίτηση:

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

Ας εξηγήσουμε την ουσία της έννοιας της διάδοσης σφαλμάτων. Αφήστε κατά τη μετάδοση κρυπτογράμματος μιεμφανίστηκαν σφάλματα στο κανάλι επικοινωνίας (Εικ. 2).

Η θέση και το μέγεθος των σφαλμάτων στο λαμβανόμενο κρυπτόγραμμα καθορίζονται από το διάνυσμα των σφαλμάτων καναλιού μι. Στο δυαδικό σύστημαμετάδοσης, το ληφθέν κρυπτόγραμμα θα μοιάζει μι- E ® e, πού είναι το σημάδι ® σημαίνει δυαδική προσθήκη modulo 2 και τον συνολικό αριθμό σφαλμάτων tισούται με τον κανόνα του διανύσματος σφάλματος |e|, δηλ. t=|e|. Ο αριθμός των σφαλμάτων e" στο αποκρυπτογραφημένο μήνυμα M υπολογίζεται ως t"=|f |, όπου 1= И8А/. Τα σφάλματα δεν διαδίδονται με την προϋπόθεση ότι f = t.

09.07.2003

Τι είναι η κρυπτογράφηση;

Η κρυπτογράφηση έχει χρησιμοποιηθεί από την ανθρωπότητα από τη στιγμή που εμφανίστηκαν οι πρώτες μυστικές πληροφορίες, δηλαδή τέτοιες πληροφορίες στις οποίες η πρόσβαση θα πρέπει να περιοριστεί. Αυτό ήταν πολύ καιρό πριν - για παράδειγμα, μια από τις πιο διάσημες μεθόδους κρυπτογράφησης πήρε το όνομά του από τον Καίσαρα, ο οποίος, αν δεν το εφεύρε ο ίδιος, τότε το χρησιμοποιούσε ενεργά (δείτε πλαϊνή γραμμή).

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

Η διαδικασία διάσπασης ενός κρυπτογράφησης χωρίς να γνωρίζουμε το κλειδί ονομάζεται κρυπτανάλυση. Ο χρόνος που απαιτείται για να σπάσει ένας κρυπτογράφηση καθορίζεται από την κρυπτογραφική του ισχύ. Όσο μεγαλύτερος είναι, τόσο πιο «ισχυρός» είναι ο αλγόριθμος κρυπτογράφησης. Είναι ακόμη καλύτερο εάν αρχικά είναι αδύνατο να μάθουμε καθόλου εάν το αποτέλεσμα του hack είναι εφικτό.

Βασικές σύγχρονες μέθοδοι κρυπτογράφησης

Μεταξύ των διαφόρων μεθόδων κρυπτογράφησης, διακρίνονται οι ακόλουθες κύριες μέθοδοι:

  • Αλγόριθμοι αντικατάστασης ή αντικατάστασης - χαρακτήρες του κειμένου πηγής αντικαθίστανται με χαρακτήρες άλλου (ή του ίδιου) αλφαβήτου σύμφωνα με ένα προκαθορισμένο σχήμα, το οποίο θα είναι το κλειδί αυτού του κρυπτογράφησης. Ξεχωριστά, αυτή η μέθοδος πρακτικά δεν χρησιμοποιείται στα σύγχρονα κρυπτοσυστήματα λόγω της εξαιρετικά χαμηλής κρυπτογραφικής της ισχύος.
  • Αλγόριθμοι μετάθεσης - σύμβολα πρωτότυπο κείμενοαλλάξτε θέσεις σύμφωνα με μια συγκεκριμένη αρχή, που είναι το μυστικό κλειδί. Ο ίδιος ο αλγόριθμος μετάθεσης έχει χαμηλή κρυπτογραφική ισχύ, αλλά περιλαμβάνεται ως στοιχείο σε πολλά σύγχρονα κρυπτοσυστήματα.
  • Αλγόριθμοι γάμμα - οι χαρακτήρες του αρχικού κειμένου προστίθενται στους χαρακτήρες μιας συγκεκριμένης τυχαίας ακολουθίας. Το πιο συνηθισμένο παράδειγμα είναι η κρυπτογράφηση αρχείων "username.pwl", στα οποία λειτουργικό σύστημα Microsoft Windows 95 αποθηκεύει τους κωδικούς πρόσβασης σε πόρους δικτύουδεδομένου χρήστη (κωδικοί πρόσβασης για σύνδεση σε διακομιστές NT, κωδικοί πρόσβασης για πρόσβαση στο Διαδίκτυο μέσω τηλεφώνου κ.λπ.).

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

  • Αλγόριθμοι που βασίζονται σε σύνθετους μαθηματικούς μετασχηματισμούς του κειμένου πηγής σύμφωνα με έναν συγκεκριμένο τύπο. Πολλοί από αυτούς χρησιμοποιούν άλυτα μαθηματικά προβλήματα. Για παράδειγμα, ο αλγόριθμος που χρησιμοποιείται ευρέως στο Διαδίκτυο Κρυπτογράφηση RSAμε βάση τις ιδιότητες των πρώτων αριθμών.

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

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

Ενώ παραμένει στο πλαίσιο ενός συμμετρικού συστήματος (ονομάζεται έτσι επειδή το ίδιο κλειδί χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση), είναι απαραίτητο να υπάρχει ένα αξιόπιστο κανάλι επικοινωνίας για μετάδοση μυστικό κλειδί. Αλλά ένα τέτοιο κανάλι δεν είναι πάντα διαθέσιμο, και ως εκ τούτου οι Αμερικανοί μαθηματικοί Diffie, Hellman και Merkle ανέπτυξαν την έννοια του δημόσιου κλειδιού και συμμετρική κρυπτογράφηση. Σε τέτοια κρυπτοσυστήματα, μόνο το κλειδί για τη διαδικασία κρυπτογράφησης είναι δημόσια διαθέσιμο και η διαδικασία αποκρυπτογράφησης είναι γνωστή μόνο στον κάτοχο του μυστικού κλειδιού.

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

Στα ασύμμετρα συστήματα, πρέπει να πληρούται η ακόλουθη απαίτηση: δεν υπάρχει αλγόριθμος (ή δεν είναι ακόμη γνωστός) που θα προέκυπτε πρωτότυπο κείμενο. Ένα παράδειγμα τέτοιου συστήματος είναι το γνωστό κρυπτοσύστημα RSA.

Αλγόριθμος RSA

Ο αλγόριθμος RSA (μετά τα πρώτα γράμματα των επωνύμων των δημιουργών του Rivest-Shamir-Adleman) βασίζεται στις ιδιότητες των πρώτων αριθμών (και πολύ μεγάλων). Πρώτοι αριθμοί είναι εκείνοι οι αριθμοί που δεν έχουν άλλους διαιρέτες εκτός από τον εαυτό τους και το ένα. Και συμπρώτοι αριθμοί είναι εκείνοι οι αριθμοί που δεν έχουν κοινούς διαιρέτες εκτός από το 1.

Αρχικά, ας επιλέξουμε δύο πολύ μεγάλους πρώτους αριθμούς (απαιτούνται μεγάλοι πρώτοι για την κατασκευή μεγάλων, ισχυρών πλήκτρων. Για παράδειγμα, το πρόγραμμα Unix ssh-keygen παράγει κλειδιά μήκους 1024 bit από προεπιλογή).

Ας ορίσουμε την παράμετρο nως αποτέλεσμα πολλαπλασιασμού ΠΚαι q. Ας διαλέξουμε ένα μεγάλο τυχαίος αριθμόςκαι ας το ονομάσουμε ρε, και πρέπει να είναι συμπρώτης με το αποτέλεσμα του πολλαπλασιασμού (p -1)*(q -1).

Ας βρούμε έναν αριθμό e για τον οποίο η σχέση είναι αληθής

(e*d) mod ((p -1)*(q -1)) = 1

(mod- υπόλοιπο διαίρεσης, δηλαδή αν το e πολλαπλασιαστεί με το d διαιρείται με ((p -1)*(q -1)), τότε το υπόλοιπο είναι 1).

Το δημόσιο κλειδί είναι ένα ζευγάρι αριθμών e και nκαι κλειστό - δ και ν.

Κατά την κρυπτογράφηση, το κείμενο προέλευσης αντιμετωπίζεται ως σειρά αριθμών και εκτελούμε μια λειτουργία σε κάθε αριθμό

C(i)= (M(i) e) mod n.

Το αποτέλεσμα είναι η σειρά C(i), το οποίο θα αποτελέσει το κρυπτοκείμενο. Η αποκωδικοποίηση των πληροφοριών γίνεται σύμφωνα με τον τύπο

M(i) = (C(i) d) mod n.

Όπως μπορείτε να δείτε, η αποκρυπτογράφηση απαιτεί γνώση του μυστικού κλειδιού.

Ας το δοκιμάσουμε σε μικρούς αριθμούς.

Ας εγκαταστήσουμε p=3, q=7. Επειτα n=p*q=21.Επιλέγω ρεως 5. Από τον τύπο (e*5) mod 12=1υπολογίζω e=17. Δημόσιο κλειδί 17, 21 , μυστικό - 5, 21 .

Ας κρυπτογραφήσουμε την ακολουθία "12345":

C(1)= 1 17 mod 21= 1

C(2)= 2 17 mod 21 =11

C(3)= 3 17 mod 21= 12

C(4)= 4 17 mod 21= 16

C(5)= 5 17 mod 21= 17

Κρυπτοκείμενο - 1 11 12 16 17.

Ας ελέγξουμε την αποκρυπτογράφηση:

M(1)= 1 5 mod 21= 1

M(2)= 11 5 mod 21= 2

M(3)= 12 5 mod 21= 3

M(4)= 16 5 mod 21= 4

M(5)= 17 5 mod 21= 5

Όπως μπορείτε να δείτε, το αποτέλεσμα συνέπεσε.

Το κρυπτοσύστημα RSA χρησιμοποιείται ευρέως στο Διαδίκτυο. Όταν συνδέεστε σε έναν ασφαλή διακομιστή μέσω SSL, εγκαταστήστε ένα πιστοποιητικό WebMoney στον υπολογιστή σας ή συνδεθείτε με απομακρυσμένος διακομιστήςχρησιμοποιώντας το Open SSH ή το SecureShell, τότε όλα αυτά τα προγράμματα χρησιμοποιούν κρυπτογράφηση δημόσιου κλειδιού χρησιμοποιώντας τις ιδέες του αλγόριθμου RSA. Είναι πραγματικά τόσο αξιόπιστο αυτό το σύστημα;

Διαγωνισμοί hacking RSA

Από τη δημιουργία του, η RSA υπόκειται συνεχώς σε επιθέσεις Brute-force. Το 1978, οι συγγραφείς του αλγορίθμου δημοσίευσαν ένα άρθρο όπου παρουσίασαν μια συμβολοσειρά κρυπτογραφημένη χρησιμοποιώντας τη μέθοδο που μόλις είχαν εφεύρει. Στο πρώτο άτομο που αποκρυπτογραφούσε το μήνυμα δόθηκε μια ανταμοιβή 100 $, αλλά αυτό απαιτούσε τη διαίρεση ενός 129-ψήφιου αριθμού σε δύο παράγοντες. Αυτός ήταν ο πρώτος διαγωνισμός για να σπάσει το RSA. Το πρόβλημα λύθηκε μόλις 17 χρόνια μετά τη δημοσίευση του άρθρου.

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

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

Ένα από τα πιο κοινά προγράμματα-πελάτες ηλεκτρονικού ταχυδρομείου στη Ρωσία, το πρόγραμμα Η νυχτερίδα!, έχει ενσωματωμένες δυνατότητες προσθήκης ψηφιακών υπογραφών σε γράμματα (προσοχή στο στοιχείο μενού Privacy κατά την επεξεργασία μιας επιστολής). Διαβάστε περισσότερα για αυτήν την τεχνική στο άρθρο (βλ. «PC World», No. 3/02).

Ρύζι. 3

Κρυπτογράφηση

Η κρυπτογραφία είναι η επιστήμη των αρχών, των μέσων και των μεθόδων μετατροπής των πληροφοριών για την προστασία τους από μη εξουσιοδοτημένη πρόσβαση και παραμόρφωση. Τον τελευταίο καιρό αναπτύσσεται πολύ, πολύ γρήγορα. Είναι ένας ατελείωτος, συναρπαστικός αγώνας που απαιτεί πολύ χρόνο και προσπάθεια: οι κρυπταναλυτές καταρρίπτουν αλγόριθμους που μέχρι πρόσφατα ήταν πρότυπα και χρησιμοποιούνταν ευρέως. Παρεμπιπτόντως, πρόσφατα οι μαθηματικοί Dan Goldston (ΗΠΑ) και Kem Ildirim (Τουρκία) απέδειξαν την πρώτη κανονικότητα στην κατανομή των πρώτων αριθμών (τέτοιες κανονικότητες δεν είχαν παρατηρηθεί μέχρι τώρα). Οι πρώτοι αριθμοί βρίσκονται στον άξονα αριθμών σε ορισμένα συμπλέγματα, γεγονός που καθιστά κάπως ευκολότερο την εύρεση τους.

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

Όλεγκ Μπούνιν- ειδικός στην ανάπτυξη λογισμικού για μεγάλα έργα Διαδικτύου, υπάλληλος της εταιρείας Rambler, http://www..htm).

  • Εισαγωγή στην κρυπτογραφία / Εκδ. V.V. Γιασχένκο. Μ.: MTsNMO, 2000.
  • Nosov V. A. Ένα σύντομο ιστορικό περίγραμμα της ανάπτυξης της κρυπτογραφίας // Πρακτικά του συνεδρίου "Πανεπιστήμιο της Μόσχας και η ανάπτυξη της κρυπτογραφίας στη Ρωσία", MSU, 17-18 Οκτωβρίου 2002.
  • Salomaa A. Κρυπτογραφία δημόσιου κλειδιού. Μ., 1996.
  • Zimmerman F. PGP - κρυπτογράφηση δημόσιου κλειδιού για όλους.
  • Σύστημα κρυπτογράφησης Caesar

    Ένα παράδειγμα αλγορίθμου αντικατάστασης είναι το σύστημα κρυπτογράφησης Caesar. Αυτή η μέθοδος βασίζεται στην αντικατάσταση κάθε γράμματος του μηνύματος με ένα άλλο με μετατόπιση από το πρωτότυπο κατά σταθερή ποσότηταχαρακτήρες. Προσπαθήστε να αποκρυπτογραφήσετε τα τετράστιχα του Omar Khayyam (χρόνος ολοκλήρωσης - 10 λεπτά).

    RLZ YOMEIZ AVBZHU IYZAVLU, BZHSCHLU ZHSCHEZZHZ ZHUOSCHZ, EYSH YSHCHAZhFO ISHCHYVESH BSHCHIZHV EESH ZHSCHRSCHG: LF EMRSYU ЪZEZESCHG, RYYO HCHERLZURSCHG, YYUKLU K DUYO IZISHCHEZ.

    Τα κατάφερες? Ιδού η απάντηση:

    Για να ζήσεις τη ζωή σου με σύνεση, πρέπει να ξέρεις πολλά,

    Θυμηθείτε δύο σημαντικούς κανόνες για να ξεκινήσετε:

    Προτιμάς να πεινάς παρά να φας οτιδήποτε

    Και είναι καλύτερα να είσαι μόνος παρά με οποιονδήποτε.

    Κλειδί αποκρυπτογράφησης: μετατόπιση κατά επτά χαρακτήρες (πάρτε τον έβδομο) προς τα αριστερά αλφαβητικά. Το αλφάβητο είναι κυκλωμένο. Οι πεζοί χαρακτήρες δεν είναι ευαίσθητοι.

    Windows και κωδικοί πρόσβασης

    Πώς κρυπτογραφούν τα Windows τους κωδικούς πρόσβασης;

    Το σύστημα παίρνει τον κωδικό πρόσβασης, τον μετατρέπει σε κεφαλαία, τον περικόπτει σε 14 χαρακτήρες, στη συνέχεια τους χωρίζει σε δύο μισά των 7, κρυπτογραφεί το καθένα ξεχωριστά και τον αποθηκεύει με αυτόν τον τρόπο, πράγμα που κάνει το hacking λίγο πιο εύκολο. Παρεμπιπτόντως, όταν βρίσκετε έναν κωδικό πρόσβασης, να έχετε κατά νου ότι ένας συνδυασμός μεγαλύτερος από 14 χαρακτήρες έχει μικρή σημασία.

    Διαγωνισμός AES (Advanced Encryption Standard).

    Στη δεκαετία του '80 στις ΗΠΑ υιοθέτησαν ένα πρότυπο συμμετρικής κρυπτογράφησης για εσωτερική χρήση - DES ((Πρότυπο κρυπτογράφησης δεδομένων, υπάρχει ένα παρόμοιο πρότυπο στη Ρωσία). Αλλά το 1997, όταν έγινε σαφές ότι το κλειδί DES 56 bit δεν ήταν αρκετό για ένα αξιόπιστο cryptosystem, το Αμερικανικό Ινστιτούτο Προτύπων ανακοίνωσε διαγωνισμό για ένα νέο τυπικός αλγόριθμος. Από τις 15 επιλογές, επιλέχθηκε η καλύτερη: ο βελγικός αλγόριθμος Rijndael (το όνομά του αποτελείται από τα ονόματα των συγγραφέων - Rijmen και Daemen, διαβάζονται ως "Rijndael". Αυτός ο αλγόριθμος είναι ήδη ενσωματωμένος σε διάφορα κρυπτογραφικά μέσαδιατίθενται στην αγορά). Άλλοι φιναλίστ του διαγωνισμού ήταν οι MARS, RC6, Serpent, TwoFish. Όλοι αυτοί οι αλγόριθμοι βρέθηκαν να είναι αρκετά ισχυροί και να αντιστέκονται με επιτυχία σε όλες τις γνωστές μεθόδους κρυπτανάλυσης.

    Κρυπτογραφικές συναρτήσεις κατακερματισμού

    Οι κρυπτογραφικές συναρτήσεις κατακερματισμού μετατρέπουν δεδομένα εισόδου οποιουδήποτε μεγέθους σε συμβολοσειρά σταθερού μεγέθους. Είναι εξαιρετικά δύσκολο να τους βρεις:

    • δύο διαφορετικά σύνολαδεδομένα με το ίδιο αποτέλεσμα μετασχηματισμού (αντίσταση σύγκρουσης). για παράδειγμα ποσότητα αριθμητικές πράξεις, απαραίτητο για την εύρεση ενός μπλοκ δεδομένων που έχει επίσης σύντομο μήνυμαγια τη συνάρτηση κατακερματισμού MD5, είναι περίπου 2 64.
    • τιμή εισόδου με βάση ένα γνωστό αποτέλεσμα κατακερματισμού (μη αντιστρεψιμότητα). για το MD5, ο εκτιμώμενος αριθμός πράξεων που απαιτούνται για τον υπολογισμό του αρχικού μηνύματος είναι 2.128.

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

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

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

    Σύμβολοείναι οποιοσδήποτε χαρακτήρας, συμπεριλαμβανομένου ενός γράμματος, ενός αριθμού ή ενός σημείου στίξης.

    Αλφάβητο- ένα πεπερασμένο σύνολο συμβόλων που χρησιμοποιούνται για την κωδικοποίηση πληροφοριών. Για παράδειγμα, το ρωσικό αλφάβητο περιέχει 33 γράμματα από το Α έως το Ω. Ωστόσο, αυτοί οι τριάντα τρεις χαρακτήρες συνήθως δεν είναι αρκετοί για τη σύνταξη μηνυμάτων, επομένως συμπληρώνονται με χαρακτήρα διαστήματος, τελεία, κόμμα και άλλους χαρακτήρες. Το αραβικό αλφάβητο είναι τα σύμβολα 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Αυτό το αλφάβητο περιέχει 10 χαρακτήρες και μπορεί να χρησιμοποιηθεί για την εγγραφή οποιουδήποτε φυσικού αριθμού. Οποιοδήποτε μήνυμα μπορεί επίσης να γραφτεί χρησιμοποιώντας το δυαδικό αλφάβητο, δηλαδή χρησιμοποιώντας μόνο μηδενικά και ένα.

    Το μήνυμα που λαμβάνεται μετά τον μετασχηματισμό με χρήση οποιουδήποτε κρυπτογράφησης καλείται κρυπτογραφημένο μήνυμα(κλειστό κείμενο, κρυπτόγραμμα). Στην ξένη βιβλιογραφία, ο όρος χρησιμοποιείται για κλειστό κείμενο κρυπτογραφημένο κείμενο.

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

    Κλειδί– πληροφορίες απαραίτητες για κρυπτογράφηση και αποκρυπτογράφηση μηνυμάτων.

    Από την άποψη της ρωσικής γλώσσας, οι όροι "αποκρυπτογράφηση" και "αποκρυπτογράφηση" είναι συνώνυμοι. Ωστόσο, σε έργα κρυπτογραφίας των τελευταίων δεκαετιών, αυτές οι λέξεις διακρίνονται συχνά. Θα υποθέσουμε ότι οι όροι «αποκρυπτογράφηση» και «αποκρυπτογράφηση» δεν είναι συνώνυμοι. Ας υποθέσουμε ότι ο νόμιμος παραλήπτης του μηνύματος (αυτός που γνωρίζει το κλειδί) το αποκρυπτογραφεί και το άτομο στο οποίο δεν προορίζεται το μήνυμα κάνει την αποκρυπτογράφηση, προσπαθώντας να κατανοήσει το νόημά του.

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

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

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

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

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

    3.5.3 Μοντέλα και μέθοδοι κρυπτογράφησης/αποκρυπτογράφησης διακριτών μηνυμάτων

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

    Ένα μαθηματικό μοντέλο ενός διακριτού συστήματος κρυπτογράφησης/αποκρυπτογράφησης μηνυμάτων είναι ένα ζεύγος συναρτήσεων

    E = f(M,K w), M = g(E,K d),

    που μετατρέπουν το μήνυμα M σε κρυπτογράφημα E χρησιμοποιώντας το κλειδί κρυπτογράφησης K w και, αντιστρόφως, το κρυπτόγραμμα E σε μήνυμα M χρησιμοποιώντας το κλειδί αποκρυπτογράφησης K d.

    · Οι συναρτήσεις f(M, Kw) και g(E, Kd) με γνωστά ορίσματα υπολογίζονται απλώς.

    · Η συνάρτηση g(E,?) με άγνωστο κλειδί Kd είναι δύσκολο να υπολογιστεί.

    Υποτίθεται ότι το κλειδί αποκρυπτογράφησης K d είναι άγνωστο στους παράνομους χρήστες, αν και μπορεί να γνωρίζουν τις συναρτήσεις f και g, καθώς και το κλειδί κρυπτογράφησης K sh, εάν δεν συμπίπτει με το κλειδί K d η λεγόμενη αρχή Kaziski.

    Είναι απαραίτητο να γίνει διάκριση μεταξύ τριών κύριων τύπων επιθέσεων στο κρυπτοσύστημα:

    · μόνο με γνωστό κρυπτόγραμμα Ε.

    · δίνεται ένα γνωστό κρυπτογράφημα Ε και ένα γνωστό μήνυμα M, το οποίο αντιστοιχεί σε ένα συγκεκριμένο τμήμα του κρυπτογράμματος που λαμβάνεται χρησιμοποιώντας το ίδιο κλειδί (επίθεση με ένα μερικώς γνωστό ανοιχτό μήνυμα).

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

    Τα σύγχρονα κρυπτοσυστήματα θεωρούνται ισχυρά εάν είναι ανθεκτικά και στους τρεις τύπους επιθέσεων.

    Εάν το κλειδί κρυπτογράφησης είναι ίσο με το κλειδί αποκρυπτογράφησης, π.χ.

    K w = K d = K

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

    Εάν το Ksh δεν ισούται με Kd, τότε το σύστημα κρυπτογράφησης ονομάζεται ασύμμετρο (δύο κλειδιών). Σε αυτήν την περίπτωση, το κλειδί Ksh παραδίδεται στο σημείο κρυπτογράφησης και το κλειδί Kd παραδίδεται στο σημείο αποκρυπτογράφησης. Και τα δύο κλειδιά θα πρέπει προφανώς να συνδέονται με μια λειτουργική εξάρτηση K d = j(K w), αλλά έτσι ώστε χρησιμοποιώντας το γνωστό κλειδί κρυπτογράφησης K sh να είναι αδύνατο να ανακτηθεί το κλειδί αποκρυπτογράφησης K d. Αυτό σημαίνει ότι για ένα ασύμμετρο σύστημα κρυπτογράφησης j () θα πρέπει να είναι δύσκολη υπολογίσιμη συνάρτηση. Σε ένα τέτοιο σύστημα, είναι δυνατό να διανεμηθούν κρυφά μόνο τα κλειδιά αποκρυπτογράφησης μεταξύ νόμιμων χρηστών και να δημοσιοποιηθούν τα κλειδιά κρυπτογράφησης, ακόμη και για δημοσίευση. Επομένως, το εν λόγω κρυπτοσύστημα ονομάζεται σύστημα δημόσιου κλειδιού.

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

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

    Από την άλλη, μεταξύ των κρυπτογράφησης της συγκεκριμένης ομάδας υπάρχει το μοναδικό σχήμα κρυπτογράφησης στον κόσμο που έχει απόλυτη θεωρητική ισχύ. Όλα τα άλλα μπορούν να αποκρυπτογραφηθούν τουλάχιστον κατ' αρχήν. Ένα τέτοιο σχήμα είναι μια κανονική κρυπτογράφηση (για παράδειγμα, μια λειτουργία XOR) με ένα κλειδί του οποίου το μήκος είναι ίσο με το μήκος του μηνύματος. Σε αυτήν την περίπτωση, το κλειδί θα πρέπει να χρησιμοποιείται μόνο μία φορά. Οποιεσδήποτε προσπάθειες αποκρυπτογράφησης ενός τέτοιου μηνύματος είναι άχρηστες, ακόμη και αν υπάρχουν εκ των προτέρων πληροφορίες για το κείμενο του μηνύματος. Επιλέγοντας ένα κλειδί, μπορείτε να λάβετε οποιοδήποτε μήνυμα ως αποτέλεσμα.

    Οι κρυπτογράφηση δημόσιου κλειδιού υποδηλώνουν την παρουσία δύο κλειδιών - ενός δημόσιου και ενός ιδιωτικού. Το ένα χρησιμοποιείται για κρυπτογράφηση, το άλλο για αποκρυπτογράφηση μηνυμάτων. Το δημόσιο κλειδί δημοσιεύεται - τίθεται υπόψη όλων, ενώ το μυστικό κλειδί διατηρείται από τον κάτοχό του και είναι το κλειδί για το απόρρητο των μηνυμάτων. Η ουσία της μεθόδου είναι ότι ό,τι κρυπτογραφείται χρησιμοποιώντας το μυστικό κλειδί μπορεί να αποκρυπτογραφηθεί μόνο χρησιμοποιώντας το δημόσιο κλειδί και αντίστροφα. Αυτά τα κλειδιά δημιουργούνται σε ζεύγη και έχουν αντιστοιχία ένα προς ένα μεταξύ τους. Επιπλέον, είναι αδύνατο να υπολογιστεί ένα άλλο από ένα κλειδί.

    Χαρακτηριστικό στοιχείοκρυπτογράφηση αυτού του τύπου, που τους διακρίνει ευνοϊκά από τους κρυπτογράφησης με μυστικό κλειδί, είναι ότι το μυστικό κλειδί εδώ είναι γνωστό μόνο σε ένα άτομο, ενώ στο πρώτο σχήμα πρέπει να είναι γνωστό από τουλάχιστονδύο. Αυτό δίνει τα ακόλουθα πλεονεκτήματα:

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

    «ό,τι ξέρουν οι δύο, ξέρει και ένα γουρούνι» - παρουσία ο μοναδικόςένα αντίγραφο του κλειδιού μειώνει την πιθανότητα απώλειας του και σας επιτρέπει να ορίσετε σαφή προσωπική ευθύνη για τη διατήρηση του μυστικού.

    Η παρουσία δύο κλειδιών επιτρέπει τη χρήση αυτού του συστήματος κρυπτογράφησης σε δύο τρόπους - μυστική επικοινωνία και ψηφιακή υπογραφή.

    Το απλούστερο παράδειγμα των υπό εξέταση αλγορίθμων κρυπτογράφησης είναι ο αλγόριθμος RSA. Όλοι οι άλλοι αλγόριθμοι αυτής της κατηγορίας δεν διαφέρουν θεμελιωδώς από αυτήν. Μπορεί να ειπωθεί ότι, σε γενικές γραμμές, ο RSA είναι ο μόνος αλγόριθμος δημόσιου κλειδιού.

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

    Πριν από την αποστολή δεδομένων μέσω μιας γραμμής επικοινωνίας ή πριν την αποθήκευσή τους, υπόκεινται σε κρυπτογράφηση?
    - για την επαναφορά των αρχικών δεδομένων από τα κρυπτογραφημένα δεδομένα, εφαρμόζεται μια διαδικασία σε αυτά αποκρυπτογράφηση.

    Το ακόλουθο σχήμα 1 δείχνει το σχήμα μετατροπής δεδομένων κατά την κρυπτογράφηση:

    Εικ.1. Σχέδιο μετατροπής δεδομένων για κρυπτογράφηση.

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

    Το κρυπτογραφημένο μήνυμα περιέχει πολύ πλεονασμό.
    - η διαδικασία κρυπτογράφησης «αναμιγνύει» καλά τις δομικές μονάδες του μηνύματος (bits, σύμβολα κ.λπ.).

    Δεδομένου ότι αυτές οι προϋποθέσεις δεν πληρούνται πάντα, στη γενική περίπτωση η κρυπτογράφηση δεν αποτελεί μέσο απομίμηση προστασίας- προστασία από την επιβολή ψευδών δεδομένων. Ένα ή περισσότερα μελλοντικά τεύχη θα αφιερωθούν σε αυτό το πρόβλημα, αλλά προς το παρόν θα το «ξεχάσουμε» για λίγο.

    Ποιες προϋποθέσεις πρέπει να πληροί ένας κρυπτογράφηση; Λοιπόν, πρώτα απ 'όλα, η διαδικασία αποκρυπτογράφησης πρέπει πάντα να αποκαθίσταται ανοιχτό μήνυμαστην αρχική του μορφή. Με άλλα λόγια, για κάθε έγκυρο μήνυμα ΤΟι μετασχηματισμοί κωδικοποίησης και αποκρυπτογράφησης πρέπει να πληρούν την ακόλουθη ιδιότητα:

    T = D(E(T))

    Η δεύτερη προϋπόθεση που πρέπει να πληροί ένας κρυπτογράφηση είναι: πρέπει να... κρυπτογράφησηδεδομένα, καθιστώντας τα δηλαδή ακατανόητα για τους αμύητους.

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

    Το απεσταλμένο μήνυμα πριν φτάσει στον παραλήπτη είναι αβέβαιο για τον ίδιο και, φυσικά, για τον εισβολέα - αν δεν ήταν έτσι, τότε δεν θα είχε κανένα νόημα να το σταλεί. Αφήστε να είναι δυνατή η αποστολή μηνυμάτων T1,T2,...,Tnμε πιθανότητα p1, p2,..., pnαντίστοιχα. Μετά μετρήστε αβεβαιότητα του μηνύματοςΓια όλους όσους έχουν αυτές τις a priori πληροφορίες, η τιμή της μαθηματικής προσδοκίας του λογάριθμου της πιθανότητας ενός μηνύματος, που λαμβάνεται με το σύμβολο μείον, μπορεί να εξυπηρετήσει. για κάποιους λόγους είναι βολικό να επιλέξετε 2 ως βάση του λογαρίθμου:

    Αυτή η ποσότητα έχει μια απολύτως κατανοητή φυσική σημασία: τον αριθμό των bits πληροφοριών που απαραίτητημεταφορά κατά μέσο όρο για την πλήρη εξάλειψη της αβεβαιότητας. Εάν δεν υπάρχουν εκ των προτέρων πληροφορίες για το μήνυμα εκτός από το μέγεθος των N bit, τότε όλες οι πιθανές από τις 2 N επιλογές θεωρούνται εξίσου πιθανές και τότε η αβεβαιότητα του μηνύματος είναι ίση με το μέγεθός του:

    H( Τ ) = -2 Ν ·2 - Ν ημερολόγιο 2 (2 - Ν ) = Ν = | Τ |,

    όπου μέσω | Χ| υποδεικνύει το μέγεθος του μπλοκ δεδομένων Χσε κομμάτια. Τι γίνεται αν τίποτα δεν είναι γνωστό για το κείμενο πηγής, ούτε καν το μέγεθός του; Σε αυτή την περίπτωση, εξακολουθεί να είναι απαραίτητο να υιοθετηθεί κάποιο είδος μοντέλου διανομής ως βάση. Κατά κανόνα, στην πραγματικότητα τέτοιες δυσκολίες δεν προκύπτουν, δεδομένου ότι πολλοί πολύ ισχυροί κρυπτογράφηση<не считают нужным>αποκρύψτε το μέγεθος του κρυπτογραφημένου μηνύματος, καθώς πραγματικά σχεδόν ποτέ δεν υπάρχει ειδική ανάγκη για κάτι τέτοιο και αυτό το χαρακτηριστικό θεωρείται a priori ότι είναι γνωστό στον εισβολέα. Όπου αυτό το μέγεθος πρέπει πραγματικά να κρυφτεί, όλα τα μηνύματα μετατρέπονται σε συστοιχίες δεδομένων του ίδιου μήκους πριν από την κρυπτογράφηση, και έχουμε πάλι την κατάσταση που συζητήθηκε παραπάνω.

    Μετά την υποκλοπή του κρυπτογραφημένου κειμένου, αυτή η τιμή, φυσικά, μπορεί να αλλάξει, τώρα γίνεται εκ των υστέρων ("μετα-πειραματική") υπό όρους αβεβαιότητα - η συνθήκη εδώ είναι το υποκλαπόμενο κρυπτογραφημένο μήνυμα T " . Τώρα δίνεται από τον ακόλουθο τύπο:

    ,

    όπου μέσω p (T i | T")υποδεικνύει την πιθανότητα να είναι το αρχικό μήνυμα T iυπό την προϋπόθεση ότι το αποτέλεσμα της κρυπτογράφησης του είναι Τ".

    Ενας από τα πιο σημαντικά χαρακτηριστικάΗ ποιότητα ενός κρυπτογράφησης καθορίζεται από την ποσότητα πληροφοριών σχετικά με το κείμενο προέλευσης που μπορεί να εξαγάγει ένας εισβολέας από το κρυπτογραφημένο κείμενο που έχει υποκλαπεί - βρίσκεται ως η διαφορά μεταξύ της εκ των προτέρων και της εκ των υστέρων αβεβαιότητας του αρχικού μηνύματος:

    Ι = H (Τ ) - H (Τ | Τ" ).

    Αυτή η ποσότητα είναι πάντα μη αρνητική. Ο δείκτης εδώ είναι πόσο θα μειωθεί η αβεβαιότητα του κειμένου πηγής - είναι σαφές ότι δεν μπορεί να αυξηθεί - κατά τη λήψη του αντίστοιχου κρυπτογραφημένου κειμένου σε σύγκριση με την εκ των προτέρων αβεβαιότητα και εάν θα γίνει μικρότερη από την ελάχιστη αποδεκτή τιμή.

    Στην καλύτερη περίπτωση για τους προγραμματιστές κρυπτογράφησης, και οι δύο αυτές αβεβαιότητες είναι ίσες:

    H( Τ | Τ" ) = H (Τ ),

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

    Φυσικά, το κύριο ερώτημα που ενδιέφερε τους κρυπτογράφους ήταν αν υπάρχουν στην πράξη απολύτως ισχυροί κρυπτογραφικοί δείκτες. Ήταν διαισθητικά σαφές στους ειδικούς ότι υπάρχουν, και ένα παράδειγμα τέτοιου κρυπτογράφησης δόθηκε από τον Vernam περισσότερες από δύο δεκαετίες πριν ένας από τους ιδρυτές της θεωρίας της πληροφορίας, ο K. Shannon, αποδείξει επίσημα την ύπαρξή τους. Σε αυτή την απόδειξη, ο Shannon απέκτησε επίσης την απαραίτητη προϋπόθεση για την απόλυτη ισχύ ενός κρυπτογράφησης:

    Προκειμένου ένας κρυπτογράφηση να είναι απολύτως ισχυρός, είναι απαραίτητο η αβεβαιότητα του αλγόριθμου κρυπτογράφησης να μην είναι μικρότερη από την αβεβαιότητα του κρυπτογραφημένου μηνύματος:

    Η αβεβαιότητα ενός αλγορίθμου κρυπτογράφησης ορίζεται ακριβώς με τον ίδιο τρόπο όπως η αβεβαιότητα ενός μηνύματος - η μαθηματική προσδοκία του δυαδικού λογαρίθμου της πιθανότητας χρήσης του αλγορίθμου με αρνητικό πρόσημο - και έχει νόημα μόνο εάν ένα σύνολο πιθανών αλγορίθμων είναι ορίζεται και δίνεται η πιθανότητα χρήσης καθενός από αυτά. Η ισχύς των κρυπτογράφησης βασίζεται στη μυστικότητα, δηλαδή στην αβεβαιότητα για έναν εισβολέα του αλγόριθμου αποκρυπτογράφησης - αν δεν ήταν έτσι, ο καθένας θα μπορούσε να αποκρυπτογραφήσει τα κρυπτογραφημένα δεδομένα. Όσο λιγότερα γνωρίζει ο εισβολέας για τον κρυπτογράφηση, τόσο λιγότερο πιθανό είναι το μήνυμα να αποκρυπτογραφηθεί με επιτυχία. Ας εξηγήσουμε τι έχει ειπωθεί με ένα παράδειγμα: αφήστε μια σύντομη κρυπτογράφηση 12-bit να υποκλαπεί, με το ακόλουθο περιεχόμενο:

    1 0 0 1 0 1 1 1 0 1 0 1

    Για απλότητα, θα υποθέσουμε ότι το αρχικό μήνυμα έχει το ίδιο μήκος. Εάν ο εισβολέας δεν έχει προηγούμενη γνώση του κρυπτογραφημένου μηνύματος, καθεμία από τις 2 12 αρχικές επιλογές είναι εξίσου πιθανή γι 'αυτόν, και επομένως η πιθανότητα σωστής αναγνώρισης του αρχικού μηνύματος με απλή εικασία είναι 2 -12 . Τώρα ας υποθέσουμε ότι ο εισβολέας γνωρίζει εκ των προτέρων ότι η κρυπτογράφηση γίνεται επιβάλλοντας την ίδια μάσκα 4 bit σε κάθε ομάδα 4 bit του μηνύματος χρησιμοποιώντας τη λειτουργία bitwise αποκλειστική ή.Προφανώς, είναι δυνατές 16 = 2 4 διαφορετικές επιλογές bitmask, επομένως είναι δυνατές 16 διαφορετικές έννοιεςκείμενο πηγής:

    μάσκα πηγής κειμένου 0000 100101110101 0001 100001100100 0010 101101010110 ..... 1111 011010001010

    Έτσι, τώρα η πιθανότητα να μαντέψετε σωστά το κείμενο πηγής είναι 1/16 - η γνώση των ιδιαιτεροτήτων της μεθόδου κρυπτογράφησης που χρησιμοποιήθηκε την αύξησε κατά 256 φορές. αυτό υπονοεί ενδιαφέρον συμπέρασμα: τόσο μεγαλύτερη είναι η αβεβαιότητα στον μετασχηματισμό κρυπτογράφησης για ξένος, όσο πιο μακριά είναι από τη λύση στην κρυπτογράφηση, τόσο πιο αξιόπιστη είναι η κρυπτογράφηση. Ένας κρυπτογράφηση που είναι εντελώς άγνωστος στον εισβολέα

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

    Το πιο ενδιαφέρον είναι ότι αυτό είναι αλήθεια, και δεν υπάρχει παράδοξο εδώ. Ωστόσο, στην πράξη μπορεί να είναι δύσκολο να διατηρηθεί πλήρης αβεβαιότητα σχετικά με τον κρυπτογράφηση για έναν εισβολέα - μπορεί να λάβει πληροφορίες σχετικά με τον κρυπτογράφηση με τους ακόλουθους τρόπους:

    Αναλύστε ένα κρυπτογραφημένο μήνυμα που έχει υποκλαπεί - σχεδόν πάντα έχει στη διάθεσή του ένα συγκεκριμένο σύνολο κρυπτογραφημένων κειμένων, για ορισμένα από αυτά μπορεί να υπάρχουν αντίστοιχα απλά κείμενα ή ακόμη και η δυνατότητα λήψης κρυπτογραφημένου κειμένου για οποιοδήποτε προκαθορισμένο απλό κείμενο.

    Ένας εισβολέας μπορεί να έχει a priori πληροφορίες σχετικά με τον κρυπτογράφηση που λαμβάνονται από διάφορες πηγές - για παράδειγμα, στο παρελθόν θα μπορούσε να ήταν μια εντολή κρυπτογράφησης ή ένα προσχέδιο με ενδιάμεσα αποτελέσματα για ένα συγκεκριμένο κείμενο, προς το παρόν θα μπορούσε να είναι ένα τμήμα κωδικός υπολογιστήή ένα τσιπ που εφαρμόζει κρυπτογράφηση σε υλικό.

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

    1. Η ανάλυση κρυπτογραφημένων δεδομένων δεν πρέπει να παρέχει στον εισβολέα καμία πληροφορία σχετικά με την εσωτερική δομή του κρυπτογραφήματος. Δεν πρέπει να ανιχνεύονται στατιστικά μοτίβα στο κρυπτογραφημένο κείμενο - για παράδειγμα, οι στατιστικές δοκιμές δεν πρέπει να αποκαλύπτουν εξαρτήσεις ή αποκλίσεις από την εξίσου πιθανή κατανομή των bit (συμβόλων) του κρυπτογραφημένου κειμένου στα κρυπτογραφημένα δεδομένα.

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

    Η δεύτερη συνθήκη μας οδηγεί στην αρχή Kirchhoff (σε μεταφράσεις από τα αγγλικά μερικές φορές τον λένε Kerkhoff, κάτι που δεν είναι απολύτως αληθές, αφού είναι Ολλανδός, όχι Άγγλος και η μεταγραφή του επωνύμου του θα πρέπει να είναι γερμανική, όχι αγγλική) , το οποίο είναι πλέον άνευ όρων αποδεκτό στην τέχνη της κατασκευής ισχυρών κρυπτογράφησης. Αυτή η αρχή είναι η εξής: ένας κρυπτογράφηση ορίζεται ως ένας παραμετροποιημένος αλγόριθμος που αποτελείται από ένα διαδικαστικό μέρος, δηλαδή μια περιγραφή του ποιες ακριβώς λειτουργίες και με ποια σειρά εκτελούνται στα κρυπτογραφημένα δεδομένα και των παραμέτρων - διάφορα στοιχεία δεδομένων που χρησιμοποιούνται σε μετασχηματισμούς. Η αποκάλυψη μόνο του διαδικαστικού μέρους δεν θα πρέπει να οδηγεί σε αύξηση της πιθανότητας επιτυχούς αποκρυπτογράφησης του μηνύματος από έναν εισβολέα πέρα ​​από το αποδεκτό όριο. Για το λόγο αυτό, αλλά και λόγω του γεγονότος ότι ο αποχαρακτηρισμός αυτού του τμήματος είναι αρκετά πιθανός από μόνος του, δεν έχει ιδιαίτερο νόημα να το κρατήσουμε μυστικό. Κάποιο μέρος των παραμέτρων του αλγορίθμου διατηρείται μυστικό, το οποίο καλείται κλειδί κρυπτογράφησης:

    Τ" = Ε (Τ )= Ε.Κ (Τ ),

    Εδώ κ - κλειδί κρυπτογράφησης.

    Η χρήση της αρχής Kirchhoff μας επιτρέπει να αποκτήσουμε τα ακόλουθα πλεονεκτήματαστην κατασκευή κρυπτογράφησης:

    Η αποκάλυψη ενός συγκεκριμένου κρυπτογράφησης (αλγόριθμος και κλειδί) δεν οδηγεί στην ανάγκη να αντικατασταθεί πλήρως η υλοποίηση ολόκληρου του αλγορίθμου, αρκεί να αντικατασταθεί μόνο το παραβιασμένο κλειδί.

    Τα κλειδιά μπορούν να αποξενωθούν από τα υπόλοιπα στοιχεία του συστήματος κρυπτογράφησης - αποθηκευμένα ξεχωριστά από την εφαρμογή του αλγορίθμου σε πιο ασφαλές μέρος και φορτωμένα στον κρυπτογραφητή μόνο όπως απαιτείται και μόνο για τη διάρκεια της κρυπτογράφησης - αυτό αυξάνει σημαντικά την αξιοπιστία του το σύστημα ως σύνολο·

    Γίνεται δυνατός ο ακριβής υπολογισμός του "βαθμού αβεβαιότητας" του αλγόριθμου κρυπτογράφησης - είναι απλώς ίσος με την αβεβαιότητα του κλειδιού που χρησιμοποιείται:

    H ( Ε Κ ) = H (κ ).

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

    Ας επιστρέψουμε στην απαραίτητη προϋπόθεση για την απόλυτη ισχύ ενός κρυπτογράφησης για κρυπτογράφηση που έχουν κατασκευαστεί σύμφωνα με την αρχή Kirchhoff. Υποθέτοντας ότι δεν υπάρχουν a priori δεδομένα για το κρυπτογραφημένο κείμενο εκτός από το μήκος του, λαμβάνουμε ότι η αβεβαιότητα του κειμένου προέλευσης είναι ίση με το μήκος του, εκφραζόμενη σε bit:

    H( Τ ) = | Τ |.

    Η μέγιστη δυνατή αβεβαιότητα ενός μπλοκ δεδομένων σταθερού μεγέθους επιτυγχάνεται όταν όλες οι πιθανές τιμές αυτού του μπλοκ είναι εξίσου πιθανές - οπότε είναι ίση με το μέγεθος του μπλοκ σε bit. Άρα η βασική αβεβαιότητα κ δεν υπερβαίνει το μήκος του:

    Λαμβάνοντας υπόψη τα παραπάνω, λαμβάνουμε την απαραίτητη προϋπόθεση για απόλυτη αντοχή για κρυπτογράφηση που ικανοποιούν την αρχή Kirchhoff:

    Προκειμένου ένας κρυπτογράφηση που έχει κατασκευαστεί σύμφωνα με την αρχή Kirchhoff να είναι απολύτως ασφαλής, είναι απαραίτητο το μέγεθος του κλειδιού που χρησιμοποιείται για την κρυπτογράφηση να μην είναι μικρότερο μέγεθοςκρυπτογραφημένα δεδομένα,

    Η ακριβής ισότητα είναι δυνατή μόνο εάν όλες οι πιθανές τιμές κλειδιών είναι εξίσου πιθανές, κάτι που ισοδυναμεί με την προϋπόθεση ότι τα bits των κλειδιών είναι εξίσου πιθανά και στατιστικά ανεξάρτητα το ένα από το άλλο.

    Ένα παράδειγμα ενός απολύτως ισχυρού κρυπτογράφησης είναι το γάμα Vernam μιας χρήσης - μια επικάλυψη σε ανοιχτά δεδομένα ( Τ) κλειδί ( κ) ίδιου μεγέθους, που αποτελείται από στατιστικά ανεξάρτητα bit που λαμβάνουν πιθανές τιμές με την ίδια πιθανότητα, χρησιμοποιώντας κάποια δυαδική λειτουργία °:

    Η λειτουργία που χρησιμοποιείται για την επιβολή γάμμα πρέπει να πληροί ορισμένες προϋποθέσεις, οι οποίες μπορούν να συνοψιστούν ως εξής: η εξίσωση κρυπτογράφησης πρέπει να είναι μοναδικά επιλύσιμη σε σχέση με το απλό κείμενο δεδομένων των γνωστών κρυπτογραφημένων δεδομένων και του κλειδιού, και μοναδικά επιλύσιμη σε σχέση με το κλειδί δεδομένου του γνωστού απλό κείμενο και κρυπτογραφημένα δεδομένα. Εάν μια λειτουργία ικανοποιεί αυτήν την ιδιότητα, είναι κατάλληλη. Μεταξύ των κατάλληλων λειτουργιών, δεν υπάρχει καλύτερη προσαρμογή και χειρότερη προσαρμογή από την άποψη της δύναμης της κρυπτογράφησης, είναι όλες οι ίδιες - η έννοια της "τελειότητας" δεν γνωρίζει συγκριτικούς βαθμούς, είτε υπάρχει είτε αυτή. δεν. Για το λόγο αυτό, για πρακτική χρήση, συνήθως επιλέγεται η λειτουργία που είναι πιο βολική στην εφαρμογή - bitwise sum modulo 2ή αποκλειστικό bitwise OR, γιατί είναι:

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

    Είναι το αντίστροφο του εαυτού του, επομένως η ίδια διαδικασία χρησιμοποιείται για την κρυπτογράφηση και την αποκρυπτογράφηση.

    Ας επιστρέψουμε στο ζήτημα της απόλυτης ισχύος των κρυπτογράφησης: όπως αναφέρθηκε προηγουμένως, οι απολύτως ισχυροί κρυπτογράφηση απαιτούν τη χρήση ενός κλειδιού όχι μικρότερου σε μέγεθος από τα δεδομένα που κρυπτογραφούνται. Και ο αποστολέας και ο παραλήπτης πρέπει να έχουν αυτό το κλειδί, δηλαδή να τους παραδοθεί πρώτα και για αυτό απαιτείται ασφαλές κανάλι. Έτσι, μαζί με ένα δυνητικά απροστάτευτο κανάλι για τη μετάδοση κρυπτογραφημένων δεδομένων, πρέπει να υπάρχει ένα ασφαλές κανάλι για τη μετάδοση ενός κλειδιού ίδιου μεγέθους. Αυτό δεν είναι πάντα αποδεκτό για οικονομικούς λόγους, επομένως τέτοια συστήματα χρησιμοποιούνται μόνο σε εξαιρετικές περιπτώσεις για την προστασία πληροφοριών ιδιαίτερης αξίας. Η συντριπτική πλειοψηφία των πραγματικών κρυπτογραφημένων συστημάτων επικοινωνίας χρησιμοποιεί αλγόριθμους που δεν είναι απολύτως ασφαλείς και επομένως καλούνται ατελείς κρυπτογράφηση.

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

    Η άποψη ότι ένα μήνυμα κρυπτογραφημένο με ατελές κρυπτογράφηση μπορεί πάντα να αποκρυπτογραφηθεί αναμφισβήτητα εάν ο κρυπτοαναλυτής έχει επαρκές κρυπτογραφημένο κείμενο και απεριόριστες υπολογιστικές δυνατότητες είναι μια υπερβολικά χονδροειδής απλοποίηση και είναι γενικά εσφαλμένη.

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

    Εάν το κλειδί είναι 0, τα bit του αρχικού κειμένου με μονό αριθμό αντιστρέφονται, αριθμημένα από αριστερά προς τα δεξιά.

    Εάν το κλειδί είναι 1, τα ζυγά αριθμημένα bits του κειμένου προέλευσης αντιστρέφονται.

    Έτσι, E 0 (01) = 11, E 1 (01) = 00. Προφανώς, η κρυπτογράφηση μας δεν είναι απολύτως ασφαλής. Ας υποθέσουμε ότι η κρυπτογράφηση "10" υποκλαπεί. Ποιο είναι το κείμενο πηγής; Είναι σαφές ότι μπορεί να είναι είτε 00 είτε 11 ανάλογα με την τιμή του κλειδιού και είναι αδύνατο να προσδιοριστεί με σαφήνεια αυτό, κάτι που έπρεπε να αποδειχθεί. Για πιο σοβαρούς κρυπτογράφους, ο κρυπτοαναλυτής θα έχει απλώς περισσότερες "επιλογές" απλού κειμένου και καμία ένδειξη για το ποια να επιλέξει.

    Έτσι, το ζήτημα της δυνατότητας μονοσήμαντης αποκρυπτογράφησης ενός μηνύματος κρυπτογραφημένου με ατελές κρυπτογράφηση παραμένει ανοιχτό. Πότε είναι δυνατή μια τέτοια αποκρυπτογράφηση; Ο Shannon διερεύνησε αυτό το θέμα λεπτομερώς στα έργα του. Για ανάλυση, εισήγαγε τα ακόλουθα χαρακτηριστικά της κρυπτογράφησης για να απλοποιήσει την παρουσίαση, παρουσιάζονται εδώ για την αναπαράσταση bit των δεδομένων:

    1. Συνάρτηση αναξιοπιστίας κλειδιού - αβεβαιότητα κλειδιού με γνωστά n bit κρυπτογραφημένου κειμένου:

    στ ( n ) = H (κ | Τ" ), όπου | Τ" | = n .

    Είναι ξεκάθαρο ότι φά(n)μπορεί να μην καθορίζεται για όλους n.

    2. Μοναδική απόσταση του κρυπτογράφησης - αυτή η τιμή n, στην οποία η συνάρτηση αναξιοπιστίας, δηλαδή η αβεβαιότητα του κλειδιού, πλησιάζει 0 .

    U(E) = n, Οπου n-το ελάχιστο από αυτά για τα οποία

    Ο Shannon έδειξε ότι και οι δύο ποσότητες που ορίζονται παραπάνω εξαρτώνται από τον πλεονασμό του απλού κειμένου, με την απόσταση μοναδικότητας ευθέως ανάλογη με το μέγεθος του κλειδιού και αντιστρόφως ανάλογη με τον πλεονασμό:

    ,

    όπου ο πλεονασμός του κειμένου πηγής R καθορίζεται από την ακόλουθη σχέση:

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

    H( Τ ) = H (κ ) = | κ |

    Πλήρης απουσίαΟ πλεονασμός στο κείμενο προέλευσης σημαίνει ότι ανεξάρτητα από το κλειδί που πάρουμε, μετά την αποκρυπτογράφηση θα λάβουμε "σωστά" δεδομένα πηγής και απλά δεν θα υπάρχει λόγος να προτιμήσουμε τη μία επιλογή από την άλλη. Από αυτό, συγκεκριμένα, προκύπτει ότι στην πραγματική πράξη, πριν από την κρυπτογράφηση, είναι πολύ χρήσιμο να "συμπιέσετε" τα δεδομένα με κάποιο είδος αρχειοθέτησης. Φυσικά, ο πλήρης πλεονασμός του κειμένου προέλευσης δεν είναι εφικτός σε αυτήν την περίπτωση, αλλά μια τέτοια «συμπίεση» θα περιπλέξει πολύ την κρυπτανάλυση που βασίζεται μόνο στο κρυπτογραφημένο κείμενο.

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

    (Συνεχίζεται)

    Σεργκέι Πανασένκο,
    Επικεφαλής του τμήματος ανάπτυξης λογισμικού στην Ankad,
    [email προστατευμένο]

    ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

    C = Ek1(M)

    M" = Dk2(C),

    όπου το M (μήνυμα) είναι ανοιχτή πληροφορία (στη βιβλιογραφία για την ασφάλεια των πληροφοριών ονομάζεται συχνά «κείμενο πηγής»).
    C (κρυπτογραφημένο κείμενο) - το κρυπτογραφημένο κείμενο (ή κρυπτογράφημα) που λαμβάνεται ως αποτέλεσμα κρυπτογράφησης.
    E (κρυπτογράφηση) - μια συνάρτηση κρυπτογράφησης που εκτελεί κρυπτογραφικούς μετασχηματισμούς στο κείμενο προέλευσης.
    k1 (κλειδί) - παράμετρος της συνάρτησης E, που ονομάζεται κλειδί κρυπτογράφησης.
    M" - πληροφορίες που ελήφθησαν ως αποτέλεσμα αποκρυπτογράφησης.
    D (αποκρυπτογράφηση) - συνάρτηση αποκρυπτογράφησης που εκτελεί αντίστροφους κρυπτογραφικούς μετασχηματισμούς στο κρυπτογραφημένο κείμενο.
    Το k2 είναι το κλειδί που χρησιμοποιείται για την αποκρυπτογράφηση πληροφοριών.

    Η έννοια του «κλειδιού» στο πρότυπο GOST 28147-89 (αλγόριθμος συμμετρικής κρυπτογράφησης) ορίζεται ως εξής: «μια συγκεκριμένη μυστική κατάσταση ορισμένων παραμέτρων ενός αλγορίθμου κρυπτογραφικού μετασχηματισμού, που εξασφαλίζει την επιλογή ενός μετασχηματισμού από ένα σύνολο πιθανών μετασχηματισμών για έναν δεδομένο αλγόριθμο." Με άλλα λόγια, το κλειδί είναι ένα μοναδικό στοιχείο με το οποίο μπορείτε να αλλάξετε τα αποτελέσματα του αλγόριθμου κρυπτογράφησης: το ίδιο κείμενο προέλευσης θα κρυπτογραφηθεί διαφορετικά όταν χρησιμοποιείτε διαφορετικά κλειδιά.

    Προκειμένου το αποτέλεσμα αποκρυπτογράφησης να ταιριάζει με το αρχικό μήνυμα (δηλαδή, για M" = M), πρέπει να πληρούνται δύο προϋποθέσεις ταυτόχρονα. Πρώτον, η συνάρτηση αποκρυπτογράφησης D πρέπει να ταιριάζει με τη συνάρτηση κρυπτογράφησης E. Δεύτερον, το κλειδί αποκρυπτογράφησης k2 πρέπει να ταιριάζει με την κρυπτογράφηση κλειδί k1.

    Εάν χρησιμοποιήθηκε κρυπτογραφικά ισχυρός αλγόριθμος κρυπτογράφησης για την κρυπτογράφηση, τότε ελλείψει του σωστού κλειδιού k2 είναι αδύνατο να ληφθεί M" = M. Η κρυπτογραφική ισχύς είναι το κύριο χαρακτηριστικό των αλγορίθμων κρυπτογράφησης και κυρίως υποδεικνύει τον βαθμό πολυπλοκότητας της απόκτησης του αρχικού κείμενο από κρυπτογραφημένο κείμενο χωρίς κλειδί k2.

    Οι αλγόριθμοι κρυπτογράφησης μπορούν να χωριστούν σε δύο κατηγορίες: συμμετρική και ασύμμετρη κρυπτογράφηση. Για το πρώτο, η αναλογία κλειδιών κρυπτογράφησης και αποκρυπτογράφησης ορίζεται ως k1 = k2 = k (δηλαδή, οι συναρτήσεις E και D χρησιμοποιούν το ίδιο κλειδί κρυπτογράφησης). Με την ασύμμετρη κρυπτογράφηση, το κλειδί κρυπτογράφησης k1 υπολογίζεται από το κλειδί k2 με τέτοιο τρόπο ώστε ο αντίστροφος μετασχηματισμός να είναι αδύνατος, για παράδειγμα, χρησιμοποιώντας τον τύπο k1 = ak2 mod p (a και p είναι οι παράμετροι του αλγορίθμου που χρησιμοποιείται).

    Συμμετρική κρυπτογράφηση

    Οι συμμετρικοί αλγόριθμοι κρυπτογράφησης χρονολογούνται από την αρχαιότητα: αυτή η μέθοδος απόκρυψης πληροφοριών χρησιμοποιήθηκε από τον Ρωμαίο αυτοκράτορα Γάιο Ιούλιο Καίσαρα τον 1ο αιώνα π.Χ. ε., και ο αλγόριθμος που εφηύρε είναι γνωστός ως «κρυπτοσύστημα του Καίσαρα».

    Επί του παρόντος, ο πιο γνωστός αλγόριθμος είναι ο συμμετρικός Κρυπτογράφηση DES(Πρότυπο κρυπτογράφησης δεδομένων), που αναπτύχθηκε το 1977. Μέχρι πρόσφατα, ήταν το «πρότυπο των ΗΠΑ» επειδή η κυβέρνηση αυτής της χώρας συνιστούσε τη χρήση του για την εφαρμογή διαφόρων συστημάτων κρυπτογράφησης δεδομένων. Παρά το γεγονός ότι το DES είχε αρχικά προγραμματιστεί να χρησιμοποιηθεί για όχι περισσότερο από 10-15 χρόνια, οι προσπάθειες αντικατάστασής του ξεκίνησαν μόλις το 1997.

    Δεν θα καλύψουμε λεπτομερώς το DES (σχεδόν όλα τα βιβλία της λίστας πρόσθετα υλικάΦΑΕ το Λεπτομερής περιγραφή), και ας στραφούμε σε πιο σύγχρονους αλγόριθμους κρυπτογράφησης. Αξίζει μόνο να σημειωθεί ότι ο κύριος λόγος για την αλλαγή του προτύπου κρυπτογράφησης είναι η σχετικά ασθενής κρυπτογραφική του ισχύς, ο λόγος για τον οποίο το μήκος του κλειδιού DES είναι μόνο 56 σημαντικά bit. Είναι γνωστό ότι κάθε ισχυρός αλγόριθμος κρυπτογράφησης μπορεί να σπάσει δοκιμάζοντας όλα τα πιθανά κλειδιά κρυπτογράφησης (η λεγόμενη επίθεση brute force). Είναι εύκολο να υπολογίσουμε ότι ένα σύμπλεγμα 1 εκατομμυρίου επεξεργαστών, καθένας από τους οποίους υπολογίζει 1 εκατομμύριο πλήκτρα ανά δευτερόλεπτο, θα ελέγξει 256 παραλλαγές πλήκτρων DES σε σχεδόν 20 ώρες και δεδομένου ότι μια τέτοια υπολογιστική ισχύς είναι αρκετά ρεαλιστική με τα σημερινά πρότυπα ότι ένα κλειδί 56-bit είναι πολύ σύντομο Και Αλγόριθμος DESπρέπει να αντικατασταθεί με ένα ισχυρότερο.

    Σήμερα, δύο σύγχρονοι ισχυροί αλγόριθμοι κρυπτογράφησης χρησιμοποιούνται όλο και περισσότερο: το εγχώριο πρότυπο GOST 28147-89 και το νέο πρότυπο κρυπτογράφησης των ΗΠΑ - AES ( Προηγμένη κρυπτογράφησηΠρότυπο).

    Πρότυπο GOST 28147-89

    Ο αλγόριθμος που ορίζεται από το GOST 28147-89 (Εικ. 1) έχει μήκος κλειδιού κρυπτογράφησης 256 bit. Κρυπτογραφεί πληροφορίες σε μπλοκ των 64 bit (τέτοιοι αλγόριθμοι ονομάζονται αλγόριθμοι μπλοκ), τα οποία στη συνέχεια χωρίζονται σε δύο υπομπλοκ των 32 bit (N1 και N2). Το υπομπλοκ N1 επεξεργάζεται με συγκεκριμένο τρόπο, μετά τον οποίο η τιμή του προστίθεται στην τιμή του υπομπλοκ N2 (η προσθήκη εκτελείται modulo 2, δηλ. λογική λειτουργία XOR - "exclusive or"), και στη συνέχεια τα υπομπλοκ ανταλλάσσονται. Αυτή η μεταμόρφωσηεκτελούνται συγκεκριμένο αριθμόφορές («γύροι»): 16 ή 32 ανάλογα με τον τρόπο λειτουργίας του αλγορίθμου. Σε κάθε γύρο εκτελούνται δύο επεμβάσεις.

    Το πρώτο είναι το κλειδί. Τα περιεχόμενα του υπομπλοκ N1 προστίθενται στο modulo 2 με το τμήμα 32 bit του κλειδιού Kx. Το πλήρες κλειδί κρυπτογράφησης αναπαρίσταται ως συνένωση δευτερευόντων κλειδιών 32 bit: K0, K1, K2, K3, K4, K5, K6, K7. Κατά τη διαδικασία κρυπτογράφησης, χρησιμοποιείται ένα από αυτά τα δευτερεύοντα κλειδιά, ανάλογα με τον στρογγυλό αριθμό και τον τρόπο λειτουργίας του αλγορίθμου.

    Η δεύτερη λειτουργία είναι η αντικατάσταση τραπεζιού. Μετά την πληκτρολόγηση, το υπομπλοκ N1 χωρίζεται σε 8 μέρη των 4 bit, η τιμή καθενός από τα οποία αντικαθίσταται σύμφωνα με τον πίνακα αντικατάστασης για αυτό το τμήμα του υπομπλοκ. Στη συνέχεια, το υπομπλοκ περιστρέφεται προς τα αριστερά κατά 11 bit.

    Αλλαγές πίνακα(Substitution box - S-box) χρησιμοποιούνται συχνά σε σύγχρονους αλγόριθμους κρυπτογράφησης, οπότε αξίζει να εξηγήσουμε πώς οργανώνεται μια τέτοια λειτουργία. Οι τιμές εξόδου των μπλοκ καταγράφονται στον πίνακα. Ένα μπλοκ δεδομένων συγκεκριμένης διάστασης (στην περίπτωσή μας - 4-bit) έχει το δικό του αριθμητική αναπαράσταση, το οποίο καθορίζει τον αριθμό της τιμής εξόδου. Για παράδειγμα, εάν το S-box μοιάζει με 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 και το μπλοκ 4 bit "0100" ήρθε στην είσοδο (τιμή 4), τότε, σύμφωνα με τον πίνακα, η τιμή εξόδου θα είναι 15, δηλαδή "1111" (0 a 4, 1 a 11, 2 a 2 ...).

    Ο αλγόριθμος, που ορίζεται από το GOST 28147-89, παρέχει τέσσερις τρόπους λειτουργίας: απλή αντικατάσταση, γάμμα, γάμμα με ανάδραση και δημιουργία απομιμήσεων συνημμένων. Χρησιμοποιούν τον ίδιο μετασχηματισμό κρυπτογράφησης που περιγράφηκε παραπάνω, αλλά επειδή ο σκοπός των τρόπων λειτουργίας είναι διαφορετικός, αυτός ο μετασχηματισμός πραγματοποιείται διαφορετικά σε καθένα από αυτά.

    Σε λειτουργία εύκολη αντικατάστασηΓια την κρυπτογράφηση κάθε μπλοκ πληροφοριών 64-bit, εκτελούνται οι 32 κύκλοι που περιγράφονται παραπάνω. Σε αυτήν την περίπτωση, τα δευτερεύοντα κλειδιά 32-bit χρησιμοποιούνται με την ακόλουθη σειρά:

    K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, κ.λπ. - στους γύρους 1 έως 24.

    K7, K6, K5, K4, K3, K2, K1, K0 - στους γύρους 25 έως 32.

    Η αποκρυπτογράφηση σε αυτήν τη λειτουργία πραγματοποιείται με τον ίδιο ακριβώς τρόπο, αλλά με μια ελαφρώς διαφορετική σειρά χρήσης δευτερευόντων κλειδιών:

    K0, K1, K2, K3, K4, K5, K6, K7 - στους γύρους 1 έως 8.

    Κ7, Κ6, Κ5, Κ4, Κ3, Κ2, Κ1, Κ0, Κ7, Κ6 κ.λπ. - στους γύρους 9 έως 32.

    Όλα τα μπλοκ κρυπτογραφούνται ανεξάρτητα το ένα από το άλλο, δηλαδή, το αποτέλεσμα κρυπτογράφησης κάθε μπλοκ εξαρτάται μόνο από το περιεχόμενό του (το αντίστοιχο μπλοκ του αρχικού κειμένου). Εάν υπάρχουν πολλά ίδια μπλοκ αρχικού (απλού) κειμένου, τα αντίστοιχα μπλοκ κρυπτογραφημένου κειμένου θα είναι επίσης πανομοιότυπα, γεγονός που δίνει επιπλέον ΧΡΗΣΙΜΕΣ ΠΛΗΡΟΦΟΡΙΕΣγια έναν κρυπτοαναλυτή που προσπαθεί να σπάσει έναν κρυπτογράφηση. Επομένως, αυτή η λειτουργία χρησιμοποιείται κυρίως για την κρυπτογράφηση των ίδιων των κλειδιών κρυπτογράφησης (πολύ συχνά εφαρμόζονται σχήματα πολλαπλών κλειδιών, στα οποία, για διάφορους λόγους, τα κλειδιά κρυπτογραφούνται μεταξύ τους). Δύο άλλοι τρόποι λειτουργίας προορίζονται για την κρυπτογράφηση των ίδιων των πληροφοριών - γάμμα και γάμμα με ανατροφοδότηση.

    ΣΕ λειτουργία γάμμαΚάθε μπλοκ απλού κειμένου προστίθεται bit-bit modulo 2 σε ένα μπλοκ γάμμα κρυπτογράφησης 64-bit. Ο κρυπτογράφηση γάμμα είναι μια ειδική ακολουθία που λαμβάνεται ως αποτέλεσμα ορισμένων λειτουργιών με καταχωρητές N1 και N2 (βλ. Εικ. 1).

    1. Η αρχική τους πλήρωση γράφεται στους καταχωρητές N1 και N2 - μια τιμή 64-bit που ονομάζεται μήνυμα συγχρονισμού.

    2. Τα περιεχόμενα των καταχωρητών N1 και N2 (σε αυτήν την περίπτωση, μηνύματα συγχρονισμού) κρυπτογραφούνται σε λειτουργία απλής αντικατάστασης.

    3. Τα περιεχόμενα του καταχωρητή N1 προστίθενται modulo (232 - 1) με τη σταθερά C1 = 224 + 216 + 28 + 24, και το αποτέλεσμα της πρόσθεσης γράφεται στον καταχωρητή N1.

    4. Τα περιεχόμενα του καταχωρητή N2 προστίθενται στο modulo 232 με τη σταθερά C2 = 224 + 216 + 28 + 1, και το αποτέλεσμα της πρόσθεσης γράφεται στον καταχωρητή N2.

    5. Τα περιεχόμενα των καταχωρητών N1 και N2 εξάγονται ως μπλοκ γάμμα 64-bit του κρυπτογράφησης (στην περίπτωση αυτή, τα N1 και N2 αποτελούν το πρώτο μπλοκ γάμμα).

    Εάν χρειάζεται το επόμενο μπλοκ γάμμα (δηλαδή, η κρυπτογράφηση ή η αποκρυπτογράφηση πρέπει να συνεχιστεί), επιστρέφει στο βήμα 2.

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

    Κρυπτογράφηση και αποκρυπτογράφηση σε λειτουργία γάμμα

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

    Στις περισσότερες υλοποιήσεις του αλγορίθμου GOST 28147-89, το μήνυμα συγχρονισμού δεν είναι μυστικό, ωστόσο, υπάρχουν συστήματα όπου το μήνυμα συγχρονισμού είναι το ίδιο μυστικό στοιχείο με το κλειδί κρυπτογράφησης. Για τέτοια συστήματα, το πραγματικό μήκος κλειδιού του αλγορίθμου (256 bit) αυξάνεται κατά άλλα 64 bit του μυστικού μηνύματος συγχρονισμού, το οποίο μπορεί επίσης να θεωρηθεί ως βασικό στοιχείο.

    Στη λειτουργία γάμμα ανάδρασης, για την πλήρωση των καταχωρητών N1 και N2, ξεκινώντας από το 2ο μπλοκ, δεν χρησιμοποιείται το προηγούμενο μπλοκ γάμμα, αλλά το αποτέλεσμα της κρυπτογράφησης του προηγούμενου μπλοκ απλού κειμένου (Εικ. 2). Το πρώτο μπλοκ σε αυτήν τη λειτουργία δημιουργείται εντελώς παρόμοια με το προηγούμενο.

    Ρύζι. 2. Ανάπτυξη κρυπτογραφημένου γάμμα στη λειτουργία γάμμα με ανατροφοδότηση.

    Λαμβάνοντας υπόψη τη λειτουργία δημιουργία προθεμάτων μίμησης, θα πρέπει να οριστεί η έννοια του υποκειμένου της γενιάς. Το πρόθεμα είναι ένα κρυπτογραφικό άθροισμα ελέγχου που υπολογίζεται χρησιμοποιώντας ένα κλειδί κρυπτογράφησης και έχει σχεδιαστεί για να επαληθεύει την ακεραιότητα των μηνυμάτων. Κατά τη δημιουργία ενός προθέματος απομίμησης, εκτελούνται οι ακόλουθες λειτουργίες: το πρώτο μπλοκ 64-bit του πίνακα πληροφοριών, για το οποίο υπολογίζεται το πρόθεμα απομίμησης, γράφεται στους καταχωρητές N1 και N2 και κρυπτογραφείται στη μειωμένη λειτουργία απλής αντικατάστασης (το εκτελούνται οι πρώτοι 16 γύροι από τους 32). Το αποτέλεσμα που προκύπτει αθροίζεται modulo 2 με το επόμενο μπλοκ πληροφοριών και το αποτέλεσμα αποθηκεύεται στα N1 και N2.

    Ο κύκλος επαναλαμβάνεται μέχρι το τελευταίο μπλοκ πληροφοριών. Τα προκύπτοντα περιεχόμενα 64 bit των καταχωρητών N1 και N2 ή μέρος αυτών ως αποτέλεσμα αυτών των μετασχηματισμών ονομάζεται πρόθεμα μίμησης. Το μέγεθος του προθέματος απομίμησης επιλέγεται με βάση την απαιτούμενη αξιοπιστία των μηνυμάτων: με το μήκος των μπιτ απομίμησης r, η πιθανότητα να περάσει απαρατήρητη μια αλλαγή είναι ίση με 2-r Χρησιμοποιείται πρόθεμα απομίμησης 32 bit, δηλαδή τα μισά περιεχόμενα των καταχωρητών. Αυτό αρκεί, καθώς, όπως κάθε άθροισμα ελέγχου, το προσάρτημα απομίμησης προορίζεται κυρίως για την προστασία από τυχαία παραμόρφωση των πληροφοριών. Για την προστασία από σκόπιμη τροποποίηση δεδομένων, χρησιμοποιούνται άλλες κρυπτογραφικές μέθοδοι - κυρίως μια ηλεκτρονική ψηφιακή υπογραφή.

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

    Ο αλγόριθμος GOST 28147-89 θεωρείται ένας πολύ ισχυρός αλγόριθμος - επί του παρόντος δεν έχουν προταθεί πιο αποτελεσματικές μέθοδοι για την αποκάλυψή του από τη μέθοδο "ωμής βίας" που αναφέρθηκε παραπάνω. Η υψηλή ασφάλειά του επιτυγχάνεται κυρίως λόγω του μεγάλου μήκους κλειδιού - 256 bit. Όταν χρησιμοποιείτε ένα μυστικό μήνυμα συγχρονισμού, το πραγματικό μήκος κλειδιού αυξάνεται στα 320 bit και η κρυπτογράφηση του πίνακα αντικατάστασης αυξάνεται επιπλέον κομμάτια. Επιπλέον, η κρυπτογραφική ισχύς εξαρτάται από τον αριθμό των γύρων μετασχηματισμού, ο οποίος σύμφωνα με το GOST 28147-89 θα πρέπει να είναι 32 ( πλήρης επίδρασηη διασπορά των δεδομένων εισόδου επιτυγχάνεται μετά από 8 γύρους).

    Πρότυπο AES

    Σε αντίθεση με τον αλγόριθμο GOST 28147-89, ο οποίος παρέμεινε μυστικός για μεγάλο χρονικό διάστημα, το αμερικανικό πρότυπο κρυπτογράφησης AES, σχεδιασμένο για να αντικαταστήσει το DES, επιλέχθηκε μέσω ανοιχτού διαγωνισμού, όπου όλοι οι ενδιαφερόμενοι οργανισμοί και άτομα μπορούσαν να μελετήσουν και να σχολιάσουν τους υποψήφιους αλγόριθμους.

    Διαγωνισμός για την αντικατάσταση του DES προκηρύχθηκε το 1997 από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας των ΗΠΑ (NIST - Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας). Στον διαγωνισμό υποβλήθηκαν 15 υποψήφιοι αλγόριθμοι, που αναπτύχθηκαν τόσο από γνωστούς φορείς στον χώρο της κρυπτογραφίας (RSA Security, Counterpane κ.λπ.) όσο και από ιδιώτες. Τα αποτελέσματα του διαγωνισμού ανακοινώθηκαν τον Οκτώβριο του 2000: νικητής ήταν ο αλγόριθμος Rijndael, που αναπτύχθηκε από δύο κρυπτογράφους από το Βέλγιο, τον Vincent Rijmen και την Joan Daemen.

    Ο αλγόριθμος Rijndael δεν είναι παρόμοιος με τους περισσότερους γνωστούς αλγόριθμους συμμετρικής κρυπτογράφησης, η δομή του οποίου ονομάζεται "δίκτυο Feistel" και είναι παρόμοια με το ρωσικό GOST 28147-89. Η ιδιαιτερότητα του δικτύου Feistel είναι ότι η τιμή εισόδου διαιρείται σε δύο ή περισσότερα υπομπλοκ, μέρος των οποίων σε κάθε γύρο επεξεργάζεται σύμφωνα με έναν συγκεκριμένο νόμο, μετά από τον οποίο υπερτίθεται σε μη επεξεργασμένα υπομπλοκ (βλ. Εικ. 1).

    Σε αντίθεση με το εγχώριο πρότυπο κρυπτογράφησης, ο αλγόριθμος Rijndael αντιπροσωπεύει ένα μπλοκ δεδομένων με τη μορφή ενός δισδιάστατου πίνακα byte μεγέθους 4X4, 4X6 ή 4X8 (επιτρέπεται η χρήση πολλών σταθερών μεγεθών του κρυπτογραφημένου μπλοκ πληροφοριών). Όλες οι λειτουργίες εκτελούνται σε μεμονωμένα byte του πίνακα, καθώς και σε ανεξάρτητες στήλες και σειρές.

    Ο αλγόριθμος Rijndael εκτελεί τέσσερις μετασχηματισμούς: BS (ByteSub) - αντικατάσταση πίνακα κάθε byte του πίνακα (Εικ. 3). SR (ShiftRow) - μετατόπιση σειρών πίνακα (Εικ. 4). Με αυτή τη λειτουργία, η πρώτη γραμμή παραμένει αμετάβλητη και οι υπόλοιπες μετατοπίζονται κυκλικά byte-byte προς τα αριστερά κατά σταθερό αριθμό byte, ανάλογα με το μέγεθος του πίνακα. Για παράδειγμα, για έναν πίνακα 4Χ4, οι γραμμές 2, 3 και 4 μετατοπίζονται κατά 1, 2 και 3 byte αντίστοιχα. Ακολουθεί το MC (MixColumn) - μια λειτουργία σε στήλες ανεξάρτητου πίνακα (Εικ. 5), όταν κάθε στήλη πολλαπλασιάζεται με έναν σταθερό πίνακα c(x) σύμφωνα με έναν συγκεκριμένο κανόνα. Και τέλος, AK (AddRoundKey) - προσθήκη κλειδιού. Κάθε bit του πίνακα προστίθεται στο modulo 2 με το αντίστοιχο bit του στρογγυλού κλειδιού, το οποίο, με τη σειρά του, υπολογίζεται με συγκεκριμένο τρόπο από το κλειδί κρυπτογράφησης (Εικ. 6).


    Ρύζι. 3. Λειτουργία BS.

    Ρύζι. 4. Λειτουργία SR.

    Ρύζι. 5. Λειτουργία MC.

    Ο αριθμός των γύρων κρυπτογράφησης (R) στον αλγόριθμο Rijndael είναι μεταβλητός (10, 12 ή 14 γύροι) και εξαρτάται από το μέγεθος του μπλοκ και το κλειδί κρυπτογράφησης (υπάρχουν επίσης πολλά σταθερά μεγέθη για το κλειδί).

    Η αποκρυπτογράφηση πραγματοποιείται χρησιμοποιώντας τις ακόλουθες αντίστροφες λειτουργίες. Πραγματοποιείται αντιστροφή πίνακα και αντικατάσταση πίνακα στον αντίστροφο πίνακα (σε σχέση με αυτόν που χρησιμοποιείται κατά την κρυπτογράφηση). Η αντίστροφη λειτουργία του SR είναι η περιστροφή των σειρών προς τα δεξιά και όχι προς τα αριστερά. Η αντίστροφη πράξη για το MC πολλαπλασιάζεται χρησιμοποιώντας τους ίδιους κανόνες με έναν άλλο πίνακα d(x) που ικανοποιεί την συνθήκη: c(x) * d(x) = 1. Η προσθήκη του κλειδιού AK είναι το αντίστροφο του εαυτού του, αφού χρησιμοποιεί μόνο το XOR λειτουργία. Αυτές οι αντίστροφες λειτουργίες εφαρμόζονται κατά την αποκρυπτογράφηση με την αντίστροφη σειρά από αυτήν που χρησιμοποιείται κατά την κρυπτογράφηση.

    Το Rijndael έχει γίνει το νέο πρότυπο για την κρυπτογράφηση δεδομένων λόγω μιας σειράς πλεονεκτημάτων έναντι άλλων αλγορίθμων. Πρώτα απ 'όλα, παρέχει υψηλή ταχύτητα κρυπτογράφησης σε όλες τις πλατφόρμες: υλοποίηση λογισμικού και υλικού. Διακρίνεται από ασύγκριτα καλύτερες δυνατότητες παραλληλισμού υπολογισμών σε σύγκριση με άλλους αλγόριθμους που υποβλήθηκαν στον διαγωνισμό. Επιπλέον, οι απαιτήσεις πόρων για τη λειτουργία του είναι ελάχιστες, κάτι που είναι σημαντικό όταν χρησιμοποιείται σε συσκευές με περιορισμένες υπολογιστικές δυνατότητες.

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

    Ασύμμετρη κρυπτογράφηση

    Οι αλγόριθμοι ασύμμετρης κρυπτογράφησης, όπως έχει ήδη σημειωθεί, χρησιμοποιούν δύο κλειδιά: k1 - το κλειδί κρυπτογράφησης, ή δημόσιο, και k2 - το κλειδί αποκρυπτογράφησης ή μυστικό. Το δημόσιο κλειδί υπολογίζεται από το μυστικό: k1 = f(k2).

    Οι αλγόριθμοι ασύμμετρης κρυπτογράφησης βασίζονται στη χρήση μονόδρομων συναρτήσεων. Σύμφωνα με τον ορισμό, μια συνάρτηση y = f(x) είναι μονής κατεύθυνσης εάν: είναι εύκολο να υπολογιστεί για όλους πιθανές επιλογές x και για τις περισσότερες πιθανές τιμές του y, είναι αρκετά δύσκολο να υπολογιστεί μια τιμή του x έτσι ώστε y = f(x).

    Ένα παράδειγμα μονόδρομης συνάρτησης είναι ο πολλαπλασιασμός δύο μεγάλων αριθμών: N = P*Q. Από μόνος του, ένας τέτοιος πολλαπλασιασμός είναι μια απλή πράξη. Ωστόσο, η αντίστροφη συνάρτηση (αποσύνθεση του Ν σε δύο μεγάλους παράγοντες), που ονομάζεται παραγοντοποίηση, σύμφωνα με τις σύγχρονες χρονικές εκτιμήσεις, είναι αρκετά περίπλοκη μαθηματικό πρόβλημα. Για παράδειγμα, παραγοντοποίηση N με διάσταση 664 bit στο P ? Το Q θα απαιτήσει περίπου 1023 λειτουργίες και για αντίστροφος υπολογισμός x για τον αρθρωτό εκθέτη y = ax mod p με γνωστά a, p και y (με τις ίδιες διαστάσεις των a και p), πρέπει να εκτελεστούν περίπου 1026 πράξεις. Το τελευταίο παράδειγμα που δίνεται ονομάζεται Πρόβλημα Διακριτού Λογαρίθμου (DLP) και αυτό το είδος συνάρτησης χρησιμοποιείται συχνά σε αλγόριθμους ασύμμετρης κρυπτογράφησης, καθώς και σε αλγόριθμους που χρησιμοποιούνται για τη δημιουργία ηλεκτρονικής ψηφιακής υπογραφής.

    Μια άλλη σημαντική κατηγορία λειτουργιών που χρησιμοποιούνται στην ασύμμετρη κρυπτογράφηση είναι οι μονόδρομες λειτουργίες backdoor. Ο ορισμός τους δηλώνει ότι μια συνάρτηση είναι μονής κατεύθυνσης με μια κερκόπορτα εάν είναι μονής κατεύθυνσης και μπορεί να υπολογιστεί αποτελεσματικά αντίστροφη συνάρτηση x = f-1(y), δηλ. εάν είναι γνωστό το "μυστικό πέρασμα" (ένας συγκεκριμένος μυστικός αριθμός, σε εφαρμογή σε αλγόριθμους ασύμμετρης κρυπτογράφησης - η τιμή του μυστικού κλειδιού).

    Οι μονόδρομες λειτουργίες backdoor χρησιμοποιούνται στον ευρέως χρησιμοποιούμενο αλγόριθμο ασύμμετρης κρυπτογράφησης RSA.

    Αλγόριθμος RSA

    Αναπτύχθηκε το 1978 από τρεις συγγραφείς (Rivest, Shamir, Adleman), πήρε το όνομά του από τα πρώτα γράμματα των επωνύμων των προγραμματιστών. Η αξιοπιστία του αλγορίθμου βασίζεται στη δυσκολία παραγοντοποίησης μεγάλων αριθμών και υπολογισμού διακριτών λογαρίθμων. Η κύρια παράμετρος του αλγορίθμου RSA είναι η μονάδα συστήματος N, η οποία χρησιμοποιείται για την εκτέλεση όλων των υπολογισμών στο σύστημα, και N = P*Q (το P και το Q είναι μυστικοί τυχαίοι πρώτοι μεγάλοι αριθμοί, συνήθως της ίδιας διάστασης).

    Το μυστικό κλειδί k2 επιλέγεται τυχαία και πρέπει να πληροί τις ακόλουθες προϋποθέσεις:

    1

    όπου ο GCD είναι ο μεγαλύτερος κοινός διαιρέτης, δηλ. το k1 πρέπει να είναι συμπρώτος στην τιμή της συνάρτησης Euler F(N), η τελευταία ισούται με τον αριθμό των θετικών ακεραίων στην περιοχή από 1 έως N συμπρωτάρης έως N, και υπολογίζεται ως F(N) = (P - 1)*(Q - 1).

    Το δημόσιο κλειδί k1 υπολογίζεται από τη σχέση (k2*k1) = 1 mod F(N), και για το σκοπό αυτό χρησιμοποιείται ο γενικευμένος ευκλείδειος αλγόριθμος (αλγόριθμος για τον υπολογισμό του μεγαλύτερου κοινού διαιρέτη). Η κρυπτογράφηση του μπλοκ δεδομένων M χρησιμοποιώντας τον αλγόριθμο RSA εκτελείται ως εξής: C=M [στην ισχύ k1] mod N. Σημειώστε ότι, δεδομένου ότι σε ένα πραγματικό κρυπτοσύστημα που χρησιμοποιεί RSA ο αριθμός k1 είναι πολύ μεγάλος (επί του παρόντος η διάστασή του μπορεί να φτάσει έως και 2048 bit), άμεσος υπολογισμός του M [στην ισχύ k1]φανταστικός. Για τη λήψη του, χρησιμοποιείται ένας συνδυασμός επαναλαμβανόμενου τετραγωνισμού του Μ και πολλαπλασιασμού των αποτελεσμάτων.

    Η αντιστροφή αυτής της λειτουργίας για μεγάλες διαστάσεις δεν είναι εφικτή. Με άλλα λόγια, είναι αδύνατο να βρεθεί το M με τα γνωστά C, N και k1. Ωστόσο, έχοντας ένα μυστικό κλειδί k2, χρησιμοποιώντας απλούς μετασχηματισμούς μπορεί κανείς να υπολογίσει M = Ck2 mod N. Προφανώς, εκτός από το ίδιο το μυστικό κλειδί, είναι απαραίτητο να διασφαλιστεί η μυστικότητα των παραμέτρων P και Q. Εάν ένας εισβολέας λάβει τις τιμές τους , θα μπορεί να υπολογίσει το μυστικό κλειδί k2.

    Ποια κρυπτογράφηση είναι καλύτερη;

    Το κύριο μειονέκτημα της συμμετρικής κρυπτογράφησης είναι η ανάγκη μεταφοράς κλειδιών "από χέρι σε χέρι". Αυτό το μειονέκτημα είναι πολύ σοβαρό, καθώς καθιστά αδύνατη τη χρήση συμμετρικής κρυπτογράφησης σε συστήματα με απεριόριστο αριθμό συμμετεχόντων. Ωστόσο, διαφορετικά, η συμμετρική κρυπτογράφηση έχει ορισμένα πλεονεκτήματα που είναι σαφώς ορατά στο πλαίσιο των σοβαρών μειονεκτημάτων της ασύμμετρης κρυπτογράφησης.

    Το πρώτο από αυτά είναι η χαμηλή ταχύτητα των λειτουργιών κρυπτογράφησης και αποκρυπτογράφησης, λόγω της παρουσίας λειτουργιών έντασης πόρων. Ένα άλλο «θεωρητικό» μειονέκτημα είναι ότι η κρυπτογραφική ισχύς των αλγορίθμων ασύμμετρης κρυπτογράφησης δεν έχει αποδειχθεί μαθηματικά. Αυτό οφείλεται κυρίως στο πρόβλημα του διακριτού λογάριθμου - δεν έχει ακόμη αποδειχθεί ότι η επίλυσή του σε αποδεκτό χρόνο είναι αδύνατη. Περιττές δυσκολίες δημιουργούνται επίσης από την ανάγκη προστασίας των δημόσιων κλειδιών από αντικατάσταση - αντικαθιστώντας το δημόσιο κλειδί ενός νόμιμου χρήστη, ένας εισβολέας θα μπορεί να κρυπτογραφήσει ένα σημαντικό μήνυμα με το δημόσιο κλειδί του και στη συνέχεια να το αποκρυπτογραφήσει εύκολα με το ιδιωτικό του κλειδί.

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

    Πρόσθετες πηγές πληροφοριών

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

    1. Brassard J. «Σύγχρονη κρυπτολογία».
    2. Petrov A. A. "Ασφάλεια υπολογιστή: κρυπτογραφικές μέθοδοι προστασίας."
    3. Romanets Yu., Timofeev P. A., Shangin V. F. "Προστασία πληροφοριών στα σύγχρονα συστήματα υπολογιστών."
    4. Sokolov A.V., Shangin V.F. "Προστασία πληροφοριών σε κατανεμημένα εταιρικά δίκτυα και συστήματα."

    Μια πλήρης περιγραφή των αλγορίθμων κρυπτογράφησης μπορεί να βρεθεί στα ακόλουθα έγγραφα:

    1. GOST 28147-89. Σύστημα επεξεργασίας πληροφοριών. Κρυπτογραφική προστασία. Αλγόριθμος κρυπτογραφικής μετατροπής. - Μ.: Κρατικό Πρότυπο της ΕΣΣΔ, 1989.
    2. Αλγόριθμος AES: http://www.nist.gov/ae.
    3. Αλγόριθμος RSA: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.