Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στην Κρυπτογραφία

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στην Κρυπτογραφία"— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στην Κρυπτογραφία
Γενική επισκόπηση

2 Επισκόπηση ύλης Στόχοι της κρυπτογραφίας – Ιστορικό – Γενικά χαρακτηριστικά Κλασσική κρυπτογραφία Συμμετρικού κλειδιού (block ciphers – stream ciphers) Δημοσίου κλειδιού (στηριγμένη στη θεωρία υπολογισμού) Είδη κρυπτανάλυσης Εγκαθίδρυση και διαχείριση κλειδιού Ελλειπτικές καμπύλες και κρυπτογραφία Νέες τάσεις Κβαντική κρυπτογραφία Κρυπτογραφία πλέγματος

3 Βιβλιογραφία Διδακτικό βιβλίο: “Σύγχρονη Κρυπτογραφία”, Π. Νάστου, Π. Σπυράκη, Γ. Σταματίου, Εκδόσεις Ελληνικά Γράμματα “Handbook of Applied Cryptography”, A. J. Menezes, P. C. Van Oorschot και S. A. Vanstone, CRC Press, 1996 (διαθέσιμο από το διαδίκτυο: ‘’Κρυπτογραφία: Η Επιστήμη της Ασφαλούς Επικοινωνίας’’, Δ.Μ. Πουλάκης, Εκδόσεις Ζήτη ‘’Τεχνικές Κρυπτογραφίας & Κρυπτανάλυσης’’, Β.Α. Κάτος και Γ.Χ. Στεφανίδης, Εκδόσεις Ζυγός

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

5 Κρυπτογραφική Ορολογία
Εμπιστευτικότητα ή μυστικότητα (privacy): η διατήρηση της πληροφορίας κρυφής από όλους, εκτός από εκείνους που είναι εξουσιοδοτημένοι να τη δουν Ακεραιότητα των δεδομένων (data integrity): διασφάλιση του ότι η πληροφορία δεν έχει παραποιηθεί από μη εξουσιοδοτημένο μέσο Πιστοποίηση ταυτότητας (entity authentication ή identification): επιβεβαίωση της ταυτότητας ενός χρήστη Πιστοποίηση μηνύματος (message authentication): Επιβεβαίωση της πηγής της πληροφορίας Υπογραφή (signature): ένα μέσο προσάρτησης πληροφορίας ενός χρήστη στα μεταδιδόμενα δεδομένα, με στόχο την πιστοποίηση ταυτότητας Εξουσιοδότηση (authorization): Έγκριση σε μία οντότητα να κάνει κάτι Επικύρωση (validation): Μέσο για την απόδοση έγκρισης σε μία οντότητα, ώστε να έχει πρόσβαση στην πληροφορία ή γενικότερα σε μέσα

6 Κρυπτογραφική Ορολογία (II)
Έλεγχος πρόσβασης (access control): περιορισμός της πρόσβασης στην πληροφορία και στα μέσα γενικότερα σε εξουσιοδοτημένες οντότητες Πιστοποίηση (certification): Υποστήριξη της πληροφορίας από μία έμπιστη οντότητα “Σφραγίδα χρόνου” (timestamping): καταγραφή της χρονικής στιγμής δημιουργίας της πληροφορίας Μαρτυρία (witnessing): επιβεβαίωση της δημιουργίας ή της ύπαρξης της πληροφορίας από μία οντότητα διαφορετική από αυτήν που δημιούργησε την πληροφορία Απόδειξη λήψης (receipt): Παραδοχή της λήψης της πληροφορίας Επιβεβαίωση (confirmation): παραδοχή ότι έχουν προσφερθεί όλες οι κρυπτογραφικές υπηρεσίες Κυριότητα (ownership): η παροχή νόμιμου δικαιώματος σε μία οντότητα να χρησιμοποιήσει ή να μεταδώσει πόρους σε άλλους Ανωνυμία (anonymity): Απόκρυψη της ταυτότητας μιας οντότητας Άρνηση αποκήρυξης (non-repudiation): η διαδικασία του να μην επιτρέπεται η άρνηση προηγούμενων ενεργειών ή η αποκήρυξη προηγούμενων δεσμεύσεων Ανάκληση (revocation): αναίρεση της πιστοποίησης

7 Στόχοι της κρυπτογραφίας
Τα μηνύματα πρέπει να φτάνουν στο σωστό προορισμό Εμπιστευτικότητα: Μόνο ο παραλήπτης τους να μπορεί να τα λάβει και να τα δει (confidentiality) Πιστοποίηση της ταυτότητας του αποστολέα (authentication) Το μήνυμα δεν πρέπει να αλλοιωθεί κατά τη μεταφορά από μη εξουσιοδοτημένη οντότητα (data integrity) Όποια ενέργεια κάνει κάποιος (π.χ. πιστοποίηση ταυτότητας) δεν πρέπει αργότερα να μπορεί να την αρνηθεί (Non-repudiation) Προσοχή! Η κρυπτογραφία δεν λύνει τα παραπάνω, απλά προσπαθεί να τα ικανοποιήσει

8 Κρυπτογραφικά εργαλεία
Σχήματα κρυπτογράφησης: χρησιμοποιούνται με στόχο να επιτύχουν την εμπιστευτικότητα Σχήματα υπογραφών: σε αυτά, τα δεδομένα «υπογράφονται». Η υπογραφή βοηθά στην εξασφάλιση τόσο της ακεραιότητας των δεδομένων όσο και στην πιστοποίηση ταυτότητας του αποστολέα. Μπορεί επίσης να χρησιμοποιηθεί για την άρνηση αποκήρυξης. Κώδικες πιστοποίησης μηνύματος (Message Authentication Codes – MACs): παρέχουν ακεραιότητα των δεδομένων Κρυπτογραφικές συναρτήσεις κατακερματισμού: μία συνάρτηση κατακερματισμού εισάγει τυχαίο και μη προβλέψιμο πλεονασμό στα δεδομένα

9 Κρυπτογραφικά εργαλεία (II)
Πρωτόκολλα συμφωνίας κλειδιού: χρησιμοποιούνται με στόχο την εγκαθίδρυση ενός κοινού μυστικού κλειδιού ανάμεσα σε δύο ή περισσότερες οντότητες. Αυτό το κλειδί αργότερα χρησιμοποιείται για κρυπτογραφικούς σκοπούς όπως κρυπτογράφηση συμμετρικού κλειδιού ή πιστοποίηση μηνύματος. Σχήματα πιστοποίησης: παρέχουν πιστοποίηση της ταυτότητας των χρηστών Γεννήτριες ψευδοτυχαίων αριθμών: Συσκευές που από μία μικρή αρχική εντελώς τυχαία σειρά bits παράγουν μία πολύ μεγάλη σειρά bits, που εμφανίζουν υψηλή τυχαιότητα (με βάση κάποια σαφώς ορισμένα κριτήρια τυχαιότητας). Χρησιμοποιούνται για την παραγωγή κλειδιών.

10 Περιοριστικοί αλγόριθμοι (restricted algorithms)
Η ασφάλεια ενός τέτοιου αλγορίθμου εξασφαλίζεται μόνο αν ο αλγόριθμος παραμένει κρυφός! Ανεφάρμοστοι στην πράξη (μη ασφαλείς)

11 Ένας απλός περιοριστικός αλγόριθμος
Κρυπτογράφηση Πολλαπλασιασμός του αρχικού μηνύματος επί 2 Αποκρυπτογράφηση Διαίρεση του κρυπτογράμματος δια 2 plaintext = SECRET = Ciphertext =

12 Αλγόριθμοι βασισμένοι σε κλειδιά
Οι αλγόριθμοι κρυπτογράφησης χρησιμοποιούν ένα ή περισσότερα κλειδιά (keys). Υποκλοπέας Encryption Key Decryption Key Original plaintext Plaintext Ciphertext Encryption Decryption Α Β Η ασφάλεια έγκειται στο ότι δεν είναι γνωστό το κλειδί – οι αλγόριθμοι κρυπτογράφησης και αποκρυπτογράφησης μπορούν να είναι ευρέως γνωστοί

13 Ένας απλός αλγόριθμος βασισμένος σε κλειδί
Κρυπτογράφηση Πολλαπλασίασε το ανοικτό μήνυμα επί 2 και πρόσθεσε το κλειδί Αποκρυπτογράφηση Αφαίρεσε το κλειδί και διαίρεσε το κρυπτόγραμμα δια 2 plaintext = SECRET = Key = 3 Ciphertext =

14 Κατηγορίες αλγορίθμων ως προς το είδος του κλειδιού
Αλγόριθμοι συμμετρικού (ή κρυφού) κλειδιού (symmetric key algorithms) Χρησιμοποιείται το ίδιο κλειδί τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση Αλγόριθμοι ασύμμετρου (ή δημοσίου) κλειδιού (Asymmetric (or public key) algorithms) Χρησιμοποιούνται διαφορετικά κλειδιά για την κρυπτογράφηση και την αποκρυπτογράφηση Το κλειδί κρυπτογράφησης δεν μπορεί να εξαχθεί από το κλειδί αποκρυπτογράφησης

15 Μαθηματικός φορμαλισμός
Αν E και D συμβολίζουν τις συναρτήσεις κρυπτογράφησης και αποκρυπτογράφησης αντίστοιχα, τότε: EK1(m) = c DK2(c) = m όπου m και c υποδηλώνουν το ανοικτό και το κρυπτογραφημένο μήνυμα αντίστοιχα. Οι δείκτες Ki υποδηλώνουν την εξάρτηση των συναρτήσεων από το κλειδί. Οι συναρτήσεις έχουν την ιδιότητα: DK2(EK1(m)) = m Σε αλγόριθμους συμμετρικού κλειδιού, ισχύει K1 = K2

16 Κρυπτογραφικές συναρτήσεις
Συνάρτηση μίας κατεύθυνσης (one-way function) για την οποία είναι εύκολο να υπολογιστεί η τιμή της, αλλά δύσκολο να αντιστραφεί (δηλαδή, για δοθέν yi, δεν μπορεί να βρεθεί xi τέτοιο ώστε: f(xi)=yi Παράδειγμα: ο μετασχηματισμός k  Ek(m) για σταθερό μήνυμα m H πρόσθετη πληροφορία που χρειάζεται κανείς για να αντιστρέψει μία τέτοια συνάρτηση ονομάζεται καταπακτή (trapdoor) Τέτοιες συναρτήσεις είναι η βάση των συστημάτων Δημοσίου Κλειδιού

17 Συστήματα κρυπτογράφησης
Ee M C Dd M ciphertext plaintext plaintext Dd(Ee(m))=m Απαιτήσεις του συστήματος: Οι διαδικασίες κρυπτογράφησης – αποκρυπτογράφησης να συντελούνται γρήγορα Εύκολη υλοποίηση Η ασφάλεια του συστήματος να εξαρτάται μόνο από τα κλειδιά και όχι από τη μυστικότητα των μετασχηματισμών Ee ή Dd

18 «Επιθέσεις» εναντίον κρυπτογραφικών αλγορίθμων (Κρυπτανάλυση)
«Επιθέσεις» εναντίον κρυπτογραφικών αλγορίθμων (Κρυπτανάλυση) Κρυπτανάλυση είναι η μελέτη μαθηματικών τεχνικών που στοχεύουν στην ακύρωση των κρυπτογραφικών μεθόδων, καθιστώντας τις έτσι μη κατάλληλες για κρυπτογραφικούς σκοπούς. Ένας αλγόριθμος θεωρείται μη ασφαλής αν είναι δυνατή η ανάκτηση του αρχικού μηνύματος ή του κλειδιού από το κρυπτόγραμμα, ή αν είναι δυνατή η ανάκτηση του κλειδιού από ζευγάρια plaintext-ciphertext. Είδη «επιθέσεων» Ciphertext attack o επιτιθέμενος γνωρίζει το κρυπτόγραμμα: στόχος η εύρεση είτε του αρχικού μηνύματος είτε του κλειδιού Known-plaintext attack ο επιτιθέμενος γνωρίζει το κρυπτόγραμμα και το αντίστοιχο μήνυμα – στόχος του η εύρεση του κλειδιού Chosen-plaintext attack Ο επιτιθέμενος είναι σε θέση να επιλέξει συγκεκριμένα ζεύγη «ανοικτό μήνυμα – κρυπτόγραμμα» που θα γνωρίζει. Στόχος του η εύρεση του κλειδιού.

19 Ασφαλή συστήματα κρυπτογράφησης
Απεριόριστα ασφαλές (Unconditionally secure) Ένα σύστημα κρυπτογράφησης χαρακτηρίζεται απεριόριστα ασφαλές αν, ανεξάρτητα του πόσο μεγάλου τμήματος του κρυπτογράμματος είναι γνωστό, δεν υπάρχει αρκετή πληροφορία για την ανάκτηση του αρχικού μηνύματος κατά μοναδικό τρόπο, όση υπολογιστική ισχύ κι αν διαθέτει ο επιτιθέμενος (δεν μπορεί να υπάρξει). Υπολογιστικά ασφαλές (Computationally secure) Ένα σύστημα κρυπτογράφησης χαρακτηρίζεται υπολογιστικά ασφαλές αν είναι υπολογιστικά αδύνατο να «σπάσει». (Πρακτικά σημαίνει ότι δεν μπορεί να υπάρξει αλγόριθμος πολυωνυμικού χρόνου για την ανάκτηση είτε του μηνύματος είτε του κλειδιού).

20 Θεωρία Shannon Εντροπία μίας τυχαίας μεταβλητής X που παίρνει τιμές στο σύνολο x1, x2, …, xn με αντίστοιχες πιθανότητες p1, p2, …, pn ορίζεται ως: Το κλειδί πρέπει να έχει μήκος τουλάχιστον όσο η εντροπία του αρχικού μηνύματος και δεν πρέπει να επαναχρησιμοποιείται (“Communication Theory of Secrecy Systems”, Claude Shannon, Bell Syst. Tech. J. 28, , 1949) Συνεπώς, η ασφάλεια που παρέχει ένα κρυπτογραφικό σύστημα εξαρτάται από το μέγεθος του κλειδιού. Τέτοια ιδανικά συστήματα είναι απεριόριστα ασφαλή

21 Βασικές αρχές του Shannon
Διάχυση (Diffusion): κάθε γράμμα του αρχικού μηνύματος πρέπει να καθορίζει πολλά γράμματα του κρυπτογράμματος. Έτσι, ο πλεονασμός (όπως ορίζεται από τη Θεωρία Πληροφορίας) του αρχικού μηνύματος, δεν πρέπει να είναι παρόν στο κρυπτόγραμμα (ισοδύναμα, κάθε αλλαγή σε κάποιο μέρος της εισόδου να επηρεάζει θέσεις στο κωδικοποιημένο μήνυμα που βρίσκονται αρκετά μακριά από τη θέση που έγινε η αλλαγή) Σύγχυση (Confusion): Η σχέση μεταξύ αρχικού μηνύματος και κρυπτογράμματος πρέπει να είναι σύνθετη (δηλ., διαισθητική επιθυμητή ιδιότητα να εμποδίζεται οποιαδήποτε στατιστική πληροφορία που αφορά το ανοικτό μήνυμα κατά τη μεταφορά του στο κρυπτόγραμμα. Οι αρχές αυτές εφαρμόζονται στην πράξη, αφού λαμβάνονται υπόψη στην κατασκευή κρυπτογραφικών αλγορίθμων

22 Απαιτήσεις ασφάλειας M Ee C Dd M M
Πρέπει να είναι υπολογιστικά αδύνατος ο πλήρης καθορισμός του μετασχηματισμού Dk όταν έχουμε γνωστό ένα τμήμα του κρυπτογράμματος c, ακόμα κι αν το αντίστοιχο ανοικτό μήνυμα m είναι γνωστό. Κάτι τέτοιο θα σήμαινε δυνατότητα ανάκτησης του κλειδιού αποκρυπτογράφησης. Πρέπει να είναι υπολογιστικά αδύνατος ο καθορισμός του αρχικού μηνύματος m για γνωστό κρυπτόγραμμα c. προστατευμένο M Ee C Dd M Να μην επιτρέπεται M

23 Απαιτήσεις για εξασφάλιση πιστοποίησης ταυτότητας του αποστολέα (entity authentication)
Αφορά κυρίως τα συστήματα δημοσίου κλειδιού Πρέπει να είναι υπολογιστικά αδύνατος ο πλήρης καθορισμός του μετασχηματισμού Ee για γνωστό κρυπτόγραμμα c, ακόμα κι αν το αντίστοιχο ανοικτό μήνυμα m είναι γνωστό. Κάτι τέτοιο θα σήμαινε δυνατότητα ανάκτησης του κλειδιού κρυπτογράφησης. Πρέπει να είναι υπολογιστικά αδύνατη η συστηματική εύρεση c’ τέτοιων ώστε το Dd(c’) να είναι μήνυμα που να ανήκει στο σύνολο μηνυμάτων M. M Ee C Dd M προστατευμένο Να μην επιτρέπεται M

24 Συμμετρικά κρυπτοσυστήματα
P C P Αποστολέας Encryption Decryption Παραλήπτης Ασφαλής μετάδοση του κλειδιού Ο αποστολέας και ο παραλήπτης πρέπει από την αρχή να συμφωνήσουν στη χρήση ενός κοινού κλειδιού, πριν ξεκινήσει η μεταφορά των μηνυμάτων Ένα ασφαλές κανάλι επικοινωνίας πρέπει να υπάρχει μεταξύ αποστολέα και παραλήπτη, για την μεταφορά του κλειδιού

25 Κρυπτοσυστήματα Δημοσίου κλειδιού
P C P Αποστολέας Encryption Decryption Παραλήπτης Ee Dd Προτάθηκαν το 1976 Κάθε συμμετέχων στο σύστημα κατέχει ένα ζευγάρι κλειδιών e και d, αντίστροφα μεταξύ τους: Dd(Ee(m))=m Διαφορετικές συναρτήσεις χρησιμοποιούνται για κρυπτογράφηση και αποκρυπτογράφηση. Ένα από τα δύο κλειδιά μπορεί να είναι γνωστό, υπό την προϋπόθεση ότι η γνώση αυτή δεν μπορεί να οδηγήσει στην ανάκτηση του άλλου κλειδιού. Το e μπορεί να είναι δημόσιο (γνωστό), αλλά το d κρατείται μυστικό. Η ανταλλαγή κλειδιών μεταξύ αποστολέα και παραλήπτη αντικαθίσταται από την ύπαρξη ενός διαφανούς καταλόγου, στον οποίο όλοι έχουν πρόσβαση, και περιέχει τα κλειδιά e όλων των συμμετεχόντων.

26 Τρόπος λειτουργίας συστημάτων δημοσίου κλειδιού
Όταν ένα πρόσωπο A θέλει να στείλει ένα μήνυμα m σε ένα πρόσωπο B, το δημόσιο κλειδί κρυπτογράφησης του παραλήπτη B χρησιμοποιείται για τη δημιουργία του κρυπτογράμματος Ee(m). Αφού το Ee είναι πλήρως διαθέσιμο σε κάποιον δημόσιο κατάλογο στον οποίο έχουν όλοι πρόσβαση, ο οποιοσδήποτε μπορεί να κρυπτογραφήσει ένα μήνυμα με προορισμό τον B. Ωστόσο, μόνο ο B, ο οποίος έχει πρόσβαση στο ιδιωτικό του κλειδί αποκρυπτογράφησης Dd μπορεί να ανακατασκευάσει το ανοικτό μήνυμα, εφαρμόζοντας τον αντίστροφο μετασχηματισμό Dd(Ee(m)).

27 Μειονέκτημα συστημάτων δημοσίου κλειδιού
O οποιοσδήποτε μπορεί να προσποιηθεί ότι είναι κάποιος άλλος χρήστης! Αν ο επιτιθέμενος «σταματήσει» το μήνυμα που στέλνει ο A στον B, γράψει ένα δικό του και το στείλει στον Β κρυπτογραφημένο με το δημόσιο κλειδί του B, o Β δεν θα γνωρίζει τον πραγματικό αποστολέα του μηνύματος που λαμβάνει. Άρα Ανάγκη πιστοποίησης της ταυτότητας κάθε χρήστη.

28 Σχηματική αναπαράσταση υποκλοπής σε σύστημα Δημοσίου Κλειδιού
Ο επιτιθέμενος ξεγελά τον A ότι είναι ο B, στέλνοντάς του το δικό του δημόσιο κλειδί e’. Έτσι, ο A στέλνει τα μηνύματα κρυπτογραφημένα ως προς το e’. Συνεπώς, ο επιτιθέμενος μπορεί και «διαβάζει» όλα τα μηνύματα που στέλνει ο A στον B O Β δεν μπορεί να αντιληφθεί την παρουσία του επιτιθέμενου, μια που αυτός του στέλνει κανονικά το μήνυμα. Ο B, λαμβάνοντας ένα μήνυμα, δεν μπορεί να ξέρει με σιγουριά ποιος του το έστειλε.

29 Ψηφιακή υπογραφή (Digital Signature)
Εξασφαλίζει πιστοποίηση της ταυτότητας. Έστω ότι ο A στέλνει ένα υπογεγραμμένο μήνυμα στον Β. Η υπογραφή του A πρέπει να ικανοποιεί τα εξής: O B να είναι σε θέση να επικυρώσει το γνήσιο της υπογραφής. Πρέπει να είναι αδύνατη η πλαστογράφηση της υπογραφής του A

30 Χρήση συστημάτων δημοσίου κλειδιού για υπογραφή μηνυμάτων
Ο A υπογράφει το m με το ιδιωτικό του κλειδί dA, υπολογίζοντας το c=DdA(m) [και στέλνει (m,c)] Ο B ελέγχει το γνήσιο της υπογραφής του A με το δημόσιο κλειδί eA,,υπολογίζοντας το EeA(c) =m Σαν επαλήθευση, το EeA(c) πρέπει να ανακτά το ίδιο m με αυτό που ανακτά ο B. Απαιτήσεις: DdA(EeA(m))=EeA(DdA(m))=m για κάθε m Το παραπάνω καλείται αναστρέψιμο σχήμα Δημοσίου Κλειδιού

31 Ταυτόχρονη μυστικότητα και έλεγχος υπογραφής σε ένα κρυπτοσύστημα Δημοσίου κλειδιού
Έστω χρήστες A, B με δημόσια και ιδιωτικά κλειδιά eA,dA, eB,dB αντίστοιχα. Με Ε και D συμβολίζουμε γενικότερα τις διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης αντίστοιχα m DA(m)=s EB(s)=c DB(c)=s EA(s)=m m Μετασχηματισμοί που λαμβάνουν χώρα από τον αποστολέα Μετασχηματισμοί που λαμβάνουν χώρα από τον παραλήπτη Αποκρυπτογράφηση: EeA(s) = EeA(DdB(c)) = = EeA(DdB(EeB(s))) = = EeA(DdB(EeB(DdA(m)))) = = EeA(DdA(m)) = m

32 Ιστορική αναδρομή – Αλγόριθμοι αντικατάστασης και μετάθεσης
Πριν την εμφάνιση των υπολογιστών, η κρυπτογραφία εφαρμοζόταν σε μηνύματα αποτελούμενα από γράμματα της αλφαβήτου Αλγόριθμοι αντικατάστασης (substitution ciphers): κάθε γράμμα του αρχικού μηνύματος αντικαθίσταται από κάποιο άλλο συγκεκριμένο του αλφαβήτου του κρυπτογράμματος. Αλγόριθμοι μετάθεσης (transposition (permutation) ciphers): το κρυπτόγραμμα είναι αναγραμματισμός του αρχικού μηνύματος. Είναι αλγόριθμοι συμμετρικού κλειδιού Αυτές οι τεχνικές είναι παρούσες σχεδόν σε όλους τους σύγχρονους αλγορίθμους κρυπτογράφησης.

33 Αλγόριθμοι αντικατάστασης
Αντικαθιστούν bits, χαρακτήρες, ή blocks από χαρακτήρες. Παράδειγμα: Caesar cipher Κάθε γράμμα αντικαθίσταται από εκείνο που βρίσκεται 3 θέσεις (modulo 26) δεξιά του. Ένας απλός αλγόριθμος αντικατάστασης είναι εύκολο να σπάσει, με ελέγχους της συχνότητας εμφάνισης των γραμμάτων.

34 Caesar Cipher - Παραδείγματα
Παράδειγμα 1 Plaintext: ABCXYZ Ciphertext: DEFABC Παράδειγμα 2 Plaintext: This is not secure Ciphertext: Wklv iv qrw vhfxuh

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

36 Vigenere Cipher Aανακαλύφτηκε από τον Γάλλο κρυπτογράφο Blaise de Vigenere Χρησιμοποιεί μία φράση-κλειδί για να κρυπτογραφήσει ένα μήνυμα Κάθε χαρακτήρας του κλειδιού αποφασίζει το πόσες θέσεις θα ολισθήσει ο αντίστοιχος χαρακτήρας του αρχικού κειμένου. Για παράδειγμα: A: shifts 0 position to the right B: shifts 1 position to the right C: shifts 2 positions to the right Αν η φράση-κλειδί έχει μικρότερο μήκος από το ανοικτό μήνυμα, η φράση-κλειδί επαναλαμβάνεται. Όχι πολύ ασφαλής αλγόριθμος.

37 Παράδειγμα Κλειδί: lucky ανοικτό μήνυμα: simple message
Κλειδί μετά την επανάληψη: luckyl uckyluc Πλήθος θέσεων ολίσθησης: 11 (l), 20(u), 2(c), 10(k), 24 (y), 11(l), 20(u), 2(c), 10(k), 24(y), 11(l), 20(u), 2(c) Ολίσθηση των χαρακτήρων: sd, ic, mo, pz, lj, … Κρυπτόγραμμα: dcozjpggcqlag

38 Αλγόριθμοι μετάθεσης INFORMATION TECHNIQUES FOR IPR I R I T N E R
«Ανακάτωμα» των bits ή των χαρακτήρων του μηνύματος, με βάση κάποια συνάρτηση ‘1-1’ και επί πάνω στο αλφάβητο. (Η συνάρτηση αυτή αποτελεί και το κλειδί) Επίσης όχι ασφαλείς (π.χ. Κρυπτανάλυση Kasiski) . INFORMATION TECHNIQUES FOR IPR I R I T N E R N O M T O E H I U S O I R F A N C Q F P IRITNERNOMTOEHIUSOIRFANCQFP

39 Συνδυασμός αντικατάστασης και μετάθεσης – Product Cipher
Ένα product κρυπτογραφικό σύστημα αποτελείται από σύνθεση συναρτήσεων F1,…,Ft, όπου κάθε Fi μπορεί να είναι είτε αλγόριθμος αντικατάστασης (substitution) είτε αλληλομεταθεσης (permutation). Παραδείγματα (ευρέως χρησιμοποιούμενα) DES, AES (θα τους δούμε αργότερα) P S P Η αντικατάσταση εισάγει «σύγχυση» (confusion) Η μετάθεση εισάγει διάχυση (diffusion)

40 Κατηγοριοποίηση κρυπτογραφικών συστημάτων
Block ciphers Το ανοικτό μήνυμα χωρίζεται σε τμήματα (blocks), όπου το καθένα κρυπτογραφείται ξεχωριστά. Stream ciphers Το μήνυμα κρυπτογραφείται bit προς bit (ή byte προς byte)


Κατέβασμα ppt "Εισαγωγή στην Κρυπτογραφία"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google