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

Εισαγωγή

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

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

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

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

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

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

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

Κρυπτανάλυση- διερευνά τις δυνατότητες αποκρυπτογράφησης πληροφοριών χωρίς να γνωρίζει τα κλειδιά.

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


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

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

1. Συμμετρικά κρυπτοσυστήματα. Στα συμμετρικά κρυπτοσυστήματα, το ίδιο κλειδί χρησιμοποιείται τόσο για κρυπτογράφηση όσο και για αποκρυπτογράφηση.

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

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

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

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

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

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

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

Κείμενο- ένα διατεταγμένο σύνολο στοιχείων του αλφαβήτου.

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

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

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

Τα κρυπτοσυστήματα χωρίζονται σε συμμετρικόςΚαι με δημόσιο κλειδί.

ΣΕ συμμετρικά κρυπτοσυστήματαχρησιμοποιείται τόσο για κρυπτογράφηση όσο και για αποκρυπτογράφηση ίδιο κλειδί.

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

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

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

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

· τον αριθμό όλων των πιθανών κλειδιών.

· Μέσος χρόνος που απαιτείται για την κρυπτανάλυση.

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

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

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

· Ανακατατάξεις.

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

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

· Ομίχλη.

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

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

· Αποκλεισμός κρυπτογράφησης.

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

· Υποκατάσταση.

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


Σχετικές πληροφορίες.


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

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

Ρύζι. 2.1

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

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

Από συμμετρικούς αλγόριθμουςκρυπτογράφηση, ο αλγόριθμος κρυπτογράφησης DES (που εφευρέθηκε από την IBM), ο οποίος προτείνεται σε ανοιχτούς τομείς της οικονομίας των ΗΠΑ, έχει γίνει ευρέως χρησιμοποιούμενος. Αυτός ο αλγόριθμος ήταν αρχικά καταδικασμένος σε περιορισμένη διάρκεια ζωής λόγω του μήκους του κλειδιού που περιοριζόταν στα 56 bit.

Στις αρχές του 1997, αμφισβητήθηκε ο αλγόριθμος DES, ο οποίος έχει κλειδί 56 bit. Στις 17 Ιουνίου 1997, μετά από 140 ημέρες, το κλειδί αποκρυπτογραφήθηκε. Αυτό σήμαινε τον εικονικό θάνατο του DES ως προτύπου κρυπτογράφησης. Πράγματι, όταν, στις αρχές του 1998, ο επόμενος διαγωνισμός για την εύρεση ενός κλειδιού DES πέτυχε σε μόλις 39 ημέρες, το Εθνικό Ινστιτούτο Προτύπων των ΗΠΑ (NIST) ανακοίνωσε διαγωνισμό για την έγκριση του νέου προτύπου AES (Advanced Encryption Standard). Ο AES έχει γίνει ένας πλήρως ανοιχτός συμμετρικός αλγόριθμος με μεγέθη κλειδιών 128, 192, 256 bit.

Η κατάσταση επιδεινώνεται από το γεγονός ότι σύμφωνα με τη νομοθεσία των ΗΠΑ, τα συστήματα κρυπτογράφησης με κλειδί που δεν υπερβαίνει τα 128 bit επιτρέπεται να εξάγονται ως προϊόντα λογισμικού. Δηλαδή, όταν αγοράζετε ένα σύστημα κρυπτογράφησης με κλειδί 1024 ή 2048 ή περισσότερα bit, πρέπει να γνωρίζετε ότι όταν αλλάζει το κλειδί, το ενεργό (μεταβαλλόμενο) τμήμα θα είναι το τμήμα 128 bit του κλειδιού. Τα συμμετρικά συστήματα κρυπτογράφησης έχουν ένα κοινό μειονέκτημα, το οποίο είναι η δυσκολία διανομής κλειδιών. Εάν το κλειδί υποκλαπεί από τρίτο μέρος, ένα τέτοιο σύστημα κρυπτογραφικής προστασίας θα τεθεί σε κίνδυνο. Επομένως, κατά την αντικατάσταση του κλειδιού, πρέπει να προωθείται εμπιστευτικά στους συμμετέχοντες στις διαδικασίες κρυπτογράφησης. Προφανώς, αυτή η μέθοδος δεν είναι κατάλληλη όταν χρειάζεται να δημιουργήσετε ασφαλείς συνδέσεις με χιλιάδες ή περισσότερους συνδρομητές στο Διαδίκτυο. Το κύριο πρόβλημα είναι ο τρόπος δημιουργίας και ασφαλούς μετάδοσης κλειδιών στους συμμετέχοντες στην αλληλεπίδραση. Πώς να δημιουργήσετε ένα ασφαλές κανάλι μετάδοσης πληροφοριών μεταξύ των συμμετεχόντων στην αλληλεπίδραση για τη μεταφορά κλειδιών μέσω μη ασφαλών καναλιών επικοινωνίας; Η έλλειψη ασφαλούς μεθόδου ανταλλαγής κλειδιών περιορίζει την εξάπλωση των τεχνικών συμμετρικής κρυπτογράφησης στο Διαδίκτυο.

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

Το δημόσιο κλειδί μεταδίδεται μέσω ανοιχτών καναλιών επικοινωνίας σε άλλον συμμετέχοντα στη διαδικασία κρυπτοπροστασίας, αλλά το ιδιωτικό κλειδί διατηρείται μυστικό.

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

Ρύζι. 2.2

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

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

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

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

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

Ρύζι. 2.3

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

Ρύζι. 2.4

Τα κρυπτογραφικά συστήματα δημόσιου κλειδιού χρησιμοποιούνται σήμερα ευρέως σε διάφορα πρωτόκολλα δικτύου, ειδικότερα, στα πρωτόκολλα TLS και στο προκάτοχό του SSL (υπόκειται στο HTTPS), στο SSH. Χρησιμοποιείται επίσης σε PGP, S/MIME.

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

Με την κρυπτογράφηση ροής, κάθε χαρακτήρας του κειμένου πηγής μπορεί να αναπαρασταθεί σε μορφή bit, δηλαδή σε δυαδική μορφή. Στη συνέχεια, κάθε bit της ακολουθίας που προκύπτει μπορεί να μετατραπεί σύμφωνα με έναν συγκεκριμένο κανόνα. Ως τέτοιος κανόνας μετατροπής, χρησιμοποιείται συχνά η κατά bit προσθήκη του αρχικού κειμένου με κάποια μυστική ακολουθία bit. Η ακολουθία μυστικών δυαδικών ψηφίων παίζει το ρόλο του κλειδιού κρυπτογράφησης σε συμμετρικούς κρυπτογράφους ροής. Η ίδια η λειτουργία προσθήκης bitwise, που ονομάζεται επίσης λειτουργία προσθήκης modulo two, η λειτουργία "exclusive OR" ή απλά XOR, είναι πολύ απλή. Κατά την προσθήκη, κάθε bit αντικαθίσταται σύμφωνα με τον κανόνα:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0

Για να αποκρυπτογραφήσετε, πρέπει να εκτελέσετε την αντίστροφη διαδικασία. Μετατροπή κρυπτογράμματος σε δυαδική προβολήκαι προσθέστε bitwise με την ίδια μυστική ακολουθία που χρησιμοποιήθηκε για την κρυπτογράφηση.

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

- παράγουν ακολουθίες bit που είναι κοντά σε τυχαίες ακολουθίες ως προς τα στατιστικά τους χαρακτηριστικά.

- εξασφάλιση της παραγωγής επαρκώς μακρών, μη επαναλαμβανόμενων ακολουθιών·

- έχουν επαρκή ταχύτητα για εργασία σε πραγματικό χρόνο.

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

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

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

Οι κρυπτογράφηση αντικατάστασης και μετάθεσης είναι από τις παλαιότερες γνωστές μεθόδους κρυπτογράφησης. Παρόμοιες μέθοδοι ήταν γνωστές από την αρχαιότητα. Με τον καιρό, οι κανόνες για αναδιάταξη και αντικατάσταση έγιναν πιο περίπλοκοι. Η θεωρητική βάση για την κατασκευή ισχυρών κρυπτογράφησης αναπτύχθηκε στα μέσα του περασμένου αιώνα από τον διάσημο Αμερικανό επιστήμονα Claude Elwood Shannon (1916-2001), επίσης διάσημο για τα θεμελιώδη έργα του στον τομέα της θεωρίας της πληροφορίας. Με την έλευση του έργου του «The Theory of Communication in Secret Systems», η κρυπτογραφία μετατρέπεται σε αυστηρό επιστημονικό κλάδο. Προτάθηκε μια μαθηματική συσκευή για την κατασκευή ισχυρών κρυπτογράφησης και διατυπώθηκαν οι βασικές αρχές διασποράΚαι ανακάτεμα.


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

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

Χρησιμοποιώντας αυτές τις αρχές, προτάθηκε μια αρχιτεκτονική για την κατασκευή συμμετρικών μπλοκ κρυπτογράφησης στο δεύτερο μισό του περασμένου αιώνα. Η αρχιτεκτονική ονομάστηκε Φεϊσταλικά δίκτυα(Δίκτυο Feistal), που πήρε το όνομά του από τον Horst Feistal, υπάλληλο της IBM. Αυτή η αρχιτεκτονική καθόρισε για μεγάλο χρονικό διάστημα την κύρια κατεύθυνση ανάπτυξης προτύπων στον τομέα της κρυπτογράφησης δεδομένων.

Στο δίκτυο Feistal, το αρχικό μπλοκ δεδομένων μετασχηματίζεται. Η έξοδος του δικτύου είναι ένα μπλοκ δεδομένων που έχει μετατραπεί. Το αρχικό μπλοκ χωρίζεται σε δύο μέρη X1 και X2. Το μπλοκ δεδομένων εξόδου αποτελείται επίσης από δύο μέρη Υ1 και Υ2. Το μέρος Y1 είναι η άμεση τιμή του X2. Η τιμή του Y2 είναι το αποτέλεσμα της προσθήκης του μέρους X1 και του αποτελέσματος λειτουργίες κρυπτογράφησηςΣΤ. Η συνάρτηση κρυπτογράφησης εδώ νοείται ως συνάρτηση δύο ορισμάτων: του μπλοκ δεδομένων εισόδου και του μυστικού κλειδιού. Η ίδια η συνάρτηση αντιπροσωπεύει κάποιο απροσδιόριστο μετασχηματισμό στα δεδομένα. Στο δίκτυο Feistal, τα ορίσματα της συνάρτησης κρυπτογράφησης F είναι το μπλοκ δεδομένων εισόδου X2 και το μυστικό κλειδί κρυπτογράφησης K.

Οι αναλυτικοί τύποι για τους περιγραφόμενους μετασχηματισμούς είναι οι εξής:

Υ1 = Χ2

Y2 = X1  F(X2, K)

Μια σημαντική ιδιότητα του δικτύου Feistal είναι ότι οι μετασχηματισμοί που πραγματοποιούνται με τη βοήθειά του είναι αναστρέψιμοι. Οι μετασχηματισμοί είναι αναστρέψιμοι ακόμη και αν η συνάρτηση κρυπτογράφησης F δεν είναι αναστρέψιμη. Δηλαδή, είναι πάντα δυνατό να ληφθεί το αρχικό μπλοκ δεδομένων X από το μπλοκ δεδομένων Y

X1 = Y2  F(Y1, K)

Χ2 = Υ1

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

DES- παλιό ομοσπονδιακό πρότυπο κρυπτογράφησης των ΗΠΑ.

GOST 28147-89- εγχώριο πρότυπο κρυπτογράφησης δεδομένων.

AES- νέο ομοσπονδιακό πρότυπο κρυπτογράφησης των ΗΠΑ.

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

Το Digital Encryption Standard (DES) λειτουργεί ως το ομοσπονδιακό πρότυπο κρυπτογράφησης στις Ηνωμένες Πολιτείες για περισσότερα από 20 χρόνια. Ο αλγόριθμος ήταν Ο αλγόριθμος που διέπει το πρότυπο αναπτύχθηκε το 1974 στην IBM. Το 1977, το πρότυπο δημοσιεύθηκε από το Εθνικό Γραφείο Προτύπων των ΗΠΑ (NBS). Στη συνέχεια εγκρίθηκε από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας των ΗΠΑ (NIST) το 1980 για την προστασία εμπορικών και μη διαβαθμισμένων πληροφοριών. Από το 1986, έχει γίνει ένα διεθνές πρότυπο που υιοθετήθηκε από τον ISO με την ονομασία DEA-1.

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

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

Ο αριθμός των γύρων κρυπτογράφησης είναι ένα σημαντικό χαρακτηριστικό τέτοιων επαναληπτικών κρυπτογράφησης. Η ισχύς του κρυπτογράφησης έναντι των σύγχρονων μεθόδων κρυπτανάλυσης, όπως η διαφορική και η γραμμική κρυπτανάλυση, εξαρτάται από αυτή την τιμή. Όπως σημειώθηκε στο [Var98], η χρήση αυτών των μεθόδων έδωσε τα καλύτερα αποτελέσματα στην ανάλυση συστημάτων κρυπτογράφησης μπλοκ. Η παρουσία δεκαέξι γύρων κρυπτογράφησης είναι το ελάχιστο που απαιτείται για να διασφαλιστεί ότι οι παραπάνω μέθοδοι κρυπτανάλυσης δεν είναι ευκολότερες από μια εξαντλητική αναζήτηση όλων των πιθανών κλειδιών. Πρέπει να πούμε ότι μέθοδοι διαφορικής και γραμμικής κρυπτανάλυσης δημοσιεύθηκαν στην ανοιχτή βιβλιογραφία σχετικά πρόσφατα. Ταυτόχρονα, το DES αναπτύχθηκε και αναλύθηκε στη δεκαετία του '70 του περασμένου αιώνα. Αυτό υποδηλώνει ότι οι δυνατότητες τέτοιων μεθόδων διάσπασης κρυπτογράφησης είναι γνωστές στις ειδικές υπηρεσίες εδώ και πολύ καιρό.

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

Η ίδια η λειτουργία κρυπτογράφησης δεν είναι περίπλοκη. Βασίζεται στον κανόνα για τον μετασχηματισμό του μπλοκ δεδομένων εισόδου. Αυτός ο μετασχηματισμός συνίσταται στην προσθήκη του μπλοκ δεδομένων εισόδου με ένα στρογγυλό κλειδί και στη συνέχεια στη μετατροπή του προκύπτοντος αποτελέσματος στο λεγόμενο S-box. Ένα S-box στο DES είναι ένας πίνακας 4 σειρών και 16 στηλών. Κάθε κελί του πίνακα περιέχει έναν αριθμό από το 0 έως το 15. Συνολικά 8 τέτοιες μήτρες δημοσιεύονται και χρησιμοποιούνται στο πρότυπο.

Κατά τη διάρκεια της ύπαρξής του, το DES έχει γίνει ένας πολύ κοινός αλγόριθμος κρυπτογράφησης, που εφαρμόζεται σε πολλά συστήματα και εφαρμογές. Ωστόσο, σήμερα είναι ήδη ένας απαρχαιωμένος αλγόριθμος που αδυνατεί να παρέχει την απαιτούμενη αντοχή. Αυτό οφείλεται κυρίως στο ανεπαρκές μήκος του κλειδιού κρυπτογράφησης 56-bit που υιοθετείται στο πρότυπο. Στα τέλη της δεκαετίας του '90 του περασμένου αιώνα, η εταιρεία RSA Security πραγματοποίησε μια σειρά ανοιχτών διαγωνισμών για να το χακάρει. Το καθήκον του διαγωνισμού ήταν να αποκρυπτογραφήσει ένα κρυπτογράφημα που δημοσιεύτηκε στον ιστότοπο της εταιρείας. Όλες οι επιλογές επιλύθηκαν χρησιμοποιώντας μια επίθεση brute force, δηλαδή με επιτυχή εξαντλητική ωμή επιβολή όλων των πιθανών βασικών επιλογών. Παρακάτω είναι ένας πίνακας με μια χρονολόγηση των εισβολών DES σε ανοιχτούς διαγωνισμούς που διεξάγονται από την RSA Security:

Ημερομηνία

Χρόνος hacking

Εξουσία

18.06.1997

96 ημέρες

7 δισεκατομμύρια κλειδιά/δευτ.

