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

Πρόγραμμα Kerish Doctor. 02.05.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Chercher

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

Επί του παρόντος, οι συμμετρικοί κρυπτογράφηση είναι:

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

2. Κρυπτογράφηση ροής - στην οποία πραγματοποιείται κρυπτογράφηση σε κάθε bit ή byte του αρχικού (απλού) κειμένου χρησιμοποιώντας γάμμα. Ένας κρυπτογράφηση ροής μπορεί εύκολα να δημιουργηθεί με βάση έναν κρυπτογράφηση μπλοκ (για παράδειγμα, GOST 28147-89 σε λειτουργία γάμμα), που εκκινείται σε ειδική λειτουργία.

Κρυπτογραφικό σύστημα δημόσιου κλειδιού

Ένα κρυπτογραφικό σύστημα δημόσιου κλειδιού (ή Asymmetric encryption, Asymmetric cipher) είναι ένα σύστημα κρυπτογράφησης πληροφοριών στο οποίο το κλειδί με το οποίο είναι κρυπτογραφημένο το μήνυμα και το ίδιο το κρυπτογραφημένο μήνυμα μεταδίδεται μέσω ενός ανοιχτού (δηλαδή, απροστάτευτου, παρατηρήσιμου) καναλιού. Ο παραλήπτης χρησιμοποιεί ένα ιδιωτικό κλειδί για να δημιουργήσει το δημόσιο κλειδί και να διαβάσει το κρυπτογραφημένο μήνυμα. Τα κρυπτογραφικά συστήματα δημόσιου κλειδιού χρησιμοποιούνται σήμερα ευρέως σε διάφορα πρωτόκολλα δικτύου, ιδίως στο πρωτόκολλο SSL και στα πρωτόκολλα επιπέδου εφαρμογής HTTPS, SSH, κ.λπ. που βασίζονται σε αυτό.

Ρύζι. 7.

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

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

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

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

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

Χαρακτηριστικά συστήματος

Πλεονέκτημα Το πλεονέκτημα των ασύμμετρων κρυπτογράφησης έναντι των συμμετρικών κρυπτογράφησης είναι ότι δεν υπάρχει ανάγκη μετάδοσης μυστικού κλειδιού. Το μέρος που επιθυμεί να λάβει κρυπτογραφημένα κείμενα, σύμφωνα με τον αλγόριθμο που χρησιμοποιείται, δημιουργεί ένα ζεύγος «δημόσιο κλειδί - ιδιωτικό κλειδί». Οι βασικές τιμές σχετίζονται, αλλά ο υπολογισμός μιας τιμής από μια άλλη θα πρέπει να είναι αδύνατος από πρακτική άποψη. Το δημόσιο κλειδί δημοσιεύεται σε ανοιχτούς καταλόγους και χρησιμοποιείται για την κρυπτογράφηση πληροφοριών από τον αντισυμβαλλόμενο. Το ιδιωτικό κλειδί διατηρείται μυστικό και χρησιμοποιείται για την αποκρυπτογράφηση του μηνύματος που αποστέλλεται στον κάτοχο του ζεύγους κλειδιών. Οι ασύμμετροι κρυπτογραφήσεις πρωτοπαρουσιάστηκαν το 1976 από τους Whitfield Diffie και Martin Hellman, New Directions in Modern Cryptography. Πρότειναν ένα κοινό σύστημα ανταλλαγής μυστικών κλειδιών βασισμένο στο πρόβλημα του διακριτού λογαρίθμου. Γενικά, η βάση των γνωστών ασύμμετρων κρυπτοσυστημάτων είναι ένα από τα πολύπλοκα μαθηματικά προβλήματα, που επιτρέπει την κατασκευή μονόδρομων συναρτήσεων και συναρτήσεων παγίδας. Για παράδειγμα, το κρυπτοσύστημα Rivest-Shamir-Adelman χρησιμοποιεί το πρόβλημα παραγοντοποίησης μεγάλων αριθμών και τα κρυπτοσυστήματα Merkle-Hellman και Hoare-Rivest βασίζονται στο λεγόμενο πρόβλημα του σακιδίου.

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

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

Αρχή: Τα κρυπτογραφικά συστήματα εκμεταλλεύονται δύο κύρια κρυπτοσυστήματα: τη συμμετρική και την ασύμμετρη κρυπτογραφία. Προγράμματα όπως το PGP και το GnuPG βασίζονται σε αυτήν την αρχή.

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

Κρυπτογράφηση: Τα περισσότερα συστήματα κρυπτογράφησης λειτουργούν ως εξής. Για έναν συμμετρικό αλγόριθμο (3DES, IDEA, AES ή οποιοσδήποτε άλλος), δημιουργείται ένα τυχαίο κλειδί. Ένα τέτοιο κλειδί έχει συνήθως μέγεθος από 128 έως 512 bit (ανάλογα με τον αλγόριθμο). Στη συνέχεια, χρησιμοποιείται ένας συμμετρικός αλγόριθμος για την κρυπτογράφηση του μηνύματος. Στην περίπτωση των κρυπτογράφησης μπλοκ, είναι απαραίτητο να χρησιμοποιήσετε μια λειτουργία κρυπτογράφησης (για παράδειγμα, CBC), η οποία θα επιτρέψει την κρυπτογράφηση του μηνύματος με μήκος μεγαλύτερο από το μήκος του μπλοκ. Όσον αφορά το ίδιο το τυχαίο κλειδί, πρέπει να είναι κρυπτογραφημένο με το δημόσιο κλειδί του παραλήπτη του μηνύματος και σε αυτό το στάδιο εφαρμόζεται ένα κρυπτοσύστημα δημόσιου κλειδιού (RSA ή αλγόριθμος Diffie-Hellman). Δεδομένου ότι το τυχαίο κλειδί είναι σύντομο, η κρυπτογράφηση του απαιτεί λίγο χρόνο. Η κρυπτογράφηση ενός συνόλου μηνυμάτων χρησιμοποιώντας έναν ασύμμετρο αλγόριθμο είναι μια υπολογιστικά πιο σύνθετη εργασία, επομένως είναι προτιμότερο να χρησιμοποιείται συμμετρική κρυπτογράφηση. Στη συνέχεια αρκεί να στείλετε ένα μήνυμα κρυπτογραφημένο με συμμετρικό αλγόριθμο, καθώς και το αντίστοιχο κλειδί σε κρυπτογραφημένη μορφή. Ο παραλήπτης πρώτα αποκρυπτογραφεί το κλειδί χρησιμοποιώντας το ιδιωτικό του κλειδί και στη συνέχεια χρησιμοποιεί το κλειδί που προκύπτει για να λάβει ολόκληρο το μήνυμα.

