Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης

Σχετικά έγγραφα
ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

3 ΟΙ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΟΙ ΙΔΙΟΤΗΤΕΣ ΤΟΥΣ

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ Κρυπτογραφία και Εφαρμογές

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Συμμετρική Κρυπτογραφία. Χρήστος Ξενάκης

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτογραφικές Συναρτήσεις. Χρήστος Ξενάκης

Κρυπτογραφία. Εργαστηριακό μάθημα 1

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Εφαρμοσμένη Κρυπτογραφία Ι

5 ΣΥΜΜΕΤΡΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

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

Κρυπτογραφία. Εργαστηριακό μάθημα 2-3-4

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Ασφάλεια Πληροφοριακών Συστημάτων

Δ Εξάμηνο. Κρυπτογραφία: Συμμετρική Κρυπτογράφηση

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

4 ΚΡΥΠΤΟΓΡΑΦΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου

project RSA και Rabin-Williams

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

1.1. Ορισμοί και ορολογία

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

Εφαρμοσμένη Κρυπτογραφία Ι

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

Τηλεπικοινωνιακά Συστήματα ΙΙ

Ασφάλεια Πληροφοριακών Συστημάτων

Κρυπτογραφία και Ασφάλεια Δικτύων

Ασφάλεια Πληροφοριακών Συστημάτων

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

UP class. & DES και AES

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

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

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

ΚΩΔΙΚΟΠΟΙΗΣΗ - ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗ ΑΠΟ Β ΠΑΓΚΟΣΜΙΟ ΠΟΛΕΜΟ ΜΕΧΡΙ ΣΗΜΕΡΑ

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Πρόβληµα 2 (12 µονάδες)

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Διαχείριση κλειδιών. Χρήστος Ξενάκης

Στοιχεία Θεωρίας Αριθμών

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

6 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Κρυπτογραφία. Εργαστηριακό μάθημα 11 (Επαναληπτικές ασκήσεις)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Υπολογιστική Κρυπτογραφία

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΚΡΥΠΤΟΓΡΑΦΙΑΣ

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T

Εφαρμοσμένη Κρυπτογραφία Ι

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

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

Διπλωματική Εργασία. Τίτλος:

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Κρυπτογραφία και Ασφάλεια Υπολογιστών

Αριθμοθεωρητικοί Αλγόριθμοι

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 2 : Πληροφορία και Εντροπία Διάλεξη: Κώστας Μαλιάτσος Χρήστος Ξενάκης, Κώστας Μαλιάτσος

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

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Δ4. Θεωρία Πληροφορίας, Εντροπία και Πολυπλοκότητα. Κρυπτογραφία

Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π ΑΤ Ρ Ω Ν

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

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

Μελέτη και υλοποίηση σε γλώσσα C++ του κρυπτογραφικού αλγορίθμου AES

Βασικές λειτουργίες Ανίχνευση πλαισίων Τι κάνει το επίπεδο ζεύξης Χρησιμοποιεί τις υπηρεσίες του φυσικού επιπέδου, ήτοι την (ανασφαλή) μεταφορά δεδομέ

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

Ασφάλεια Υπολογιστικών Συστημάτων

Transcript:

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτοαλγόριθμοι Χρήστος Ξενάκης

Θεωρία Πληροφορίας Η Θεωρία πληροφορίας (Shannon 1948 1949) σχετίζεται με τις επικοινωνίες και την ασφάλεια των πληροφοριών Έστω μια πηγή πληροφορίας Χ η οποία παράγει n σύμβολα F = {x 1, x 2,, x n } (αλφάβητο της Χ) Κατανομή πιθανότητας της Χ: {p(x 1 ), p(x 2 ),, p(x n )} n i= 1 p( x i ) = 1 Υ μια δεύτερη πηγή με αλφάβητο G= {y 1, y 2,, y n } Κατανομή πιθανότητα της Υ: {q(y 1 ), q(y 2 ),, q(y n )} 2

Θεωρία Πληροφορίας Από κοινού πιθανότητα (joint probability) Η πιθανότητα όπου η πηγή Χ παράγει ένα σύμβολο x i ενώ ταυτόχρονα η πηγή Υ παράγει το y j p(x i, y j ) = p(x i ) q(y j ) για κάθε i, j Δεσμευμένη ή υπό συνθήκη πιθανότητα (conditional probability) Η πιθανότητα όπου η πηγή Χ παράγει ένα σύμβολο x i δοθέντος ότι η πηγή η πηγή Υ παράγει ένα σύμβολο y j p(x i y j ) = p(x i, y j ) / q(y j ), με q(y j ) > 0 Η υπό συνθήκη πιθανότητα υποδηλώνει την εξάρτηση της Χ από την Υ Αν οι πηγές είναι ανεξάρτητες Τότε p(x i y j ) = p(x i ) 3