23.02.1998

39 ημέρες

34 δισεκατομμύρια κλειδιά/δευτ.

17.07.1998

3 μέρες

88 δισεκατομμύρια κλειδιά/δευτ.

19.01.1999

22 ώρες 15 λεπτά

245 δισεκατομμύρια κλειδιά/δευτ.

Όπως μπορείτε να δείτε από τον παρακάτω πίνακα, κατά τη διάρκεια του τελευταίου διαγωνισμού, το DES έσπασε σε λιγότερο από μία ημέρα. Μετά από αυτό, η RSA Security σταμάτησε να διεξάγει διαγωνισμούς hacking DES. Τελευταίο χακάρισμαπραγματοποιήθηκε από κοινού από δύο μη κερδοσκοπικούς οργανισμούς: το Electronic Frontier Foundation (www.eff.org) και το Distributed Computing Technologies, Inc. (www.distributed.net) Η επιλογή των πιθανών επιλογών κλειδιών πραγματοποιήθηκε χρησιμοποιώντας έναν ειδικό υπολογιστή που ονομάζεται Deep Cracker, με κόστος 250.000 $. Επιπλέον, στη διαδικασία επεξεργασίας κλειδιών, χρησιμοποιήθηκε η ισχύς των υπολογιστών που ήταν συνδεδεμένοι στο Διαδίκτυο.

Τα αποτελέσματα που επιτεύχθηκαν κατέδειξαν εύγλωττα την ανάγκη υιοθέτησης ενός νέου προτύπου στον τομέα της κρυπτογράφησης δεδομένων και χαλάρωσης των περιορισμών εξαγωγής για κρυπτογραφικά προϊόντα που υπήρχαν εκείνη την εποχή στις Ηνωμένες Πολιτείες. Ένα νέο πρότυπο υιοθετήθηκε το 2001 και ονομάστηκε Advanced Encryption Standard (AES). Αυτό το πρότυπο και ο υποκείμενος αλγόριθμος συζητούνται παρακάτω. Από τα τέλη της δεκαετίας του '90 του περασμένου αιώνα, ως ενίσχυση του υπάρχοντος προτύπου, χρησιμοποιήθηκε η τροποποίησή του, που ονομάζεται "Triple-DES" (Triple-DES).

Ο αλγόριθμος GOST 28147-89 είναι ένας συμμετρικός κρυπτογράφησης μπλοκ και βασίζεται στην αρχιτεκτονική δικτύου Feistal. Το μήκος του κλειδιού είναι 256 bit. Το μπλοκ δεδομένων εισόδου είναι 64 bit. Ο αλγόριθμος χρησιμοποιεί 32 γύρους κρυπτογράφησης. Κάθε γύρος κρυπτογράφησης χρησιμοποιεί ένα στρογγυλό κλειδί, οι τιμές του οποίου προέρχονται από το αρχικό μυστικό κλειδί κρυπτογράφησης.

Οι λειτουργίες κρυπτογράφησης του αλγορίθμου GOST 28147-89, που χρησιμοποιούνται σε κάθε γύρο κρυπτογράφησης, έχουν απλή δομή και αποτελούνται από λειτουργίες απλής αντικατάστασης και κυκλικής μετατόπισης. Οι αντικαταστάσεις γίνονται στο S-block σε ειδική μήτρα. Για τον αλγόριθμο GOST 28147-89, δεν καθορίζεται συγκεκριμένος τύπος πίνακα αντικατάστασης. Κάθε προγραμματιστής και κατασκευαστής μπορεί να δημιουργήσει τη δική του μήτρα ή να υποβάλει αίτημα σε ειδικές υπηρεσίες που μπορούν να βοηθήσουν στην προετοιμασία μιας κρυπτογραφικής μήτρας. Εάν θέλετε, μπορείτε να αλλάξετε τη μήτρα αντικατάστασης με την πάροδο του χρόνου. Λόγω του γεγονότος ότι η μήτρα δεν καθορίζεται, μερικές φορές ονομάζεται επίσης αντικαταστάσιμο βασικό στοιχείο. Ο πίνακας έχει οκτώ σειρές, δεκαέξι στήλες και κάθε κελί αποθηκεύει τέσσερα bit πληροφοριών. Το μέγεθος του πίνακα είναι 512 bit. Εάν προσθέσουμε σε αυτό το μέγεθος του κλειδιού κρυπτογράφησης, το συνολικό μέγεθος των μυστικών πληροφοριών θα είναι 768 bit. Αυτό δίνει 2.768 πιθανές επιλογές για να δοκιμάσετε όλες τις μυστικές τιμές πληροφοριών. Η απαρίθμηση ενός τέτοιου αριθμού επιλογών βρίσκεται πολύ πέρα ​​από την προβλεπόμενη ισχύ της τεχνολογίας των υπολογιστών και είναι εντελώς απρόσιτη στο άμεσο μέλλον. Ωστόσο, για να είμαστε δίκαιοι, πρέπει να πούμε ότι μόνο το κλειδί κρυπτογράφησης 256-bit είναι πραγματικά μυστικές πληροφορίες. Η δομή ακόμη και μη δημοσιευμένων πινάκων μπορεί θεωρητικά να προσδιοριστεί με ανάλυση της λειτουργίας λογισμικού ή υλικού. Είναι επίσης δυνατές προσπάθειες μη εξουσιοδοτημένης πρόσβασης στην τεχνική τεκμηρίωση σχετικά με την εφαρμογή του αλγορίθμου GOST 28147-89. Αλλά ακόμη και σε αυτήν την περίπτωση, για να απαριθμήσετε πλήρως όλα τα πιθανά κλειδιά, θα χρειαστεί να εκτελέσετε 2256 προσπάθειες. Αυτός ο αριθμός επιλογών εξακολουθεί να παραμένει τεράστιος και διασφαλίζει ότι ο αλγόριθμος είναι απολύτως ανθεκτικός σε επιθέσεις ωμής βίας.

Σε ανοιχτές δημοσιεύσεις, δεν έχει ακόμη εξεταστεί ούτε μία επιτυχημένη μέθοδος παραβίασης του εγχώριου προτύπου κρυπτογράφησης δεδομένων. Ωστόσο, το έγγραφο [Mol02] υποστηρίζει την αντικατάσταση του υπάρχοντος προτύπου με έναν νέο αλγόριθμο. Σύμφωνα με τους συγγραφείς, το υπάρχον πρότυπο, λόγω της αρχιτεκτονικής του, δεν μπορεί να ανταποκριθεί στις σύγχρονες απαιτήσεις για ταχύτητα μετατροπής δεδομένων (πάνω από 2 Gbit/s). Επιπλέον, σημειώνεται ότι σε μια σειρά εργασιών τα τελευταία χρόνια, έχουν περιγραφεί διάφορες πιθανές επιθέσεις που σχετίζονται με τον αλγόριθμο GOST 28147-89.

Για το πρότυπο GOST 28147-89, ορίζονται οι ακόλουθοι τέσσερις τρόποι λειτουργίας:

Εύκολη αντικατάσταση. Αυτός είναι ο κύριος και απλούστερος τρόπος λειτουργίας του αλγορίθμου. Χρησιμοποιείται για την κρυπτογράφηση βασικών πληροφοριών.

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

Παιχνίδι με ανατροφοδότηση . Αυτή η λειτουργία διαφέρει από την προηγούμενη στον τρόπο που παράγει γάμμα. Το επόμενο στοιχείο γάμμα δημιουργείται ως αποτέλεσμα του μετασχηματισμού του προηγούμενου μπλοκ κρυπτογραφημένων δεδομένων. Αυτή η λειτουργία μερικές φορές ονομάζεται επίσης λειτουργία γάμμα με αλληλένδετα μπλοκ [Dom2000]. Κάθε μπλοκ κρυπτογραφήματος εξαρτάται από όλα τα προηγούμενα μπλοκ απλού κειμένου. Οι λειτουργίες γάμμα μπορούν να επεξεργαστούν μπλοκ δεδομένων εισόδου μικρότερα από 8 byte. Αυτή η ιδιότητα χρησιμοποιείται για την κρυπτογράφηση συστοιχιών δεδομένων αυθαίρετου μεγέθους.

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

Το Advanced Encryption Standard (AES) επιλέχθηκε ως αποτέλεσμα του ανοιχτού διεθνής διαγωνισμός, που διεξάγεται από το NIST USA. Η έναρξη του διαγωνισμού ανακοινώθηκε στις 2 Ιανουαρίου 1997. Ως αποτέλεσμα της αρχικής επιλογής τον Αύγουστο του 1998, επιλέχθηκαν δεκαπέντε υποψήφιοι αλγόριθμοι. Στη συνέχεια, ένα χρόνο αργότερα, τον Αύγουστο του 1999, πέντε αλγόριθμοι αναγνωρίστηκαν ως φιναλίστ για τον διαγωνισμό. Ο διαγωνισμός έληξε τον Οκτώβριο του 2000. Νικητής ήταν ο βελγικός αλγόριθμος RIJNDAEL που αναπτύχθηκε από τους Vincent Rijmen και Joan Daemen. Αυτός ο αλγόριθμος επιλέχθηκε ως το πρότυπο AES. Η τελική έκδοση του προτύπου δημοσιεύτηκε τον Νοέμβριο του 2001. Ο αλγόριθμος έχει εγκριθεί ως νέο ομοσπονδιακό πρότυπο κρυπτογράφησης στις Ηνωμένες Πολιτείες με τον κωδικό FIPS-197 και προορίζεται για την επεξεργασία εμπορικών πληροφοριών και πληροφοριών που δεν περιέχουν κρατικά μυστικά. Το πρότυπο τέθηκε σε ισχύ στις 26 Μαΐου 2002 [Zen2002].

Το πρότυπο AES βασίζεται σε διαφορετική αρχιτεκτονική από το δίκτυο Feisthal. Οι συγγραφείς του αλγορίθμου ονόμασαν αυτή τη νέα αρχιτεκτονική «Τετράγωνο». Η ουσία του έγκειται στο γεγονός ότι το αρχικό μπλοκ δεδομένων γράφεται byte-byte στον πίνακα. Η ίδια η διαδικασία κρυπτογράφησης συνίσταται στην επανειλημμένη εκτέλεση διαφόρων μετασχηματισμών με τα στοιχεία ενός τέτοιου πίνακα, καθώς και με τις γραμμές και τις στήλες του. Η προτεινόμενη αρχιτεκτονική έχει καλές ιδιότητες σκέδασης και ανάμειξης Shannon.

Το πρότυπο AES παρέχει τρεις τρόπους λειτουργίας ανάλογα με το μήκος του κλειδιού που χρησιμοποιείται. Τα πιθανά μήκη κλειδιών είναι 128, 192 και 256 bit. Ο αριθμός των γύρων κρυπτογράφησης εξαρτάται από το μήκος του κλειδιού που χρησιμοποιείται είναι 10, 12 ή 14 γύρους, αντίστοιχα. Το μέγεθος του μπλοκ δεδομένων πηγής εισόδου και του μπλοκ κρυπτογραφημένου κειμένου εξόδου είναι το ίδιο και είναι πάντα 128 bit.

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

Τα οφέλη του προτύπου AES περιλαμβάνουν:

- υψηλή απόδοση εφαρμογής σε οποιεσδήποτε πλατφόρμες.

- υψηλή αντοχή?

- χαμηλές απαιτήσεις μνήμης?

- δυνατότητα εφαρμογής σε έξυπνες κάρτες·

- γρήγορη διαδικασία δημιουργίας κλειδιών.

- δυνατότητα παραλληλισμού των πράξεων.


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

DES

GOST 28147-89

AES

Μέγεθος μπλοκ δεδομένων (bits)

Μέγεθος κλειδιού
(κομμάτι)

128, 192, 256

Αρχιτεκτονική

Feistal Network

Feistal Network

"Πλατεία"

Αριθμός γύρων

10, 12, 14

Στρογγυλή δομή

Απλός

Απλός

Δύσκολος

Λειτουργίες που χρησιμοποιούνται

Πρόσθετες πράξεις, αντικατάσταση, μεταθέσεις, μετατοπίσεις

Λειτουργίες πρόσθετων, αντικατάσταση, μετατοπίσεις

Πράξεις σε πεπερασμένα πεδία

Για να απαριθμήσετε όλα τα πιθανά κλειδιά για τον αλγόριθμο DES, πρέπει να εκτελέσετε περίπου 7,2x1016 επιλογές. Το ελάχιστο μέγεθος κλειδιού στον αλγόριθμο AES είναι 128 bit. Για να απαριθμήσετε όλα τα πιθανά κλειδιά σε αυτήν την περίπτωση, θα πρέπει να ελέγξετε περίπου τις επιλογές 3,4x1038. Αυτό είναι περίπου 1021 φορές περισσότερο από ό,τι στην περίπτωση του DES. Για να απαριθμήσετε όλα τα πλήκτρα μήκους 256 bit, θα χρειαστεί να ελέγξετε έναν αστρονομικό αριθμό επιλογών - περίπου 1,1x1077 πλήκτρα. Ανθεκτικότητα νέο πρότυπο Κρυπτογράφηση AESσε σχέση με τις επιθέσεις ωμής βίας, μόλις τώρα έχει φτάσει στο εγχώριο πρότυπο GOST 28147-89.

Ο αλγόριθμος GOST 28147-89 καθιστά εξαιρετικά εύκολη τη δημιουργία στρογγυλών κλειδιών κρυπτογράφησης. Λαμβάνονται ως στοιχεία του αρχικού μυστικού κλειδιού κρυπτογράφησης. Ταυτόχρονα, το DES και το AES χρησιμοποιούν πολύ πιο σύνθετους αλγόριθμους για τον υπολογισμό στρογγυλών κλειδιών.

Σε σύγκριση με το DES, ο αλγόριθμος GOST 28147-89 είναι ταχύτερος. Για παράδειγμα, στους επεξεργαστές Intel x86 η εφαρμογή του GOST 28147-89 είναι υπερδιπλάσια από την εφαρμογή DES. Στον επεξεργαστή Pention Pro-200 MHz, το όριο απόδοσης του αλγόριθμου GOST 28147-89 είναι 8 MB/sec. Ο παρακάτω πίνακας δείχνει συγκριτικούς δείκτες απόδοσης των προτύπων GOST 28147-89 και AES

GOST 28147-89

AES

Pentium 166 MHz

2,04 MB/s

2,46 MB/s

Pentium III 433 MHz

8,30 MB/s

9,36 MB/s

Ο αλγόριθμος GOST 28147-89 είναι πιο βολικός για την υλοποίηση υλικού και λογισμικού από το DES, αλλά λιγότερο βολικός από τον AES. Τα πρότυπα GOST 28147-89 και AES έχουν συγκρίσιμες τιμές για τα κύρια χαρακτηριστικά.

Για τους αλγόριθμους συμμετρικής κρυπτογράφησης μπλοκ (AS), ορίζονται αρκετοί κύριοι τρόποι χρήσης τους. Αυτοί οι τρόποι ήταν αρχικά συγκεκριμένοι για τη χρήση του αλγορίθμου DES, αλλά στην πραγματικότητα μπορούν να εφαρμοστούν σε οποιονδήποτε αλγόριθμο μπλοκ. Για παράδειγμα, ορισμένοι από αυτούς τους τρόπους λειτουργίας είναι ανάλογοι των τρόπων λειτουργίας που ορίζονται για τον αλγόριθμο GOST 28147-89. Η επιλεγμένη λειτουργία καθορίζει το εύρος εφαρμογής του αλγόριθμου κρυπτογράφησης μπλοκ. Κάθε τρόπος λειτουργίας έχει τα δικά του πλεονεκτήματα και μειονεκτήματα.

Λειτουργία ηλεκτρονικού βιβλίου κωδικών .

Βιβλίο Ηλεκτρονικού Κώδικα (ΕΚΤ)

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

Φόντα:

- ευκολία εφαρμογής?

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

- δυνατότητα παράλληλου.

Ελαττώματα:

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

- τη δυνατότητα επανάληψης μπλοκ και αντικατάστασης μπλοκ στο πακέτο πληροφοριών.

- διάδοση σφαλμάτων κρυπτογραφημένου κειμένου.


Πεδίο εφαρμογής:

