Τα κρυπτογραφικά συστήματα χωρίζονται προς το παρόν σε δύο σημαντικά πεδία μελέτης: τη συμμετρική και την ασύμμετρη κρυπτογράφηση. Ενώ η συμμετρική κρυπτογράφηση χρησιμοποιείται συχνά ως συνώνυμο της συμμετρικής κρυπτογραφίας, η ασύμμετρη κρυπτογράφηση περιλαμβάνει δύο κύριες περιπτώσεις χρήσης: την ασύμμετρη κρυπτογράφηση και τις ψηφιακές υπογραφές.
Επομένως, μπορούμε να εκπροσωπήσουμε αυτές τις ομάδες ως εξής:
Συμμετρική κρυπτογράφηση με κλειδί
Συμμετρική κρυπτογράφηση
Ασύμμετρη κρυπτογράφηση (ή αλλιώς κρυπτογράφηση δημόσιου κλειδιού)
Ασύμμετρη κρυπτογράφηση (ή κρυπτογράφηση δημόσιου κλειδιού)
Ψηφιακές υπογραφές (μπορεί να περιλαμβάνουν ή όχι κρυπτογράφηση)
Αυτό το άρθρο θα εστιάσει στους αλγόριθμους συμμετρικής και ασύμμετρης κρυπτογράφησης.
Συμμετρική ή ασύμμετρη κρυπτογράφηση
Οι αλγόριθμοι κρυπτογράφησης χωρίζονται συχνά σε δύο κατηγορίες, γνωστές ως συμμετρική και ασύμμετρη κρυπτογράφηση. Η θεμελιώδης διαφορά μεταξύ αυτών των δύο μεθόδων κρυπτογράφησης βασίζεται στο γεγονός ότι οι αλγόριθμοι συμμετρικής κρυπτογράφησης χρησιμοποιούν ένα μόνο κλειδί, ενώ η ασύμμετρη κρυπτογράφηση χρησιμοποιεί δύο διαφορετικά αλλά συναφή κλειδιά. Μια τέτοια διάκριση, αν και φαινομενικά απλή, εξηγεί τις λειτουργικές διαφορές μεταξύ των δύο μορφών τεχνικών κρυπτογράφησης και των τρόπων χρήσης τους.
Κατανοώντας τα κλειδιά κρυπτογράφησης
Στην κρυπτογράφηση, οι αλγόριθμοι κρυπτογράφησης δημιουργούν κλειδιά ως μια σειρά από bit που χρησιμοποιούνται για την κρυπτογράφηση και την αποκρυπτογράφηση μιας πληροφορίας. Ο τρόπος με τον οποίο χρησιμοποιούνται αυτά τα κλειδιά, εξηγεί τη διαφορά μεταξύ συμμετρικής και ασύμμετρης κρυπτογράφησης.
Ενώ οι αλγόριθμοι συμμετρικής κρυπτογράφησης χρησιμοποιούν το ίδιο κλειδί για να εκτελέσουν και τις λειτουργίες κρυπτογράφησης και αποκρυπτογράφησης, ένας αλγόριθμος ασύμμετρης κρυπτογράφησης, χρησιμοποιεί ένα κλειδί για την κρυπτογράφηση των δεδομένων και ένα άλλο κλειδί για την αποκρυπτογράφησή τους. Στα ασύμμετρα συστήματα, το κλειδί που χρησιμοποιείται για την κρυπτογράφηση είναι γνωστό ως δημόσιο κλειδί και μπορεί να κοινοποιηθεί ελεύθερα με άλλους. Από την άλλη, το κλειδί που χρησιμοποιείται για την αποκρυπτογράφηση είναι το ιδιωτικό κλειδί και θα πρέπει να φυλάσσεται κρυφό.
Για παράδειγμα, αν η Άλις στείλει στον Μπομπ ένα μήνυμα που προστατεύεται με συμμετρική κρυπτογράφηση, πρέπει να μοιραστεί με τον Μπομπ το ίδιο κλειδί που χρησιμοποίησε για την κρυπτογράφηση, ώστε να μπορεί να αποκρυπτογραφήσει το μήνυμα. Αυτό σημαίνει ότι εάν ένας κακόβουλος παράγοντας υποκλέψει το κλειδί, θα μπορεί να αποκτήσει πρόσβαση στις κρυπτογραφημένες πληροφορίες.
Ωστόσο, εάν η Αλίκη χρησιμοποιεί ένα ασύμμετρο σύστημα, κρυπτογραφεί το μήνυμα με το δημόσιο κλειδί του Γιώργου, οπότε ο Γιώργος θα μπορεί να το αποκρυπτογραφήσει με το ιδιωτικό του κλειδί. Έτσι, η ασύμμετρη κρυπτογράφηση προσφέρει υψηλότερο επίπεδο ασφάλειας, διότι ακόμη και αν κάποιος υποκλέψει τα μηνύματά τους και βρει το δημόσιο κλειδί του Μπομπ, δεν θα μπορεί να αποκρυπτογραφήσει το μήνυμα.
Μήκος κλειδιών
Μια άλλη λειτουργική διαφορά μεταξύ συμμετρικής και ασύμμετρης κρυπτογράφησης σχετίζεται με το μήκος των κλειδιών, το οποίο μετριέται σε bit και σχετίζεται άμεσα με το επίπεδο ασφάλειας που παρέχει κάθε κρυπτογραφικός αλγόριθμος.
Στα συμμετρικά συστήματα, τα κλειδιά επιλέγονται τυχαία και το μήκος τους ορίζεται συνήθως σε 128 ή 256 bit, ανάλογα με το απαιτούμενο επίπεδο ασφάλειας. Ωστόσο, στην ασύμμετρη κρυπτογράφηση πρέπει να υπάρχει μια μαθηματική σχέση μεταξύ του δημόσιου και του ιδιωτικού κλειδιού, που σημαίνει ότι υπάρχει ένα μαθηματικό μοτίβο μεταξύ των δύο. Λόγω του γεγονότος ότι αυτό το μοτίβο μπορεί δυνητικά να αξιοποιηθεί από εισβολείς για να παραβιάσουν την κρυπτογράφηση, τα ασύμμετρα κλειδιά πρέπει να είναι πολύ μεγαλύτερα για να έχουν ισοδύναμο επίπεδο ασφάλειας. Η διαφορά στο μήκος του κλειδιού είναι τόσο έντονη που ένα συμμετρικό κλειδί 128 bit και ένα ασύμμετρο κλειδί 2.048 bit παρέχουν περίπου παρόμοια επίπεδα ασφάλειας.
Πλεονεκτήματα και μειονεκτήματα
Και οι δύο τύποι κρυπτογράφησης έχουν πλεονεκτήματα και μειονεκτήματα. Οι αλγόριθμοι συμμετρικής κρυπτογράφησης είναι πολύ ταχύτεροι και απαιτούν λιγότερη υπολογιστική ισχύ, αλλά η κύρια αδυναμία τους είναι η διανομή του κλειδιού. Επειδή χρησιμοποιείται το ίδιο κλειδί για την κρυπτογράφηση και την αποκρυπτογράφηση πληροφοριών, αυτό το κλειδί πρέπει να διανέμεται σε οποιονδήποτε χρειάζεται να έχει πρόσβαση στα δεδομένα, γεγονός που φυσικά δημιουργεί κινδύνους ασφαλείας (όπως περιγράφηκε προηγουμένως).
Αντίθετα, η ασύμμετρη κρυπτογράφηση επιλύει το πρόβλημα της διανομής κλειδιών χρησιμοποιώντας δημόσια κλειδιά για την κρυπτογράφηση και ιδιωτικά κλειδιά για την αποκρυπτογράφηση. Ωστόσο, το αντιστάθμισμα επισημαίνει ότι τα συστήματα ασύμμετρης κρυπτογράφησης είναι πολύ αργά σε σύγκριση με τα συμμετρικά συστήματα και απαιτούν πολύ μεγαλύτερη υπολογιστική ισχύ ως αποτέλεσμα του πολύ μεγαλύτερου μήκους κλειδιού τους.
Περιπτώσεις χρήσης
Συμμετρική κρυπτογράφηση
Λόγω της υψηλότερης ταχύτητάς της, η συμμετρική κρυπτογράφηση χρησιμοποιείται ευρέως για την προστασία των δεδομένων σε πολλά σύγχρονα συστήματα υπολογιστών. Για παράδειγμα, το Πρότυπο προηγμένης κρυπτογράφησης (Advanced Encryption Standard ή AES), χρησιμοποιείται από την κυβέρνηση των Ηνωμένων Πολιτειών για την κρυπτογράφηση απόρρητων και ευαίσθητων πληροφοριών. Το AES αντικατέστησε το προηγούμενο Πρότυπο κρυπτογράφησης δεδομένων (Data Encryption Standard ή DES), το οποίο αναπτύχθηκε τη δεκαετία του 1970 ως το πρότυπο συμμετρικής κρυπτογράφησης.
Ασύμμετρη κρυπτογράφηση
Η ασύμμετρη κρυπτογράφηση μπορεί να εφαρμοστεί σε συστήματα στα οποία πολλοί χρήστες μπορεί να χρειαστεί να κρυπτογραφήσουν και να αποκρυπτογραφήσουν ένα μήνυμα ή ένα σύνολο δεδομένων, ιδίως όταν η ταχύτητα και η υπολογιστική ισχύς δεν αποτελούν πρωταρχικό μέλημα. Ένα παράδειγμα ενός τέτοιου συστήματος είναι το κρυπτογραφημένο email, στο οποίο ένα δημόσιο κλειδί μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση ενός μηνύματος και ένα ιδιωτικό κλειδί για την αποκρυπτογράφησή του.
Υβριδικά συστήματα
Σε πολλές εφαρμογές, η συμμετρική και η ασύμμετρη κρυπτογράφηση χρησιμοποιούνται μαζί. Χαρακτηριστικά παραδείγματα τέτοιων υβριδικών συστημάτων είναι τα κρυπτογραφικά πρωτόκολλα ασφαλούς στρώματος υποδοχών (Security Sockets Layer ή SSL) και ασφάλεια επιπέδου μεταφοράς (Transport Layer Security ή TLS), τα οποία σχεδιάστηκαν για να παρέχουν ασφαλή επικοινωνία στο Διαδίκτυο. Τα πρωτόκολλα SSL θεωρούνται πλέον μη ασφαλή και η χρήση τους θα πρέπει να διακοπεί. Αντίθετα, τα πρωτόκολλα TLS θεωρούνται ασφαλή και χρησιμοποιούνται εκτενώς από όλα τα μεγάλα προγράμματα περιήγησης ιστού.
Τα κρυπτονομίσματα χρησιμοποιούν κρυπτογράφηση;
Οι τεχνικές κρυπτογράφησης χρησιμοποιούνται σε πολλά πορτοφόλια κρυπτονομισμάτων ως τρόπος παροχής αυξημένων επιπέδων ασφάλειας στους τελικούς χρήστες. Για παράδειγμα, οι αλγόριθμοι κρυπτογράφησης εφαρμόζονται όταν οι χρήστες ορίζουν έναν κωδικό πρόσβασης για τα πορτοφόλια κρύπτο τους, που σημαίνει ότι το αρχείο που χρησιμοποιήθηκε για την πρόσβαση στο λογισμικό ήταν κρυπτογραφημένο.
Ωστόσο, λόγω του γεγονότος ότι το Bitcoin και άλλα κρυπτονομίσματα χρησιμοποιούν ζεύγη δημόσιων και ιδιωτικών κλειδιών, υπάρχει μια κοινή παρερμηνεία ότι τα συστήματα blockchain χρησιμοποιούν αλγορίθμους ασύμμετρης κρυπτογράφησης. Ωστόσο, όπως αναφέρθηκε προηγουμένως η ασύμμετρη κρυπτογράφηση και οι ψηφιακές υπογραφές είναι δύο κύριες περιπτώσεις χρήσης της ασύμμετρης κρυπτογράφησης (κρυπτογράφηση δημόσιου κλειδιού).
Επομένως, δεν χρησιμοποιούν όλα τα συστήματα ψηφιακής υπογραφής τεχνικές κρυπτογράφησης, ακόμη και αν παρουσιάζουν ένα δημόσιο και ένα ιδιωτικό κλειδί. Στην πραγματικότητα, ένα μήνυμα μπορεί να υπογραφεί ψηφιακά χωρίς να κρυπτογραφηθεί. Ο RSA είναι ένα παράδειγμα αλγορίθμου που μπορεί να χρησιμοποιηθεί για την υπογραφή κρυπτογραφημένων μηνυμάτων, αλλά ο αλγόριθμος ψηφιακής υπογραφής που χρησιμοποιείται από το Bitcoin (με την ονομασία ECDSA) δεν χρησιμοποιεί καθόλου κρυπτογράφηση.
Συμπεράσματα
Τόσο η συμμετρική όσο και η ασύμμετρη κρυπτογράφηση διαδραματίζουν σημαντικό ρόλο στη διατήρηση της ασφάλειας ευαίσθητων πληροφοριών και επικοινωνιών στον σημερινό ψηφιακά εξαρτώμενο κόσμο. Παρόλο που είναι και οι δύο χρήσιμες, η καθεμία έχει τα δικά της πλεονεκτήματα και μειονεκτήματα και έτσι εφαρμόζονται σε διαφορετικές εφαρμογές. Καθώς η επιστήμη της κρυπτογράφησης συνεχίζει να εξελίσσεται για την άμυνα απέναντι σε νεότερες και πιο εξελιγμένες απειλές, τόσο τα συστήματα ασύμμετρης κρυπτογράφησης όσο και τα συστήματα συμμετρικής κρυπτογράφησης πιθανότατα θα συνεχίσουν να είναι σημαντικά για την ασφάλεια των υπολογιστών.