Υπάρχουν πολλά διαφορετικά μέρη της κρυπτογραφίας. Ωστόσο, εάν θέλετε να κρυπτογραφήσετε ορισμένα δεδομένα, υπάρχουν δύο τύποι αλγορίθμων που μπορείτε να χρησιμοποιήσετε: αλγόριθμοι συμμετρικής κρυπτογράφησης και αλγόριθμοι ασύμμετρης κρυπτογράφησης. Η γενική ιδέα είναι η ίδια, μπορούν να κρυπτογραφήσουν δεδομένα, αλλά λειτουργούν με διαφορετικές αρχές και έχουν διαφορετικές περιπτώσεις χρήσης. Η διαφορά του τίτλου, ωστόσο, περιγράφει τα κλειδιά κρυπτογράφησης. Ένας συμμετρικός αλγόριθμος κρυπτογράφησης χρησιμοποιεί ένα κοινό κοινό κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση δεδομένων. Ένας αλγόριθμος ασύμμετρης κρυπτογράφησης χρησιμοποιεί δύο συνδεδεμένα κλειδιά, ένα για αποκρυπτογράφηση και ένα για αποκρυπτογράφηση.
Ιδιότητες συμμετρικών αλγορίθμων κρυπτογράφησης
Όπως αναφέρθηκε παραπάνω, το βασικό διακριτικό χαρακτηριστικό ενός αλγορίθμου συμμετρικής κρυπτογράφησης είναι το γεγονός ότι χρησιμοποιείτε ένα μόνο κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση δεδομένων. Αυτό δεν σημαίνει ότι υπάρχει μόνο ένα πιθανό κλειδί κρυπτογράφησης, απλώς αν κρυπτογραφήσετε κάτι με ένα κλειδί, πρέπει να χρησιμοποιήσετε το ίδιο κλειδί για να το αποκρυπτογραφήσετε. Μερικές φορές αναφέρεται ως κρυπτογράφηση κοινόχρηστου κλειδιού. Αυτό συμβαίνει επειδή κάθε συμμετέχων πρέπει να γνωρίζει το ίδιο κλειδί και έτσι πρέπει να το μοιραστείτε.
Αυτή η ιδιότητα της χρήσης του ίδιου κλειδιού για την κρυπτογράφηση και την αποκρυπτογράφηση μπορεί να είναι λίγο πρόβλημα. Για να χρησιμοποιήσετε έναν αλγόριθμο συμμετρικής κρυπτογράφησης, πρέπει να είστε σε θέση να τον επικοινωνήσετε με ασφάλεια. Αλλά δεν μπορείτε να το κάνετε αυτό χωρίς να έχετε ήδη ένα ασφαλές μέσο επικοινωνίας. Ευτυχώς, αυτό το πρόβλημα μπορεί να λυθεί με ασύμμετρη κρυπτογράφηση, αλλά αξίζει να το καταλάβετε.
Τα κλειδιά για τους αλγόριθμους συμμετρικής κρυπτογράφησης τείνουν να είναι αρκετά μικρά, τουλάχιστον σε σύγκριση με την ασύμμετρη κρυπτογράφηση. Αυτό τα καθιστά σχετικά εύκολο να μεταδοθούν ακόμη και με αργή σύνδεση δικτύου και λιγότερο ευάλωτα σε σφάλματα σε ένα αναξιόπιστο δίκτυο. Οι συμμετρικοί αλγόριθμοι κρυπτογράφησης είναι επίσης γρήγοροι σε σύγκριση με τους ασύμμετρους αλγόριθμους.
Όλες αυτές οι ιδιότητες καθιστούν τους συμμετρικούς αλγόριθμους κρυπτογράφησης ιδιαίτερα χρήσιμους για μαζική κρυπτογράφηση δεδομένων. Αυτό ισχύει ιδιαίτερα όταν η ταχύτητα είναι ένα ζήτημα.
Ροή κρυπτογράφησης και μπλοκ κρυπτογράφησης
Ο AES είναι ίσως ο πιο γνωστός αλγόριθμος συμμετρικής κρυπτογράφησης. Χρησιμοποιείται σχεδόν σε οτιδήποτε κρυπτογραφεί πολλά δεδομένα και αποτελεί τυπικό μέρος των σουιτών κρυπτογράφησης που χρησιμοποιούνται στο HTTPS. Το AES είναι ένας κρυπτογράφησης μπλοκ με μπλοκ 128 bit. Ένας κρυπτογράφηση μπλοκ λειτουργεί κρυπτογραφώντας μπλοκ δεδομένων κάθε φορά. Κάθε μπλοκ πρέπει να έχει το ίδιο μέγεθος. Αυτό είναι καλό όταν τα δεδομένα που απομένουν είναι μεγαλύτερα από το μέγεθος του μπλοκ, αλλά σημαίνει ότι πρέπει να χρησιμοποιηθεί κάποια μορφή συμπλήρωσης για την ολοκλήρωση του μπλοκ.
Ένας κρυπτογράφηση ροής λειτουργεί κρυπτογραφώντας πολύ μικρότερες ποσότητες δεδομένων κάθε φορά, συνήθως ένα byte τη φορά. Μια παραλλαγή αυτής της έννοιας είναι ο κρυπτογράφηση αντικατάστασης που λειτουργεί στα γράμματα. Οι κρυπτογράφοι υποκατάστασης είναι ευάλωτοι στην ανάλυση συχνότητας και επομένως είναι συνήθως αναξιόπιστοι και αχρησιμοποίητοι. Ωστόσο, οι κρυπτογραφήσεις ροής δεν έχουν αυτό το πρόβλημα.
Οι συμμετρικοί αλγόριθμοι τείνουν να είναι ευάλωτοι σε επιθέσεις γνωστού απλού κειμένου, επιθέσεις επιλεγμένου απλού κειμένου, διαφορική κρυπτανάλυση και γραμμική κρυπτανάλυση. Οι σύγχρονοι αλγόριθμοι, ωστόσο, έχουν σχεδιαστεί προσεκτικά έχοντας αυτό κατά νου και έτσι αυτά τα ζητήματα δεν αποτελούν πρόβλημα.
συμπέρασμα
Η συμμετρική κρυπτογράφηση είναι μια μορφή κρυπτογράφησης που χρησιμοποιεί το ίδιο κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση δεδομένων. Σε ορισμένες περιπτώσεις, ο ίδιος ο αλγόριθμος είναι ο ίδιος για την κρυπτογράφηση και την αποκρυπτογράφηση, αν και αυτό δεν ισχύει απαραίτητα. Τα κλειδιά κρυπτογράφησης τείνουν να είναι σχετικά σύντομα και εύκολα στη μετάδοση. Το κλειδί, ωστόσο, πρέπει να μεταδοθεί μέσω ασφαλούς καναλιού, καθώς πρέπει να κοινοποιείται μεταξύ όλων των εμπλεκόμενων μερών. Οι αλγόριθμοι συμμετρικής κρυπτογράφησης τείνουν να είναι πολύ πιο γρήγοροι από τους αλγόριθμους ασύμμετρης κρυπτογράφησης.