- κρυπτογράφηση άλλων κλειδιών και γενικά τυχαίων πληροφοριών.

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

Λειτουργία αλυσίδας μπλοκ κρυπτογραφημένου κειμένου .

Αλυσίδα κρυπτογράφησης μπλοκ (CBC)

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


Φόντα:

- είναι δύσκολο να χειριστεί κανείς απλό κείμενο (υποκατάσταση και αντικατάσταση).

- Μπορείτε να κρυπτογραφήσετε πολλά μηνύματα με ένα κλειδί.

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

Ελαττώματα:

- το κρυπτογραφημένο κείμενο είναι ένα μπλοκ μεγαλύτερο από το απλό κείμενο.

- ένα σφάλμα συγχρονισμού είναι μοιραίο.

- διάδοση σφαλμάτων κρυπτογραφημένου κειμένου.

- η κρυπτογράφηση δεν μπορεί να εκτελεστεί παράλληλα.

Πεδίο εφαρμογής:

- κρυπτογράφηση αρχείων και μηνυμάτων.


Λειτουργία ανάδρασης κρυπτογραφημένου κειμένου.

Ανατροφοδότηση κρυπτογράφησης (CFB)

Στην αρχή, το διάνυσμα αρχικοποίησης τροφοδοτείται απευθείας στην είσοδο του αλγόριθμου κρυπτογράφησης. Το κείμενο προέλευσης αποτελείται από μπλοκ k bit και κ n, Πού n- μήκος του μπλοκ δεδομένων εισόδου. Κάθε μπλοκ κειμένου προέλευσης προστίθεται σε ένα μέρος της ακολουθίας μήκους κ bit που λαμβάνονται ως έξοδος του αλγορίθμου κρυπτογράφησης. Το αποτέλεσμα της προσθήκης είναι ένα μπλοκ κρυπτογραφημένου κειμένου. Η τιμή της ακολουθίας που λαμβάνεται στην έξοδο του αλγορίθμου κρυπτογράφησης μετατοπίζεται k bit προς τα αριστερά. Το πιο σωστό κ bits της ακολουθίας καταλαμβάνονται από bits του κρυπτογράμματος. Η νεοσυσταθείσα ακολουθία δεδομένων εισόδου τροφοδοτείται στην είσοδο του αλγόριθμου κρυπτογράφησης και ούτω καθεξής.


Φόντα:

- Το μέγεθος του μπλοκ δεδομένων μπορεί να διαφέρει από το τυπικό μέγεθος.

- Είναι δύσκολο να χειριστεί κανείς απλό κείμενο.

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

Ελαττώματα:

- υποχρεωτική μοναδικότητα (αλλά όχι μυστικότητα) του διανύσματος αρχικοποίησης.

- ταχεία διάδοση σφαλμάτων κρυπτογραφημένου κειμένου.

Πεδίο εφαρμογής:

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


Λειτουργία ανάδρασης εξόδου .

Σχόλια εξόδου (OFB)

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


Φόντα:

- Τα σφάλματα κρυπτογραφημένου κειμένου δεν διαδίδονται.

- τη δυνατότητα προκαταρκτικής προετοιμασίας της κλίμακας ·

- Το μέγεθος του μπλοκ δεδομένων μπορεί να διαφέρει από το τυπικό μέγεθος.

Ελαττώματα:

- Το σφάλμα συγχρονισμού είναι μοιραίο.

- εύκολο να χειριστείτε απλό κείμενο.

- υποχρεωτική μοναδικότητα (αλλά όχι μυστικότητα) του διανύσματος αρχικοποίησης.

Πεδίο εφαρμογής:

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

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


Πρόσθετες λειτουργίες κρυπτογράφησης

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

· Λειτουργία αλυσιδωτής μπλοκ διάδοσης (PCBC).

· Αλυσίδα μπλοκ κρυπτογραφημένου κειμένου με λειτουργία Checksum (CBCC).

· Λειτουργία μη γραμμικής ανάδρασης εξόδου (OFBNLF).

· Αλυσίδα μπλοκ απλού κειμένου (PBC).

· Λειτουργία ανάδρασης απλού κειμένου (PFB).

· Chaining Blocks of Text by Plaintext Differences (CBCPD).

¦ Αλγόριθμοι και πρότυπα κρυπτογράφησης

¦ Ηλεκτρονική ψηφιακή υπογραφή

¦ Σύγχρονες τεχνολογίες ελέγχου ταυτότητας. Έξυπνες κάρτες

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

Η κρυπτογράφηση ως διαδικασία πηγαίνει αιώνες πίσω. Έτσι, οι κρυπτογράφοι αντικατάστασης υπάρχουν εδώ και περίπου 2500 χρόνια. Ένα εντυπωσιακό παράδειγμα αυτού είναι ο κρυπτογράφησης Atbash, που προέκυψε γύρω στο 600 π.Χ. Η ουσία της δουλειάς του ήταν να χρησιμοποιεί το εβραϊκό αλφάβητο με αντίστροφη σειρά. Ο Ιούλιος Καίσαρας χρησιμοποίησε επίσης έναν κρυπτογράφηση αντικατάστασης, ο οποίος πήρε το όνομά του - τον κρυπτογράφηση του Καίσαρα. Η ουσία του κρυπτογράφησης του Καίσαρα ήταν να αντικαταστήσει καθένα από τα γράμματα με ένα άλλο στο αλφάβητο, τρεις θέσεις πιο μακριά από το αρχικό. Έτσι, το γράμμα Α μετατράπηκε σε Δ, το Β έγινε Ε, εγώ έγινα G κ.λπ.

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

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

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

¦ Ακεραιότητα. Η κρυπτογράφηση χρησιμοποιείται για να αποτρέψει την αλλαγή πληροφοριών κατά τη μετάδοση ή την αποθήκευση. Ένα εντυπωσιακό παράδειγμα - άθροισμα ελέγχου, που λαμβάνεται χρησιμοποιώντας μια συνάρτηση κατακερματισμού (τι μπορεί να δει κανείς στους διακομιστές FTP δίπλα στο αρχείο (κάτι σαν αυτό - dpofgj 0 93utm34tdfgb45ygf) που πρόκειται να κατεβάσουμε).

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

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

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

¦ επίθεση «brute force» ή Brute Force (οι επιθέσεις «brute force» συνεπάγονται την επιλογή όλων των πιθανών βασικών επιλογών).

¦ αναζήτηση για τρωτά σημεία στον αλγόριθμο.

Λαμβάνοντας υπόψη το γεγονός ότι οι χρησιμοποιούμενοι αλγόριθμοι κρυπτογράφησης έχουν ήδη δοκιμαστεί με φωτιά και χρόνο, είναι προφανές ότι ένας εισβολέας θα χρησιμοποιήσει Brute Force. Η παραβίαση εμπιστευτικών πληροφοριών κρυπτογραφημένων με έναν ισχυρό αλγόριθμο και ένα αρκετά μεγάλο κλειδί (για παράδειγμα, 512 bit) θα απαιτήσει από τον χάκερ να χρησιμοποιήσει έναν «στρατό» υπερυπολογιστών ή ένα δίκτυο διανομής πολλών εκατοντάδων χιλιάδων μηχανών, συν πολύ χρόνο και χρήμα. Αλλά αν έχετε χρήματα, τότε γιατί όχι! Έτσι, το 1997, το Electronic Frontier Foundation (EFF) ανακοίνωσε ένα σύστημα υπολογιστή που θα μπορούσε να βρει ένα κλειδί DES σε τέσσερις ημέρες. Η δημιουργία του συστήματος κόστισε στην εταιρεία 250.000 δολάρια Με σύγχρονο εξοπλισμό, ένα κλειδί DES μπορεί να προσδιοριστεί μέσω μιας επίθεσης ωμής βίας σε 35 λεπτά.

2.1. Αλγόριθμοι και πρότυπα κρυπτογράφησης

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

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

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

Άλλοι τύποι κρυπτογράφησης είναι επίσης γνωστοί, όπως η μυστική γραφή. Οι μυστικοί αλγόριθμοι γραφής δεν είναι δημόσιοι για γνωστούς λόγους: σε αγνώστουςο ίδιος ο αλγόριθμος κρυπτογράφησης είναι άγνωστος. Ο νόμος μετασχηματισμού είναι γνωστός μόνο στον αποστολέα και στον παραλήπτη του μηνύματος. Τα τακάκια μιας χρήσης μπορούν να θεωρηθούν ένα από τα εντυπωσιακά παραδείγματα τέτοιων συστημάτων. Τα επιθέματα μίας χρήσης (One-time Pad, ή OTP) μπορούν να ονομαστούν το μόνο θεωρητικά άθραυστο σύστημα κρυπτογράφησης. Ένα εφάπαξ pad είναι μια λίστα αριθμών με τυχαία σειρά που χρησιμοποιούνται για την κωδικοποίηση ενός μηνύματος. Όπως υποδηλώνει το όνομα, το OTP μπορεί να χρησιμοποιηθεί μόνο μία φορά. Τα επιθέματα μιας χρήσης χρησιμοποιούνται ευρέως σε πληροφοριακά περιβάλλονταμε πολύ υψηλό επίπεδο ασφάλειας (αλλά μόνο για σύντομα μηνύματα). Έτσι, στη Σοβιετική Ένωση, το OTP χρησιμοποιήθηκε για τη σύνδεση αξιωματικών πληροφοριών με τη Μόσχα.

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

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

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

¦ DES (σημαντικά ξεπερασμένο) και TripleDES (3DES).

¦ AES (Rijndael);

¦ GOST 28147-89;

Οι κύριες παράμετροι των αλγορίθμων συμμετρικής κρυπτογράφησης μπορούν να θεωρηθούν:

¦ ανθεκτικότητα;

¦ μήκος κλειδιού;

¦ αριθμός γύρων.

¦ μήκος του επεξεργασμένου μπλοκ.

¦ πολυπλοκότητα υλοποίησης υλικού/λογισμικού.

Ας ξεκινήσουμε λοιπόν.

Πρότυπο κρυπτογράφησης δεδομένων (DES).Ο αλγόριθμος Data Encryption Standard (DES) αναπτύχθηκε από την IBM στις αρχές της δεκαετίας του 1970. Το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας των ΗΠΑ (NIST) υιοθέτησε έναν αλγόριθμο (δημοσίευση FIPS 46) για το DES το 1977. Ο αλγόριθμος τροποποιήθηκε περαιτέρω το 1983, 1988, 1993 και 1999.

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

Το DES χρησιμοποιεί ένα κλειδί 56-bit. Σύμφωνα με τα σημερινά πρότυπα, ένα τέτοιο μήκος κλειδιού είναι απαράδεκτο. Το DES είναι ένας αλγόριθμος κρυπτογράφησης μπλοκ που επεξεργάζεται ένα μπλοκ 64-bit απλού κειμένου τη φορά. Ο αλγόριθμος DES εκτελεί 16 κύκλους κρυπτογράφησης με διαφορετικό δευτερεύον κλειδί σε κάθε κύκλο. Το κλειδί υπόκειται στον δικό του αλγόριθμο για να σχηματίσει 16 δευτερεύοντα κλειδιά (Εικόνα 2.1).

Ρύζι. 2.1.Σχέδιο λειτουργίας DES

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

Εισάγεται μια συνάρτηση F που λειτουργεί σε λέξεις πηγής 32 bit ® και χρησιμοποιεί ένα κλειδί 48 bit (J) ως παράμετρο. Το διάγραμμα λειτουργίας της συνάρτησης F φαίνεται στο Σχ. 2.1. Πρώτον, τα 32 bit εισόδου επεκτείνονται σε 48, με μερικά bit να επαναλαμβάνονται.

Για τον κώδικα και το κλειδί 48-bit που προκύπτει, εκτελείται μια λειτουργία προσθήκης modulo-2. Ο προκύπτων κώδικας 48-bit μετατρέπεται σε 32-bit χρησιμοποιώντας πίνακες S.

Ο αρχικός κώδικας 48 bit χωρίζεται σε οκτώ ομάδες των έξι bit. Το πρώτο και το τελευταίο ψηφία της ομάδας χρησιμοποιούνται ως διεύθυνση γραμμής και τα μεσαία τέσσερα ψηφία χρησιμοποιούνται ως διεύθυνση στήλης. Ως αποτέλεσμα, κάθε έξι bit κώδικα μετατρέπονται σε τέσσερα bit και ολόκληρος ο κώδικας 48 bit μετατρέπεται σε 32 bit (αυτό απαιτεί οκτώ S-matrices). Υπάρχουν εξελίξεις που καθιστούν δυνατή την εκτέλεση κρυπτογράφησης εντός του προτύπου DES σε υλικό, το οποίο παρέχει αρκετά υψηλή απόδοση.

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

Το 1973, ο Horst Feistel δημοσίευσε ένα άρθρο στο Scientific American με τίτλο «Cryptography and Computer Privacy», στο οποίο αποκάλυψε ορισμένες σημαντικές πτυχές της κρυπτογράφησης και εισήγαγε επίσης ένα σχέδιο που αργότερα ονομάστηκε δίκτυο Feistel. Αυτό το κύκλωμα χρησιμοποιήθηκε στο έργο Lucifer της IBM, στο οποίο εργάστηκαν οι Feistel και Don Coppersmith. Αυτό το έργο ήταν μάλλον πειραματικό, αλλά έγινε η βάση για το Data Encryption Standard (DES). Η επαναληπτική δομή του αλγορίθμου κατέστησε δυνατή την απλοποίηση της εφαρμογής του σε περιβάλλοντα υλικού.

Αξίζει να σημειωθεί ότι οι ακόλουθοι κωδικοί μπλοκ χρησιμοποιούν το κλασικό ή τροποποιημένο δίκτυο Feishtel ως βάση τους: Blowfish, Camellia, CAST, DES, FEAL, GOST 28147-89, KASUMI, LOKI97, Lucifer, MacGuffin, MARS, MAGENTA, MISTY1, RC2 , RC5, RC6, Skipjack, TEA, Triple DES, Twofish, XTEA.

TripleDES (3DES).Η προφανής αστάθεια του DES οδήγησε στην αναζήτηση κάποιας εναλλακτικής. Το 1992, έρευνα έδειξε ότι το DES θα μπορούσε να χρησιμοποιηθεί τρεις φορές για να παρέχει ισχυρότερη κρυπτογράφηση. Έτσι γεννήθηκε το τριπλό DES (3DES). Το Triple DES χρησιμοποιείται είτε με δύο είτε με τρία πλήκτρα. Το κλειδί που χρησιμοποιείται σε αυτή την περίπτωση παρέχει μεγαλύτερη ισχύ σε σύγκριση με το συμβατικό DES.

Advanced Encrypt Standard (AES).Λίγο μετά την κυκλοφορία του DES, ανακαλύφθηκε μια προφανής αδυναμία του αλγορίθμου. Η ανάγκη για ένα νέο πρότυπο ήταν κάτι παραπάνω από προφανής: το μικρό μήκος του κλειδιού DES (56 bit) κατέστησε δυνατή τη χρήση μιας μεθόδου ωμής δύναμης ενάντια σε αυτόν τον αλγόριθμο. Επιπλέον, η αρχιτεκτονική DES επικεντρώθηκε στην υλοποίηση υλικού και η εφαρμογή λογισμικού του αλγορίθμου σε πλατφόρμες με περιορισμένους πόρους δεν παρείχε την απαιτούμενη απόδοση. Η τροποποίηση TDES είχε αρκετό μήκος κλειδιού, αλλά ήταν ακόμη πιο αργή. Το TDES δεν υπάρχει αρκετό καιρό για να πούμε ότι ο αλγόριθμος είναι ισχυρός και αξιόπιστος. Αντικαταστάθηκε, όπως αναμενόταν, από έναν πιο σταθερό και αξιόπιστο αλγόριθμο - τον AES, ο οποίος, παρεμπιπτόντως, επιλέχθηκε ως αποτέλεσμα διαγωνισμού και υιοθετήθηκε ως το αμερικανικό πρότυπο κρυπτογράφησης από την κυβέρνηση των ΗΠΑ. Λίγα λόγια για τον ίδιο τον διαγωνισμό.