Μια ψηφιακή υπογραφή παρέχει:

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

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

Οι ακόλουθες απειλές ψηφιακής υπογραφής είναι πιθανές:

*Ένας εισβολέας μπορεί να προσπαθήσει να πλαστογραφήσει μια υπογραφή για ένα έγγραφο της επιλογής του.

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

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

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

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

*Ένας εισβολέας μπορεί να αντικαταστήσει το δημόσιο κλειδί του κατόχου με το δικό του, υποδυόμενος τον ίδιο.

Λίγοι άνθρωποι γνωρίζουν ακριβώς πώς λειτουργεί η ασύμμετρη κρυπτογράφηση. Για παράδειγμα, υπάρχουν άνθρωποι που δεν θεωρούν ότι το πρωτόκολλο 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 ένα Ο Μπομπ συνδέει τον αριθμό σισε μια γενική συνάρτηση και υπολογίζει το αποτέλεσμα 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 , το οποίο μπορεί αργότερα να χρησιμοποιηθεί για την κρυπτογράφηση των μηνυμάτων τους. Μάλιστα, στο άρθρο περιέγραψα όχι την ίδια την ασύμμετρη κρυπτογράφηση, αλλά το πρωτόκολλο ανταλλαγής κλειδιών, που έδωσε ώθηση στην ανάπτυξη της ασύμμετρης κρυπτογράφησης.
      Ο αλγόριθμος για τη δημιουργία ενός ζεύγους ιδιωτικού/δημόσιου κλειδιού είναι στην πραγματικότητα λίγο πιο περίπλοκος, αν και είναι παρόμοιος με τον αλγόριθμο που περιγράφηκε παραπάνω, αλλά μάλλον αξίζει ένα ξεχωριστό άρθρο. Δεν θα το γράψω αμέσως στα σχόλια, γιατί μπορεί να μπερδέψω πολλά πράγματα.

  • Γρηγόριος
  • Αυτό το μέρος εξετάζει τα ακόλουθα ζητήματα:

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

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

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

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

    Εικόνα 6-6.Κωδικός μετάθεσης


    Αυτό είναι το απλούστερο παράδειγμα κρυπτογράφησης μετάθεσης, δείχνει μόνο πώς εκτελείται η μετάθεση. Εάν εμπλέκονται πολύπλοκες μαθηματικές συναρτήσεις, η μετάθεση μπορεί να γίνει αρκετά δύσκολο να σπάσει. Οι σύγχρονοι συμμετρικοί αλγόριθμοι χρησιμοποιούν ταυτόχρονα μεγάλες ακολουθίες σύνθετων αντικαταστάσεων και μεταθέσεων συμβόλων του κρυπτογραφημένου μηνύματος. Ο αλγόριθμος περιέχει δυνατόςμέθοδοι για διαδικασίες υποκατάστασης και μετάθεσης (που αντιπροσωπεύονται σε μαθηματικούς τύπους). Το κλειδί είναι οι οδηγίες για τον αλγόριθμο, προσδιορίζοντας ακριβώς τον τρόπο πρέπειη επεξεργασία γίνεται και με ποια σειρά. Για να κατανοήσετε τη σχέση μεταξύ του αλγορίθμου και του κλειδιού, ρίξτε μια ματιά στο Σχήμα 6-7. Μεταφορικά, ο αλγόριθμος δημιουργεί διάφορα πλαίσια, καθένα από τα οποία έχει το δικό του (διαφορετικό από τα άλλα) σύνολο μαθηματικών τύπων που υποδεικνύουν τα βήματα αντικατάστασης και μετάθεσης που πρέπει να εκτελεστούν στα bit που εμπίπτουν σε αυτό το πλαίσιο. Για να κρυπτογραφήσετε ένα μήνυμα, η τιμή κάθε bit πρέπει να περάσει από διαφορετικά πλαίσια. Ωστόσο, εάν καθένα από τα μηνύματά μας περνά από το ίδιο σύνολο γραμματοκιβωτίων με την ίδια σειρά, ένας εισβολέας μπορεί εύκολα να αναστρέψει αυτή τη διαδικασία, να σπάσει τον κρυπτογράφηση και να λάβει το απλό κείμενο του μηνύματός μας.

    Εικόνα 6-7.Σχέση κλειδιού και αλγορίθμου


    Για να αποτρέψει έναν εισβολέα, χρησιμοποιείται ένα κλειδί, το οποίο είναι ένα σύνολο τιμών που υποδεικνύουν ποια πλαίσια πρέπει να χρησιμοποιηθούν, με ποια σειρά και με ποιες τιμές. Έτσι, εάν το μήνυμα Α είναι κρυπτογραφημένο με το κλειδί 1, το κλειδί απαιτεί το μήνυμα να περάσει από τα πλαίσια 1, 6, 4 και 5. Όταν πρέπει να κρυπτογραφήσουμε το μήνυμα Β, χρησιμοποιούμε το κλειδί 2, το οποίο απαιτεί το μήνυμα να περάσει από τα πλαίσια 8 , 3, 2 και 9. Το κλειδί προσθέτει τυχαιότητα και μυστικότητα στη διαδικασία κρυπτογράφησης.

    Οι απλοί κωδικοί αντικατάστασης και μετάθεσης είναι ευάλωτοι σε επιθέσεις που εκτελούνται ανάλυση συχνότητας (ανάλυση συχνότητας). Σε κάθε γλώσσα, ορισμένες λέξεις και μοτίβα χρησιμοποιούνται πιο συχνά από άλλες. Για παράδειγμα, στο αγγλικό κείμενο το γράμμα "e" χρησιμοποιείται συνήθως πιο συχνά. Κατά την εκτέλεση ανάλυσης συχνότητας ενός μηνύματος, ο εισβολέας αναζητά τα πιο συχνά επαναλαμβανόμενα μοτίβα των 8 bit (τα οποία συνθέτουν τον χαρακτήρα). Αν βρει, για παράδειγμα, 12 μοτίβα οκτώ bit σε ένα σύντομο μήνυμα, μπορεί να συμπεράνει ότι είναι πιθανότατα το γράμμα "e" - το πιο συχνά χρησιμοποιούμενο γράμμα στη γλώσσα. Τώρα ο εισβολέας μπορεί να αντικαταστήσει αυτά τα bit με το γράμμα "e". Αυτό θα του δώσει ένα βήμα μπροστά σε μια διαδικασία που θα του επιτρέψει να αναστρέψει το μηχανικό και να επαναφέρει το αρχικό μήνυμα.

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

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

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


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


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

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

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

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


    Κάθε ζεύγος χρηστών απαιτεί δύο αντίγραφα του ίδιου κλειδιού για την ασφαλή ανταλλαγή δεδομένων χρησιμοποιώντας συμμετρική κρυπτογραφία. Για παράδειγμα, εάν ο Dan και η Irina πρέπει να ανταλλάξουν δεδομένα, πρέπει και οι δύο να λάβουν ένα αντίγραφο του ίδιου κλειδιού. Εάν ο Dan θέλει επίσης να αλληλεπιδράσει με τον Norm και τον Dave χρησιμοποιώντας συμμετρική κρυπτογραφία, πρέπει να έχει τρία ξεχωριστά κλειδιά - ένα για κάθε φίλο. Αυτό δεν είναι μεγάλο πρόβλημα έως ότου ο Dan χρειάζεται να αλληλεπιδράσει με εκατοντάδες άλλα άτομα για αρκετούς μήνες και να κρατήσει ένα ιστορικό των συνομιλιών του. Άλλωστε, αυτό θα απαιτήσει τη χρήση του κατάλληλου κλειδιού για αλληλογραφία με κάθε συγκεκριμένο παραλήπτη. Σε αυτή την περίπτωση, μπορεί να γίνει μια τρομακτική εργασία. Αν δέκα άτομα χρειαζόταν να επικοινωνούν με ασφάλεια μεταξύ τους χρησιμοποιώντας συμμετρική κρυπτογραφία, θα χρειάζονταν 45 κλειδιά. Αν χρειαστεί να αλληλεπιδράσουν εκατό άτομα, θα χρειαστούν 4950 κλειδιά. Ο τύπος για τον υπολογισμό του απαιτούμενου αριθμού συμμετρικών κλειδιών έχει ως εξής:

    Αριθμός κλειδιών = N(N – 1)/2, όπου N είναι ο αριθμός των συνδρομητών


    Κατά τη χρήση συμμετρικών αλγορίθμων, ο αποστολέας και ο παραλήπτης χρησιμοποιούν το ίδιο κλειδί για τις διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης πληροφοριών. Η ασφάλεια τέτοιων αλγορίθμων εξαρτάται αποκλειστικά από το πόσο καλά προστατεύουν οι χρήστες τα κλειδιά. Σε αυτή την περίπτωση, η ασφάλεια εξαρτάται αποκλειστικά από το προσωπικό, το οποίο πρέπει να κρατήσει τα κλειδιά του μυστικά. Εάν ένα κλειδί έχει παραβιαστεί, όλα τα μηνύματα που είναι κρυπτογραφημένα με αυτό το κλειδί μπορούν να αποκρυπτογραφηθούν και να διαβαστούν από έναν εισβολέα. Στην πραγματικότητα, γίνεται ακόμη πιο περίπλοκο επειδή τα κλειδιά πρέπει να διανέμονται με ασφάλεια και να ενημερώνονται όταν είναι απαραίτητο. Εάν ο Den χρειάζεται να αλληλεπιδράσει με το Norm για πρώτη φορά, ο Den πρέπει να αποφασίσει πώς να δώσει με ασφάλεια το κλειδί στον Norm. Εάν το κάνει αυτό με ανασφαλή τρόπο, όπως απλά στέλνοντας το κλειδί μέσω email, αυτό το κλειδί μπορεί εύκολα να υποκλαπεί και να χρησιμοποιηθεί από έναν εισβολέα. Επομένως, ο Dan πρέπει να δώσει το κλειδί στο Norm με έναν αντισυμβατικό τρόπο. Για παράδειγμα, ο Dan θα μπορούσε να γράψει το κλειδί σε μια μονάδα flash και να το τοποθετήσει στο γραφείο του Norm ή να το στείλει στη Norm μέσω ενός αξιόπιστου courier. Η διαδικασία διανομής συμμετρικών κλειδιών μπορεί να είναι μια πολύ περίπλοκη και δυσκίνητη εργασία.

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

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

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

    Δυνατά σημεία:

    • Πολύ πιο γρήγορα από τα ασύμμετρα συστήματα
    • Δύσκολο να χακάρετε όταν χρησιμοποιείτε ένα μακρύ κλειδί
    Αδυναμίες:
    • Απαιτεί έναν ασφαλή μηχανισμό μεταφοράς κλειδιού
    • Κάθε ζεύγος χρηστών χρειάζεται ένα μοναδικό κλειδί. Καθώς ο αριθμός των χρηστών αυξάνεται, ο αυξανόμενος αριθμός κλειδιών μπορεί να κάνει τη διαχείρισή τους απλώς μη ρεαλιστική.
    • Παρέχει εμπιστευτικότητα αλλά δεν παρέχει έλεγχο ταυτότητας ή μη απόρριψη
    Παρακάτω είναι μερικά παραδείγματα συμμετρικών αλγορίθμων, τα οποία θα συζητηθούν λεπτομερώς αργότερα στην ενότητα "Κρυπτογράφηση αποκλεισμού και ροής".
    • RC4, RC5 και RC6
    Σχετικοί σύνδεσμοι:
    • Security in Open Systems, Node 208, “Symmetric Key Cryptography”, του Paul Markovitz, NIST Special Publication 800-7 (Ιούλιος 1994)
    Στην κρυπτογραφία συμμετρικού κλειδιού, το ίδιο μυστικό κλειδί χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση, ενώ στα συστήματα δημόσιου κλειδιού χρησιμοποιούνται διαφορετικά κλειδιά για αυτούς τους σκοπούς. ασύμμετρη ) κλειδιά. Σε αυτή την περίπτωση, δύο διαφορετικά ασύμμετρα κλειδιά σχετίζονται μεταξύ τους μαθηματικά. Εάν ένα μήνυμα είναι κρυπτογραφημένο με ένα κλειδί, απαιτείται άλλο κλειδί για την αποκρυπτογράφηση του.

    Στα συστήματα δημόσιου κλειδιού δημιουργείται ένα ζεύγος κλειδιών, το ένα από τα οποία είναι ιδιωτικό και το άλλο δημόσιο. Δημόσιο κλειδί(δημόσιο κλειδί) μπορεί να είναι γνωστό σε όλους, και ιδιωτικό κλειδί(ιδιωτικό κλειδί) θα πρέπει να το γνωρίζει μόνο ο κάτοχός του. Συχνά, τα δημόσια κλειδιά αποθηκεύονται σε καταλόγους και βάσεις δεδομένων διευθύνσεων email που είναι δημόσια διαθέσιμα σε οποιονδήποτε θέλει να χρησιμοποιήσει αυτά τα κλειδιά για κρυπτογράφηση και αποκρυπτογράφηση δεδομένων κατά την αλληλεπίδραση με άτομα. Το σχήμα 6-9 απεικονίζει τη χρήση διαφορετικών ασύμμετρων πλήκτρων.
    Το δημόσιο και το ιδιωτικό κλειδί ενός ασύμμετρου κρυπτοσυστήματος σχετίζονται μαθηματικά, αλλά εάν κάποιος έχει το δημόσιο κλειδί ενός άλλου ατόμου, είναι αδύνατο να γνωρίζει το αντίστοιχο ιδιωτικό του κλειδί. Έτσι, εάν ένας εισβολέας αποκτήσει ένα αντίγραφο του δημόσιου κλειδιού του Μπομπ, αυτό δεν σημαίνει ότι με κάποια μαθηματική μαγεία θα μπορέσει να αποκτήσει το αντίστοιχο ιδιωτικό κλειδί του Μπομπ. Ωστόσο, αν κάποιος πιάσει το ιδιωτικό κλειδί του Bob, θα υπάρξει μεγάλο πρόβλημα. Επομένως, κανένας άλλος εκτός από τον ιδιοκτήτη δεν πρέπει να έχει πρόσβαση στο ιδιωτικό κλειδί.

    Εικόνα 6-9.Ασύμμετρο κρυπτοσύστημα


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

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

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

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

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

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

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

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

    ΣΗΜΕΙΩΜΑ.Η κρυπτογραφία δημόσιου κλειδιού είναι η ασύμμετρη κρυπτογραφία. Αυτοί οι όροι χρησιμοποιούνται εναλλακτικά.

    Ακολουθούν τα δυνατά και τα αδύνατα σημεία των αλγορίθμων ασύμμετρων κλειδιών:

    Δυνατά σημεία

    • Καλύτερη διαδικασία διανομής κλειδιού από τα συμμετρικά συστήματα
    • Καλύτερη επεκτασιμότητα από τα συμμετρικά συστήματα
    • Μπορεί να παρέχει έλεγχο ταυτότητας και μη απόρριψη
    Αδυναμίες
    • Λειτουργεί πολύ πιο αργά από τα συμμετρικά συστήματα
    • Εκτελέστε σύνθετους μαθηματικούς μετασχηματισμούς
    Ακολουθούν παραδείγματα αλγορίθμων με ασύμμετρα κλειδιά.
    • Κρυπτοσύστημα ελλειπτικής καμπύλης (ECC)
    • Αλγόριθμος Diffie-Hellman
    • Ελ Γκαμάλ
    • Αλγόριθμος ψηφιακής υπογραφής (DSA – Digital Signature Algorithm)
    • Σακίδιο
    Θα εξετάσουμε αυτούς τους αλγόριθμους περαιτέρω σε αυτόν τον Τομέα, στην ενότητα «Τύποι ασύμμετρων συστημάτων».

    Ο Πίνακας 6-1 παρέχει μια σύντομη περίληψη των κύριων διαφορών μεταξύ συμμετρικών και ασύμμετρων συστημάτων.

    Πίνακας 6-1.Διαφορές μεταξύ συμμετρικών και ασύμμετρων συστημάτων


    ΣΗΜΕΙΩΜΑ. Οι ψηφιακές υπογραφές θα συζητηθούν αργότερα στην ενότητα Ψηφιακές υπογραφές.
    Σχετικοί σύνδεσμοι:
    • Security in Open Systems, Node 210, "Asymmetric Key Cryptography", του Paul Markovitz, NIST Special Publication 800-7 (Ιούλιος 1994)
    • Συχνές ερωτήσεις σχετικά με τη σημερινή κρυπτογραφία, Έκδοση 4.1, Ενότητα 2.1.4.5, "Τι είναι η λειτουργία ανάδρασης εξόδου;" από την RSA Laboratories
    Υπάρχουν δύο κύριοι τύποι συμμετρικών αλγορίθμων: οι κρυπτογράφοι μπλοκ, οι οποίοι λειτουργούν σε μπλοκ από bit και οι κρυπτογράφηση ροής, οι οποίοι λειτουργούν με ένα bit τη φορά.

    Εάν χρησιμοποιείτε για κρυπτογράφηση και αποκρυπτογράφηση δεδομένων κρυπτογράφηση μπλοκ , το μήνυμα χωρίζεται σε μπλοκ από bit. Αυτά τα μπλοκ στη συνέχεια μεταβιβάζονται σε μαθηματικές συναρτήσεις για επεξεργασία, ένα μπλοκ κάθε φορά. Φανταστείτε ότι πρέπει να κρυπτογραφήσετε ένα μήνυμα στη μαμά σας χρησιμοποιώντας έναν κρυπτογράφηση μπλοκ που λειτουργεί σε μπλοκ 64-bit. Το μήνυμά σας έχει μήκος 640 bit, επομένως χωρίζεται σε 10 ξεχωριστά μπλοκ 64 bit. Κάθε μπλοκ μεταδίδεται διαδοχικά στην είσοδο της μαθηματικής συνάρτησης. Αυτή η διαδικασία συνεχίζεται έως ότου κάθε μπλοκ μετατραπεί σε κρυπτογραφημένο κείμενο. Μετά από αυτό, στέλνετε ένα κρυπτογραφημένο μήνυμα στη μαμά σας. Χρησιμοποιεί τον ίδιο κρυπτογράφηση μπλοκ και το ίδιο κλειδί. Αυτά τα 10 μπλοκ κρυπτογραφημένου κειμένου τροφοδοτούνται στον αλγόριθμο με αντίστροφη σειρά μέχρι να ληφθεί το αρχικό απλό κείμενο.


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

    Στους αλγόριθμους, η σκέδαση μπορεί να συμβεί τόσο στο επίπεδο των μεμονωμένων bit σε μπλοκ όσο και στο επίπεδο των ίδιων των μπλοκ. Η τυχαία αναπαραγωγή εκτελείται χρησιμοποιώντας πολύπλοκες συναρτήσεις αντικατάστασης, έτσι ώστε ο εισβολέας να μην μπορεί να καταλάβει πώς αντικαταστάθηκαν οι αρχικές τιμές και να αποκτήσει το αρχικό απλό κείμενο. Φανταστείτε ότι έχω 500 ξύλινους ογκόλιθους, ο καθένας με ένα γράμμα πάνω του. Τα γραμμώνω για να βγάλω ένα μήνυμα (απλό κείμενο) από αυτά. Στη συνέχεια, αντικαθιστώ 300 από αυτά τα μπλοκ με μπλοκ από άλλο σετ (ανακάτεμα με αντικατάσταση). Στη συνέχεια, αναδιατάσσω όλα αυτά τα μπλοκ (διασπορά με ανακάτεμα) και αφήνω αυτό το σωρό. Για να μπορέσετε να ανακατασκευάσετε την αρχική μου πρόταση, πρέπει να αντικαταστήσετε τα μπλοκ με τα σωστά και να τα τοποθετήσετε με τη σωστή σειρά. Καλή τύχη!

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

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

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

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


    Το κλειδί καθορίζει (βλ. Εικόνα 6-10) ποια S-πλαίσια θα πρέπει να χρησιμοποιούνται στη διαδικασία τυχαίας αναπαραγωγής του αρχικού μηνύματος από αναγνώσιμο απλό κείμενο σε μη αναγνώσιμο κρυπτογραφημένο κείμενο. Κάθε S-box περιέχει διαφορετικές μεθόδους αντικατάστασης και μετάθεσης που μπορούν να εκτελεστούν σε κάθε μπλοκ. Αυτό είναι ένα πολύ απλό παράδειγμα. Στην πραγματικότητα, οι περισσότεροι κωδικοί μπλοκ λειτουργούν με μπλοκ 32, 64 ή 128 bit και μπορούν να χρησιμοποιήσουν πολλά περισσότερα S-boxes.

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

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

    Εικόνα 6-11.Σε έναν κρυπτογράφηση ροής, τα bit που δημιουργούνται από τη γεννήτρια ροής κλειδιών είναι XOR με τα bit απλού κειμένου του μηνύματος

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

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

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

    Εικόνα 6-12.Ο αποστολέας και ο παραλήπτης πρέπει να έχουν το ίδιο κλειδί για να δημιουργήσουν την ίδια ροή κλειδιών



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

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

    • Μεγάλες περιόδους μη επαναλαμβανόμενων μοτίβων στις βασικές τιμές ροής. Τα bit που δημιουργούνται από τη ροή κλειδιών πρέπει να είναι τυχαία.
    • Στατιστικά απρόβλεπτη ροή κλειδιών. Τα bit που παράγονται στην έξοδο της γεννήτριας ροής κλειδιών δεν πρέπει να είναι προβλέψιμα.
    • Η ροή κλειδιών δεν έχει γραμμική σχέση με το κλειδί. Εάν κάποιος έχει λάβει τις βασικές τιμές ροής, αυτό δεν θα πρέπει να έχει ως αποτέλεσμα να λάβει την τιμή κλειδιού.
    • Στατιστικά ομοιόμορφη ροή κλειδιού (περίπου ίσος αριθμός μηδενικών και μονάδων). Η ροή κλειδιών δεν πρέπει να κυριαρχείται από μηδενικά ή μονάδες.
    Οι κρυπτογράφηση ροής απαιτούν τυχαιότητα και κρυπτογραφούν ένα bit τη φορά. Αυτό απαιτεί περισσότερη ισχύ CPU από ένα μπλοκ κρυπτογράφησης, επομένως οι κρυπτογράφοι ροής είναι πιο κατάλληλοι για εφαρμογή σε υλικό. Και οι κρυπτογράφηση μπλοκ, καθώς δεν απαιτούν τόσους πόρους επεξεργαστή, είναι ευκολότερο να εφαρμοστούν σε επίπεδο λογισμικού.
    ΣΗΜΕΙΩΜΑ. Φυσικά, υπάρχουν τόσο μπλοκ κρυπτογράφησης, που υλοποιούνται σε επίπεδο υλικού, όσο και κρυπτογράφηση ροής, που λειτουργούν σε επίπεδο λογισμικού. Η παραπάνω δήλωση είναι απλώς μια «βέλτιστη πρακτική» οδηγός σχεδιασμού και εφαρμογής.


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


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

    Συνδυασμένη χρήση ασύμμετρων και συμμετρικών αλγορίθμων


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

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

    Το συμμετρικό κλειδί χρησιμοποιείται για την κρυπτογράφηση των μηνυμάτων που στέλνετε. Όταν ο φίλος σας λαμβάνει ένα μήνυμα που έχετε κρυπτογραφήσει, πρέπει να το αποκρυπτογραφήσει, κάτι που απαιτεί το συμμετρικό κλειδί στο οποίο είναι κρυπτογραφημένο το μήνυμά σας. Αλλά δεν θέλετε να στείλετε αυτό το κλειδί με ανασφαλή τρόπο επειδή... το μήνυμα μπορεί να υποκλαπεί και το μη προστατευμένο κλειδί μπορεί να εξαχθεί από αυτό από έναν εισβολέα για μελλοντική χρήση για την αποκρυπτογράφηση και την ανάγνωση των μηνυμάτων σας. Δεν πρέπει να χρησιμοποιείτε συμμετρικό κλειδί για την κρυπτογράφηση μηνυμάτων, εκτός εάν προστατεύεται σωστά. Για να ασφαλίσετε ένα συμμετρικό κλειδί, μπορεί να χρησιμοποιηθεί ένας ασύμμετρος αλγόριθμος για την κρυπτογράφηση του (βλ. Εικόνα 6-13). Αλλά γιατί να χρησιμοποιούμε ένα συμμετρικό κλειδί για την κρυπτογράφηση μηνυμάτων και ένα ασύμμετρο κλειδί για την κρυπτογράφηση ενός συμμετρικού κλειδιού; Όπως αναφέρθηκε προηγουμένως, ο ασύμμετρος αλγόριθμος είναι αργός γιατί χρησιμοποιεί πιο πολύπλοκα μαθηματικά. Και επειδή το μήνυμά σας πιθανότατα θα είναι μεγαλύτερο από το κλειδί, είναι πιο λογικό να χρησιμοποιείτε έναν ταχύτερο (συμμετρικό) αλγόριθμο για την κρυπτογράφηση του και έναν πιο αργό (ασύμμετρο) αλγόριθμο που παρέχει πρόσθετες υπηρεσίες ασφαλείας είναι κατάλληλος για την κρυπτογράφηση του κλειδιού.

    Εικόνα 6-13.Σε ένα υβριδικό σύστημα, το ασύμμετρο κλειδί χρησιμοποιείται για την κρυπτογράφηση του συμμετρικού κλειδιού και το συμμετρικό κλειδί για την κρυπτογράφηση μηνυμάτων


    Πώς λειτουργεί αυτό στην πραγματικότητα; Ας πούμε ότι ο Μπιλ στέλνει στον Πωλ ένα μήνυμα και θέλει μόνο ο Πωλ να μπορεί να το διαβάσει. Ο Bill κρυπτογραφεί το μήνυμα με το μυστικό κλειδί, τώρα έχει ένα κρυπτογραφημένο κείμενο και ένα συμμετρικό κλειδί. Το κλειδί πρέπει να είναι ασφαλές, επομένως ο Bill κρυπτογραφεί το συμμετρικό κλειδί με ένα ασύμμετρο κλειδί. Οι ασύμμετροι αλγόριθμοι χρησιμοποιούν ιδιωτικό και δημόσιο κλειδί, έτσι ο Bill κρυπτογραφεί το συμμετρικό κλειδί με το δημόσιο κλειδί του Paul. Ο Bill έχει τώρα το κρυπτογραφημένο κείμενο του μηνύματος και το συμμετρικό κρυπτογραφημένο κείμενο του κλειδιού. Γιατί ο Bill κρυπτογραφούσε το συμμετρικό κλειδί με το δημόσιο κλειδί του Paul και όχι με το ιδιωτικό του κλειδί; Εάν ο Bill το κρυπτογραφούσε με το δικό του ιδιωτικό κλειδί, ο καθένας θα μπορούσε να το αποκρυπτογραφήσει με το δημόσιο κλειδί του Bill και να πάρει ένα συμμετρικό κλειδί. Ωστόσο, ο Bill δεν θέλει κανένας με το δημόσιο κλειδί του να μπορεί να διαβάσει τα μηνύματά του στον Paul. Ο Μπιλ θέλει μόνο ο Πολ να έχει αυτή την ευκαιρία. Έτσι ο Bill κρυπτογραφούσε το συμμετρικό κλειδί με το δημόσιο κλειδί του Paul. Εάν ο Paul προστάτευε καλά το ιδιωτικό του κλειδί, μόνο αυτός θα μπορούσε να διαβάσει το μήνυμα του Bill.

    Ο Paul λαμβάνει το μήνυμα του Bill και χρησιμοποιεί το ιδιωτικό του κλειδί για να αποκρυπτογραφήσει το συμμετρικό κλειδί. Στη συνέχεια, ο Paul χρησιμοποιεί το συμμετρικό κλειδί για να αποκρυπτογραφήσει το μήνυμα. Τώρα ο Πωλ μπορεί να διαβάσει ένα σημαντικό και εμπιστευτικό μήνυμα από τον Μπιλ.

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

    Όλα εδώ είναι αρκετά απλά, πρέπει να θυμάστε τις ακόλουθες πτυχές:

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

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

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

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


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




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

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


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

    Θέματα ασφάλειας ασύρματης σύνδεσης.Εξετάσαμε διάφορα πρότυπα 802.11 και το πρωτόκολλο WEP στον τομέα 05. Μεταξύ της εκτενούς λίστας προβλημάτων με το WEP, υπάρχει ένα πρόβλημα που σχετίζεται με την κρυπτογράφηση δεδομένων. Εάν χρησιμοποιείται μόνο το WEP για την κρυπτογράφηση της ασύρματης κίνησης, τότε οι περισσότερες υλοποιήσεις χρησιμοποιούν μόνο ένα στατιστικό συμμετρικό κλειδί για την κρυπτογράφηση πακέτων. Μία από τις αλλαγές και τα πλεονεκτήματα του προτύπου 802.11i είναι ότι κρυπτογραφεί κάθε πακέτο με ένα μοναδικό κλειδί συνεδρίας.
    Προστατέψτε τον υπολογιστή σας 100% από ιούς και χάκερ Oleg Mikhailovich Boytsev

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

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

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

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

    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, θα ήταν πολύ σωστό να δώσουμε μια περιγραφή του λεγόμενου δικτύου Feishtel (μερικές φορές αποκαλείται δίκτυο 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+, Φίδι και Δύο Ψάρια.

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

    Το δεύτερο συνέδριο AES πραγματοποιήθηκε τον Μάρτιο του 1999 και τον Αύγουστο του 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, μπορεί να λειτουργήσει σε τέσσερις τρόπους:

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

    Ομίχλη;

    Παιχνίδια με ανατροφοδότηση.

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

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

    Στη λειτουργία απλής αντικατάστασης, οι 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 ή περισσότερα περάσματα, παρέχει καλή αντίσταση έναντι της διαφορικής και γραμμικής κρυπτανάλυσης.

    Από το βιβλίο Προστατέψτε τον υπολογιστή σας 100% από ιούς και χάκερ συγγραφέας Μπόιτσεφ Όλεγκ Μιχαήλοβιτς

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

    Από το βιβλίο AS/400 Basics του Σόλτις Φρανκ

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

    Από το βιβλίο Windows Script Host για Windows 2000/XP συγγραφέας Ποπόφ Αντρέι Βλαντιμίροβιτς

    Από το βιβλίο TCP/IP Architecture, Protocols, Implementation (συμπεριλαμβανομένης της έκδοσης IP 6 και IP Security) από τη Faith Sydney M

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

    Από το βιβλίο 500 καλύτερα προγράμματα για Windows συγγραφέας Ουβάροφ Σεργκέι Σεργκέεβιτς

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

    Από το βιβλίο Programming in Ruby [Γλωσσική ιδεολογία, θεωρία και πρακτική εφαρμογής] από τον Fulton Hal

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

    Από το βιβλίο PGP: Encoding and encryption of public key information. συγγραφέας Levin Maxim

    Υπογραφή και κρυπτογράφηση. Για να υπογράψετε ένα αρχείο κειμένου με το ιδιωτικό σας κλειδί και στη συνέχεια να το κρυπτογραφήσετε με το δημόσιο κλειδί του παραλήπτη, πληκτρολογήστε: pgp –es textfile her_userid [-u your_userid]Λάβετε υπόψη ότι οι παρενθέσεις υποδεικνύουν απλώς ένα προαιρετικό πεδίο, μην εισάγετε τις ίδιες τις παρενθέσεις.B

    Από το βιβλίο των Δελφών. Κόλπα και εφέ συγγραφέας Τσίρτικ Αλεξάντερ Ανατόλιεβιτς

    Κεφάλαιο 12 Βασικές αρχές κρυπτογράφησης της κρυπτογραφίας Απλή αντικατάσταση Μεταφορά κρυπτογράφησης Vigenère Cipher και οι παραλλαγές του Παραβίαση κρυπτογράφησης με αυτόματο κλειδί Για τον έναν ή τον άλλο λόγο, είναι συχνά απαραίτητο να κοινοποιούνται ορισμένες πληροφορίες σε έναν συγκεκριμένο κύκλο ατόμων, έτσι ώστε να

    Από το βιβλίο Windows Vista. Για επαγγελματίες συγγραφέας Κλιμένκο Ρομάν Αλεξάντροβιτς

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

    Από το βιβλίο Firebird DATABASE DEVELOPER'S GUIDE από την Borri Helen

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

    Από το βιβλίο Εισαγωγή στην Κρυπτογραφία συγγραφέας Zimmermann Philip

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

    Από το βιβλίο Linux μέσα από τα μάτια ενός χάκερ συγγραφέας Φλένοφ Μιχαήλ Εβγκένιεβιτς

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

    Από το βιβλίο IT Security: αξίζει να ρισκάρετε την εταιρεία; από τη Linda McCarthy

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

    Από το βιβλίο Ανωνυμία και Ασφάλεια στο Διαδίκτυο. Από την «τσαγιέρα» στον χρήστη συγγραφέας Kolisnichenko Denis Nikolaevich

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

    Από το βιβλίο του συγγραφέα

    10.4. Κρυπτογράφηση στα Windows 7 Οι πιο ακριβές εκδόσεις των Windows 7: Επαγγελματική, Enterprise και Ultimate κρυπτογράφηση αρχείων και καταλόγου υποστήριξης (EFS). Τα κρυπτογραφημένα αρχεία δεν μπορούν να προβληθούν σε άλλον υπολογιστή - εάν,

    Τα συμμετρικά κρυπτοσυστήματα νοούνται ως συστήματα στα οποία το ίδιο κλειδί χρησιμοποιείται για την κρυπτογράφηση και την αποκρυπτογράφηση μηνυμάτων (Εικ. 9.1).

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

    Μονο- και πολυαλφαβητικές αντικαταστάσεις.

    Ανακατατάξεις;

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

    Ομίχλη.

    Αντικαταστάσεις

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

    c ≡ (a*e +s) mod K , (5.1)

    όπου a είναι ο δεκαδικός συντελεστής. s – συντελεστής μετατόπισης. e – κωδικός γράμματος πηγής κειμένου. γ – κωδικός του κρυπτογραφημένου γράμματος. K – μήκος αλφαβήτου. mod είναι η πράξη υπολογισμού του υπολοίπου της διαίρεσης της έκφρασης σε παρένθεση με το μέτρο Κ.

    Παράδειγμα. Caesar Cipher

    Ας εξετάσουμε την κρυπτογράφηση σε ένα αλφάβητο που αποτελείται από 26 λατινικά γράμματα και έναν χαρακτήρα διαστήματος (το διάστημα θα αντιπροσωπεύεται από το σύμβολο #). Αντιστοιχίζουμε τον κωδικό 0 στο σύμβολο #, τον κωδικό 1 στο γράμμα A, τον κωδικό 2 στο B, τον κωδικό 26 στο γράμμα Z.

    Ας πάρουμε τις ακόλουθες παραμέτρους: a = 1 s = 2 K = 27

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

    c ≡ (e + 2) mod 27 (5.2)

    Αλφάβητο εισαγωγής:

    # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Αλφάβητο εξόδου

    B C D E F G H I J K L M N O P Q R S T U V W X Y Z # A

    (Τα γράμματα μετατοπίζονται κατά δύο θέσεις: A-C B-D, κ.λπ.)

    Στη συνέχεια, το αρχικό μήνυμα σε κρυπτογραφημένη μορφή θα μοιάζει με αυτό:

    Για την αποκρυπτογράφηση (για την περίπτωση που a=1) χρησιμοποιείται ο παρακάτω τύπος

    e ≡ (K+ c - s) mod K (5.3)

    Απλή πολυαλφαβητική αντικατάστασηαλλάζει διαδοχικά και κυκλικά τα αλφάβητα που χρησιμοποιούνται (στην προηγούμενη περίπτωση χρησιμοποιήθηκε ένα αλφάβητο για κρυπτογράφηση). Με αλφαβητική αντικατάσταση m, το σύμβολο a 1 από το αρχικό μήνυμα αντικαθίσταται με ένα σύμβολο από το αλφάβητο B 1, το σύμβολο a 2 - με ένα σύμβολο από το αλφάβητο B 2, ... το σύμβολο a m - με ένα σύμβολο από το αλφάβητο B m, το σύμβολο a m +1 - με ένα σημάδι από το αλφάβητο B 1, κλπ. .d. Το αποτέλεσμα της χρήσης πολυαλφαβητικής αντικατάστασης είναι ότι παρέχει κάλυψη των στατιστικών στοιχείων συχνότητας της γλώσσας πηγής, καθώς ένας συγκεκριμένος χαρακτήρας από το αλφάβητο Α μετατρέπεται σε πολλούς διαφορετικούς χαρακτήρες από το αλφάβητο κρυπτογράφησης Β.

    Παράδειγμα

    Αρχικό μήνυμα: WE#NEED#SNOW

    Κλειδί: SECURITYSECU

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

    Κωδικός αρχικού κλειδιού

    (W + S) mod 27 = (23 + 19) mod 27 = 15→O

    (E + E) mod 27 = (5 + 5) mod 27 = 10 → J

    (# + C) mod 27 = (0 + 3) mod 27 = 3 → C

    Ασκηση

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

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

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

    Παράδειγμα 1. Γραμμική μετάθεση

    Ας υποθέσουμε ότι πρέπει να κρυπτογραφήσετε το ακόλουθο κείμενο:

    ΦΟΡΤΙΟ#ΠΟΡΤΟΚΑΛΙ#ΒΑΡΕΛΙΑ

    Ας χωρίσουμε το κείμενο σε ομάδες μήκους, για παράδειγμα 4 χαρακτήρων:

    GRUZ ITe# APEL BSIN Y#BO CHKAH

    Ας ορίσουμε τον ακόλουθο κανόνα μετάθεσης: «αναδιάταξη ομάδων τεσσάρων γραμμάτων με τη σειρά 1-2-3-4 στη σειρά 3-1-4-2».

    Λαμβάνουμε το ακόλουθο κρυπτογραφημένο κείμενο:

    UGRZ EI#T EALP INS BYO# ACHK

    Σχόλιο

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

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

    Παράδειγμα 2. Πλέγμα Cardano

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

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

    VAVOCHS MUNOTI MYZHROE UXOY MDOSTO YASNTV

    Αποκρυπτογραφήστε το μήνυμα περιστρέφοντας το πλέγμα δεξιόστροφα κατά 90°. Γράψτε το μήνυμα στο τετράγωνο, γραμμή προς γραμμή.

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

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

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

    Με τον όρο μπλοκ N-bit εννοούμε μια ακολουθία μηδενικών και μονάδων μήκους N:

    x = (x 0 , x 1 , …x N -1) . (5.5)

    Το x στο Z 2, το N μπορεί να ερμηνευτεί ως διάνυσμα και ως δυαδική αναπαράσταση ενός ακέραιου αριθμού

    (5.6)

    Με τον όρο κρυπτογράφηση μπλοκ εννοούμε το στοιχείο

    Όπου x = (x 0 , x 1 , …x N -1), y = (y 0 , y 1 , …y N -1)

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

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

    Οι κρυπτογράφηση ροής είναι ένας τύπος γάμμα και μετατρέπουν απλό κείμενο σε κρυπτογραφημένο κείμενο ένα bit τη φορά. Μια γεννήτρια ακολουθίας κλειδιών, που μερικές φορές ονομάζεται γεννήτρια πλήκτρων σε λειτουργία, παράγει μια ακολουθία bits k 1 , k 2 , … k N . Αυτή η ακολουθία πλήκτρων προστίθεται στο modulo 2 ("αποκλειστικό ή") με την ακολουθία bits του κειμένου προέλευσης e 1, e 2, ..., e N:

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

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

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



    Συνιστούμε να διαβάσετε

    Κορυφή