Θεωρία Πληροφορίας Ο ορισμός της πληροφορίας (κατά τον Shannon) H ( X ) = n i= 1 p( x i )log2 p( x i ) Η πληροφορία που μεταφέρει ένα γεγονός μπορεί να μετρηθεί σχετίζοντάς την άμεσα με την πιθανότητα που έχει αυτό το γεγονός να πραγματοποιηθεί Έτσι η πληροφορία και η αβεβαιότητα είναι δύο έννοιες ταυτόσημες 4

Θεωρία Πληροφορίας Έστω η πηγή που παράγει σύμβολα από το αλφάβητο {0,1} με p(0) = a και p(1) = 1-a Η ποσότητα πληροφορίας ή η αβεβαιότητα της πηγής είναι H X ) = a log2a (1 a)log (1 a) ( 2 5

Θεωρία Πληροφορίας Η από κοινού αβεβαιότητα δύο πηγών Χ και Υ H ( X, Y ) = n m i= 1 j= 1 p( x, i y j )log 2 p( x, i y j ) Εάν οι πηγές Χ και Υ είναι ανεξάρτητες τότε Η(Χ,Υ) = Η(Χ) + Η(Υ) 6

7 Θεωρία Πληροφορίας Η από κοινού αβεβαιότητα δύο πηγών Χ και Υ ) ( ) ( ) ( )log ( ) ( ) ( )log ( ) ( ) ( )log ( ) ( ) ( )log ( ) ( )) ( ) ( ( )log ( ) ( ), ( 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 Y H X H y q y q x p x p x p y q y q y q x p x p y q x p y q x p y q x p Y X H n i m j j j i m j n i i i j n i m j j j i n i m j i j i n i m j j i j i + = = = = = = = = = = = =

Θεωρία Πληροφορίας Η υπό συνθήκη αβεβαιότητα δύο πηγών Χ και Υ H ( X Y ) = n m i= 1 j= 1 p( x i y j )log 2 p( x i y j ) Αποδεικνύεται ότι Η(Χ,Υ) = Η(Χ) + Η(Υ Χ) = Η(Υ) + Η(Χ Υ) 8

Θεωρία Πληροφορίας Με βάση τα προηγούμενα αποδεικνύονται τα παρακάτω για τρεις πηγές Χ, Υ, Ζ. 9

Θεωρία Πληροφορίας Τέλεια μυστικότητα Θεωρούμε ένα κρυπτοσύστημα με τρία σύμβολα απλού κειμένου και τρία σύμβολα κρυπτοκειμένου Η τέλεια μυστικότητα φαίνεται στο σχήμα όπου το κλειδί μπορεί να πάρει τρεις τιμές k 1, k 2, k 3. 10

Θεωρία Πληροφορίας Τέλεια μυστικότητα Στην περίπτωση που το κλειδί είναι μικρότερο Το pi δεν μπορεί να κρυπτογραφηθεί σε οποιοδήποτε c 1, c 2, c 3 To γεγονός αυτό δίνει πληροφορία στον αντίπαλο Ενδιαφέρει πόση είναι η διαρροή πληροφορίας του απλού κειμένου ή του κλειδιού Πόση προσπάθεια πρέπει να καταβάλλει ο αντίπαλος προκειμένου να εκμεταλλευτεί τη διαρροή και να ανακτήσει το κείμενο ή το κλειδί 11

Θεωρία Πληροφορίας Περίσσεια ή πλεονασμός (redundancy) μιας γλώσσας Το ποσοστό των συνδυασμών των γραμμάτων της γλώσσας που δεν ανήκουν σε μηνύματα της γλώσσας Το ελληνικό αλφάβητο έχει 24 γράμματα χρειαζόμαστε Α= [log 2 24] = 5 bits A = [ log 2 n ], απόλυτος ρυθμός μιας γλώσσας, (n πλήθος των γραμμάτων) Ο αριθμός μηνυμάτων μήκους m είναι 2 Αm Π.χ στην ελληνική γλώσσα όλες οι λέξεις μήκους m = 5 είναι 24 5 Μέσα σε αυτές όμως υπάρχουν λέξεις που δεν ανήκουν στο λεξιλόγιο Πόδια, χέρια, αβαβα, κφδχω,... 12

Θεωρία Πληροφορίας Περίσσεια ή πλεονασμός (redundancy) μιας γλώσσας Ο αριθμός μηνυμάτων μήκους m είναι 2 Αm Έστω 2 Rm ο αριθμός των έγκυρων μηνυμάτων Η περίσσεια της ελληνικής γλώσσας είναι D = A-R Από πλευράς ασφάλειας η περίσσεια επιθυμούμε να είναι μικρή Αν είναι μεγάλη τότε ένας αντίπαλος θα μπορεί ευκολότερα να συμπεράνει το απλό κείμενο από το κρυπτοκείμενο Τα λάθος κλειδιά που αποκρυπτογραφούν το κρυπτοκείμενο σε μή έγκυρα απλά κείμενα είναι μεγάλη 13

Θεωρία Πληροφορίας Περίσσεια ή πλεονασμός (redundancy) μιας γλώσσας Όσο περισσότερο κρυπτοκείμενο διαθέτει ο αντίπαλος τόσο πιο αποτελεσματικά μπορεί να οδηγηθεί στο απλό κείμενο Επίσης και η περίσσεια της γλώσσας επηρεάζει στην κρυπτοανάλυση Η ποσότητα του κρυπτοκειμένου που μπορεί να οδηγήσει στην ανάκτηση του απλού κειμένου ονομάζεται Unicity distance (UD): αντιπροσωπεύει την αβεβαιότητα του απλού κειμένου όταν είναι γνωστό το κρυπτοκείμενο Η(P C) O Shannon απέδειξε ότι UD = H(K) / D, όπου Η(Κ) η αβεβαιότητα του κλειδιού και D η περίσσεια της γλώσσας D << τότε UD = 14

Ορολογία Έστω F το σύνολο των συμβόλων που απαρτίζουν το απλό κείμενο P P = [p 1, p 2, ], όπου p i є F για i = 1, 2, Αντίστοιχα G το σύνολο των συμβόλων που απαρτίζουν το απλό κρυπτοκείμενο C C = [c 1, c 2, ], όπου c i є G για i = 1, 2, O χώρος των απλών κειμένων συμβολίζεται F* F n το σύνολο των απλών κειμένων μήκους n Τότε F (n) το σύνολο των απλών κειμένων μήκους από 0 μέχρι n F (n) = Ø U F U F 2 U U F n Όμοια ο χώρος των κρυπτοκειμένων συμβολίζεται G* G m το σύνολο των κρυπτοκειμένων μήκους m Τότε G (m) το σύνολο των κρυπτοκειμένων μήκους από 0 μέχρι m G (m) = Ø U G U G 2 U U G m 15

Ορολογία Κρυπτογράφηση S: F* G* Αποκρυπτογράφηση S -1 : G* F* Έστω το σύνολο Ε = {e 1, e 2,, e k } όπου e i : F (n) G (m) To e i είναι μια πράξη κρυπτογράφησης Η αποκρυπτογράφηση d i = e -1 i = G (m) F (n) η οποία είναι στοιχείο του συνόλου D = {d 1, d 2,, d k } To πλήθος των στοιχείων του E, D ορίζει τον κλειδοχώρο K = {1, 2,, k} Ένα κρυπτοσύστημα ορίζεται από την πεντάδα F (n), G (n), Ε, D, Κ P є F (n) i є K, e i є E, d i є D, ώστε e i (p) = c και d i (c) = p 16

Ορολογία Η πράξη της αποκλειστικής διάζευξης (exclusive OR, ΧΟR) Μια από τις πιο δημοφιλής πράξεις στα κρυπτοσυστήματα Συμβολίζεται με, ισοδύναμη με την πρόσθεση module 2 Κρυπτοαλγόριθμος XOR, έστω F = G = {0, 1 } P = [01001] є F (5) και Κ = [11100] (κλειδί) C = P K = 01001 11100 = 10101 P = C K = 10101 11100 = 01001 a b a b 0 0 0 0 1 1 1 0 1 1 1 0 17

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

Κρυπτοαλγόριθμοι ροής Από πλευράς ασφάλειας η μέθοδος παρουσιάζει μειονεκτήματα Κάθε σύμβολο κρυπτογραφείται χωριστά Η διάχυση του αλγορίθμου είναι χαμηλή Ο συγχρονισμός των δύο γεννητριών Ένας αντίπαλος μπορεί να αποσυγχρονίσει το σύστημα παρεμβάλλοντας σύμβολα στο κρυπτοκείμενο Πλεονεκτήματα Υψηλή ταχύτητα κρυπτογράφησης χρήση σε κινητή τηλεφωνεία Τα σφάλματα στο κρυπτοκείμενο έχουν ελάχιστη επιρροή στην αποκρυπτογράφηση 19

Κρυπτοαλγόριθμοι τμήματος Ενεργούν σε μια ομάδα συμβόλων απλού κειμένου (block) Το απλό κείμενο χωρίζεται σε blocks (padding) Πλεονεκτήματα Υψηλή διάχυση Αντιληπτή η παρεμβολή του αντίπαλου στο κρυπτοκείμενο Μειονεκτήματα Χαμηλή ταχύτητα Διάδοση σφαλμάτων 20

Κρυπτοαλγόριθμοι ροής και τμήματος Μέγιστη διάχυση Θα πρέπει να υπάρχει σχέση μεταξύ του κάθε συμβόλου του απλού κειμένου με όλα τα σύμβολα του κρυπτοκειμένου, για οποιοδήποτε κλειδί c i = f i,j (p j ), i, j = 0, 1,, n Μέγιστη σύγχυση Η πιθανότητα αντιστροφής ενός συμβόλου κρυπτοκειμένου c i εφόσον υπάρξει αντιστροφή του p j για όλα τα i, j είναι 0,5 P(c i 1 = f i,j (p j 1)) = 1/2, i, j = 0, 1,, n 21

Κρυπτοαλγόριθμοι ροής και τμήματος Δημιουργία κρυπτοαλγόριθμου ροής από κρυπτοαλγόριθμο τμήματος Κατασκευάζουμε μια γεννήτρια κλειδοροής από έναν κρυπτοαλγόριθμο τμήματος 22

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

Κατηγορίες κρυπτογραφικών πράξεων Αναδιάταξη (transposition) Επιδρά αποκλειστικά στη θέση των συμβόλων του απλού κειμένου Αντικατάσταση (substitution) Επιδρά στα σύμβολα του απλού κειμένου Με βάση το πλήθος των αλφάβητων στα οποία επιδρά η κρυπτογραφική πράξη Μονοαλφαβητική αντικατάσταση Πολυαλφαβητική αντικατάσταση 24

Κατηγορίες κρυπτογραφικών πράξεων Αναδιάταξη (transposition) Τα σύμβολα του απλού κειμένου είναι τα ίδια με τα σύμβολα του κρυπτοκειμένου F = G Έστω το σύνολο F = G = {α,β,γ,δ,ε,ζ,η,θ,ι,κ,...χ,ψ,ω} Το απλό κείμενο : [αλλαγη] Το κλειδί αναδιάταξης [261453] που σημαίνει ότι : το 1 ο γράμμα στη θέση 2, το 2 ο στη θέση 6, κοκ. Το κρυπτοκείμενο [λαηαγλ] Η κρυπτογράφηση π([p1 p2 p3 p4 p5 p6]) = [p2 p6 p1 p4 p5 p3] Αποκρυπτογράφηση π -1 ([p1 p2 p3 p4 p5 p6]) = [p3 p1 p6 p4 p5 p2] Το μέγεθος του κλειδιού καθορίζει το μέγεθος του τμήματος του απλού κειμένου και του κρυπτοκειμένου 25

Κατηγορίες κρυπτογραφικών πράξεων Μονοαλφαβητική αντικατάσταση Κρυπτογραφική πράξη e i : F (n) G (m) όπου η e i παραμένει σταθερή Στην περίπτωση που F (1) G ονομάζεται απλή αντικατάσταση Ένα σύμβολο του απλού κειμένου αντιστοιχίζεται σε ένα σύμβολο του κρυπτοκειμένου Υπάρχει η δυνατότητα εφαρμογής του αλγορίθμου παραπάνω από μια φορές ισχυρότερη κρυπτογράφηση Κρυπτοαλγόριθμος μετατόπισης Ένα κρυπτοσύστημα όπου F = G = K = Zn και e κ є Ε, d κ є D ώστε c = e κ (p) = p + k mod n p = d κ (c) = c - k mod n Για ελληνικό αλφάβητο τα γράμματα αριθμούνται α,α=0, β,β=1,..., ω,ω=23, n = 24 (τα γράμματα χωρίς κενά) 26

Κατηγορίες κρυπτογραφικών πράξεων Μονοαλφαβητική αντικατάσταση Κρυπτοαλγόριθμος μετατόπισης του Καίσαρα Απλό κείμενο [αγορασεμετοχεσ] Κλειδί Κ = 3 c = e κ (p) = p + 3 mod 24 Το κρυπτοκείμενο φαίνεται στο σχήμα παρακάτω Ένας αντίπαλος μπορεί εύκολα να βρεί το κλειδί ( 23 δυνατές τιμές, 12 προσπάθειες) 27

Κατηγορίες κρυπτογραφικών πράξεων Μονοαλφαβητική αντικατάσταση Αλγόριθμος μετατόπισης c = p + Κ mod n Το πλήθος των πιθανών αλφάβητων είναι n και καθορίζεται από το κλειδί Στη γενικευμένη μορφή Το πλήθος όλων των πιθανών αλφάβητων είναι n! και ο κλειδοχώρος n! Η χρήση όλων των δυνατών αλφάβητων του κρυπτοκειμένου δίνει την εντύπωση ενός ασφαλούς κρυπτοσυστήματος Ο κλειδοχώρος είναι απαγορευτικά μεγάλος για εξαντλητική αναζήτηση Υπάρχουν και άλλες μορφές επιθέσεων που οδηγούν συντομότερα στην αποκάλυψη του κλειδιού ή του απλού κειμένου 28

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

Κατηγορίες κρυπτογραφικών πράξεων Ασφάλεια μονοαλφαβητικής αντικατάσταση Συχνότητα εμφάνισης των γραμμάτων στην Ελληνική γλώσσα 30

Κατηγορίες κρυπτογραφικών πράξεων Γραμμικός κρυπτοαλγόριθμος Ειδική περίπτωση της μονοαλφαβητικής απλής αντικατάστασης όπου έχουμε περισσότερα από ένα αλφάβητα κρυπτοκειμένου F = G = K = Z n, K = {(a, b) є Z n x Z n : gcd (a, n) =1} e κ є Ε, d κ є D τέτοια ώστε c = e κ (p) = a p + b mod n p = d κ (c) = a -1 (c b) mod n, για p є F, c є G, k = (a, b) є K Για α=1 κρυπτοαλγόριθμος μετατόπισης Τα a, n πρέπει να είναι μεταξύ τους πρώτοι ώστε η αποκρυπτογράφηση να είναι εφικτή και να έχει μια λύση 31

Κατηγορίες κρυπτογραφικών πράξεων Έλεγχος εγκυρότητας συνάρτησης γραμμικού κρυπτοαλγόριθμου e κ (p) = 4p + 5 mod 24 Αλλά gcd(4, 24) = 4, τότε η κρυπτογράφηση του p και του p + 24/4 οδηγούν στο ίδιο κρυπτοκείμενο e κ (3) = 12 + 5 = 17 mod 24 e κ (9) = 36 + 5 = 41 ισοδυναμεί με 17 (mod 24) Επομένως η κρυπτογραφική πράξη δεν μπορεί να χρησιμοποιηθεί σαν γραμμικός κρυπτοαλγόριθμος 32

Κατηγορίες κρυπτογραφικών πράξεων Ασφάλεια του γραμμικού κρυπτοαλγορίθμου Ο αντίπαλος έχοντας στην διάθεσή του το κρυπτοκείμενο προσπαθεί να ανακαλύψει το ζευγάρι α και b κλειδί Επιλέγει δύο συχνά εμφανιζόμενα σύμβολα στο κρυπτοκείμενο (c i, c j ) και τα αντιστοιχεί σε δύο συχνά εμφανιζόμενα γράμματα της φυσικής γλώσσας (p i, p j ) Το σύστημα εξισώσεων λύνεται με δύο αγνώστους c c i j = = ap ap i j + b + b } mod n 33

Κατηγορίες κρυπτογραφικών πράξεων Κρυπτοανάλυση του γραμμικού κρυπτοαλγορίθμου Έστω ότι ο αντίπαλος έχει συλλέξει το ακόλουθο κρυπτοκείμενο [ΓΦΖΕΓΟΡΦΣΝΦΥΡΥΝΦΟΜΟΤΦΗΡΧΦΔΟΦΑΖΑΦΝΣΝΜΧΝΕΝΔΟ ΛΟΒΘΠΦΤΝΦΜΤΡΑΝΝΧΟΧΝΕΝΧΟΛΛΟΒΜΔΕΒΧΤΝΑΝΛΒΤΡΜ] Συχνότητα συμβόλων Ν:13, Φ:10, Ο:9, Ρ:6, Χ:6, Μ:5, Τ:5. Έστω Ν α, Φ ο τότε 12 = α 0 + b mod 24 20 = a 14 + b mod 24 Το σύστημα δίνει b = 12 και α = 8 14-1 mod 24, 14-1 mod 24 (= αντίστροφο του 14 modulo 24), όμως gcd(14, 24) =2 δεν υπάρχει αντίστροφο του 14 Θα χρησιμοποιήσουμε γράμμα που αντιστοιχεί σε περιττό αριθμό 34

Κατηγορίες κρυπτογραφικών πράξεων Κρυπτοανάλυση του γραμμικού κρυπτοαλγορίθμου Η επόμενη επιλογή είναι το Μ (c = 11) με συχνότητα 6% Σε αυτή τη συχνότητα είναι τα γράμματα π(ρ=15), ρ(ρ=16), και σ(ρ=17) Οι πιθανές τιμές για το α είναι α 1 = (15-12) 11-1 = 9 mod 24 α 2 = (16-12) 11-1 = 20 mod 24 α 3 = (17-12) 11-1 = 7 mod 24 Όπου 11-1 ισοδ με 11 (mod 24) Οι τιμές α 1 και α 2 απορρίπτονται γιατί gcd(20, 24) 1 και gcd(9, 24) 1 35

Κατηγορίες κρυπτογραφικών πράξεων Κρυπτοανάλυση του γραμμικού κρυπτοαλγορίθμου Για α = 7 η αποκρυπτογράφηση δίνει [γιώργοειμαιβεβαιοσοτιηεπικοινωνιαμασπαρακολουθειταισ τενααποπαραπολλουσκρυπτοαναλυτεσ] Συνεπώς το κλειδί του γραμμικού κρυπτοαλγορίθμου είναι (7, 12) Η πράξη αποκρυπτογράφησης d k (c) = 7c 12 mod 24 36

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση Κρυπτογραφική πράξη e i : F (n) G (m) όπου το i παίρνει τουλάχιστον δύο διαφορετικές τιμές κατά την κρυπτογράφηση Στην μονοαλφαβητική αντικατάσταση η πράξη e i επιλέγει μια αντιστοιχία του αλφάβητου του απλού κειμένου με ένα συγκεκριμένο αλφάβητο του κρυπτοκειμένου Στην πολυαλφαβητική αντικατάσταση η κρυπτογράφηση μεταπηδά μεταξύ πολλών αλφαβήτων του κρυπρυπτοκειμένου Ένα γράμμα του απλού κειμένου μπορεί να αντιστοιχηθεί σε περισσότερα από ένα γράμματα του κρυπτοκειμένου Οι συχνότητες εμφάνισης των γραμμάτων στο κρυπτοκείμενο 1/n Αίρεται η έμφυτη αδυναμία της μονοαλφαβητικής αντικατάστασης 37

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση (α) Μονοαλφαβητική, (β) Πολυαλφαβητική αντικατάσταση 38

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση Κρυπτοαλγόριθμος του Vigenere Κρυπτοσύστημα F = G = K = Z nl και e i є E l, d k є D l τέτοια ώστε: 39

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση Κρυπτοαλγόριθμος του Vigenere Η κρυπτογραφική πράξη e i είναι του κρυπτοαλγόριθμου μετάθεσης Η ποσότητα l προσδιορίζει Το μήκος του κλειδιού Τον αριθμό των αλφάβητων που συμμετέχουν στη κρυπτογράφηση Για l = 1? 40

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση Κρυπτοαλγόριθμος του Vigenere Έστω το απλό κείμενο P = [ναζεικανεισηναμηζει] το κλειδί k = [αμλετ] το κλειδί πρέπει να επαναλαμβάνεται προκειμένου να κρυπτογραφηθεί όλο το απλό κείμενο Στο παράδειγμά ο κρυπταλγόριθμος Vigenère εκτελέστηκε τέσσερις φορές 41

42

Κατηγορίες κρυπτογραφικών πράξεων Πολυαλφαβητική αντικατάσταση Κρυπτοαλγόριθμος του Vigenere Το α κρυπτογραφήθηκε τις δυο φορές σε Μ και τη μια φορά σαν Ε Το ε κρυπτογραφήθηκε δυο φορές ως Ι και μια φορά ως Ο Η ασφάλεια του Vigenère εξαρτάται από το μήκος του κλειδιού Για την αποτροπή της επίθεσης της εξαντλητικής αναζήτησης Για την απόκρυψη της κατανομής συχνοτήτων των γραμμάτων 43