Στις 2 Ιανουαρίου 1997, το NIST (Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας) ανακοίνωσε την πρόθεσή του να βρει έναν αντικαταστάτη για το DES, το οποίο είναι το αμερικανικό πρότυπο από το 1977. Το NIST έχει λάβει αρκετά στοιχεία από τα ενδιαφερόμενα μέρη σχετικά με τον τρόπο επιλογής του αλγόριθμου. Η ισχυρή ανταπόκριση από την κοινότητα της ανοιχτής κρυπτογραφίας οδήγησε στην ανακοίνωση του διαγωνισμού στις 12 Σεπτεμβρίου 1997. Ο αλγόριθμος θα μπορούσε να προταθεί από σχεδόν οποιονδήποτε οργανισμό ή ομάδα ερευνητών. Οι ελάχιστες απαιτήσεις για το νέο πρότυπο ήταν οι εξής:

¦ πρέπει να είναι κρυπτογράφηση μπλοκ.

¦ το μήκος του μπλοκ πρέπει να είναι 128 bit.

¦ ο αλγόριθμος πρέπει να λειτουργεί με κλειδιά μήκους 128, 192 και 256 bit.

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

¦ εστίαση σε επεξεργαστές 32-bit.

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

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

Στις 20 Αυγούστου 1998, στο πρώτο συνέδριο της AES, ανακοινώθηκε μια λίστα με 15 υποψηφίους και συγκεκριμένα: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER+, Φίδι και Δύο Ψάρια.

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

Τον Μάρτιο του 1999 πραγματοποιήθηκε το δεύτερο συνέδριο της AES και τον Αύγουστο του 1999 ανακοινώθηκαν πέντε φιναλίστ, μεταξύ των οποίων οι: MARS, RC6, Rijndael, Serpent και Twofish. Όλα αναπτύχθηκαν από αξιόπιστους κρυπτογράφους με παγκόσμια αναγνώριση. Στο 3ο συνέδριο AES τον Απρίλιο του 2000, όλοι οι συγγραφείς παρουσίασαν τους αλγόριθμούς τους.

Το τρίτο συνέδριο της AES πραγματοποιήθηκε στη Νέα Υόρκη στις 13 και 14 Απριλίου 2000, λίγο πριν το τέλος της δεύτερης φάσης. Το διήμερο συνέδριο χωρίστηκε σε οκτώ συνεδρίες, τέσσερις την ημέρα. Οι συνεδρίες της πρώτης ημέρας συζήτησαν ζητήματα που σχετίζονται με προγραμματιζόμενες συστοιχίες πεδίου (FGPA), αξιολόγησαν την εφαρμογή αλγορίθμων σε διάφορες πλατφόρμες, συμπεριλαμβανομένων των PA-RISC, IA-64, Alpha, έξυπνων καρτών υψηλού επιπέδου και επεξεργαστών σήματος, και συγκρίθηκαν οι επιδόσεις των τυπικών αιτούντων , αναλύθηκε ο αριθμός των γύρων στους υποψήφιους αλγόριθμους. Τη δεύτερη μέρα, το Rijndael αναλύθηκε με μειωμένο αριθμό γύρων και φάνηκε η αδυναμία του σε αυτή την περίπτωση, συζητήθηκε το θέμα της ενσωμάτωσης και των πέντε υποψηφίων αλγορίθμων στο τελικό πρότυπο και όλοι οι αλγόριθμοι δοκιμάστηκαν ξανά. Στο τέλος της δεύτερης ημέρας, πραγματοποιήθηκε παρουσίαση στην οποία οι υποψήφιοι μίλησαν για τους αλγόριθμους τους, τα πλεονεκτήματα και τα μειονεκτήματά τους. Ο Vincent Rijmen μίλησε για τον Rijndael ως ηγέτη, αναφέροντας την αξιοπιστία της προστασίας, την υψηλή συνολική απόδοση και την απλότητα της αρχιτεκτονικής του υποψηφίου του.

Στις 2 Οκτωβρίου 2000, ο αλγόριθμος Rijndael ανακηρύχθηκε νικητής του διαγωνισμού και ξεκίνησε η διαδικασία τυποποίησης. Στις 28 Φεβρουαρίου 2001, το προσχέδιο δημοσιεύτηκε και στις 26 Νοεμβρίου 2001, το AES υιοθετήθηκε ως FIPS 197.

Αυστηρά μιλώντας, το AES και το Rijndael δεν είναι το ίδιο πράγμα, καθώς ο Rijndael υποστηρίζει ένα ευρύ φάσμα μηκών κλειδιών και μπλοκ.

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

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

Ο αλγόριθμος Rijndael περιλαμβάνει την εκτέλεση τεσσάρων διαδοχικών μετασχηματισμών.

1. BS (ByteSub) – αντικατάσταση πίνακα κάθε byte του πίνακα (Εικ. 2.2).


Ρύζι. 2.2.Αντικατάσταση πίνακα κάθε byte του πίνακα

2. SR (ShiftRow) – μετατόπιση σειρών πίνακα. Με αυτή τη λειτουργία, η πρώτη γραμμή παραμένει αμετάβλητη και οι υπόλοιπες μετατοπίζονται κυκλικά byte-byte προς τα αριστερά κατά σταθερό αριθμό byte, ανάλογα με το μέγεθος του πίνακα. Για παράδειγμα, για έναν πίνακα 4 x 4, οι σειρές 2, 3 και 4 μετατοπίζονται κατά 1, 2 και 3 byte, αντίστοιχα (Εικόνα 2.3).

3. Ακολουθεί το MC (MixColumn) - μια πράξη σε ανεξάρτητες στήλες ενός πίνακα, όταν κάθε στήλη πολλαπλασιάζεται με έναν σταθερό πίνακα C(X) σύμφωνα με έναν συγκεκριμένο κανόνα (Εικ. 2.4).

4. Το τελικό στάδιο είναι AK (AddRoundKey) - προσθήκη ενός κλειδιού. Κάθε bit του πίνακα προστίθεται modulo 2 με το αντίστοιχο bit του στρογγυλού κλειδιού, το οποίο, με τη σειρά του, υπολογίζεται με συγκεκριμένο τρόπο από το κλειδί κρυπτογράφησης (Εικ. 2.5).


Ρύζι. 2.3.Μετατόπιση σειράς πίνακα


Ρύζι. 2.4.Λειτουργία MixColumn


Ρύζι. 2.5.Προσθήκη λειτουργίας κλειδιού

Οι παραπάνω μετασχηματισμοί των κρυπτογραφημένων δεδομένων εκτελούνται διαδοχικά σε κάθε γύρο (Εικ. 2.6).

Ρύζι. 2.6.Στρογγυλή ακολουθία Rijndael

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

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

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

Στις 26 Μαΐου 2006, στο συνέδριο Quo Vadis IV, ο Nicolas Tadeusz Courtois (Πολωνός κρυπτογράφος που ζει στη Γαλλία) παρουσίασε μια πρακτική απόδειξη της ύπαρξης αλγεβρικών επιθέσεων βελτιστοποιημένων έναντι του κρυπτογράφου AES-Rijndael. Σε μιάμιση ώρα στο φορητό υπολογιστή του, πραγματοποίησε ένα demo hack χρησιμοποιώντας μόνο μερικά κρυπτογραφημένα κείμενα ενός στενού αναλόγου του Rijndael. Αν και ήταν μόνο ένα μοντέλο κρυπτογράφησης, ήταν εξίσου δυνατό, δεν προστέθηκαν σημαντικές αδυναμίες, είχε τα ίδια καλά χαρακτηριστικά διάχυσης και αντίσταση σε όλους τους προηγουμένως γνωστούς τύπους κρυπτανάλυσης. Η μόνη διαφορά ήταν ότι οι παράμετροι S-box άλλαξαν στο πλαίσιο του μοντέλου αλγεβρικής επίθεσης και ο αριθμός των γύρων μειώθηκε για λόγους σαφήνειας. Ωστόσο, αυτό ήταν αρκετό για να πείσει τους σκεπτικιστές για την πραγματικότητα των αλγεβρικών επιθέσεων και την ατέλεια ακόμη και μιας τέτοιας φαινομενικά τέλειας μεθόδου κρυπτογράφησης.

GOST 28147.Ο επόμενος αλγόριθμος συμμετρικής κρυπτογράφησης που θα εξετάσουμε είναι ο GOST 28147-89. Αυτό είναι σοβιετικό και Ρωσικό πρότυποσυμμετρική κρυπτογράφηση, που εισήχθη την 1η Ιουλίου 1990. Το πρότυπο είναι υποχρεωτικό για οργανισμούς, επιχειρήσεις και ιδρύματα που χρησιμοποιούν κρυπτογραφική προστασία δεδομένων που αποθηκεύονται και μεταδίδονται σε δίκτυα υπολογιστών, σε ξεχωριστά συστήματα υπολογιστών ή υπολογιστές.

Ο αλγόριθμος αναπτύχθηκε στην πρώην Κεντρική Διεύθυνση της KGB της ΕΣΣΔ ή σε ένα από τα μυστικά ερευνητικά ινστιτούτα του συστήματός της. Αρχικά είχε μια βαθμολογία (OB ή SS - δεν είναι ακριβώς γνωστό), στη συνέχεια η βαθμολογία μειώθηκε διαδοχικά και όταν ο αλγόριθμος πραγματοποιήθηκε επίσημα μέσω του κρατικού προτύπου της ΕΣΣΔ το 1989 αφαιρέθηκε. Ο αλγόριθμος παραμένει μοριοσανίδα (όπως γνωρίζετε, η μοριοσανίδα δεν θεωρείται ταστιέρα). Το 1989 έγινε το επίσημο πρότυπο της ΕΣΣΔ και αργότερα, μετά την κατάρρευση της ΕΣΣΔ, το ομοσπονδιακό πρότυπο της Ρωσικής Ομοσπονδίας.

Από τη δημοσίευση του GOST, σημειώθηκε με την περιοριστική σφραγίδα "Για επίσημη χρήση" και επισήμως ο κρυπτογράφησης δηλώθηκε "πλήρως ανοιχτός" μόνο τον Μάιο του 1994. Για γνωστούς λόγους, η ιστορία της δημιουργίας του κρυπτογράφησης και τα κριτήρια για τον σχεδιασμό του είναι ακόμα άγνωστα.

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

Όταν λειτουργεί το GOST 28147-89, οι πληροφορίες κρυπτογραφούνται σε μπλοκ των 64 bit (τέτοιοι αλγόριθμοι ονομάζονται αλγόριθμοι μπλοκ), τα οποία στη συνέχεια χωρίζονται σε δύο υπομπλοκ των 32 bit (N1 και N2). Αφού ολοκληρωθεί η επεξεργασία του υπομπλοκ N1, η τιμή του προστίθεται στην τιμή του υπομπλοκ N2 (η προσθήκη εκτελείται modulo 2, δηλαδή, λογική λειτουργία XOR - αποκλειστικό OR), και στη συνέχεια τα υπομπλοκ ανταλλάσσονται. Αυτός ο μετασχηματισμός εκτελείται ορισμένες φορές (γύροι): 16 ή 32, ανάλογα με τον τρόπο λειτουργίας του αλγορίθμου. Σε κάθε γύρο εκτελούνται δύο επεμβάσεις (Εικ. 2.7).

Ρύζι. 2.7.Η μετατροπή πραγματοποιείται ορισμένες φορές

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

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

Ο αλγόριθμος, που ορίζεται από το GOST 28147-89, μπορεί να λειτουργήσει σε τέσσερις τρόπους:

¦ εύκολη αντικατάσταση.

¦ gaming;

¦ gaming με ανατροφοδότηση.

¦ δημιουργία προθεμάτων μίμησης.

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

Στη λειτουργία απλής αντικατάστασης, οι 32 γύροι που περιγράφονται παραπάνω εκτελούνται για την κρυπτογράφηση κάθε μπλοκ πληροφοριών 64-bit. Κάθε μπλοκ κρυπτογραφείται ανεξάρτητα από το άλλο, δηλαδή, το αποτέλεσμα κρυπτογράφησης κάθε μπλοκ εξαρτάται μόνο από το περιεχόμενό του (το αντίστοιχο μπλοκ κειμένου προέλευσης). Εάν υπάρχουν πολλά ίδια μπλοκ αρχικού (απλού) κειμένου, τα αντίστοιχα μπλοκ κρυπτογραφημένου κειμένου θα είναι επίσης πανομοιότυπα, γεγονός που δίνει επιπλέον χρήσιμες πληροφορίεςγια έναν κρυπτοαναλυτή που προσπαθεί να σπάσει έναν κρυπτογράφηση. Επομένως, αυτή η λειτουργία χρησιμοποιείται κυρίως για την κρυπτογράφηση των ίδιων των κλειδιών κρυπτογράφησης (πολύ συχνά εφαρμόζονται σχήματα πολλαπλών κλειδιών, στα οποία, για διάφορους λόγους, τα κλειδιά κρυπτογραφούνται μεταξύ τους). Δύο άλλοι τρόποι λειτουργίας προορίζονται για την κρυπτογράφηση των ίδιων των πληροφοριών: γάμμα και γάμμα με ανάδραση.

Στη λειτουργία γάμμα, κάθε μπλοκ απλού κειμένου προστίθεται bit-bit modulo 2 σε ένα μπλοκ γάμμα κρυπτογράφησης 64 bit. Ένα γάμμα κρυπτογράφησης είναι μια ειδική ακολουθία που λαμβάνεται ως αποτέλεσμα ορισμένων πράξεων με καταχωρητές N1 και N2.

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

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

3. Τα περιεχόμενα του καταχωρητή N1 προστίθενται modulo (2 32 – 1) με σταθερά C1 ίση με 2 24 + 2 16 + 2 8 + 2 4, και το αποτέλεσμα της πρόσθεσης γράφεται στον καταχωρητή N1.

4. Τα περιεχόμενα του καταχωρητή N2 προστίθενται modulo 2 32 με σταθερά C2 ίση με 2 24 + 2 16 + 2 8 + 1, και το αποτέλεσμα της πρόσθεσης γράφεται στον καταχωρητή N2.

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

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

Για την αποκρυπτογράφηση, το γάμμα δημιουργείται με παρόμοιο τρόπο και, στη συνέχεια, το κρυπτογραφημένο κείμενο και τα bit γάμμα επαναλαμβάνονται XOR.

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

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

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

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

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

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

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

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

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

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

Ωστόσο, όπως συμβαίνει πάντα, ο αλγόριθμος δεν είναι χωρίς μειονεκτήματα: είναι ασήμαντο αποδεδειγμένο ότι το GOST έχει "αδύναμα" πλήκτρα και S-box, αλλά το πρότυπο δεν περιγράφει τα κριτήρια για την επιλογή και την εξάλειψη των "αδύναμων". Επιπλέον, το πρότυπο δεν καθορίζει αλγόριθμο για τη δημιουργία S-box (πίνακες αντικατάστασης). Από τη μια πλευρά, αυτό μπορεί να είναι πρόσθετες μυστικές πληροφορίες (επιπλέον του κλειδιού) και από την άλλη, δημιουργεί μια σειρά προβλημάτων: είναι αδύνατο να προσδιοριστεί η κρυπτογραφική ισχύς του αλγορίθμου χωρίς να γνωρίζετε εκ των προτέρων τον πίνακα αντικατάστασης ; υλοποιήσεις του αλγορίθμου από διαφορετικούς κατασκευαστές μπορεί να χρησιμοποιούν διαφορετικούς πίνακες αντικατάστασης και μπορεί να είναι ασύμβατες μεταξύ τους.

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

Blowfish.Το Blowfish είναι ένας κρυπτογράφησης μπλοκ 64-bit που αναπτύχθηκε από τη Schneier το 1993. Αυτός ο κρυπτογράφηση, όπως και πολλοί άλλοι, βασίζεται στον αλγόριθμο δικτύου Feishtel. Ένας ξεχωριστός γύρος κρυπτογράφησης αυτού του αλγορίθμου αποτελείται από μια μετάθεση που εξαρτάται από το κλειδί και μια αντικατάσταση δεδομένων που εξαρτάται από το κλειδί. Όλες οι λειτουργίες βασίζονται σε XOR και προσθήκες σε λέξεις 32-bit. Το κλειδί έχει μεταβλητό μήκος (μέγιστο μήκος 448 bit) και χρησιμοποιείται για τη δημιουργία πολλών συστοιχιών δευτερευόντων κλειδιών. Ο κρυπτογράφηση δημιουργήθηκε ειδικά για μηχανές 32-bit και είναι σημαντικά ταχύτερος από τον αλγόριθμο DES που εξετάσαμε προηγουμένως.

ΙΔΕΑ(International Data Encryption Algorithm) αναπτύχθηκε από τους K. Lai και D. Massey στα τέλη της δεκαετίας του 1980. Είναι ένας κρυπτογράφηση που αποτελείται από επαναλαμβανόμενα μπλοκ 64 bit με κλειδί 128 bit και οκτώ γύρους. Θα πρέπει να σημειωθεί ότι, σε αντίθεση με τους αλγόριθμους κρυπτογράφησης που συζητήσαμε προηγουμένως, το IDEA δεν βασίζεται στο δίκτυο Feishtel, αν και η διαδικασία αποκρυπτογράφησης είναι παρόμοια με τη διαδικασία κρυπτογράφησης. Το IDEA σχεδιάστηκε για να είναι εύκολο στην εφαρμογή τόσο σε λογισμικό όσο και σε υλικό. Επιπλέον, η ασφάλεια του IDEA βασίζεται στη χρήση τριών ασυμβίβαστων τύπων αριθμητικές πράξειςπάνω από λέξεις 16-bit.

Μία από τις αρχές πίσω από τη δημιουργία του IDEA ήταν να καταστήσει τη διαφορική κρυπτανάλυσή του όσο το δυνατόν πιο δύσκολη, κάτι που σήμερα εκφράζεται από την απουσία αλγεβρικά αδύναμων σημείων στον αλγόριθμο. Παρόλο που η μεγάλη κατηγορία αδύναμων κλειδιών (2,51) που ανακαλύφθηκε από έναν συγκεκριμένο "Daemen" θα μπορούσε θεωρητικά να θέσει σε κίνδυνο τον αλγόριθμο, ο IDEA παραμένει ένας αρκετά αξιόπιστος αλγόριθμος, καθώς υπάρχουν 2.128 πιθανά κλειδιά, γεγονός που καθιστά δύσκολο το σπάσιμο.

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

Το μέγεθος του μπλοκ μπορεί να είναι 32, 64 ή 128 bit. Ο αριθμός των περασμάτων μπορεί να ποικίλλει από 0 έως 2048 bit. Αυτό το είδος παραμετρικότητας καθιστά τον RC5 έναν ασυνήθιστα ευέλικτο και αποτελεσματικό αλγόριθμο στην κατηγορία του.

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

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

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

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

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

Παράδειγμα μονόδρομης συνάρτησης είναι ο πολλαπλασιασμός δύο μεγάλων αριθμών: N = S x G. Από μαθηματική άποψη, ένας τέτοιος πολλαπλασιασμός είναι μια απλή πράξη. Ωστόσο αντίστροφη λειτουργία(η αποσύνθεση του Ν σε δύο μεγάλους παράγοντες), που ονομάζεται επίσης παραγοντοποίηση, σύμφωνα με τις σύγχρονες χρονικές εκτιμήσεις, είναι ένα αρκετά σύνθετο μαθηματικό πρόβλημα.

Λοιπόν, ας δούμε μερικούς από τους αλγόριθμους ασύμμετρης κρυπτογράφησης.

Αλγόριθμος Diffie-Hellman.Το 1976, οι Whitfield Diffie και Martin Hellman ανέπτυξαν το σύστημα κρυπτογράφησης δημόσιου κλειδιού τους. Το σύστημα Diffie-Hellman αναπτύχθηκε για να λύσει το πρόβλημα της διανομής κλειδιών κατά τη χρήση συστημάτων κρυπτογράφησης μυστικού κλειδιού. Η ιδέα ήταν να χρησιμοποιήσετε μια ασφαλή μέθοδο για να συμφωνήσετε σε ένα μυστικό κλειδί χωρίς να μοιράζεστε το κλειδί με οποιονδήποτε άλλο τρόπο. Ως εκ τούτου, ήταν απαραίτητο να βρεθεί ασφαλή τρόποαπόκτηση του μυστικού κλειδιού χρησιμοποιώντας την ίδια μέθοδο επικοινωνίας για την οποία αναπτύχθηκε η ασφάλεια. Η ουσία του αλγορίθμου Diffie-Hellman είναι η εξής. Ας υποθέσουμε ότι δύο σημεία (S1 και S2) πρέπει να συνδεθούν μεταξύ τους ασφαλής σύνδεση, για το οποίο πρέπει να γίνει διαπραγμάτευση ενός κλειδιού κρυπτογράφησης.

¦ Τα S1 και S2 δέχονται δύο μεγάλους ακέραιους αριθμούς a και b και 1< a < b.

¦ Το S1 επιλέγει έναν τυχαίο αριθμό i και υπολογίζει το I = ai; mod β. Το S1 μεταδίδει το I στον συνδρομητή S2.

¦ Το S2 επιλέγει έναν τυχαίο αριθμό j και υπολογίζει το J = aj; mod β. Το S2 μεταδίδει το J στον συνδρομητή S1.

¦ Ο S1 υπολογίζει το k1 = Ji; mod β.

¦ S2 υπολογίζει k2 = Ij; mod β.

Έχουμε k1 = k2 = ai ? j x mod b, επομένως τα k1 και k2 είναι μυστικά κλειδιά που προορίζονται για χρήση κατά τη μετάδοση άλλων δεδομένων.

Ακόμα κι αν υποθέσουμε ότι ένας εισβολέας καταφέρει με κάποιο τρόπο να ακούσει τη μεταδιδόμενη κίνηση, θα γνωρίζει τα a, b, I και J. Ωστόσο, τα i και j παραμένουν μυστικά. Το επίπεδο ασφάλειας του συστήματος εξαρτάται από τη δυσκολία εύρεσης i για ένα γνωστό I = ai; mod β. Αυτό το πρόβλημα ονομάζεται πρόβλημα διακριτού λογαρίθμου και θεωρείται πολύ δύσκολο (δηλαδή είναι σχεδόν αδύνατο να λυθεί με σύγχρονο υπολογιστικό εξοπλισμό) εάν οι αριθμοί είναι πολύ μεγάλοι. Επομένως, τα α και β πρέπει να επιλέγονται πολύ προσεκτικά. Για παράδειγμα, τόσο το b όσο και το (b – 1)/2 πρέπει να είναι πρώτο και τουλάχιστον 512 bit. Το συνιστώμενο μήκος αριθμού είναι 1024 bit.

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

Το μυστικό κλειδί k2 επιλέγεται τυχαία και πρέπει να πληροί τις ακόλουθες προϋποθέσεις: 1< k2 < F(N) и НОД (k2, F(N))= 1, где НОД – наибольший общий делитель. Иными словами, k1 должен быть взаимно простым со значением функции Эйлера F(N) , причем последнее равно количеству положительных целых чисел в диапазоне от 1 до N, взаимно простых с N, и вычисляется как F(N) = (R – 1) ? (S – 1) .

Το δημόσιο κλειδί kl υπολογίζεται από τη σχέση (k2 x kl) = 1; mod F(N). Για το σκοπό αυτό χρησιμοποιείται ο γενικευμένος ευκλείδειος αλγόριθμος (αλγόριθμος υπολογισμού του μεγαλύτερου κοινού διαιρέτη). Η κρυπτογράφηση του μπλοκ δεδομένων M χρησιμοποιώντας τον αλγόριθμο RSA εκτελείται ως εξής: C = Mkl? mod N. Δεδομένου ότι σε ένα πραγματικό κρυπτοσύστημα που χρησιμοποιεί RSA ο αριθμός k1 είναι πολύ μεγάλος (επί του παρόντος η διάστασή του μπορεί να φτάσει έως και τα 2048 bit), ο άμεσος υπολογισμός του Mk1 δεν είναι ρεαλιστικός. Για τη λήψη του, χρησιμοποιείται ένας συνδυασμός επαναλαμβανόμενου τετραγωνισμού του Μ και πολλαπλασιασμού των αποτελεσμάτων. Η αντιστροφή αυτής της λειτουργίας για μεγάλες διαστάσεις δεν είναι εφικτή. με άλλα λόγια, είναι αδύνατο να βρεθεί το Μ με τα γνωστά C, N και kl. Ωστόσο, έχοντας ένα μυστικό κλειδί k2, χρησιμοποιώντας απλούς μετασχηματισμούς μπορείτε να υπολογίσετε M = Ck2; mod N. Προφανώς, εκτός από το ίδιο το μυστικό κλειδί, είναι απαραίτητο να διασφαλιστεί η μυστικότητα των παραμέτρων R και S. Εάν ένας εισβολέας λάβει τις τιμές τους, θα μπορεί να υπολογίσει το μυστικό κλειδί k2.

Το κρυπτοσύστημα RSA χρησιμοποιείται επί του παρόντος σε μια μεγάλη ποικιλία προϊόντων, πλατφορμών και βιομηχανιών. Αρκεί να θυμηθούμε τη χρήση του στα λειτουργικά συστήματα των Microsoft, Apple, Sun και Novell για να φανταστούμε τη «μεγάλη κλίμακα» της RSA. Σε υλικό, ο αλγόριθμος RSA χρησιμοποιείται ευρέως σε ασφαλή τηλέφωνα, σε κάρτες δικτύου Ethernet, σε έξυπνες κάρτες και σε κρυπτογραφικό εξοπλισμό Zaxus (Racal). Επιπλέον, ο αλγόριθμος περιλαμβάνεται σε όλα τα κύρια πρωτόκολλα για ασφαλείς επικοινωνίες στο Διαδίκτυο, συμπεριλαμβανομένων των S/MIME, SSL και S/WAN, και χρησιμοποιείται επίσης σε πολλούς κρατικούς φορείς, κυβερνητικά εργαστήρια και πανεπιστήμια. Από το φθινόπωρο του 2000, οι τεχνολογίες που χρησιμοποιούν τον αλγόριθμο RSA αδειοδοτήθηκαν από περισσότερες από 700 εταιρείες.

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

Αλγόριθμος Ψηφιακής Υπογραφής.Ο αλγόριθμος DSA αναπτύχθηκε από την κυβέρνηση των ΗΠΑ ως τυπικός αλγόριθμοςΓια ψηφιακές υπογραφές(βλ. ενότητα 2.3). Αυτός ο αλγόριθμος βασίζεται στο σύστημα ElGamal, αλλά επιτρέπει μόνο τον έλεγχο ταυτότητας. Η εμπιστευτικότητα δεν διασφαλίζεται από αυτόν τον αλγόριθμο.

Κρυπτογράφηση με χρήση ελλειπτικών καμπυλών.Οι ελλειπτικές καμπύλες προτάθηκαν για χρήση σε συστήματα κρυπτογράφησης το 1985. Τα συστήματα κρυπτογράφησης ελλειπτικής καμπύλης (ECC) βασίζονται σε ένα διαφορετικό μαθηματικό πρόβλημα από την παραγοντοποίηση ή τον διακριτό λογάριθμο. Αυτό το πρόβλημα έχει ως εξής: λαμβάνοντας υπόψη δύο σημεία Α και Β σε μια ελλειπτική καμπύλη, έτσι ώστε A = kB, είναι πολύ δύσκολο να προσδιοριστεί ο ακέραιος αριθμός k. Παρά το γεγονός ότι είναι κάπως «εξωτικό», η χρήση του ECC έναντι του αλγόριθμου RSA ή Diffie-Hellman σε ορισμένες περιπτώσεις παρέχει ένα σημαντικό πλεονέκτημα. Το μεγαλύτερο από αυτά τα πλεονεκτήματα είναι ότι τα πλήκτρα μπορεί να είναι σημαντικά μικρότερα (λόγω της πολυπλοκότητας της εργασίας). Και αυτό χωρίς να χάνεις αντοχές! Ως αποτέλεσμα, οι υπολογισμοί εκτελούνται ταχύτερα, διατηρώντας το ίδιο επίπεδο ασφάλειας. Έτσι, η ασφάλεια που παρέχεται από ένα κλειδί ECC 160-bit μπορεί να είναι ισοδύναμη με ένα κλειδί RSA 1024-bit.

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

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

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

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

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

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

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

2.2. Ηλεκτρονική ψηφιακή υπογραφή

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

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

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

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

Ιδιωτικό κλειδί– πρόκειται για πληροφορίες μήκους 256 bit, οι οποίες αποθηκεύονται σε μέρος απρόσιτο για άλλους σε δισκέτα, έξυπνη κάρτα, μνήμη αφής. Ένα ιδιωτικό κλειδί λειτουργεί μόνο σε συνδυασμό με ένα δημόσιο κλειδί.

Δημόσιο κλειδίχρησιμοποιείται για την επαλήθευση της ψηφιακής υπογραφής των ληφθέντων αρχείων εγγράφων· τεχνικά πρόκειται για κάποιες πληροφορίες που έχουν μήκος 1024 bit. Ένα δημόσιο κλειδί λειτουργεί μόνο όταν γίνεται σύζευξη με ιδιωτικό κλειδί.

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

Εργαλεία ηλεκτρονικής ψηφιακής υπογραφής– υλικό ή/και λογισμικό, παρέχοντας:

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

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

¦ δημιουργία ιδιωτικών και δημόσιων κλειδιών ηλεκτρονικών ψηφιακών υπογραφών.

Το EDS είναι εύκολο

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

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

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

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

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

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

¦ πληροφορίες για το πρόσωπο που σχημάτισε την υπογραφή.

¦ ημερομηνία σχηματισμού υπογραφής.

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

Διαχείριση κλειδιών

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

Το πρόβλημα της προστασίας των κλειδιών από αντικατάσταση επιλύεται με τη βοήθεια πιστοποιητικών. Το πιστοποιητικό σάς επιτρέπει να πιστοποιήσετε τα δεδομένα που περιέχονται σε αυτό σχετικά με τον ιδιοκτήτη και το δημόσιο κλειδί του με την υπογραφή οποιουδήποτε αξιόπιστου προσώπου. Τα κεντρικά συστήματα πιστοποιητικών (για παράδειγμα, PKI - Υποδομή δημόσιου κλειδιού) χρησιμοποιούν αρχές έκδοσης πιστοποιητικών που διατηρούνται από αξιόπιστους οργανισμούς. Σε αποκεντρωμένα συστήματα (για παράδειγμα, PGP - Pretty Good Privacy), δημιουργείται ένα δίκτυο εμπιστοσύνης από κάθε χρήστη με τη διασταυρούμενη υπογραφή των πιστοποιητικών οικείων και έμπιστων ατόμων.

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

EDS κάτω από μικροσκόπιο

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

¦ αλγόριθμος για τη δημιουργία ζευγών κλειδιών χρήστη.

¦ λειτουργία υπολογισμού υπογραφής.

¦ λειτουργία επαλήθευσης υπογραφής.

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

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

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

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

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

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

¦ συνηθισμένες ψηφιακές υπογραφές.

¦ ψηφιακές υπογραφές με αποκατάσταση εγγράφων.

Στο έγγραφο που υπογράφεται πρέπει να επισυνάπτονται τακτικές ψηφιακές υπογραφές. Αυτή η κατηγορία περιλαμβάνει, για παράδειγμα, αλγόριθμους που βασίζονται σε ελλειπτικές καμπύλες (ECDSA, GOST R34.10-2001, DSTU 4145-2002). Οι ψηφιακές υπογραφές με ανάκτηση εγγράφων περιέχουν το έγγραφο που υπογράφεται: κατά τη διαδικασία επαλήθευσης υπογραφής, το σώμα του εγγράφου υπολογίζεται αυτόματα. Αυτή η τάξη περιλαμβάνει έναν από τους πιο δημοφιλείς αλγόριθμους, τον RSA, τον οποίο θα εξετάσουμε στο τέλος της ενότητας.

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

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

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

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

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

¦ να πλαστογραφήσει μια υπογραφή για ένα έγγραφο που έχει επιλέξει ο ίδιος.

¦ επιλέξτε ένα έγγραφο για μια δεδομένη υπογραφή έτσι ώστε η υπογραφή να ταιριάζει με αυτό.

¦ πλαστογραφήστε μια υπογραφή για τουλάχιστον κάποιο έγγραφο.

¦ αντικαταστήστε το δημόσιο κλειδί (δείτε την υποενότητα «Διαχείριση κλειδιών» ενότητα 2.2) με το δικό σας, που υποδύεται τον ιδιοκτήτη.

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

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

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

Το RSA ως θεμέλιο της ψηφιακής υπογραφής

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

Στις αρχές του 2001, το κρυπτοσύστημα RSA ήταν το πιο ευρέως χρησιμοποιούμενο ασύμμετρο κρυπτοσύστημα (κρυπτοσύστημα δημόσιου κλειδιού) και συχνά ονομάζεται de facto πρότυπο. Ανεξάρτητα από τα επίσημα πρότυπα, η ύπαρξη ενός τέτοιου προτύπου είναι εξαιρετικά σημαντική για την ανάπτυξη του ηλεκτρονικού εμπορίου και της οικονομίας γενικότερα. Ενιαίο σύστημαένα δημόσιο κλειδί επιτρέπει την ανταλλαγή εγγράφων με ηλεκτρονικές ψηφιακές υπογραφές μεταξύ χρηστών σε διαφορετικές χώρες που χρησιμοποιούν διαφορετικό λογισμικό σε διαφορετικές πλατφόρμες· Αυτή η δυνατότητα είναι απαραίτητη για την ανάπτυξη του ηλεκτρονικού εμπορίου.

Η εξάπλωση του συστήματος RSA έχει φτάσει σε τέτοιο βαθμό που λαμβάνεται υπόψη κατά τη δημιουργία νέων προτύπων. Το πρώτο στην ανάπτυξη προτύπων ψηφιακής υπογραφής ήταν το πρότυπο ANSI X9.30, το οποίο υποστήριξε το Πρότυπο Ψηφιακής Υπογραφής το 1997. Ένα χρόνο αργότερα, εισήχθη το ANSI X9.31, το οποίο έδωσε έμφαση στις ψηφιακές υπογραφές RSA, οι οποίες ανταποκρίνονταν στην πραγματική κατάσταση, ιδίως για τα χρηματοπιστωτικά ιδρύματα.

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

Η έλευση των ψηφιακών υπογραφών που βασίζονται σε RSA έχει κάνει τις ηλεκτρονικές συναλλαγές αρκετά ασφαλείς και αξιόπιστες.

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

Το μήνυμα αναπαρίσταται ως αριθμός M. Η κρυπτογράφηση εκτελείται χρησιμοποιώντας τη δημόσια συνάρτηση f(M) και μόνο ο παραλήπτης γνωρίζει πώς να εκτελέσει τη λειτουργία f-1. Ο παραλήπτης επιλέγει δύο μεγάλους πρώτους αριθμούς p και q, τους οποίους κρύβει. Δηλώνει n = pq και τον αριθμό d, c (d, p – 1) = (d, q – 1) = 1 (ένας πιθανός τρόπος για να ικανοποιηθεί αυτή η συνθήκη είναι να επιλέξετε d μεγαλύτερο από p/2 και q/2) . Η κρυπτογράφηση εκτελείται χρησιμοποιώντας τον τύπο: f(M) = Md x mod n, όπου τα M και f(M) είναι και τα δύο< n – 1 . Оно может быть вычислено за разумное время, даже если M, d и n содержат весьма большое количество знаков. Адресат вычисляет M на основе M d , используя свое знание p и q. Если dc ? (p _ 1) 1, тогда (M d) μι? σελ 1.

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

Ομοίως (Md) μι? q M, εάν dc ? (ρ _ 1) 1. το e ικανοποιεί αυτές τις δύο προϋποθέσεις αν cd ? (p _ 1) (q _ 1) 1 . Μπορούμε να δώσουμε e = x όταν x είναι λύση της εξίσωσης dx + (p – 1)(q – 1)y = 1.

Από (Md) μι Το M διαιρείται με p και q, και διαιρείται επίσης με pq. Επομένως, μπορούμε να προσδιορίσουμε το M γνωρίζοντας το Md, υπολογίζοντας την τιμή του στη δύναμη του e και προσδιορίζοντας το υπόλοιπο όταν διαιρείται με pq. Για να διατηρηθεί το απόρρητο, είναι σημαντικό ότι, γνωρίζοντας το n, είναι αδύνατο να υπολογιστούν τα p και q. Εάν το n περιέχει 100 ψηφία, η εύρεση ενός κρυπτογραφήματος περιλαμβάνει τη δοκιμή περίπου 1050 συνδυασμών. Αυτό το πρόβλημα έχει μελετηθεί για περίπου 100 χρόνια.

Θεωρητικά, μπορεί να υποτεθεί ότι είναι δυνατή η εκτέλεση πράξεις f-lχωρίς να υπολογίζονται τα p και q. Αλλά σε κάθε περίπτωση, αυτό το πρόβλημα δεν είναι εύκολο και οι προγραμματιστές θεωρούν ότι είναι δύσκολο να το συνυπολογίσουν.

Ας υποθέσουμε ότι έχουμε κρυπτογραφημένο κείμενο f(M) και απλό κείμενο M και θέλουμε να βρούμε τις τιμές των p και q. Είναι εύκολο να δείξουμε ότι τέτοια αρχικά δεδομένα δεν επαρκούν για την επίλυση του προβλήματος - πρέπει να γνωρίζετε όλες τις πιθανές τιμές του Mi.

Ας διευκρινίσουμε τη χρήση του αλγόριθμου RSA στο συγκεκριμένο παράδειγμα. Ας επιλέξουμε δύο πρώτους αριθμούς p = 7. q = l7 (στην πράξη αυτοί οι αριθμοί είναι πολλαπλάσιοι). Σε αυτή την περίπτωση, το n = pq θα είναι ίσο με ll9. Τώρα πρέπει να επιλέξουμε e = 5. Το επόμενο βήμα περιλαμβάνει το σχηματισμό του αριθμού d, έτσι ώστε de = 1 x mod [(p – 1)(q – 1)]. d = 77 (χρησιμοποιείται εκτεταμένος ευκλείδειος αλγόριθμος). d είναι το μυστικό κλειδί, και e και n χαρακτηρίζουν το δημόσιο κλειδί. Αφήστε το κείμενο που πρέπει να κρυπτογραφήσουμε να αντιπροσωπεύεται από M = 19. C = Me x mod n. Παίρνουμε το κρυπτογραφημένο κείμενο C = 66. Αυτό το «κείμενο» μπορεί να σταλεί στον κατάλληλο παραλήπτη. Ο παραλήπτης αποκρυπτογραφεί το ληφθέν μήνυμα χρησιμοποιώντας M = Cd x mod n και C = 66. Το αποτέλεσμα είναι M = 19.

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

Είναι δυνατό να χακάρετε μια ηλεκτρονική ψηφιακή υπογραφή;

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

Υπάρχουν διάφοροι τρόποι για να χακάρετε το RSA. Η πιο αποτελεσματική επίθεση είναι να βρείτε ένα ιδιωτικό κλειδί που ταιριάζει με το απαιτούμενο δημόσιο κλειδί. Αυτό θα επέτρεπε στον εισβολέα να διαβάσει όλα τα μηνύματα που είναι κρυπτογραφημένα με το δημόσιο κλειδί και να πλαστογραφήσει υπογραφές. Μια τέτοια επίθεση μπορεί να πραγματοποιηθεί με την εύρεση των κύριων παραγόντων (παραγόντων) του γενικού συντελεστή n – p και q. Με βάση τα p, q και e (ο γενικός εκθέτης), ο εισβολέας μπορεί εύκολα να υπολογίσει τον συγκεκριμένο εκθέτη d. Η κύρια δυσκολία είναι η εύρεση των κύριων παραγόντων (factoring) n. Η ασφάλεια του RSA εξαρτάται από το factoring, το οποίο είναι ένα δύσκολο πρόβλημα χωρίς αποτελεσματική λύση.

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

Ένας άλλος τρόπος για να σπάσετε το RSA είναι να βρείτε μια μέθοδο για τον υπολογισμό της ρίζας e του mod n. Εφόσον C = Me x mod n, τότε η ρίζα του βαθμού e του mod n είναι το μήνυμα M. Υπολογίζοντας τη ρίζα, μπορείτε να ανοίξετε κρυπτογραφημένα μηνύματα και να πλαστογραφήσετε υπογραφές χωρίς καν να γνωρίζετε το μυστικό κλειδί. Αυτή η επίθεση δεν ισοδυναμεί με παραγοντοποίηση, αλλά προς το παρόν δεν υπάρχουν γνωστές μέθοδοι που να μπορούν να σπάσουν το RSA με αυτόν τον τρόπο. Ωστόσο, σε ειδικές περιπτώσεις, όταν αρκετά σχετικά μηνύματα κρυπτογραφούνται με βάση τον ίδιο δείκτη σχετικά μικρής τιμής, είναι δυνατό να ανοίξουν τα μηνύματα. Οι επιθέσεις που αναφέρονται είναι οι μόνοι τρόποι αποκρυπτογράφησης όλων των μηνυμάτων που είναι κρυπτογραφημένα με ένα δεδομένο κλειδί RSA.

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

Η απλούστερη επίθεση σε ένα μόνο μήνυμα είναι μια επίθεση στο επιδιωκόμενο απλό κείμενο. Ο εισβολέας, έχοντας το κρυπτογραφημένο κείμενο, υποθέτει ότι το μήνυμα περιέχει κάποιο συγκεκριμένο κείμενο (για παράδειγμα, «Stirlitz to Playschner»). Στη συνέχεια κρυπτογραφεί το κείμενο που προορίζεται με το δημόσιο κλειδί του παραλήπτη και συγκρίνει το κείμενο που προκύπτει με το υπάρχον κρυπτογραφημένο κείμενο. Αυτή η επίθεση μπορεί να αποτραπεί προσθέτοντας μερικά τυχαία bit στο τέλος του μηνύματος. Άλλη μια επίθεση στο το μόνο μήνυμαισχύει εάν ο αποστολέας στέλνει το ίδιο μήνυμα M σε τρεις ανταποκριτές, καθένας από τους οποίους χρησιμοποιεί έναν κοινό εκθέτη e = 3. Γνωρίζοντας αυτό, ένας εισβολέας μπορεί να υποκλέψει αυτά τα μηνύματα και να αποκρυπτογραφήσει το μήνυμα M.

Αυτή η επίθεση μπορεί επίσης να αποτραπεί με την εισαγωγή μερικών τυχαίων bits στο μήνυμα πριν από κάθε κρυπτογράφηση. Επιπλέον, υπάρχουν διάφοροι τύποι επιθέσεων κρυπτογραφημένου κειμένου (ή επιθέσεων μεμονωμένα μηνύματαμε σκοπό τη πλαστογράφηση μιας υπογραφής), στην οποία ο εισβολέας δημιουργεί κάποιο κρυπτογραφημένο κείμενο και αποκτά το αντίστοιχο απλό κείμενο, για παράδειγμα εξαπατώντας έναν εγγεγραμμένο χρήστη για αποκρυπτογράφηση ψεύτικο μήνυμα. Φυσικά, υπάρχουν και επιθέσεις που δεν στοχεύουν άμεσα στο κρυπτοσυστήματα, αλλά στα τρωτά σημεία ολόκληρου του συστήματος επικοινωνιών συνολικά. Τέτοιες επιθέσεις δεν μπορούν να θεωρηθούν ως hacking του RSA, καθώς δεν υποδεικνύουν την αδυναμία του αλγορίθμου, αλλά μάλλον την ευπάθεια μιας συγκεκριμένης υλοποίησης. Για παράδειγμα, ένας εισβολέας θα μπορούσε να αποκτήσει ένα μυστικό κλειδί εάν δεν είναι αποθηκευμένο με την κατάλληλη ασφάλεια. Πρέπει να τονιστεί ότι για πλήρη προστασία δεν αρκεί η προστασία της εκτέλεσης του αλγόριθμου RSA και η λήψη μαθηματικών μέτρων ασφαλείας, δηλαδή η χρήση κλειδιού επαρκούς μήκους, αφού στην πράξη επιτίθενται στα μη προστατευμένα στάδια της διαχείρισης κλειδιών του RSA σύστημα έχει τη μεγαλύτερη επιτυχία.

2.3. Σύγχρονες τεχνολογίες ελέγχου ταυτότητας. Έξυπνες κάρτες

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

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

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

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

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

¦ κάρτες μνήμης;

¦ κάρτες μικροεπεξεργαστή.

¦ κάρτες με κρυπτογραφική λογική.

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

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

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

Αναγνώστες έξυπνων καρτών

Παρά το όνομα - έξυπνος αναγνώστης καρτών - τα περισσότερα τερματικές συσκευές, ή συσκευές διασύνδεσης (IFD, InterFace Device), είναι ικανές τόσο για ανάγνωση όσο και για γραφή, εάν το επιτρέπουν οι δυνατότητες της έξυπνης κάρτας και τα δικαιώματα πρόσβασης. Οι συσκευές ανάγνωσης έξυπνων καρτών μπορούν να συνδεθούν σε έναν υπολογιστή μέσω σειριακής θύρας, υποδοχής PCMCIA, σειριακής Δίαυλος USB. Σύμφωνα με τη μέθοδο ανάγνωσης πληροφοριών, οι κάρτες χωρίζονται στα εξής:

¦ επαφή;

¦ ανέπαφες;

- με διπλή διεπαφή.

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

¦ περιοχή επαφής:

Έξι ή οκτώ τετράγωνες ή οβάλ επαφές.

Οι θέσεις επαφής γίνονται σύμφωνα με το πρότυπο ISO-7816.

¦ chip (κάρτα μικροεπεξεργαστή).

¦ Πλαστική βάση.

Οι συσκευές ανάγνωσης έξυπνων καρτών μπορούν να ενσωματωθούν στο πληκτρολόγιο.

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

Χρήση έξυπνων συσκευών με έλεγχο ταυτότητας με δημόσιο κλειδί

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

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

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

Δημιουργία κλειδιού χρησιμοποιώντας τη συσκευή

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

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

¦ Πρότυπο ISO-7816 "Κάρτες αναγνώρισης - κάρτες με τσιπ με επαφές." Αποτελείται από έξι μέρη που ρυθμίζουν τα φυσικά χαρακτηριστικά, το μέγεθος και τη θέση των επαφών, τα σήματα και τα πρωτόκολλα, τη δομή του αρχείου, τη διεύθυνση και τις εντολές ανταλλαγής.

¦ Πρότυπο EMV (Europay, MasterCard & Visa). Το πρώτο και το δεύτερο μέρος βασίζονται στο ISO-7816, με τα επόμενα μέρη να προσθέτουν ορισμούς επεξεργασίας συναλλαγών, προδιαγραφές τερματικού κ.λπ.

Έξυπνη «τρομακτική ανατομία» – είναι δυνατό το hacking;

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

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

Είναι δυνατόν να χακάρετε μια έξυπνη κάρτα και αν ναι, πώς να το κάνετε;

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

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

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

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

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

Τεχνολογίες επαγόμενης αστοχίαςσυνεπάγεται τη δημιουργία μη φυσιολογικών συνθηκών λειτουργίας του τσιπ προκειμένου να ανοίξουν πιθανά κανάλια πρόσβασης σε προστατευμένες πληροφορίες. Για παράδειγμα, στα τέλη Σεπτεμβρίου 1996, μια ερευνητική ομάδα από το Bellcore (ένα ερευνητικό κέντρο Αμερικανική εταιρείαΟ Bell ανέφερε ότι είχε εντοπιστεί μια σοβαρή πιθανή αδυναμία γενικόςσε ασφαλείς κρυπτογραφικές συσκευές, ιδίως σε έξυπνες κάρτες για ηλεκτρονικές πληρωμές (D. Boneh, R.A. DeMillo, R.J. Lipton «On the Importance of Checking Cryptographic Protocols for Faults»· www.demiLLo.com/PDF/smart.pdf).Οι συγγραφείς ονόμασαν τη μέθοδο επίθεσής τους «κρυπτανάλυση υπό την παρουσία σφαλμάτων υλικού». Η ουσία της μεθόδου είναι ότι ένα σφάλμα στη λειτουργία ενός ηλεκτρονικού κυκλώματος που προκαλείται τεχνητά από ιονισμό ή ακτινοβολία μικροκυμάτων επιτρέπει σε κάποιον να συγκρίνει ελαττωματικές τιμές στην έξοδο της συσκευής με προφανώς σωστές τιμές, αποκαθιστώντας έτσι τις κρυπτογραφικές πληροφορίες που είναι αποθηκευμένες στην έξυπνη κάρτα.

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

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

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

Με την ευκαιρία, γιατί η Αλίκη και ο Μπομπ; Υπάρχει ένα σύντομο άρθρο σχετικά με αυτό στη Wikipedia: Alice, Bob and Eve. Για να γίνει πιο σαφές, η Αλίκη και ο Μπομπ θέλουν να ανταλλάξουν μηνύματα και η Εύα προσπαθεί να υποκλέψει και να διαβάσει αυτά τα μηνύματα.

Λίγη ιστορία

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

Για παράδειγμα, η Αλίκη κρυπτογραφούσε κάποιο μήνυμα και θέλει να το στείλει στον Μπομπ. Φυσικά, για να το διαβάσει ο Μπομπ, χρειάζεται το κλειδί με το οποίο κρυπτογραφήθηκε το μήνυμα. Και τότε προκύπτει το πρόβλημα του τρόπου μεταφοράς του κλειδιού ώστε να μην μπορεί κανείς να το υποκλέψει. Τα περίεργα μυαλά θα κάνουν μια προσφορά - αφήστε τα να τη μεταδώσουν αυτοπροσώπως και μετά επικοινωνήστε όσο θέλουν. Ναι, δεν διαφωνώ, είναι μια διέξοδος. Τώρα φανταστείτε για λίγο ότι η αλληλογραφία σας στο Διαδίκτυο, προτού συνδεθείτε σε αυτήν, θα σας ζητήσει να ταξιδέψετε στη φυσική τοποθεσία του διακομιστή αλληλογραφίας. Ανετος; Ίσως όχι πολύ.

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

Μέχρι τη δεκαετία του '70, αυτό το πρόβλημα έγινε τόσο κοινό που θεωρήθηκε αξίωμα ότι για να μεταδοθεί ένα μήνυμα ήταν απαραίτητο να μεταδοθεί το κλειδί με το οποίο ήταν κρυπτογραφημένο το μήνυμα (και μερικοί άνθρωποι εξακολουθούν να πιστεύουν έτσι). Αλλά το 1976, ο Diffie και ο Hellman πρότειναν την «εκθετική μέθοδο ανταλλαγής κλειδιών». Από αυτά τα χρόνια άρχισε η ανάπτυξη ασύμμετρων κρυπτοσυστημάτων.

Λίγο από την πραγματική ζωή

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

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

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

Ο μόνος τρόπος είναι να κάνετε ένα αντίγραφο του κλειδιού και να το δώσετε στον Μπομπ αυτοπροσώπως...

Και έτσι αρχίζει να φαίνεται ότι η ανταλλαγή κλειδιών είναι ένα αναπόφευκτο μέρος της κρυπτογράφησης - ή όχι;

Ας φανταστούμε μια διαφορετική εικόνα. Θα το γράψω βήμα βήμα:

  1. Η Αλίκη βάζει το γράμμα της σε ένα σιδερένιο κουτί και, κλειδώνοντάς το, το στέλνει στον Μπομπ.
  2. Ο Μπομπ, μόλις παραλάβει το κουτί, (προσοχή!) παίρνει την κλειδαριά του και, έχοντας κλειδώσει επιπλέον το κουτί με αυτό, το στέλνει πίσω.
  3. Η Αλίκη λαμβάνει ήδη το κουτί με δύο κλειδαριές (να σας θυμίσω, την πρώτη κλειδαριά της Αλίκης, για την οποία έχει το κλειδί και τη δεύτερη του Μπομπ, για την οποία μόνο ο Μπομπ έχει το κλειδί).
  4. Η Αλίκη αφαιρεί την κλειδαριά της και στέλνει το κουτί πίσω στον Μπομπ
  5. Ο Μπομπ λαμβάνει ένα κουτί με μια από τις κλειδαριές του για την οποία έχει ένα κλειδί
  6. Ο Μπομπ ξεκλειδώνει την κλειδαριά του με το κλειδί του και διαβάζει το μήνυμα

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

Ας επιστρέψουμε στην κρυπτογραφία

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


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


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

Ας επιστρέψουμε στα μαθηματικά

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

Τι είναι η μονόδρομη συνάρτηση; Για παράδειγμα, υπάρχει μια συνάρτηση διπλασιασμού, π.χ. διπλό(4)=8, είναι διπλής όψης, γιατί από το αποτέλεσμα 8 είναι εύκολο να ληφθεί η αρχική τιμή 4. Μια μονόδρομη συνάρτηση είναι μια συνάρτηση μετά την εφαρμογή της οποίας είναι σχεδόν αδύνατο να ληφθεί η αρχική τιμή. Για παράδειγμα, η ανάμειξη κίτρινου και μπλε χρώματος είναι ένα παράδειγμα μονόδρομης λειτουργίας. Ανακατέψτε τα εύκολα, αλλά για να λάβετε πίσω τα αρχικά εξαρτήματα - αδύνατος. Μια τέτοια συνάρτηση στα μαθηματικά είναι υπολογισμός modulo.

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

Για παράδειγμα, σας είπαν ότι 5 x (mod 7) = 2, προσπαθήστε να βρείτε x, Α; Το βρήκατε; Τώρα φανταστείτε ότι οι αριθμοί της τάξης του 10.300 λαμβάνονται ως Υ και Ρ.

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

Αλγόριθμος Diffie-Hellman

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

Αλίκη Φασόλι
Στάδιο 1 Και οι δύο συμμετέχοντες συμφωνούν στις έννοιες ΥΚαι Πγια μια γενική μονόδρομη λειτουργία. Αυτές οι πληροφορίες δεν είναι μυστικές. Ας υποθέσουμε ότι επιλέχθηκαν οι τιμές 7 Και 11 . Η γενική συνάρτηση θα μοιάζει με αυτό: 7 x (mod 11)
Στάδιο 2 Η Αλίκη επιλέγει έναν τυχαίο αριθμό, για παράδειγμα 3 ΕΝΑ Ο Μπομπ επιλέγει έναν τυχαίο αριθμό, για παράδειγμα 6 , το κρατάει μυστικό, ας το υποδηλώσουμε ως αριθμό σι
Στάδιο 3 Η Αλίκη αντικαθιστά τον αριθμό ΕΝΑ 7 3 (mod 11)= 343 (mod 11) = 2 ένα Ο Μπομπ συνδέει τον αριθμό σι V γενική λειτουργίακαι υπολογίζει το αποτέλεσμα 7 6 (mod 11)= 117649 (mod 11) = 4 , υποδηλώνει το αποτέλεσμα αυτού του υπολογισμού ως αριθμό σι
Στάδιο 4 Η Αλίκη περνάει τον αριθμό έναΒαρίδι Ο Μπομπ περνάει τον αριθμό σιΑλίκη
Στάδιο 5 Η Αλίκη παίρνει σιαπό τον Bob, και υπολογίζει την τιμή b A (mod 11)= 4 3 (mod 11) = 64 (mod 11) = 9 Ο Μπομπ παίρνει ένααπό την Alice, και υπολογίζει την τιμή a B (mod 11)= 2 6 (mod 11) = 64 (mod 11) = 9
Στάδιο 6 Και οι δύο συμμετέχοντες κατέληξαν με έναν αριθμό 9 . Αυτό θα είναι το κλειδί.

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

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

  • Αξίες έναΚαι Πκαι ο μυστικός αριθμός του Μπομπ σι
  • ή έννοιες σιΚαι Πκαι ο μυστικός αριθμός της Αλίκης ΕΝΑ

Αλλά μυστικοί αριθμοί δεν μεταδίδονται μέσω του καναλιού! Η Εύα δεν θα μπορεί να ανακτήσει το κλειδί χωρίς τον μυστικό αριθμό κάποιου. Γιατί - έγραψα παραπάνω, αυτή η λειτουργία είναι μονόδρομη. Δοκιμάστε να λύσετε την εξίσωση 4 x (mod 11) = 2 y (mod 11)έχοντας βρει xΚαι y.

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

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

Η Αλίκη μπορεί να προσθέσει μωβ χρώμα και ο Μπομπ μπορεί να προσθέσει βυσσινί. Μετά από αυτό, ο καθένας τους στέλνει το βάζο του με το ανάμεικτο περιεχόμενο στον άλλο.

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

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

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

Ακόμα δεν είναι σαφές; Στη συνέχεια, δείτε το βίντεο:

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

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

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

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


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

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

Μπορεί να γίνει μια βαθύτερη αναλογία.

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

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

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

Σύναψη

Λοιπόν, ελπίζω ότι μόλις καταλάβετε πώς λειτουργεί η ασύμμετρη κρυπτογράφηση από μέσα, θα την εμπιστευτείτε περισσότερο και, κατά συνέπεια, θα χρησιμοποιείτε το SSL πιο συχνά =)

Χρησιμοποιήθηκαν υλικά από το βιβλίο Singh Simon - Book of Codes. Παρεμπιπτόντως, το καλύτερο βιβλίο για όσους θέλουν να καταλάβουν έστω λίγο την κρυπτογραφία. Συμβουλεύω όλους να το διαβάσουν.

  1. τηλεόραση

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

  2. Ιγκόρ

    Προς τι αυτή η ανοησία με τα δημόσια κλειδιά; Τα συμμετρικά είναι πιο αξιόπιστα.
    Καλημέρα
    Καλό site, το υλικό παρουσιάζεται ξεκάθαρα, ευχαριστώ πολύ τον συγγραφέα. Ήρθα εδώ τυχαία τον Σεπτέμβριο, όταν έψαχνα για πληροφορίες σχετικά με την πρακτική κρυπτογράφηση.
    Γράφω γιατί θέλω να ρωτήσω: Θέλει κανείς να μάθει πώς να βρίσκει αριθμούς για συμμετρική κρυπτογράφηση; Μπορώ να σας διδάξω πώς να ελέγχετε γρήγορα τον αριθμό P για πρωταρχικό χαρακτήρα (χωρίς να ψάχνετε για τον αριθμό g) - αλλά αυτό είναι απίθανο να είναι ενδιαφέρον. Το πιο ενδιαφέρον:
    Βρείτε τον αριθμό P οποιουδήποτε μήκους και τον αριθμό g σε αυτόν. Δεν χρησιμοποιώ κανένα 2 στη δύναμη του n συν ένα (ή μείον ένα). Φυσικά, είναι δωρεάν. Υπάρχει ακόμη και ιστότοπος όπου δημοσίευσα τη δουλειά μου.

  • Ουάσια Πέτροβιτς

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

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

  • Ευγένιος

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

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

    Το βίντεο είναι αξιολάτρευτο, ειδικά αν λάβουμε υπόψη την ηλικία του.

    ΥΓ: Η χρήση μεταφορών για την εξήγηση «σύνθετων» συστημάτων είναι ειλικρινά δύσκολο να υπερεκτιμηθεί. Ευχαριστώ και πάλι!

  • dbzix

    Από αυτό το άρθρο δεν έπιασα τη στιγμή της μετάβασης από τον αλγόριθμο Diffie-Hellman, όπου δύο συνδρομητές ανταλλάσσουν δημόσια δεδομένα και ενδιάμεσα αποτελέσματα υπολογισμών για να λάβουν ένα μυστικό κλειδί (στο παράδειγμα υπήρχαν έως και 6 στάδια) στο στάδιο όπου ένα συγκεκριμένο δημόσιο κλειδί χρησιμοποιείται για κρυπτογράφηση, το οποίο στη συνέχεια αποκρυπτογραφείται χρησιμοποιώντας ένα ιδιωτικό κλειδί (μετρώ εδώ μόνο 2 στάδια μεταφοράς δεδομένων - αποστολή δημόσιου κλειδιού και αποστολή μηνύματος κρυπτογραφημένου με αυτό το κλειδί).
    Εκείνοι. Καταλαβαίνω ότι κάπου ανάμεσα σε αυτές τις δύο εξηγήσεις υπάρχουν πιθανώς πολλά μαθηματικά κρυμμένα, και στο τέλος η εξήγηση καταλήγει στο «έτσι λειτουργεί, απλά εμπιστεύσου με». Αλλά θα ήταν πιθανώς ευκολότερο να κατανοήσουμε αυτήν την ξαφνική μετάβαση εάν η αναλογία με τα χρώματα επεκτείνονταν για να εξηγήσει την ουσία της κρυπτογράφησης με ένα δημόσιο κλειδί που ακολουθείται από την αποκρυπτογράφηση με ένα ιδιωτικό. Εν τω μεταξύ, το αποτέλεσμα είναι κάποιο είδος «Β λειτουργεί επειδή το Α», ενώ δεν υπάρχει σαφής σύνδεση μεταξύ του Α και του Β. Με τουλάχιστονγια μένα.
    Αγαπητέ συγγραφέα, θα είχες την καλοσύνη να μου εξηγήσεις αυτό το μυστικιστικό άλμα από το Α στο Β; :) Ευχαριστώ!

  • Ευγένιος

    Καλημέρα,

    Δίνεται: υπάρχει ένας τύπος Y^x (mod P).
    το παράδειγμα στο άρθρο βασίζεται στον τύπο 7^x (mod 11)

    Πήρα το 4^x (mod 7) για το παράδειγμά μου
    και δεν μπορούσα να βρω ένα κοινό κλειδί.
    Ερώτηση: γιατί ο αλγόριθμος στο παράδειγμα λειτουργεί για 7^x (mod 11) και όχι για 4^x (mod 7);

  • Τζέσι Τζέιν
  • Αντρέι

    Ευχαριστώ, υπέροχο άρθρο!
    Μόνο τώρα σχεδόν κατάλαβα τον αλγόριθμο, πώς να υπολογίσω μέσω της ενότητας.
    Θα μπορούσατε να μου πείτε πώς να υπολογίσω τον αριθμό Β εάν ο αριθμός Α είναι μικρότερος από το συντελεστή;
    Λοιπόν για παράδειγμα:
    3 (mod 13) = ?

    Ξέρω ότι εάν, για παράδειγμα, πρέπει να υπολογίσετε το 625 (mod 13), χρειάζεστε 625/13 και στη συνέχεια να πολλαπλασιάσετε τον μεγαλύτερο δυνατό ακέραιο διαιρέτη (48) με το συντελεστή (που εδώ θα είναι ίσος με 624) και τέλος 625-624 = 1
    Οι αριθμοί 625 και 1 είναι συγκρίσιμοι modulo 13, αφού το 624 διαιρείται με το 13.
    Αυτό καταλαβαίνω. Τι γίνεται όμως αν η ενότητα είναι μεγαλύτερη από τον αριθμό a;

  • Κίτρινο Φρίκη

    1. Η επίθεση Man-in-the-Middle είναι ένα σοβαρό πρόβλημα. Από όσο μπορώ να πω, μόνο στο πλαίσιο της κρυπτογραφίας, αυτό το πρόβλημα δεν μπορεί να λυθεί κατ' αρχήν: αν δεχθούμε ότι η Εύα είναι ικανή να υποκλέψει και να αντικαταστήσει ανεπαίσθητα ΟΛΑ τα δεδομένα που έρχονται στην Αλίκη ή που προέρχονται από αυτήν μέσω ΟΠΟΙΟΥΔΗΠΟΤΕ καναλιών επικοινωνίας, καμία κρυπτογράφηση θα βοηθήσει. Τουλάχιστον ένα πιστοποιητικό πρέπει να αποκτήσει η Alice από μια απολύτως αξιόπιστη πηγή. Αλλά εάν ένας εισβολέας μπορεί να ακούσει μόνο το κανάλι επικοινωνίας και να μην αλλάξει τα δεδομένα σε αυτό, η ασύμμετρη κρυπτογράφηση είναι αρκετά αξιόπιστη.
    2. Όσον αφορά τη δυνατότητα αφαίρεσης ενός «στρώματος κρυπτογράφησης» από κάτω από ένα άλλο, η συνηθισμένη συνάρτηση XOR, που χρησιμοποιείται ευρέως στην κρυπτογραφία από την αρχαιότητα μέχρι σήμερα, έχει αυτή την ιδιότητα. Δεν νομίζω ότι μπορεί να κατοχυρωθεί με δίπλωμα ευρεσιτεχνίας :(

    1. Ντμίτρι ΑμίροφΣυγγραφέας

      Ναι, έχεις δίκιο, η επίθεση mitm σήμερα δεν μπορεί να λυθεί με κανέναν τρόπο αν είσαι απόλυτα παρανοϊκός. Εάν δεν είναι, τότε η ενασχόληση με τα πιστοποιητικά και τις υπογραφές θα παρέχει «απαραίτητη και επαρκή» προστασία.

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

      1. Κίτρινο Φρίκη

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

      2. Κίτρινο Φρίκη

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

        1. Σπάμε τις κρυπτογραφημένες πληροφορίες σε μπλοκ. Κάθε μπλοκ αντιπροσωπεύεται από έναν αριθμό. Το μέγεθος του μπλοκ (αριθμός bit) καθορίζει τον αριθμό των πιθανών τιμών μπλοκ και (ανάλογα;) την ισχύ της κρυπτογράφησης.
        2. Για να κρυπτογραφήσει το μήνυμα, η Αλίκη επιλέγει έναν μυστικό αριθμό (τον οποίο δεν στέλνει σε κανέναν), τον οποίο προσθέτει σε κάθε έναν από τους αριθμούς στα μπλοκ και στέλνει το μήνυμα κρυπτογραφημένο με αυτόν τον τρόπο στον Μπομπ.

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

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

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

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

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

  • Ντμίτρι

    Γειά σου. Καλό άρθρο, αλλά επίσης δεν κατάλαβα μερικά από τα σημεία που περιγράφονται παραπάνω.
    Είναι η μετάβαση από τον αλγόριθμο για την απόκτηση μυστικού κλειδιού και από τους δύο συνομιλητές (Αλίκη και Μπομπ) (χωρίς να τους αναρτήσουν στο δημόσια πρόσβαση) στην ασύμμετρη κρυπτογράφηση.
    Γράφετε ότι το μήνυμα είναι κρυπτογραφημένο από την πλευρά της Alice με το δημόσιο κλειδί που λαμβάνεται από τον Bob. Αλλά αν κρυπτογραφήσουμε με ένα δημόσιο κλειδί, τότε η Εύα μπορεί εύκολα να το πάρει και να το αποκρυπτογραφήσει η ίδια, σωστά;
    Παραμένει ακόμα ασαφές για μένα πώς μπορείτε να κρυπτογραφήσετε με ένα δημόσιο κλειδί και να αποκρυπτογραφήσετε μόνομυστικό από την πλευρά του Μπομπ. Δηλαδή, το κρυπτογραφούσαν με τη λέξη «Σπίτι», και το αποκρυπτογράφησαν με τη λέξη «Κόσμος». Για μένα αυτό είναι κάποιου είδους ανοησία.
    Με βάση αυτά τα προφανή κενά (είτε τα δικά σας είτε τα δικά μου), κατέληξα ότι το κύκλωμα εδώ πρέπει να είναι πιο περίπλοκο από ό,τι στην εικόνα. Πιθανότατα, το βέλος από το δημόσιο κλειδί του Μπομπ στην Αλίκη σημαίνει κάτι άλλο, δηλαδή ολόκληρη τη σειρά ενεργειών για να λάβετε "Y" και "P", να λάβετε ενδιάμεσα αποτελέσματα κ.λπ. Με άλλα λόγια, νομίζω ότι όταν το αρχικό μήνυμα κρυπτογραφείται με ένα δήθεν δημόσιο κλειδί, στην πραγματικότητα κρυπτογραφείται όχι με δημόσιο κλειδί, αλλά με μυστικό, το οποίο υπολογίζεται σε κάθε πλευρά ξεχωριστά.

    Είχα επίσης μια ερώτηση σχετικά με την αποκρυπτογράφηση ενός διπλά κρυπτογραφημένου μηνύματος. Αν πάρουμε, ας πούμε, τον κρυπτογράφηση του Καίσαρα, όπου κάθε γράμμα κρυπτογραφείται με ένα άλλο γράμμα, που στέκεται, ας πούμε, 3 θέσεις πιο πέρα. Εάν η Αλίκη κρυπτογραφήσει το γράμμα Α στο μήνυμα με το γράμμα Β και στη συνέχεια ο Μπομπ κρυπτογραφήσει αυτό το γράμμα Β με το γράμμα G, τότε θα είναι εύκολο να αποκτήσετε το γράμμα Α από το G και με οποιαδήποτε σειρά. Είναι αλήθεια ότι αυτό πιθανότατα θα λειτουργήσει μόνο σε περιπτώσεις όπου και οι δύο γνωρίζουν τον τύπο κρυπτογράφησης του συνομιλητή και με επαρκή απλοί τύποικρυπτογράφηση (μονοαλφαβητική/πολυαλφαβητική). Είμαι επίσης νέος στην κρυπτογραφία, οπότε αυτή είναι η γνώμη μου ;)

    1. Ντμίτρι

      Ξέχασα να ρωτήσω.
      Ποια είναι η διαφορά μεταξύ συμμετρικών και ασύμμετρων μεθόδων;

      1. Ντμίτρι

        Το διάβασα, λίγο-πολύ ομαδοποίησα τα πάντα στο μυαλό μου.
        Θα απαντήσω στις ερωτήσεις που έγραψα, ίσως βοηθώντας έτσι άλλους αναγνώστες.
        1. Για

        Γράφετε ότι το μήνυμα είναι κρυπτογραφημένο από την πλευρά της Alice με το δημόσιο κλειδί που λαμβάνεται από τον Bob. Αλλά αν κρυπτογραφήσουμε με ένα δημόσιο κλειδί, τότε η Εύα μπορεί εύκολα να το πάρει και να το αποκρυπτογραφήσει η ίδια, σωστά;
        Παραμένει επίσης ασαφές για μένα πώς είναι δυνατόν να κρυπτογραφηθεί με ένα δημόσιο κλειδί και να αποκρυπτογραφηθεί μόνο με ένα μυστικό από την πλευρά του Bob. Δηλαδή, το κρυπτογραφούσαν με τη λέξη «Σπίτι», και το αποκρυπτογράφησαν με τη λέξη «Κόσμος». Για μένα αυτό είναι κάποιου είδους ανοησία.

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

        3) Ο αποστολέας κρυπτογραφεί το μήνυμα
        4) Μεταφορές στον παραλήπτη

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

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

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

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

        Συμμετρικό - και οι δύο κόμβοι γνωρίζουν όλες τις πληροφορίες για κρυπτογράφηση/αποκρυπτογράφηση.

        Ελπίζω να βοήθησα κάποιον;3

        1. Ντμίτρι

          Αυτό το άρθρο αναφέρει τον αλγόριθμο RSA. Ασύμμετρος αλγόριθμος κρυπτογράφησηςΤο σφράγισα.

        2. Ντμίτρι ΑμίροφΣυγγραφέας

          Χμ... μόλις τώρα πρόσεξα τα σχόλιά σου. συγγνώμη.

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

          • Αλγόριθμος Daffy-Hellman- είναι ένας αλγόριθμος που σας επιτρέπει να αποκτήσετε ένα κοινό μυστικό κλειδί και τίποτα περισσότερο
          • Ασύμμετρη/συμμετρική κρυπτογράφηση- γενικά, όλα είναι σωστά μαζί σου
          • RSA- ένας αλγόριθμος που είναι ένας συνδυασμός αυτών των πραγμάτων. Στα δάχτυλά σας: χρησιμοποιώντας ασύμμετρη κρυπτογράφηση χρησιμοποιώντας το πρωτόκολλο Deffie-Helman, δημιουργείται ένα μυστικό κλειδί με τη βοήθεια του οποίου τα μηνύματα μεταξύ των συνομιλητών κρυπτογραφούνται χρησιμοποιώντας τη μέθοδο συμμετρικής κρυπτογράφησης.
        3. Ντμίτρι

          Ακόμα δεν κατάλαβα τη δήλωση:
          2) Το δημόσιο κλειδί μεταφέρεται στον αποστολέα.
          3) Ο αποστολέας κρυπτογραφεί το μήνυμα
          4) Μεταφορές στον παραλήπτη
          5) Ο παραλήπτης αποκρυπτογραφεί χρησιμοποιώντας το ιδιωτικό κλειδί. Αυτό το μήνυμα δεν μπορεί να αποκρυπτογραφηθεί χρησιμοποιώντας το δημόσιο κλειδί.

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

  • Ροβέρτος

    Ευχαριστώ πολύ!!!

  • Μυθιστόρημα

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

    Και στο βίντεο, νομίζω ότι είναι μάταιο που χρησιμοποιούν αυτό το 3^(24*54), γιατί Δεν είναι καθόλου προφανές από πού προήλθε, ή θα εξηγούσαν ότι είναι υπό όρους.

  • RinswinD

    Ευχαριστώ για το άρθρο. Όλα εξηγούνται πολύ ξεκάθαρα.

  • γρηγορικός

    Λοιπόν, αυτός ο αναλφαβητισμός της ορθογραφίας εκνευρίζει όλους - "μονόπλευρη", "εφαρμοσμένη", "μακριά", σαν στην 5η τάξη. Και έτσι, δεν είναι κακό για την κατανόηση των βασικών.

  • γρηγορικός

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

  • Αλεξύς

    Ευχαριστούμε για το ξεκάθαρο και διασκεδαστικό άρθρο! Τελικά κατάλαβα τα βασικά :).

  • Γιαροσλάβ

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

    Αυτό δεν είναι απολύτως αληθές. Θα σας δώσω ένα παράδειγμα:
    — ας υποθέσουμε ότι κάθε γράμμα αντιστοιχεί σε έναν ψηφιακό κωδικό A = 1, B = 2, C = 3, κ.λπ.
    — ας υποθέσουμε ότι η Alice στέλνει στον Bob ένα γράμμα που αποτελείται από ένα μόνο γράμμα A (για να απλοποιήσουμε το παράδειγμα).

    Αλίκη: βάζει τον κρυπτογράφο της A + 2 = B

    Μπομπ: βάζει τον κρυπτογράφο του Β + 3 = Ε
    Μπομπ: στέλνει ένα γράμμα στην Αλίκη
    Αλίκη: αφαιρεί τον κρυπτογράφηση της E - 2 = G
    Αλίκη: στέλνει ένα γράμμα στον Μπομπ
    Μπομπ: αφαιρεί τον κρυπτογράφο του G - 3 = A

    Εδώ ο αριθμός 2 είναι το μυστικό κλειδί της Αλίκης, το 3 είναι το μυστικό κλειδί του Μπομπ. Επιπλέον, μπορεί να μην είναι μονοχαρακτήρας. Κατ 'αρχήν, το μήκος του είναι απεριόριστο.

  • Ντμίτρι

    Για πολύ καιρό απέφευγα τις θεωρητικές βάσεις της ασύμμετρης κρυπτογράφησης. Το ήξερα επιφανειακά - υπάρχει ένα δημόσιο κλειδί με το οποίο κρυπτογραφούνται τα δεδομένα και υπάρχει ένα ιδιωτικό κλειδί με το οποίο αποκρυπτογραφούνται τα δεδομένα. Αλλά η σκέψη της εφαρμογής μιας τέτοιας κρυπτογράφησης πάντα με ενοχλούσε.
    Το άρθρο σας βοήθησε πολύ, σας ευχαριστώ πολύ για αυτό!
    Μόνο προς το τέλος του είδα ξανά αυτή την ανοησία - "κρυπτογραφημένη με δημόσιο κλειδί". Εξάλλου, αυστηρά μιλώντας, το μήνυμα κρυπτογραφείται όχι με δημόσιο κλειδί, αλλά με κλειδί που λαμβάνεται με βάση το ιδιωτικό κλειδί του αποστολέα και το δημόσιο κλειδί του παραλήπτη (το οποίο, με τη σειρά του, δημιουργήθηκε με βάση το ιδιωτικό κλειδί του παραλήπτη). Πράγματι, στον πίνακα σχετικά με την Αλίκη και τον Μπομπ - αυτοί και μόνο αυτοί μπόρεσαν να αποκτήσουν το ίδιο κλειδί "9" - χρησιμοποιείται για την κρυπτογράφηση και την αποκρυπτογράφηση του μηνύματος. Αλλά αυτό το κλειδί μπορεί να ληφθεί μόνο με βάση ένα ζεύγος κλειδιών - μυστικό (Alice/Bob) και δημόσιο (Bob/Alice).
    Μεταφορικά - ναι, το μήνυμα κρυπτογραφείται πάντα με το μυστικό κλειδί του αποστολέα (είναι, χονδρικά, σταθερό) και το δημόσιο κλειδί του παραλήπτη (εξαρτάται από τον συγκεκριμένο παραλήπτη), επομένως, στην περιγραφή, κρυπτογράφηση με το «μυστικό» κλειδί παραλείπεται - και αυτή η παράλειψη σπάει όλη τη σειρά του συλλογισμού.

  • Κλάρκσον

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

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

    1. Ντμίτρι ΑμίροφΣυγγραφέας

      Εδώ κάνεις λίγο λάθος την ερώτηση.

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

      UPD:έγραψε ένα άρθρο σχετικά, νομίζω ότι αυτή θα είναι η σωστή απάντηση στην ερώτησή σας.

      1. Κλάρκσον

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

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

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

  • Beshot

    Ξαναδιάβασα αυτό το άρθρο και άλλα σχετικά με το θέμα αρκετές φορές, αλλά ο αλγόριθμος για τη χρήση ψηφιακών υπογραφών στο email είναι ασαφής. έγγραφα Αν είναι έτσι εδώ: https://ru.wikipedia.org/wiki/Electronic_signature, τότε προκύπτουν αποκλίσεις. Άρα εξακολουθούμε να κρυπτογραφούμε χρησιμοποιώντας ιδιωτικό ή δημόσιο κλειδί;

    1. Ντμίτρι ΑμίροφΣυγγραφέας

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

      Εάν η υπογραφή είναι «αποκρυπτογραφημένη», τότε το δημόσιο κλειδί αντιστοιχεί στο ιδιωτικό κλειδί και από τότε a priori, μόνο ο αποστολέας έχει το ιδιωτικό κλειδί, που σημαίνει ότι ήταν ο αποστολέας που υπέγραψε το έγγραφο.

      1. Beshot

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

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

        1. Ντμίτρι ΑμίροφΣυγγραφέας

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

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

          Ας δούμε ένα παράδειγμα. Θέλεις να μου στείλεις ένα μήνυμα, θέλω να βεβαιωθώ ότι εσύ μου το έστειλες. Βήμα βήμα:
          1) Κρυπτογραφείτε το μήνυμα με το ιδιωτικό κλειδί
          2) Στείλε μου
          3) Επικοινωνώ μαζί σας και λαμβάνω το δημόσιο κλειδί σας από εσάς
          4) Αποκρυπτογραφώ το ληφθέν μήνυμα με το δημόσιο κλειδί σας
          5) Εάν το μήνυμα είναι αποκρυπτογραφημένο, σημαίνει ότι ήσουν αυτός που το έστειλε

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

          1. Beshot

            Εντάξει, αλλά τι γίνεται αν χρειαστεί να κρύψετε ένα μήνυμα από τα αδιάκριτα βλέμματα;

  • Άνυα

    Καλημέρα Μου άρεσε το άρθρο, αλλά εξακολουθούσα να είχα ερωτήσεις (υπήρχαν ακόμη και μερικές παρόμοιες στα σχόλια, αλλά χωρίς απαντήσεις).
    Εάν στο δεύτερο μέρος του άρθρου προχωρήσουμε στην αναλογία με την Αλίκη και τον Μπομπ, συγκεκριμένα στους αριθμούς A, B, a, b, P και τον αριθμό 9 που λαμβάνεται στο παράδειγμα, ποιος από αυτούς θα είναι το ιδιωτικό κλειδί και ποιο θα είναι το δημόσιο κλειδί; Ευχαριστώ εκ των προτέρων για την απάντησή σας!

    1. Άνυα

      Δεν είναι ξεκάθαρο αν το σχόλιό μου δημοσιεύτηκε ή όχι :(

    2. Ντμίτρι ΑμίροφΣυγγραφέας

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

  • Γρηγόριος