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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Κεφάλαιο 5 Συμμετρικά Κρυπτοσυστήματα 5.1 Εισαγωγή Το πρόβλημα Όπως αναφέραμε στην εισαγωγή 1.1, ένα από τα προβλήματα που καλείται να λύσει η σύγχρονη κρυπτογραφία (και το οποίο είναι και το ιδρυτικό του κλάδου) είναι η διαφύλαξη της ασφάλειας της επικοινωνίας δύο μερών (Σχήμα 5.1): Ο πομπός A θέλει να μεταδώσει στο δέκτη B ένα μήνυμα p διαμέσου κάποιου καναλιού. Αλλά ο εχθρός O έχει και αυτός πρόσβαση στο κανάλι, κι έτσι μπορεί να υποκλέψει το p και να το επεξεργαστεί με οποιονδήποτε τρόπο επιθυμεί. Ψάχνουμε μεθόδους για να δυσχεράνουμε την προσπάθεια του εχθρού Δεχόμαστε ότι ο εχθρός (είναι υγιής και) μπορεί να αντιληφθεί τη μετάδοση του μηνύματος, μπορεί να το υποκλέψει και μπορεί ακολούθως να το επεξεργαστεί με οποιονδήποτε τρόπο. Στο πλαίσιο αυτό, η καλύτερη ιδέα μοιάζει να είναι η εξής (Σχήμα 5.1.1): Ανάμεσα σ αυτόν και στο κανάλι, καθένας από τους πομπό και δέκτη τοποθετεί ένα «κουτί». Το κουτί του πομπού υπολογίζει κάποιον αντιστρέψιμο μετασχηματισμό e : P Q από το χώρο P όλων των δυνατών μηνυμάτων σε κάποιον νέο χώρο Q των μετασχηματισμένων μηνυμάτων, ενώ το κουτί του δέκτη, O A p p p B Σχήμα 5.1: Το βασικό πρόβλημα: ο πομπός A στέλνει στο δέκτη B το μήνυμα p, αλλά ο εχθρός O μπορεί στην πορεία να το υποκλέψει. 109

2 110 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ? O A p e q = e(p) d p B A p E? O q = e k (p) D p B k k που δέχεται την είσοδό του από το κανάλι, υπολογίζει τον αντίστροφο μετασχηματισμό d = e 1 του e. Για να μεταδώσει το p, ο πομπός το αφήνει στην είσοδο του κουτιού του. Το μετασχηματισμένο μήνυμα q = e(p) διασχίζει το κανάλι μέχρι την είσοδο του κουτιού του δέκτη, ο οποίος και παραλαμβάνει το αρχικό μήνυμα d(q) = e 1( e(p) ) = p. Στο ενδιάμεσο, ο εχθρός μπορεί να κλέψει το μετασχηματισμένο μήνυμα q, αλλά δεν μπορεί να υπολογίσει το αρχικό μήνυμα p, αν δεν ξέρει τον αντίστροφο μετασχηματισμό d. H βελτίωση στην παραπάνω διαδικασία που προτάθηκε από τον Kerckhoffs χρησιμοποιεί το κλειδί ώστε ο πομπός να υλοποιεί μια ολόκληρη οικογένεια μετασχηματισμών E = {e k k }, όπου είναι ένα σύνολο δεικτών ή κλειδιών (keys) και, για κάθε k, e k : P Q. Αντίστοιχα, το κουτί του δέκτη υλοποιεί την οικογένεια των αντίστροφων μετασχηματισμών D = {d k k }, με d k = e 1 k : Q P. Έχοντας προσυμφωνήσει ένα κοινό κλειδί k, πομπός και δέκτης τροφοδοτούν τα κουτιά τους με αυτό, ώστε να επιλέξουν τους μετασχηματισμούς e k και d k αντίστοιχα από τις δύο οικογένειες E και D. Το υπόλοιπο της επικοινωνίας γίνεται όπως και πριν. Η γενική ιδέα της λύσης του Σχήματος χρησιμοποιείται σήμερα ευρύτατα και αναφέρεται ως κρυπτογραφία ιδιωτικού κλειδιού (private key cryptography) ή κρυπτογραφία ενός κλειδιού (one-key cryptography) ή συμμετρική κρυπτογραφία (symmetric cryptography). Τα ονόματα προκύπτουν από την βασική απαίτηση ότι ένα κοινό κλειδί πρέπει να έχει προσυμφωνηθεί ανάμεσα στον πομπό και το δέκτη πριν αρχίσει η επικοινωνία τους διαμέσου του ανασφαλούς καναλιού. Αυτό δεν είναι πάντα απλό να γίνει και τότε αναδεικνύεται ως ένα πολύ σοβαρό μειονέκτημα της μεθόδου. Πράγματι, για να συμφωνήσουν στο κοινό κλειδί, ο πομπός και ο δέκτης πρέπει με κάποιον τρόπο να επικοινωνήσουν πριν αρχίσει η κυρίως επικοινωνία τους, για την ασφάλεια της οποίας γίνεται όλη η συζήτηση. Οπωσδήποτε, για αυτήν

3 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ 111 την προκαταρκτική επικοινωνία δεν μπορούν να χρησιμοποιήσουν το ανασφαλές κανάλι που πρόκειται να χρησιμοποιήσουν στην κυρίως επικοινωνία, γιατί έτσι ο εχθρός θα μάθει κι αυτός το κλειδί. Επομένως, θα πρέπει να χρησιμοποιήσουν ένα ασφαλές κανάλι, στο οποίο ο εχθρός να μην έχει πρόσβαση [1]. 5.2 Κρυπτοσυστήματα τμήματος Σε ένα κρυπτοσύστημα τμήματος (block cipher), το αρχικό μήνυμα M χωρίζεται σε διαδοχικά τμήματα M 1, M 2,... ίσου μεγέθους. Κάθε τμήμα M i κρυπτογραφείται ξεχωριστά, δίνοντας ως αποτέλεσμα ένα τμήμα του κρυπτογράμματος C i, δηλαδή C i = K (M i ) για i = 1, 2,.... Η αποκρυπτογράφηση στον παραλήπτη γίνεται επίσης κατά τμήματα, δηλαδή M i = K (C i ) για κάθε i. Aυτή η διαδικασία κρυπτογράφησης απεικονίζεται στο Σχήμα 5.2. Μία τυπική τιμή για το μέγεθος του τμήματος σε αλγορίθμους αυτής της κατηγορίας είναι 128 bits. Στην ειδική περίπτωση που το μήκος ενός μηνύματος δεν είναι πολλαπλάσιο του μεγέθους του τμήματος, κατάλληλο πλήθος ψηφίων προστίθεται σ αυτό σύμφωνα με κάποια προεπιλεγμένη σύμβαση. Η λειτουργία αυτών των αλγορίθμων είναι επαναληπτική, υπό την έννοια ότι το αρχικό τμήμα μηνύματος M i κρυπτογραφείται μέσα από διάφορα διαδοχικά στάδια (rounds), όπου σε κάθε στάδιο συντελείται ακριβώς ο ίδιος κρυπτογραφικός μετασχηματισμός, προκειμένου να σχηματιστεί το τελικό τμήμα κρυπτογράμματος C i. Για κάθε στάδιο, χρησιμοποιείται διαφορετικό τμήμα του κλειδιού. Η παραπάνω βασική λειτουργία των αλγορίθμων τμήματος, όπως απεικονίζεται στο Σχήμα 5.2, καλείται Hλεκτρονικό Βιβλίο Κωδικών Electronic Code Book (ECB). Υπάρχουν και άλλοι τρόποι λειτουργίας για αυτούς τους αλγόριθμους - για παράδειγμα η Αλυσιδωτή Κρυπτογράφηση Τμήματος Cipher Block Chaining Mode (CBC), όπου σε κάθε τμήμα M i του μηνύματος, πριν κρυπτογραφηθεί, προστίθεται modulo 2 το τμήμα C i 1. Σε όλους τους αλγόριθμους τμήματος υπεισέρχεται στη λειτουργία τους μία δομική μονάδα που καλείται μονάδα αντικατάστασης (Substitution Box ή S-Box), η οποία πραγματοποιεί αντικαταστάσεις bits με μη γραμμικό τρόπο. Αποτέλεσμα αυτής της λειτουργίας κατά την κρυπτογράφηση είναι το να υπάρχει εν τέλει μία σύνθετη σχέση μεταξύ των bits του κλειδιού και των bits του κρυπτογράμματος. Αυτή η ιδιότητα καλείται σύγχυση (confusion) και έχει οριστεί από τον Shannon στο [42] ως αναγκαία συνθήκη για τον χαρακτηρισμό ενός συστήματος ως ασφαλές. Κατά συνέπεια, οι ιδιότητες του S-Box είναι πολύ σημαντικές για την ασφάλεια του αλγορίθμου στο σύνολό του. Από μαθηματική άποψη, κάθε S-box με m εισόδους και n εξόδους μπορεί να θεωρηθεί ως συνάρτηση f : F m 2 F n 2 ή, ισοδύναμα, ως συλλογή n λογικών συναρτήσεων f i : F m 2 F 2, i = 1, 2,..., n (όπου

4 112 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Σχήμα 5.2: Διάγραμμα βασικής λειτουργίας ενός αλγορίθμου τμήματος F 2 = {0, 1}). Μία άλλη σημαντική ιδιότητα που όρισε ο Shannon ως απαραίτητη για ένα κρυπτογραφικό σύστημα είναι η διάχυση (diffusion), η οποία υποδηλώνει ότι ένα bit του μηνύματος πρέπει να επηρεάζει πολλά bits του κρυπτογράμματος. Για την ικανοποίηση αυτής της ιδιότητας, οι σύγχρονοι αλγόριθμοι τμήματος περιέχουν δομικές μονάδες που επιτελούν αντιμεταθέσεις bits (μονάδες αντιμετάθεσης (Permutation-Box ή P-Box)) ή γραμμικούς μετασχηματισμούς. Πολλοί αλγόριθμοι τμήματος βασίζονται σε αλληλουχία ενεργειών αντικατάστασης και αντιμετάθεσης, βασισμένοι ακριβώς στις θεωρητικές αρχές του Shannon: αυτοί οι αλγόριθμοι καλούνται δίκτυα αντικατάστασης/αντιμετάθεσης (Substitution - Permutation Networks (SPN)). Παράδειγμα 9. Για παράδειγμα, έστω ότι το μέγεθος τμήματος είναι n = 8 και ότι το μήνυμα είναι η ακολουθία των N = 37 ψηφίων Για να κάνουμε το μήκος πολλαπλάσιο του n, επιθέτουμε στο μήνυμα 3 επιπλέον (μηδενικά) ψηφία, ώστε N = 40, και χωρίζουμε το αποτέλεσμα σε πακέτα:

5 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ 113 Ακολούθως, κρυπτογραφούμε κάθε πακέτο χωριστά και ανεξάρτητα από τα υπόλοιπα, παράγοντας πέντε νέα πακέτα, π.χ. τα ώστε το κρυπτογραφημένο μήνυμα είναι η ακολουθία Με βάση τα παραπάνω μπορούμε να εξειδικεύσουμε τον ορισμό του κρυπτοσυστήματος πακέτου 1.3 για τα κρυπτοσυστήματα τμήματος θέτοντας = B m και = = B n με n > m και B = {0, 1}. Eπεται ότι για κάθε k η συνάρτηση k είναι μια αντιστοιχία του στο, δηλαδή μια μετάθεση του B n και η k είναι ακριβώς η αντίστροφη μετάθεση. Από τα παραπάνω προκύπτουν εύκολα οι παρακάτω προτάσεις: Πρόταση 5.1. Υπάρχει μια αντιστοιχία ανάμεσα στο σύνολο όλων των κρυπτοσυστημάτων πακέτου με διαστάσεις n m και στο σύνολο όλων των μήκους 2 m ακολουθιών μεταθέσεων του B n. Πόρισμα 5.2. Το πλήθος των διαφορετικών κρυπτοσυστημάτων πακέτου με διαστάσεις n m είναι (2 n!) 2m. Κατασκευή Παρόλο που η συνολοθεωρητική περιγραφή της προηγούμενης ενότητας μάλλον δεν το έχει κάνει σαφές, το να φτιάξει κανείς ένα κρυπτοσύστημα πακέτου με διαστάσεις n m είναι κάτι μόνο λίγο περισσότερο από το να φτιάξει δύο «κουτιά», και, καθένα από τα οποία δέχεται στην είσοδό του m + n δυαδικά ψηφία (m ψηφία του κλειδιού και n ψηφία ενός πακέτου) και παράγει στην έξοδο άλλα n ψηφία (ένα άλλο πακέτο), όπως στο Σχήμα 5.2. Το κάτι περισσότερο συνίσταται στο ότι η κατασκευή θα πρέπει να τηρεί τις παρακάτω τέσσερις προδιαγραφές, κατά γνησίως φθίνουσα σειρά σπουδαιότητας: Αντιστρεψιμότητα Κάθε κρυπτογραφική πράξη που εκτελείται μέσα στο κουτί πρέπει να είναι αντιστρέψιμη, ώστε το κουτί να μπορεί τελικά, όταν τροφοδοτείται με το ίδιο κλειδί και το κρυπτοκείμενο, να ανακτά το αρχικό κείμενο εφαρμόζοντας τις αντίστροφες πράξεις. Διαφορετικά, τα δύο κουτιά δεν συνιστούν κρυπτοσύστημα. Ασφάλεια Οι ακολουθίες των πράξεων που εφαρμόζονται μέσα στα κουτιά πρέπει να είναι τέτοιες ώστε να γίνεται όσο το δυνατόν δυσκολότερη η προσπάθεια του εχθρού να υπολογίσει το κλειδί που χρησιμοποιείται. Διαφορετικά, τo κρυπτοσύστημα των δύο κουτιών δεν είναι ισχυρό.

6 114 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ πακέτο. E κρυπτοπακέτο.. D. πακέτο n m n n κλειδί m n Ταχύτητα Οι ακολουθίες των πράξεων μέσα στα δύο κουτιά πρέπει να μπορούν να εκτελεστούν σε αρκετά μικρό χρόνο, ώστε να μπορούν να επιτευχθούν αρκετά υψηλοί ρυθμοί κρυπτογράφησης. Διαφορετικά, το κρυπτοσύστημα δεν είναι πρακτικό. Απλότητα Οι ακολουθίες των πράξεων μέσα στα δύο κουτιά πρέπει να είναι συνολικά όσο το δυνατόν απλούστερες. Διαφορετικά, το κρυπτοσύστημα δεν είναι φθηνό. Οι στοιχειώδεις πράξεις που χρησιμοποιούνται για την κατασκευή των κουτιών δεν είναι πάρα πολλές, και αυτό που διαφοροποιεί τα κρυπτοσυστήματα πακέτου μεταξύ τους δεν είναι τόσο το ποιες πράξεις χρησιμοποιούν όσο το πώς συνδυάζουν αυτές τις πράξεις μεταξύ τους. Στην απαρίθμηση που ακολουθεί, βολεύει να θεωρήσουμε το κλειδί σαν μια σταθερά, παράμετρο του κάθε κουτιού, και όχι σαν μια μεταβλητή στην είσοδό του. Μιλάμε λοιπόν για τις πράξεις που χρησιμοποιούνται στην κατασκευή των συναρτήσεων k και k, για k = B m. Εξάλλου, για κάθε l 1 και για κάθε ακολουθία ψηφίων x B l, θεωρούμε τα ψηφία της x αριθμημένα έτσι ώστε το αριστερότερο (πιο σημαντικό) ψηφίο να έχει αριστερότερο, πιο σημαντικό l x δεξιότερο, λιγότερο σημαντικό αύξοντα αριθμό 1 και το δεξιότερο (λιγότερο σημαντικό) να έχει αύξοντα αριθμό l. Παρόμοια, η αρίθμηση των γραμμών και των στηλών όλων των πινάκων και των διανυσμάτων ξεκινάει από το 1. Τέλος, όπου δεν δημιουργείται σύγχυση, δεν θα κάνουμε τη διάκριση ανάμεσα σε έναν ακέραιο και την ακολουθία δυαδικών ψηφίων που τον αναπαριστά στο δυαδικό σύστημα - π.χ., επιτρέπεται να μιλάμε για τη διαφορά x 3, όταν x B l.

7 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ Βασικές Πράξεις Στην ενότητα αυτή θα ασχοληθούμε με τις βασικές πράξεις που χρησιμοποιούνται στην κατασκευή συμμετρικών κρυπτοσυστημάτων. Δυαδικές πράξεις (bitwise operators) Οι πιο συνηθισμένες τέτοιες πράξεις είναι η (αποκλειστική) διάζευξη και οι περιστροφές. Η διάζευξη είναι η γνωστή συνάρτηση δύο μεταβλητών : B l B l B l, για κάποιο l 1, που σε κάθε δύο x, y B l επιστρέφει ως x y την ακολουθία που έχει ως i-οστό ψηφίο (i = 1,..., l) το άθροισμα (modulo 2) των i-οστών ψηφίων των x και y. Είναι εύκολο να επαληθεύσει κανείς ότι με αυτήν την πράξη το B l γίνεται αβελιανή ομάδα με ουδέτερο στοιχείο την ακολουθία 0 l των l μηδενικών και με αντίστροφο κάθε ακολουθίας την ίδια την ακολουθία. Αυτό πρακτικά σημαίνει ότι μπορούμε, π.χ., την εξίσωση ( (x3 x 4 ) (x 1 x 2 ) ) x 5 = y 1 (y 2 y 3 ) να την γράψουμε κατευθείαν και ισοδύναμα ως x 1 x 2 x 3 x 4 x 5 = y 1 y 2 y 3 (δηλαδή να διώξουμε όλες τις παρενθέσεις και να αλλάξουμε τη σειρά των μεταβλητών) αλλά και ως x 1 x 2 x 3 x 4 x 5 y 1 y 2 y 3 = 0 l (δηλαδή να φέρουμε όλες τις μεταβλητές στο ένα μέλος και να αφήσουμε στο άλλο μέλος το 0 l ). Συχνά, η πράξη εμφανίζεται με το ένα από τα ορίσματά της σταθερό, δηλαδή ως η συνάρτηση μιας μεταβλητής u : B l B l, με u (x) = x u, για κάποιο u B l, και τότε βέβαια είναι μια αντιστοιχία με αντίστροφή της το εαυτό της. Επιπλέον, τις περισσότερες φορές η σταθερά u είναι συνάρτηση του κλειδιού k (συνηθέστερα, μια επιλογή ψηφίων του k). Τότε λέμε ότι η u είναι μια συνάρτηση λεύκανσης (whitening). 1 1 Η ονομασία προέρχεται από το ότι η διάζευξη με ψηφία από το κλειδί κάνει το όρισμα να φαίνεται περισσότερο τυχαίο, και άρα να μοιάζει περισσότερο με τον λευκό θόρυβο.

8 116 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Οι περιστροφές είναι οι γνωστές πράξεις <<<: B l {0,..., l 1} B l και >>>: B l {0,..., l 1} B l, για κάποιο l 1, που για κάθε x B l και κάθε i = 0,..., l 1 επιστρέφουν ως x <<< i και x >>> i τις ακολουθίες που προκύπτουν από την κυκλική περιστροφή της x κατά i ψηφία προς τα αριστερά ή δεξιά, αντίστοιχα. Όταν το μήκος l των ακολουθιών δεν είναι σαφές, θα γράφουμε τις <<<, >>> και ως <<< l, >>> l. Είναι προφανές ότι οι περιστροφές είναι αντιστοιχίες και μάλιστα (<<< l ) 1 =>>> l. Στις περισσότερες περιπτώσεις, οι περιστροφές χρησιμοποιούνται με το δεύτερο από τα ορίσματά τους σταθερό και μόνο πρόσφατα 2 αυτό το όρισμα άρχισε να εξαρτάται από τις εισόδους των συναρτήσεων k και k. Πρόκειται για μια σημαντική καινοτομία, μια και, όπως θα δούμε σε επόμενες ενότητες, η χρήση της μπορεί να κάνει τους αλγόριθμους πολύ πιο απλούς, και μάλιστα χωρίς συνέπειες στην ασφάλεια και την ταχύτητα. 3 Τότε μιλάμε για εξαρτημένες περιστροφές (data dependent rotations) σε αντιδιαστολή με τις σταθερές περιστροφές(fixed rotations) και το δεύτερο όρισμα μπορεί να είναι οποιαδήποτε ακολουθία δυαδικών ψηφίων, αλλά μόνο τα lg l δεξιότερα (λιγότερο σημαντικά) ψηφία της (ως αναπαράσταση μιας τιμής στο {0,..., l 1}) λαμβάνονται υπόψη. Άλλες δυαδικές πράξεις (π.χ., η συμπλήρωση) δεν είναι δημοφιλείς. Βεβαίως, για τις περισσότερες από αυτές (απλή διάζευξη, σύζευξη, ολισθήσεις, κλπ.), ο λόγος που δεν χρησιμοποιούνται είναι το γεγονός ότι δεν είναι 1 1 συναρτήσεις, και έτσι εμποδίζουν την αντιστρεψιμότητα του αποτελέσματος. Αριθμητικές πράξεις Κυρίως χρησιμοποιείται η συνήθης πρόσθεση modulo 2 l + : B l B l B l, για κάποιο l 1. Όταν το ένα από τα δύο ορίσματά της είναι σταθερό, η πράξη είναι βεβαίως μια αντιστοιχία ως προς το μεταβλητό όρισμα και η αντίστροφή της είναι η αφαίρεση (modulo 2 l, πάλι) κατά το σταθερό όρισμα. Συναρτήσεις απόσπασης Μια ειδική περίπτωση επιλογής είναι η πράξη που από μια ακολουθία 32 ψηφίων ξεχωρίζει και επιστρέφει την τρίτη (από αριστερά προς τα δεξιά) τετράδα. Είναι 2 Κατά τον Rivest, πρώτα στο αλγόριθμο του [25] και μετά στο RC5 [35], οπότε και στο RC6 [36]. Επίσης, στον MARS [5]. 3 Είναι σημαντικό ότι σε πολλούς νέους επεξεργαστές, η πράξη της περιστροφής έχει σταθερό κόστος ακόμη και όταν το δεύτερο όρισμά της είναι μεταβλητό (δηλαδή άγνωστο κατά τη μεταγλώττιση).

9 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ 117 φανερό ότι πρόκειται για την επιλογή sel [9,10,11,12]. Στη γενική περίπτωση, έχουμε να κάνουμε με την πράξη που χωρίζει μια ακολουθία μήκους n σε n/m διαδοχικές υπακολουθίες μήκους m, για κάποιο m που διαιρεί το n, και επιστρέφει τη j-οστή από αυτές (από τα αριστερά προς τα δεξιά), για κάποιο j {1, 2,..., n m }. Τότε πρόκειται για την επιλογή sel A, με A = [(j 1)m + 1, (j 1)m + 2,..., jm]. Συμβολίζουμε αυτή την πράξη με το σύμβολο j,m, και λέμε ότι είναι μια απόσπαση. Ώστε, για το συγκεκριμένο διάνυσμα A, j,m : B n B m, με x j,m = sel A (x). Ειδικές περιπτώσεις απόσπασης αποτελούν οι πράξεις που επιστρέφουν το αριστερό ή το δεξί μισό μιας ακολουθίας άρτιου μήκους. Τις συμβολίζουμε με L και R αντίστοιχα. Δηλαδή, για άρτιο n, L = 1,n/2 : B n B n/2 και R = 2,n/2 : B n B n/2. Ανταλλαγή μισών Μια ειδική περίπτωση μετάθεσης είναι η πράξη που, δεδομένης μια ακολουθίας x άρτιου μήκους, επιστρέφει την ακολουθία που προκύπτει όταν αλλάξουμε θέση στα δύο μισά (αριστερό και δεξί) της x. Συμβολίζουμε αυτην τη πράξη με το σύμβολο. Ώστε, για άρτιο n, : B n B n με x = sel A (x), όπου A = [ n 2 + 1,..., n, 1,..., n 2 ]. Και προφανώς 1 =. Παράθεση Η παράθεση είναι η πράξη της συνένωσης δυο δυαδικών ακολουθιών σε μία καινούρια, δηλαδή η συνάρτηση : B l 1 B l 2 B l 1+l 2 με x y = xy, για οποιαδήποτε l 1, l 2 1. Αντικαταστάσεις Αν l 1, l 2, l 3 1, τότε κάθε 2 l 1 2 l 2 πίνακας A με στοιχεία από το {0,..., 2 l 3 1} ορίζει τη συνάρτηση sb A : B l 1+l 2 B l 3 που, για κάθε x B l 1 και y B l 2, επιστρέφει για την ακολουθία xy την ακολουθία sb A (xy) = A[x + 1, y + 1]. Π.χ., αν l 1 = 1, l 2 = 2, l 3 = 3 και A = ( ), τότε sb A (110) = 000. Προφανώς, η sb A είναι αντιστρέψιμη μόνο αν l 1 + l 2 = l 3,

10 118 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ όμως αυτή του παραδείγματος δεν είναι. Τον πίνακα A τον ονομάζουμε και πίνακα αντικατάστασης(substitution box, s-box). Οι πίνακες αντικατάστασης ενός κρυπτοσυστήματος μπορούν να είναι σταθεροί ή να εξαρτώνται από το κλειδί k (εξαρτημένοι πίνακες αντικατάστασης(key dependent s-boxes)) 4 και συνιστούν ένα από τα πιο σημαντικά είδη πράξεων. Όταν είναι καλά σχεδιασμένοι, αποτελούν τη βασική άμυνα του κρυπτοσυστήματος απέναντι σε πολύ ισχυρές τακτικές κρυπτανάλυσης, όπως η διαφορική. Όμως κάποια νέα συστήματα τους έχουν ήδη εγκαταλείψει, στηρίζοντας πλέον την ασφάλειά τους στις εξαρτημένες περιστροφές που, παρότι πολύ απλούστερες, (μοιάζουν να) είναι τουλάχιστον το ίδιο ανθεκτικές απέναντι στην κρυπτανάλυση Δίκτυα Feistel (Feistel networks) Τώρα που ξέρουμε τους στοιχειώδεις τελεστές που έχουμε στη διάθεσή μας, μπορούμε να δούμε πώς αυτοί συνδυάζονται για δώσουν πιο πολύπλοκους μετασχηματισμούς. Μια από τις πιο παλιές τεχνικές για αυτή τη δουλειά είναι η τεχνική των Feistel δικτύων, που πήραν το όνομά τους από τον άνθρωπο που τα πρωτοπεριέγραψε (δημόσια, τουλάχιστον) [10]. Με κατάλληλη επιλογή των παραμέτρων τους μπορούν να εξασφαλίσουν πολύ μεγάλη ασφάλεια και ταχύτητα, ενώ παράλληλα καθιστούν το σύστημα εξαιρετικά απλό, υπό την έννοια ότι οι αλγόριθμοι κρυπτογράφησης και αποκρυπτογράφησης είναι σχεδόν όμοιοι. Κάθε τέτοιο δίκτυο έχει τρεις βασικές ακέραιες παραμέτρους, n, l, r 1, ο ρόλος των οποίων θα εξηγηθεί στη συνέχεια. Η n πρέπει να είναι άρτια. Το πρώτο πράγμα που πρέπει να έχει κανείς στη διάθεσή του για να κατασκευάσει ένα Feistel δίκτυο είναι μια συνάρτηση F : B n/2 B l B n/2, όπου n, l οι επιλεγμένοι παράμετροι για το δίκτυο. Πέρα από το να είναι γρήγορα υπολογίσιμη, η F δεν υποχρεούται να έχει καμιά άλλη ιδιότητα (π.χ., μονομορφικότητα, αντιστρεψιμότητα). Επειδή συχνά θα θεωρούμε για ευκολία το δεύτερο όρισμά της ως παράμετρο, εισάγουμε από τώρα το συμβολισμό F u για τη συνάρτηση x F (x, u) και για οποιοδήποτε u B l. Με την F διαθέσιμη, μπορούμε να κατασκευάσουμε το βασικό συστατικό του δικτύου: ένα γύρο Feistel Feistel round (Σχήμα 5.3). Ο γύρος δέχεται σαν είσοδο ένα πακέτο x και μια εξαρτώμενη από το κλειδί ακολoυθία l ψηφίων, το υποκλειδίsubkey u. Η έξοδός του είναι ένα νέο πακέτο y, που υπολογίζεται ως εξής: Το αριστερό του μισό y L είναι το δεξί μισό x R του πακέτου εισόδου. Και το δεξιό 4 Για παράδειγμα, είναι σταθεροί στο DES, αλλά εξαρτημένοι στο Twofish.

11 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ 119 x: x L x R F y R f y: y L u Σχήμα 5.3: Ένας γύρος Feistel πάνω από τη συνάρτηση F. του μισό y R είναι η διάζευξη του αριστερού μισού x L του πακέτου εισόδου με την τιμή που επιστρέφει η συνάρτηση F για το υποκλειδί u και το δεξί μισό x R του x. Επομένως, ένας γύρος Feistel είναι η συνάρτηση f : B n B l B n που για κάθε x B n και u B l επιστρέφει την τιμή f(x, u) = x R x L F (x R, u). Και πάλι, θα συμφέρει να εμφανίζουμε το δεύτερο όρισμα της f ως παράμετρο, οπότε ονομάζουμε από τώρα f u τη συνάρτηση x f(x, u), ώστε για κάθε u B l είναι f u : B n B n, με f u (x) = x R x L F u (x R ). Και είναι εύκολη η επόμενη παρατήρηση. Πρόταση 5.3. Για κάθε u B l, η f u είναι μια μετάθεση του B n. Η αντίστροφη μετάθεση δίνεται από τον τύπο f 1 u (y) = y R F u (y L ) y L. (5.1) Απόδειξη. Έστω ότι x 1 x 2 και y 1 = f u (x 1 ), y 2 = f u (x 2 ). Αν x R 1 x R 2, τότε y1 L y2 L και επομένως y 1 y 2. Αν αντίθετα x R 1 = x R 2, τότε F u (x R 1 ) = F u (x R 2 ) και x L 1 x L 2, άρα x L 1 F u (x R 1 ) x L 2 F u (x R 2 ), δηλαδή y1 R y2 R, και επομένως ξανά y 1 y 2. Άρα η f u είναι μονομορφισμός. Εξάλλου, για το τυχόν y B n, υπάρχει το πακέτο x = y R F u (y L ) y L και είναι εύκολο να επιβεβαιώσουμε ότι f u (x) = y. Οπότε η f u είναι και επιμορφική. Άρα η f u είναι μια αντιστοιχία του B n στο B n, δηλαδή μια μετάθεσή του. Και, από τον τρόπο που υπολογίσαμε το x της προηγούμενης παραγράφου, έπεται ότι η αντίστροφη μετάθεση έχει τον τύπο (5.3). Αλλά ο τύπος της fu 1 μοιάζει αρκετά με τον τύπο της f u. Αυτό δεν είναι τυχαίο και μπορεί να γίνει πιο συγκεκριμένο.

12 120 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ x: x L x R F u g y: y L y R Σχήμα 5.4: Δίκτυο Feistel ενός γύρου. Πρόταση 5.4. Για κάθε u B l, ισχύει ότι f 1 u = f u. Απόδειξη. Για κάθε y B n, υπολογίζουμε το οποίο επιβεβαιώνει τον ισχυρισμό. ( fu 1 ( y) = ( y) R F ) u ( y) L ( y) L = y L F u (y R ) y R = ( y R y L F u (y R ) ) = ( f u (y) ), Αυτό σημαίνει ότι, για κάθε u B l, η συνάρτηση g u = f u, που περιγράφεται στο Σχήμα 5.4, είναι αντίστροφη του εαυτού της. Γιατί g 1 u = ( f u ) 1 = f 1 u 1 = f 1 u = f u = g u. Αν λοιπόν σε ένα κρυπτοσύστημα πακέτου με διαστάσεις n l η συνάρτηση κρυπτογράφησης είναι η k = g k, τότε η συνάρτηση αποκρυπτογράφησης είναι η k = 1 k = k και πάλι. Δηλαδή το ίδιο πρόγραμμα (ή το ίδιο ολοκληρωμένο κύκλωμα) θα κάνει και την κρυπτογράφηση και την αποκρυπτογράφηση. Αυτό σίγουρα είναι ένα αποφασιστικό βήμα προς την απλότητα του κρυπτοσυστήματος συνολικά. Και είναι σημαντικό το ότι ισχύει, όποια κι είναι η συνάρτηση F που έχουμε διαλέξει αρχικά. Όμως είναι εύκολο να διαπιστώσουμε ότι μια συνάρτηση σαν αυτή του Σχήματος 5.4 δεν μπορεί να προσφέρει την ασφάλεια που ζητάμε, αν η συνάρτηση F δεν γίνει εξαιρετικά πολύπλοκη. Ευτυχώς, υπάρχει τρόπος να διατηρήσουμε την

13 5.2. ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ΤΜΗΜΑΤΟΣ 121 απλότητα χωρίς να χάσουμε σε ασφάλεια. Και αυτός βασίζεται σε μια γενίκευση της μέχρι τώρα ιδέας. Πρόταση 5.5. Για κάθε r 1 και κάθε u 1,..., u r B l, ισχύει ότι f 1 u r f 1 u 1 = f ur f u1. Απόδειξη. Επαγωγικά στο r. Αν r = 1, το αποτέλεσμα είναι η Πρόταση 5.4. Αν r > 1, τότε fu 1 r fu 1 2 fu 1 1 = fu 1 r fu 1 2 f u1 (από την Πρόταση 5.4) = f ur f u2 f u1, (επαγωγική υπόθεση) κι έτσι το ζητούμενο ισχύει. Επομένως, για κάθε u 1,..., u r B l, η συνάρτηση του Σχήματος 5.5 έχει την ιδιότητα ότι g u1,...,u r = f ur f u1, gu 1 1,...,u r = ( f ur f u1 ) 1 = fu 1 1 fu 1 r 1 = f 1 u 1 f 1 u r = f u1 f ur = g ur,...,u 1. Δηλαδή, για να αντιστρέψουμε την g u1,...,u r αρκεί να αντιστρέψουμε τη σειρά των παραμέτρων της. Δηλαδή τη σειρά με την οποία δίνουμε τις τιμές u 1,..., u r στα r αντίγραφα της F μέσα στο υπολογιστικό διάγραμμα της συνάρτησης στο Σχήμα 5.5. Αν λοιπόν σε ένα κρυπτοσύστημα πακέτου με διαστάσεις n m η συνάρτηση κρυπτογράφησης είναι η k = g u1,...,u r, όπου τα u 1,..., u r B l είναι συναρτήσεις του κλειδιού k, τότε η συνάρτηση αποκρυπτογράφησης είναι απλώς η k = 1 k = g ur,...,u 1, και μπορεί να υπολογιστεί από το ίδιο πρόγραμμα (ή ολοκληρωμένο κύκλωμα) που υπολογίζει την k, με μόνη τροποποίηση την αντιστροφή της σειράς με την οποία τροφοδοτούνται οι παράμετροι στα F -κουτιά (Σχήμα 5.6). Τώρα μπορούμε να κάνουμε πιο συγκεκριμένο το τι ακριβώς έχουμε ορίσει και το τι έχουμε αποδείξει για αυτό.

14 122 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ x: x L x R F u 1 F u 2.. F u r g y: y L y R Σχήμα 5.5: Δίκτυο Feistel r γύρων. Ορισμός 5.6. Θεωρούμε τυχόντες ακέραιους n, l 1, με το n άρτιο, και τυχούσα συνάρτηση F : B n/2 B l B n/2. Η συνάρτηση f : B n B l B n, με f(x, u) = x R x L F (x R, u) λέγεται Feistel γύρος πάνω από την F (Σχήμα 5.3). Επιπλέον, για κάθε u B l, λέμε ότι η συνάρτηση f u : B n B n, με f u (x) = f(x, u) είναι η Feistel μετάθεση πάνω από την F που ορίζει το u. Ορισμός 5.7. Θεωρούμε τυχόντες ακέραιους n, l, r 1, με το n άρτιο, και τυχούσα συνάρτηση F : B n/2 B l B n/2. Λέμε Feistel δίκτυο r γύρων πάνω από την F τη συνάρτηση F : B n (B l ) r B n

15 5.3. DATA ENCRYPTION STANDARD (DES) 123 x: x L x R y: y L y R u 1 u 2 u r u r 1. u r. u 1 g y: y L y R g x: x L x R κρυπτογράφηση αποκρυπτογράφηση Σχήμα 5.6: Κρυπτογράφηση και αποκρυπτογράφηση με ένα δίκτυο Feistel r γύρων. που για κάθε x B n και u 1,..., u r B l επιστρέφει την τιμή F(x, u 1,..., u r ) = ( f ur f u1 )(x), όπου f ui είναι η Feistel μετάθεση πάνω από την F που ορίζει το u i, για κάθε i = 1,..., r (Σχήμα 5.5). Λέμε ότι το F έχει διαστάσεις n l r. Επιπλέον, για κάθε u 1,..., u r στο B l, λέμε ότι η συνάρτηση F u1,...,u r : B n B n, με F u1,...,u r (x) = F(x, u 1,..., u r ) είναι η Feistel πολυμετάθεση πάνω από την F που ορίζουν τα u 1,..., u r. Λήμμα 5.8. Κάθε Feistel μετάθεση f u του Ορισμού 5.6 είναι μια μετάθεση του B n, που ικανοποιεί την fu 1 = f u. Και κάθε Feistel πολυμετάθεση F u1,...,u r του Ορισμού 5.7 είναι μια μετάθεση του B n, που αντιστρέφεται από την Feistel πολυμετάθεση με την αντίστροφη σειρά ορισμάτων, (F u1,...,u r ) 1 = F ur,...,u 1. Απόδειξη. Η συζήτηση που προηγήθηκε. 5.3 Data Encryption Standard (DES) Όπως είδαμε στην Ενότητα 5.2, ένα κρυπτοσύστημα πακέτου μπορεί να έχει οποιεσδήποτε διαστάσεις. Επίσης, οι στοιχειώδεις πράξεις που μπορούν να χρησιμοποι-

16 124 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ ηθούν στην κατασκευή του είναι πάρα πολλές και οι στοιχειώδεις τρόποι για να τις οργανώσουμε είναι επίσης πολλοί. Είναι λοιπόν επόμενο καθένας που ξεκινά να κατασκευάσει ένα τέτοιο κρυπτοσύστημα να καταλήγει και σε ένα διαφορετικό, με πιθανότατα άλλες διαστάσεις από αυτά των άλλων κατασκευαστών, και σχεδόν πάντα με άλλα χαρακτηριστικά όσον αφορά την ασφάλεια, την ταχύτητα και την απλότητα. Όμως, για να μπορέσουν να επικοινωνήσουν, δύο μέρη πρέπει να χρησιμοποιήσουν το ίδιο κρυπτοσύστημα. Και αυτό γίνεται πολύ δύσκολο όταν δεν υπάρχει ένα, μοναδικό και καθιερωμένο. Το ρόλο αυτό κλήθηκε να παίξει το πρότυπο που αναπτύχθηκε από την IBM και την NSA στη δεκαετία του 70 και τέθηκε σε ισχύ το 1977 από το αμερικανικό Υπουργείο Εμπορίου [8], με σκοπό την κρυπτογραφική προστασία ευαίσθητων αλλά όχι απόρρητων δεδομένων Περιγραφή Το Data Encryption Standard (DES) είναι ένα κρυπτοσύστημα πακέτου με διαστάσεις Βασικό δομικό στοιχείο των συναρτήσεων κρυπτογράφησης και αποκρυπτογράφησης είναι ένα Feistel δίκτυο F, διαστάσεων Η συνάρτηση F Η συνάρτηση πάνω από την οποία ορίζεται το F είναι η F : B 32 B 48 B 32, με F (x, u) = exp P (S ( exp E (x) u )), που φαίνεται και στο Σχήμα 5.7. Περιγράφουμε τις συναρτήσεις exp P, exp E και S αμέσως μετά - πρώτα σημειώνουμε την παραμετρική εκδοχή της F : F u : B 32 B 32, με F u (x) = exp P (S ( u ( exp E (x) ))), για κάθε u B 48.

17 5.3. DATA ENCRYPTION STANDARD (DES) 125 Πίνακας 5.1: Το διάνυσμα P. Το πάνω αριστερά στοιχείο είναιτο 1ο στοιχείο του διανύσματος και το κάτω δεξιά το 32ο. x A E F y B S C P D u Σχήμα 5.7: Η συνάρτηση F πάνω από την οποία ορίζεται το Feistel δίκτυο F του DES. Η συνάρτηση exp P είναι η μετάθεση (των 32 ψηφίων) που ορίζεται από το διάνυσμα P του Πίνακα 5.1. Η συνάρτηση exp E είναι η επέκταση (των 32 ψηφίων σε 48) που ορίζεται από το διάνυσμα E του Πίνακα 5.2. Πρακτικά, το exp E (x) υπολογίζεται ως εξής (Σχήμα 5.8): Η 32-ψήφια ακολουθία x χωρίζεται σε 8 τετράδες. Καθεμιά από αυτές επεκτείνεται σε εξάδα, αντιγράφοντας απλώς το δεξιότερο ψηφίο της προηγούμενής της και το αριστερότερο ψηφίο της επόμενής της (ιδιαιτέρως, ως προηγούμενη της πρώτης τετράδας λογίζεται η τελευταία). Οι 8 εξάδες που προκύπτουν συνενώνονται με την ίδια σειρά για να δώσουν την επιστρεφόμενη 48-ψήφια ακολουθία.

18 126 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Πίνακας 5.2: Το διάνυσμα E. Το πάνω αριστερά στοιχείο είναι το 1ο στοιχείο του διανύσματος και το κάτω δεξιά το 48ο. 7 x B exp E (x) B 48 Σχήμα 5.8: Υπολογισμός του exp E (x). Τέλος, η συνάρτηση S : B 48 B 32 ορίζεται με βάση τους οχτώ πίνακες αντικατάστασης (s-boxes) S 1,..., S 8 του Πίνακα 5.5 (σελίδα 140): Αν x B 48, για να υπολογίσουμε την S(x) πρώτα χωρίζουμε τη x σε 8 εξάδες ψηφίων. Για κάθε j = 1,..., 8, η j-οστή εξάδα (από αριστερά), έστω b 1 b 2 b 3 b 4 b 5 b 6, ορίζει το στοιχείο S j [b 1 b 6 + 1, b 2 b 3 b 4 b 5 + 1] του πίνακα S j (ώστε τα δύο εξωτερικά ψηφία της εξάδας προσδιορίζουν μια γραμμή και τα τέσσερα εσωτερικά μια στήλη του S j ). Έτσι παράγονται 8 τετράδες ψηφίων, που συνενωμένες με την ίδια σειρά δίνουν την 32-ψήφια ακολουθία S(x). Με την ορολογία της Ενότητας1.1, η συνάρτηση

19 5.3. DATA ENCRYPTION STANDARD (DES) 127 S έχει τύπο S(x) = 8 j=1sub Sj (exp Z ( xj,6 ) ), (5.2) όπου sub Sj είναι η συνάρτηση αντικατάστασης που ορίζει ο πίνακας S j και exp Z η μετάθεση που ορίζει το διάνυσμα Z = [1, 6, 2, 3, 4, 5] (ώστε τα ψηφία κάθε εξάδας x j,6 να μπαίνουν στη σωστή σειρά πριν ερμηνευθούν από την sub Sj ). Για ευκολία, θα συμβολίζουμε τη σύνθεση sub Sj exp Z με sub S j, ώστε S(x) = 8 j=1sub S j (x j,6 ). Όταν δεν υπάρχει σύγχυση για το ποιες ακριβώς είναι οι είσοδοι x και u, θα συμβολίζουμε τα αποτελέσματα των ενδιάμεσων υπολογισμών όπως στο Σχήμα 5.7, δηλαδή A = exp E (x), B = u(a), C = S(B), D = P (C). (5.3) Υποκλειδιά Λέμε ότι καθεμιά από τις ψήφιες παράμετρους του Feistel δικτύου που περιγράψαμε αποτελεί το υποκλειδί (subkey) του αντίστοιχου γύρου του δικτύου. Και όλα τα υποκλειδιά παράγονται από το κλειδί k B 56 σύμφωνα με τη διαδικασία που φαίνεται στο Σχήμα 5.9 και εξηγούμε αμέσως τώρα. 5 5 Το ακριβές είναι ότι το πρότυπο θεωρεί πως κάθε κλειδί έχει 64 ψηφία, με τα ψηφία 8, 16, 24, 32, 40, 48, 56 και 64 να είναι ψηφία ισοτιμίας, δηλαδή να έχουν απαραίτητα τέτοιες τιμές ώστε καθεμιά από τις ομάδες ψηφιών 1 8, 9 16, 17 24, 25 32, 33 40, 41 48, και να έχει άρτιο πλήθος μονάδων. Αυτό βεβαίως σημαίνει ότι τα συγκεκριμένα 8 ψηφία έχουν τιμές που καθορίζονται πλήρως από τα υπόλοιπα, κι έτσι δεν προσφέρουν στην ασφάλεια του κρυπτοσυστήματος. Εδώ έχουμε αγνοήσει αυτή την τεχνική λεπτομέρεια και θεωρούμε από την αρχή ότι το κλειδί έχει μόνο τα υπόλοιπα 64 8 = 56 ψηφία. Συνέπεια αυτού είναι και το γεγονός ότι τα διανύσματα P C 1 και P C 2 που φαίνονται στον Πίνακα 5.3 δεν είναι τα διανύσματα PC-1 και PC-2 που περιέχονται στο πρότυπο, αλλά κατάλληλες τροποποιήσεις τους. Γι αυτό και η μικρή αλλαγή στο συμβολισμό.

20 128 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ [H] k v 0 : v 1 : v 2 : v 16 : P C 1 P C2 u 1 <<< r 1 <<< r 1 P C2 u 2 <<< r 2 <<< r 2 P C2 u 3 <<< r 3 <<< r 3.. <<< r 16 <<< r 16 P C2 u 16. Σχήμα 5.9: Η διαδικασία παραγωγής των 16 υποκλειδιών από το κλειδί. Αρχικά, τα ψηφία του κλειδιού μετατίθενται κατά τη μετάθεση exp P C1, όπου P C 1 το διάνυσμα του Πίνακα 5.3. Το αποτέλεσμα χωρίζεται σε δύο κομμάτια, που υφίστανται ανεξάρτητα 16 διαδοχικές περιστροφές, κατά μία ή δύο θέσεις. Μετά από την i-οστή περιστροφή (i = 1,..., 16), η σύμπτυξη exp P C2 (όπου P C 2 το διάνυσμα του Πίνακα 5.3) διαλέγει 48 από τα 56 ψηφία των δύο κομματιών, παράγοντας έτσι το i-οστό υποκλειδί, u i. Πιο αναλυτικά, η διαδικασία υπολογίζει την ακολουθία v = (v i ) 0 i 16 που ορίζουν οι σχέσεις v 0 = exp P C1 (k), v i = vi 1 L <<< r i vi 1 R όταν οι σταθερές r <<< r i, 1,..., r 16 που αποφασίζουν το ποσό της κάθε περιστροφής δίνονται από τον πίνακα i r i Στη συνέχεια, για κάθε i = 1,..., 16, το i-οστό υποκλειδί είναι το u i = exp P C2 (v i ). Η παραπάνω διαδικασία είναι χρήσιμη όταν θέλουμε πραγματικά να υπολογίσουμε τα υποκλειδιά, γι αυτό και περιγράφεται από το πρότυπο. Αν όμως μας ενδιαφέρει (όπως εδώ) μόνο να τα ορίσουμε, τότε υπάρχει απλούστερος τρόπος: Παρακολουθώντας την πορεία κάθε ψηφίου του κλειδιού δια μέσου των διαδοχικών περιστροφών και επιλογών, μπορούμε να βρούμε ποιο ψηφίο του κλειδιού αντιγράφεται στο κάθε ψηφίο του κάθε υποκλειδιού. Έτσι, υπολογίζουμε τα διανύσματα R 1,..., R 16 των Πινάκων 5.6 και 5.7 (σελίδες 141 και 142), για τα οποία

21 5.3. DATA ENCRYPTION STANDARD (DES) 129 Πίνακας 5.3: Τα διανύσματα P C 1 και P C 2. ισχύει ότι u i = exp Ri (k), για κάθε i = 1,..., 16. Στο εξής θα θυμόμαστε μόνο αυτό για την παραγωγή των υποκλειδιών Οι συναρτήσεις κρυπτογράφησης και αποκρυπτογράφησης Έχοντας ήδη περιγράψει το Feistel δίκτυο F και τον τρόπο κατασκευής των υποκλειδιών u 1,..., u 16, μπορούμε τώρα να δούμε τον ορισμό της συνάρτησης κρυπτογράφησης. Σ αυτόν συμμετέχουν η μετάθεση exp IP και η αντίστροφή της, = exp IP 1, όπου IP (initial permutation) και IP 1 τα διανύσματα του Πίνακα 5.4. exp 1 IP Για το τυχόν κλειδί k B 56 λοιπόν, η κρυπτογράφηση γίνεται μέσω της συνάρτησης (Σχήμα 5.10) e k = exp IP 1 F expr1 (k),...,exp R16 (k) exp IP. Δηλαδή, το τυχόν p B 64 περνάει διαδοχικά από τις μεταθέσεις exp IP, F expr1 (k),...,exp R16 (k) και exp IP 1. Για το ίδιο υποκλειδί, η συνάρτηση αποκρυπτογράφησης πρέπει βεβαίως να είναι η

22 130 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Πίνακας 5.4: Τα διανύσματα IP και IP 1.

23 5.3. DATA ENCRYPTION STANDARD (DES) 131 d k = e 1 k = (exp IP 1 F expr1 (k),...,exp R16 (k) exp IP ) 1 = exp 1 IP (F exp R1 (k),...,exp R16 (k)) 1 exp 1 IP 1 = exp IP 1 F expr16 (k),...,exp R1 (k) exp IP. (Λήμμα1.1λη:Feistel-ιδιότητα) Οπότε, σύμφωνα προς τη φιλοσοφία των δικτύων Feistel, η αποκρυπτογράφηση γίνεται όπως και η κρυπτογράφηση (Σχήμα 5.10), με μόνη διαφορά την αντιστροφή της σειράς των υποκλειδιών. p k F R1 F R2... F R16 F IP 1 q Σχήμα 5.10: Η συνάρτηση κρυπτογράφησης του DES. Τελικά, είμαστε σε θέση να ορίσουμε το DES.

24 132 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Ορισμός 5.9. To Data Encryption Standard είναι το κρυπτοσύστημα πακέτου (B 64, B 64, B 56, E, D), όπου E = {e k k B 56 }, με e k = exp IP 1 F expr1 (k),...,exp R16 (k) exp IP, D = {d k k B 56 }, με d k = exp IP 1 F expr16 (k),...,exp R1 (k) exp IP, τα διανύσματα IP, IP 1, R 1,..., R 16 δίνονται στους Πίνακες 5.4, 5.6, 5.7 και F είναι το 16 γύρων Feistel δίκτυο πάνω από την συνάρτηση F της Ενότητας Τρόποι λειτουργίας Απλή λειτουργία Όπως εξηγήσαμε στην Ενότητα1.1packet, για να κρυπτογραφήσουμε μια δυαδική ακολουθία x μήκους N με ένα κρυπτοσύστημα πακέτου διαστάσεων n m, πρέπει πρώτα να την σπάσουμε σε v = N πακέτα των n ψηφίων το καθένα,6 n x = p 1 p 2 p v, και ακολούθως να κρυπτογραφήσουμε κάθε πακέτο χωριστά. Έτσι, το κρυπτογραφημένο μήνυμα είναι η ακολουθία κρυπτοπακέτων με y = q 1 q 2 q v, q i = k (p i ) για κάθε i = 1,..., v, και η αποκρυπτογράφησή του γίνεται με την προφανή χρήση της d k, Τα ίδια ισχύουν και για το DES. p i = k (q i ), για κάθε i = 1,..., v. Αυτός όμως είναι μόνο ένας (ο απλούστερος και ταχύτερος) από τους τρόπους με τους οποίους μπορούμε να χρησιμοποιήσουμε ένα κρυπτοσύστημα πακέτου. Και ονομάζεται λειτουργία ηλεκτρονικού βιβλίου κωδικών ECB, ακριβώς γιατί χρησιμοποιεί το κρυπτοσύστημα ως ένα βιβλίο-«πίνακα αντιστοίχησης» των πακέτων σε κρυπτοπακέτα. Υπάρχουν και άλλοι τρόποι λειτουργίας, που έχουν ειδικά χαρακτηριστικά για να εξυπηρετούν συγκεκριμένες εφαρμογές. Τέσσερις από αυτούς 6 Υποθέτουμε ότι το μήκος N είναι πολλαπλάσιο του n που δε βλάπτει τη γενικότητα, όπως έχουμε ήδη εξηγήσει.

25 5.3. DATA ENCRYPTION STANDARD (DES) 133 έχουν τυποποιηθεί [33] για να χρησιμοποιούνται με το DES και ο πρώτος είναι αυτός που ήδη αναφέραμε (Σχήμα 5.11). x: p 1 p 2 p 3... y: e k e k q 1... q 2 q 3 e k d k d k d k x: p 1 p 2 p 3... Σχήμα 5.11: Χρήση του DES ως ηλεκτρονικού βιβλίου κωδικών. Το ένα από τα δύο κομμάτια δείχνει την κρυπτογράφηση (πάνω) και το άλλο την αποκρυπτογράφηση (κάτω). Ο δεύτερος τυποποιημένος τρόπος λειτουργίας του DES λέγεται λειτουργία με Αλύσιδωτή Κρυπτογράφηση Τμημάτων πακέτων Cipher Block Chain mode, CBC mode και φαίνεται στο Σχήμα Πρόκειται για τροποποίηση της ECB λειτουργίας, ως προς το ότι, πριν το διαβάσει η συνάρτηση κρυπτογράφησης, το πακέτο υφίσταται μια αποκλειστική διάζευξη με το προηγούμενο κρυπτοπακέτο για το πρώτο από τα πακέτα, p 0, η διάζευξη σχηματίζεται με κάποιο αυθαίρετα προεπιλεγμένο και κοινό για τον πομπό και το δέκτη πακέτο, που το ονομάζουμε iv. Πιο αναλυτικά, η ακολουθία των κρυπτοπακέτων είναι η q 1 = k (p 1 iv), q i = k (p i q i 1 ), για κάθε i = 2,..., v, και από αυτά παίρνουμε πάλι πίσω τα πακέτα ως εξής: p 1 = k (q 1 ) iv, p i = k (q i ) q i 1, για κάθε i = 2,..., v.

26 134 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ x: p 1 p 2 p 3... iv y: e k e k q 1... q 2 q 3 e k x: d k p 1 d k p 2 d k p 3... Σχήμα 5.12: Χρήση του DES με αλυσωτή σύνδεση των πακέτων. Το ένα από τα δύο κομμάτια δείχνει την κρυπτογράφηση (πάνω) και το άλλο την αποκρυπτογράφηση (κάτω). Λειτουργία με ανάδραση Οι άλλοι δύο τυποποιημένοι τρόποι λειτουργίας έχουν σχεδιαστεί με σκοπό την κρυπτογράφηση πακέτων με μήκος μικρότερο από n = 64. Η αφορμή προκύπτει από το γεγονός ότι πολλές φορές το μήνυμα που θέλουμε να κρυπτογραφήσουμε είναι ήδη μια σειρά από πεπερασμένες δυαδικές ακολουθίες σταθερού μήκους, έστω l, μόνο που αυτό το μήκος είναι λιγότερο από 64. Σε κάποιες από αυτές τις περιπτώσεις θέλουμε να μπορούμε να κρυπτογραφήσουμε με αυτές τις ακολουθίες ως στοιχειώδεις μονάδες κρυπτογράφησης και όχι με τις 64-άδες που επιβάλλει το DES. Το πιο χαρακτηριστικό τέτοιο παράδειγμα συμβαίνει όταν το μήνυμα είναι μια ακολουθία από ASCII χαρακτήρες, οπότε l = 8. Για ένα μήνυμα λοιπόν που αποτελείται από λ = N l πακέτα μήκους l {1,..., 64} το καθένα, x = p 1 p 2 p λ, παραγάγουμε, χρησιμοποιώντας το DES, ένα ρεύμα (s i ) 1 i λ από 64-ψήφια πακέτα και κρυπτογραφούμε το μήνυμα σύμφωνα με την εξίσωση q i = p i exp V ( ek (s i ) ), για κάθε i = 1,..., λ, όπου V = [1, 2,..., l]. Δηλαδή, κάθε φορά κρυπτογραφούμε με το DES το αντίστοιχο πακέτο του ρεύματος και με τα l πιο σημαντικά ψηφία του αποτελέσματος εφαρμόζουμε μια διάζευξη στο πακέτο του μηνύματος. Αντίστοιχα, για την αποκρυπτογράφηση ο δέκτης παράγει το ίδιο ρεύμα (s i ) 1 i και ανακτά το μήνυμα εκτελώντας την ίδια απλή διάζευξη, p i = q i exp V ( ek (s i ) ), για κάθε i = 1,..., λ.

27 5.3. DATA ENCRYPTION STANDARD (DES) 135 Το Σχήμα 5.13 εξηγεί καλύτερα τι συμβαίνει. x: V e k p 1 V e k p 2 V e k p 3 s 1 y: q 1 s 2 q 2 s 3 q 3 V e k x: p 1 V e k p 2 V e k p 3 Σχήμα 5.13: Χρήση του DES με ανάδραση. Μένει λοιπόν να καθορίσουμε πώς παράγεται το ρεύμα των 64-ψήφιων πακέτων. Θα δείξουμε δύο τρόπους γι αυτό, κι έτσι θα έχουμε ορίσει τελικά (μαζί και με τα παραπάνω) τους δύο τυποποιημένους τρόπους λειτουργίας που απέμειναν. Σε κάθε περίπτωση το πρώτο πακέτο του ρεύματος είναι μια αυθαίρετα επιλεγμένη τιμή και καθένα από τα επόμενα πακέτα παράγεται από το αμέσως προηγούμενό του μέσω μιας DES κρυπτογράφησης. Αυτό στην πράξη υλοποιείται με μια ανάδραση από την έξοδο στην είσοδο του DES, γι αυτό και οι αντίστοιχοι τρόποι λειτουργίας λέγονται λειτουργίες με ανάδρασηfeedback modes, FB modes. Στη λειτουργία με ανάδραση από την έξοδο Output FeedBack Mode (OFB), το πρώτο πακέτο s 1 του ρεύματος προκύπτει από μια αυθαίρετα προεπιλεγμένη δυαδική ακολουθία iv μήκους L 64, όταν τη συμπληρώσουμε (αν χρειάζεται) με 64 L μηδενικά στις πιο σημαντικές θέσεις. Για να φτιάξουμε καθένα από τα επόμενα πακέτα, s i+1, ολισθαίνουμε το προηγούμενό του, s i, κατά l θέσεις προς τα αριστερά και τις l λιγότερες σημαντικές θέσεις του, που αδειάζουν, τις αναπληρώνουμε με τα l πιο σημαντικά ψηφία του κρυπτοπακέτου που προκύπτει από την κρυπτογράφηση του s i. Δηλαδή, s 1 = 00 0 iv, s i+1 = exp W (s i ) exp V ( ek (s i ) ), για κάθε i = 2,..., λ, όπου W = [l + 1, l + 2,..., 64] το διάνυσμα για την επιλογή των 64 l λιγότερο σημαντικών ψηφίων. Στη λειτουργία με ανάδραση από τα κρυπτοκείμεναcipher BFeedBack Mode (CFB) το πρώτο πακέτο του ρεύματος κατασκευάζεται όπως και στην OFB λειτουργία. Η διαφορά βρίσκεται στην κατασκευή των υπόλοιπων πακέτων, στην οποία συμμετέχουν και τα παραγόμενα l-ψήφια κρυπτοκείμενα, σύμφωνα με τη δεύτερη από τις παρακάτω εξισώσεις:

28 136 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ s 1 = 00 0 iv, s i+1 = exp W (s i ) q i, για κάθε i = 2,..., λ. Δηλαδή, για να φτιάξουμε το s i+1, εφαρμόζουμε στο s i μια αριστερή ολίσθηση κατά l και μετά αναπληρώνουμε τις l λιγότερο σημαντικές θέσεις με το πιο πρόσφατα παραχθέν κρυπτοπακέτο. Τα Σχήματα 5.14 και 5.15 εξηγούν καλύτερα τι συμβαίνει. V e k x: p 1 V e k p 2 y: q 1 s h k 1 s 2 y: q 1 q 2 h k q 2 V e k x: p 1 V e k p 2 Σχήμα 5.14: Χρήση του DES με ανάδραση από την έξοδο. Όπου h k (exp W, exp V e k ). = V e k x: p 1 V e k p 2 s 1 y: q 1 W y: q 1 s 2 q 2 W q 2 V e k x: p 1 V e k p 2 Σχήμα 5.15: Χρήση του DES με ανάδραση από τα κρυπτοκείμενα.

29 5.3. DATA ENCRYPTION STANDARD (DES) 137 Εξάλλου, είναι συχνή και χρήσιμη η εφαρμογή των λειτουργιών ανάδρασης ακόμη και στην περίπτωση που l = 64, δηλαδή τα πακέτα στα οποία είναι ήδη χωρισμένο το μήνυμα είναι πράγματι 64-ψήφια. Τότε τα Σχήματα 5.14 και 5.15 απλοποιούνται κατά πολύ, και αυτές τις απλοποιημένες εκδοχές δείχνουμε στα Σχήματα 5.16 και 5.17.

30 138 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ x: p 1 p 2 y: q 1 q 2 s 1 e k s 2 e k s 3 y: q 1 q 2 x: p 1 p 2 Σχήμα 5.16: Η λειτουργία με ανάδραση από την έξοδο, όταν l = 64. x: p 1 p 2 p 3... e k e k e k IV y: q 1... q 2 q 3 e k x: p1 e k p2 e k p3... Σχήμα 5.17: Η λειτουργία με ανάδραση από τα κρυπτοκείμενα, όταν l = 64.

31 5.3. DATA ENCRYPTION STANDARD (DES) Εξέλιξη: Επιθέσεις και Βελτιώσεις Με την εξέλιξη της κρυπτογραφίας αλλά και της τεχνολογίας των υπολογιστικών συστημάτων, άρχισαν να εμφανίζονται διάφορα είδη επιθέσεων εναντίον του DES. Οι περισσότερες από τις επιθέσεις αυτές είναι της μορφής KPA, δηλαδή ο αντίπαλος έχει στην κατοχή του ένα σύνολο από ζεύγη μηνυμάτων και κρυπτοκειμένων (m i, c i = (K, m i )). Στόχος του είναι η αποκάλυψη στοιχείων γύρω από το κοινό κλειδί κρυπτογράφησης K των μηνυμάτων. Εξαντλητική Αναζήτηση Ο πρώτος τρόπος επίθεσης KPA σε οποιοδήποτε κρυπτοσύστημα είναι η δοκιμή όλων των πιθανών κλειδιών (brute force). Αποδεικνύεται σχετικά εύκολα ότι για τον σκοπό αυτό αρκούν μόνο 2 ζεύγη μηνυμάτων και των κρυπτογραφήσεών τους με το δεδομένο κλειδί, καθώς η απόσταση μοναδικότητας (unicity distance), δηλαδή το πλήθος μηνυμάτων το οποίο ακυρώνει τυχαία κλειδιά, είναι 8.2 bytes [32]. Μάλιστα στην περίπτωση του DES, μπορεί να δειχθεί [4], ότι ακόμα και ένα τέτοιο ζεύγος προσδιορίζει μοναδικά το κλειδί με πιθανότητα 99, 5%. Είναι φανερό ότι στη χειρότερη περίπτωση θα χρειαστούν 2 56 δοκιμές - καθώς τα 8 από τα 64 bits του κλειδιού αποτελούν bits ισοτιμίας, κάτι που ακόμα και στην δεκαετία του 1990 ήταν μη αποδεκτό - πόσο μάλλον στις μέρες μας. Ακόμα χειρότερα παρουσιάστηκαν 2 επιθέσεις που μειώνουν σημαντικά τη χειρότερη περίπτωση εξανλητικών δοκιμών, χρησιμοποιώντας όμως περισσότερα τέτοια ζεύγη μηνυμάτων. Γραμμική Κρυπτανάλυση Η γραμμική κρυπτανάλυση προτάθηκε από τους Matsui και Yamaguro στο [30] για το κρυπτοσύστημα FEAL και σύντομα εφαρμόστηκε και στο DES [29]. Είναι και αυτή μια επίθεση KPA. Η γραμμική κρυπτανάλυση προσπαθεί να εκφράσει την έξοδο ενός κρυπτοσυστήματος ως γραμμικό συνδυασμό της εισόδου. Αν αυτό επιτευχθεί, χρησιμοποιώντας αρκετά ζεύγη μηνυμάτων - κρυπτοκειμένων, η εύρεση του κλειδιού ανάγεται στην επίλυση ενός γραμμικού συστήματος, η οποία μπορεί να γίνει πολύ απλά χρησιμοποιώντας τη μέθοδο του Gauss. Το πρόβλημα βέβαια, είναι ότι κάθε κρυπτοσύστημα περιέχει και μη γραμμικά στοιχεία, όπως για παράδειγμα τα S-Boxes στο DES, που καθιστούν αδύνατο τον παραπάνω στόχο. Η γραμμική κρυπτανάλυση προσπαθεί με διαδοχικές δοκιμές να βρει την καλύτερη δυνατή γραμμική προσέγγιση (πλέον) της εισόδου και της εξόδου και έτσι να καταλήξει στο κλειδί. Συγκεκριμένα ψάχνει να βρει k bits από την είσοδο m και l από την έξοδο c για τα οποία να ισχύει: m i1 m ik c j1 j l = 0

32 140 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Πίνακας 5.5: Οι 8 πίνακες αντικατάστασης. (Αναπαριστούμε τις τετραψήφιες δυαδικές ακολουθίες με τους αντίστοιχους ακεραίους.)

33 5.3. DATA ENCRYPTION STANDARD (DES) 141 Πίνακας 5.6: Τα διανύσματα R 1,..., R 8.

34 142 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Πίνακας 5.7: Τα διανύσματα R 9,..., R 16.

35 5.3. DATA ENCRYPTION STANDARD (DES) 143 Στην ιδανική περίπτωση που η τυχαιοποίηση του κρυπτοσυστημάτος λειτουργεί σωστά, η πιθανότητα να βρεθεί μία τέτοια σχέση είναι 1. Οποιαδήποτε απόκλιση από την τιμή αυτή υπονοεί κάποια αδυναμία του κρυπτοσυστήματος, οπότε 2 έχουμε γραμμικές προσεγγίσεις. Για να κατασκευαστεί μία τέτοια σχέση σε κρυπτοσυστήματα τα οποία περιέχουν μη-γραμμικά στοιχεία, πρέπει με κάποιο τρόπο να αλληλοακυρωθούν τα ενδιάμεσα αποτελέσματά τους. Έτσι μπορούμε να βρούμε ποιες γραμμικές προσεγγίσεις των S-boxes συμβαίνουν πιο συχνά και στη συνέχεια να εφαρμόσουμε την λειτουργία του κρυπτοσυστήματος (μεταθέσεις κτλ.) ώστε να ισχύουν για όλο το κρυπτοσύστημα. Τελικά η δυσκολία της επίθεσης ανάγεται στο μέγεθος των υποκλειδιών που χρησιμοποιούνται στους ενδιάμεσους γύρους και όχι στο μέγεθος του συνολικού κλειδιού του κρυπτοσυστήματος. Διαφορική Κρυπτανάλυση Η διαφορική κρυπτανάλυση είναι μία ισχυρότατη επίθεση τύπου CPA, δηλαδή ο αντίπαλος μπορεί να αποκτήσει κρυπτογραφήσεις μηνυμάτων της επιλογής του. Δεν αφορά αποκλειστικά το DES, αλλά είναι γενικότερη και έχει εφαρμοστεί σε κρυπτοσυστήματα ροής αλλά και συναρτήσεις σύνοψης. Η βασική ιδέα της μεθόδου αυτής προτάθηκε από τους Shamir και Biham στο [3]. Αργότερα [7], αποδείχθηκε ότι ήταν γνωστή στους σχεδιαστές της IBM, οι οποίοι μάλιστα προσπάθησαν να κάνουν το DES ανθεκτικό σε τέτοιο είδους επιθέσεις, αποκρύπτοντας το γεγονός αυτό από την NSA. Η βασική ιδέα της διαφορικής κρυπτανάλυσης είναι η εξής: Ο αντίπαλος αποκτά κρυπτοκείμενα που αντιστοιχούν σε μηνύματα της επιλογής του τα οποία έχουν μία σταθερή διαφορά μεταξύ τους. Στη συνέχεια αναλύει τα κρυπτοκείμενα μεταξύ τους, υπολογίζοντας την ίδια διαφορά, προσπαθώντας να βρει στατιστικές σχέσεις μεταξύ τους. Ένα είδος διαφοράς είναι η πράξη XOR ( ). Η εύρεση των πιο πιθανών διαφορών για ένα είδος S-Box, μπορεί οδηγεί στην ανάκτηση κάποιων τμημάτων των υποκλειδιών και εν συνεχεία στην μείωση του χώρου εξαντλητικής αναζήτησης. Double DES και Triple DES Η πληθώρα λοιπόν αυτή των επιθέσεων εναντίον του DES, είχε ως αποτέλεσμα να θεωρείται επίσημα σπασμένο από το Νωρίτερα όμως και προτού βρεθεί ο διάδοχός του υπήρξαν ενδιάμεσες προτάσεις με στόχο να βελτιώσουν προσωρινά την ασφάλειά του Μία πρόταση η οποία δεν εφαρμόστηκε καθώς αποδείχτηκε ευάλωτη ήταν το Double DES, το οποίο συνδυάζει 2 κλασσικά κλειδιά DES 56-bit, ελπίζοντας να πετύχει ασφάλεια 112 bit. Δηλαδή: (k 1, k 2, m) = (k 1, (k 2, m)) Δυστυχώς ο τρόπος σχεδιασμού αυτός το κάνει ευάλωτο στην επίθεση Meet in

36 144 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ The Middle (MITM), η οποία μπορεί να οδηγήσει στην αποκάλυψη των κλειδιών ως εξής: Ο αντίπαλος με δεδομένο ένα κρυπτοκείμενο c ψάχνει να βρει (k 1, k 2 ) ώστε c = (k 1, (k 2, m)) ή ισοδύναμα: (k 1, c) = (k 2, m) Για κάθε έναν από τους συνδυασμούς ενός κλειδιού k μπορούν να υπολογιστούν και να αποθηκευτούν οι τιμές (k, m) ταξινομημένες σε κάποιον πίνακα T. Στην συνέχεια μπορεί να χρησιμοποιηθεί δυαδική αναζήτηση ώστε να βρεθεί στον πίνακα αυτό η τιμή (k, c) για κάποιο k. Όταν θα συμβεί αυτό θα ξέρουμε ότι (k, k) = (k 1, k 2 ) Με απλά λόγια, η επίθεση αυτή ανάγει την αναζήτηση σε χρόνου τάξεως σε αναζήτηση χρόνου 2 56 log(2 56 )+2 56 log(2 56 ) για την ταξινομήση και την δυαδική αναζήτηση για κάθε δυνατή τιμή στον πίνακα χώρου Για τον παραπάνω λόγο πρακτικά χρησιμοποιήθηκε τελικά το Triple-DES, το οποίο ορίζεται ως εξής: (k 1, k 2, k 3, m) = (k 1, (k 2, (k 3, m))) Μία άλλη παραλλαγή που χρησιμοποιείται είναι το DES-X, το οποίο ορίζεται ως εξής: ( m) = k 2 E k3 (m k 1 ) 5.4 Advanced Encryption Standard (AES) Τον Ιανουάριο του 1997 το NIST ανακοίνωσε την πρόθεση για την ανάπτυξη ενός νέου κρυπτογραφικού προτύπου, του Advanced Encryption Standard (AES), που θα αντικαθιστούσε το DES. Τον Σεπτέμβριο του 1997 ανακοινώθηκε η έναρξη ανοιχτού διαγωνισμού. Το NIST δεν θα προχωρούσε σε αξιολόγηση της ασφάλειας και της αποδοτικότητας των υποψηφίων κρυπτοσυστημάτων, αλλά κάλεσε την κρυπτολογική κοινότητα να πραγματοποιήσει επιθέσεις. Τα σχετικά αποτελέσματα θα ανακοινώνονταν σε μια σειρά συνεδρίων. Πάντως το AES είχε από την αρχή τις εξής βασικές προδιαγραφές: να είναι κρυπτοσύστημα πακέτου,

37 5.4. ADVANCED ENCRYPTION STANDARD (AES) 145 να υποστηρίζει πακέτα των 128 bit, και να υποστηρίζει κλειδιά των 128, 192 και 256 bit. Οι υποψήφιοι αλγόριθμοι που πληρούσαν τις αρχικές απαιτήσεις του διαγωνισμού ήταν 15, από τους οποίους οι 9 ήταν προτάσεις προερχόμενες εκτός ΗΠΑ. Στα πλαίσια του πρώτου γύρου που έληξε τον Αύγουστο του 1999, διοργανώθηκαν δύο συνέδρια με θέμα τα χαρακτηριστικά των υποψηφίων κρυπτοσυστημάτων. Με το τέλος του πρώτου γύρου τα υποψήφια κρυπτοσυστήματα μειώθηκαν σε 5 (MARS, RC6, Rijndael, Serpent και Twofish). Μέσα στους 14 μήνες που διήρκησε ο δεύτερος γύρος μεσολάβησε ένα ακόμα συνέδριο και τελικά τον Οκτώβριο του 2000 το NIST ανακοίνωσε [34] πως ο Rijndael, των Βέλγων Joan Daemen και Vincent Rijmen, χωρίς ουσιαστικές τροποποιήσεις, θα αποτελούσε το AES. H επιλογή έγινε τόσο με βάση την ασφάλεια αντοχή στις επιθέσεις που πραγματοποιήθηκαν, αλλά και θεωρητική άμυνα απέναντι σε μεθόδους γραμμικής και διαφορικής κρυπτανάλυσης όσο και με βάση την ταχύτητα, την απλότητα και την ευελιξία του Rijndael. Το Rijndael είναι ένα κρυπτοσύστημα πακέτου με μεταβλητό μέγεθος πακέτου και μεταβλητό μέγεθος κλειδιού. Το μέγεθος πακέτου και το μέγεθος κλειδιού μπορούν ανεξάρτητα να καθοριστούν σε οποιοδήποτε πολλαπλάσιο του 32 μεταξύ 128 και 256 bit. Το μοναδικό σημείο διαφοροποίησης του AES από το Rijndael είναι ο περιορισμός του μεγέθους του κλειδιού και του πακέτου, καθώς το σταθεροποιεί στα 128 bit και υποστηρίζει μόνο κλειδιά των 128,192 ή 256 bit. Τέθηκε σε ισχύ στις 26 Μαΐου 2002 από το αμερικάνικο Υπουργείο Εμπορίου. Στο Rijndael, θεωρούμε τα byte ως πολυώνυμα πάνω από το GF (2) με τις πράξεις που ορίστηκαν στο 2.2.2, όπου για να ορίσουμε τον πολλαπλασιασμό χρησιμοποιούμε το ανάγωγο πολυώνυμο m(x) = x 8 + x 4 + x 3 + x + 1. M αυτόν τον τρόπο κατασκευάζουμε μια αναπαράσταση για το GF (2 8 ). Κάθε byte είναι έτσι στοιχείο του GF (2 8 ). Στην περιγραφή του Rijndael, οι στήλες των 4 byte θεωρούνται πολυώνυμα πάνω από το GF (2 8 ) με βαθμό μικρότερο του 4. Για να ορίσουμε τον πολλαπλασιασμό χρησιμοποιούμε το πολυώνυμο l(x) = x Eδώ το πολυώνυμο αναγωγής που έχουμε δεν είναι ανάγωγο αφού στο GF (2 8 ) x = (x + 1) 4.

38 146 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Επομένως δεν έχει κάθε πολυώνυμο πολλαπλασιαστικό αντίστροφο. Kαθώς στον αλγόριθμο πάντα ο ένας από τους δύο παράγοντες θα είναι ένα σταθερό πολυώνυμο, αρκεί αυτό να επιλεγεί έτσι ώστε να μη διαιρείται με το x + 1, προκειμένου η πράξη να αντιστρέφεται Είσοδος και Έξοδος Για την κρυπτογράφηση η είσοδος είναι ένα πακέτο απλού κειμένου και ένα κλειδί και η έξοδος ένα πακέτο κρυπτοκειμένου. Για την αποκρυπτογράφηση η είσοδος είναι ένα πακέτο κρυπτοκειμένου και ένα κλειδί και η έξοδος ένα πακέτο απλού κειμένου. Για την επεξεργασία της εισόδου χρησιμοποιείται ένας βοηθητικός πίνακας που ονομάζεται State. Ο State είναι ένας 4 N b πίνακας από byte, όπου N b το πηλίκο του μεγέθους πακέτου προς 32. Έστω το πακέτο απλού κειμένου: p 0 p 1 p 2... p 4 Nb 1, όπου p 0 το πρώτο byte, p 1 το δεύτερο κτλ. Παρόμοια ένα πακέτο κρυπτοκειμένου μπορεί να παρασταθεί ως: c 0 c 1 c 2... c 4 Nb 1. Έστω a i,j, 0 < 4, 0 j < N b to byte που βρίσκεται στην i γραμμή και την j στήλη του State. Στην κρυπτογράφηση η είσοδος (πακέτο απλού κειμένου) απεικονίζεται (5.8): Αντίστοιχα στην αποκρυπτογράφηση: a i,j = p i+4j, 0 i < 4, 0 j < N b. a i,j = c i+4j, 0 i < 4, 0 j < N b. Σύμφωνα με τα παραπάνω στο τέλος της κρυπτογράφησης το κρυπτοκείμενο εξάγεται από τον State ως εξής: c i = a imod4,i/4, 0 i < 4N b. Αντίστοιχα στο τέλος της αποκρυπτογράφησης το απλό κείμενο εξάγεται από τον State: p i = a imod4,i/4, 0 i < 4N b. Με παρόμοιο τρόπο το κλειδί απεικονίζεται σ ένα 4 N k πίνακα K, όπου N k το πηλίκο του μεγέθους του κλειδιού προς 32. Αν z 0 z 1 z 2... z 4 Nb 1 to κλειδί και k i,j το τυχόν στοιχείο του K, τότε k i,j = z i+4j 0 i < 4, 0 j < N k. Για το πρότυπο AES έχουμε N b = 4 και N k = 4, 6, 8.

39 5.4. ADVANCED ENCRYPTION STANDARD (AES) 147 p 0 p 4 p 8 p 12 p 1 p 5 p 9 p 13 p 2 p 6 p 10 p 14 p 3 p 7 p 11 p 15 Πίνακας 5.8: O πίνακας State για N b = Βασικοί Μετασχηματισμοί Ο αλγόριθμος, για την κρυπτογράφηση εκτελεί έναν προκαθορισμένο (από το μήκος του κλειδιού και το μέγεθος του πακέτου) αριθμό επαναλήψεων τεσσάρων βασικών βημάτων Κάθε τέτοια επανάληψη συνιστά ένα γύρο του αλγορίθμου. Το πλήθος των εκτελούμενων γύρων ισούται με N r, με τον τελευταίο γύρο να διαφέρει από τους υπόλοιπους στο ότι δεν περιλαμβάνει την Ανάλογα ισχύουν και για την αποκρυπτογράφηση, όπου εκτελούνται με την αντίστροφη σειρά οι αντίστροφες διαδικασίες Στα Σχήματα 2 και 3 φαίνεται ο αντίστοιχος ψευδοκώδικας. Το πλήθος των εκτελούμενων γύρων N r εξαρτάται από τα N b, N k και δίνεται στον Πίνακα 5.9, όπου για το πρότυπο AES ενδιαφέρουν μόνο οι έντονα τυπωμένες τιμές. N b N k Πίνακας 5.9: To πλήθος N r των εκτελούμενων γύρων συναρτήσει των N b, N k. O Μετασχηματισμός H διαδικασία είναι ο μόνος μη γραμμικός μετασχηματισμός του κρυπτοσυστήματος. Ουσιαστικά πρόκειται για έναν πίνακα αντικατάστασης (S-box), ton οποίο θα ονομάζουμε S RD, που δρα στα byte του State (Σχήμα 5.20). O S RD έχει προκύψει από τη σύνθεση δύο απεικονίσεων: Έστω a = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 GF (2 8 ) (το a όπως έχουμε πεί είναι byte). Τότε

40 148 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Σχήμα 5.18: Ψευδοκώδικας για την κρυπτογράφηση. θεωρούμε την απεικόνιση που αντιστρέφει τα στοιχεία του GF (2 8 )\0 και στέλνει το 0 στον εαυτό του: g : a b = { a 1 a 0 0, a = 0 και τον αφφινικό μετασχηματισμό:

41 5.4. ADVANCED ENCRYPTION STANDARD (AES) 149 Σχήμα 5.19: Ψευδοκώδικας για την αποκρυπτογράφηση. f : a b = b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a Τότε ορίζουμε S RD [a] = f(g(a)). H υλοποίηση της γίνεται με την απ ευθείας χρήση του πίνακα S RD ( Πίνακας 5.10).

42 150 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Σχήμα 5.20: H δρα σε κάθε ένα byte του State χωριστά. O αντίστροφος μετασχηματισμός. Η είναι o αντίστροφος μετασχηματισμός της. Είναι φανερό ότι S 1 RD [a] = g 1 (f 1 (a)) = g(f 1 (a)). Ο αφφινικός μετασχηματισμός f 1 είναι: f 1 : a b = b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 = Όπως και στην, έτσι κι εδώ η υλοποίηση της γίνεται με την απ ευθείας χρήση του πίνακα S 1 RD ( Πίνακας 5.11). O Μετασχηματισμός Στον μετασχηματισμό η γραμμή i του State μετατίθενται κυκλικά προς τα αριστερά κατά C i θέσεις. Συγκεκριμένα, αν a i,j κάποιο στοιχείο του State, τότε a i,j a i,j = a i,(j+ci ) mod N b. Οι τιμές των C i για τις διάφορες τιμές του N b φαίνονται παρακάτω. Φυσικά για το πρότυπο AES ενδιαφέρει μόνο η περίπτωση που N b = 4 : a 7 a 6 a 5 a 4 a 3 a 2 a 1 a

43 5.4. ADVANCED ENCRYPTION STANDARD (AES) 151 N b C 0 C 1 C 2 C O αντίστροφος μετασχηματισμός. O αντίστροφος μετασχηματισμός είναι προφανής, αφού αρκεί να μεταθέσουμε κυκλικά προς τα δεξιά κατά C i θέσεις την γραμμή i του State, δηλαδή: a i,j a i,j = a i,(j Ci ) mod N b. Σχήμα 5.21: H δράση της πάνω στον State για N b = 4. O Μετασχηματισμός Στον μετασχηματισμό οι στήλες του State θεωρόυνται πολυώνυμα πάνω από το GF (2 8 ) και πολλαπλασιάζονται modulo x με ένα σταθερό πολυώνυμο c(x). To σταθερό πολυώνυμο είναι το c(x) = 03 x x x + 02, το οποίο δεν διαιρείται με το x + 1 και επομένως είναι αντιστρέψιμο (βλέπε Υποενότητα 2.2.2). Έστω b(x) = c(x) a(x) (mod x 4 + 1). Όπως ήδη έχουμε δει, μπορούμε να χρησιμοποιήσουμε πολλαπλασιασμό πινάκων: b 0 b 1 b 2 b 3 = a 0 a 1 a 2 a 3.

44 152 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Σχήμα 5.22: H δρα σε κάθε μία στήλη του State. O αντίστροφος μετασχηματισμός. Ο αντίστροφος μετασχηματισμός της, όπως είναι φανερό από την έως τώρα θεώρηση μας, θα είναι ο πολλαπλασιασμός των στηλών του State με ένα πολυώνυμο d(x) τέτοιο ώστε: Ισχύει ότι (03 x x x + 02) d(x) 01 (mod x 4 + 1). d(x) = c 1 (x) = 0b x 3 + 0d x x + 0e, και συνεπώς, γραμμένη ως πολλαπλασιασμός πινάκων, η μετασχηματίζει τις στήλες ως εξής: b 0 b 1 b 2 b 3 = 0e 0b 0d e 0b 0d 0d 09 0e 0b 0b 0e 09 0e a 0 a 1 a 2 a 3. Υλοποίηση. Για την αποδοτική υλοποίηση των και χρησιμοποιείται ένας πίνακα, ton xtimes, του οποίου το ij στοιχείο (0 i, j 15) είναι το γινόμενο των byte 02 και i 16 j 16 στο GF (2 8 ), όπου i 16, j 16 τα αντίστοιχα των i, j δεκαεξαδικά ψηφία. To byte 02 αναπαριστά το πολυώνυμο β(x) = x, δηλαδή ο xtimes είναι ο πίνακας πολλαπλασιασμού κάθε στοιχείου του GF (2 8 ) με το x GF (2 8 ). Έτσι ο πολλαπλασιασμός στο GF (2 8 ) ανάγεται στον υπολογισμό γινομένων με δυνάμεις του x και την XOR πρόσθεσή τους. Παράδειγμα 10. Ισχύει ότι 0e = =

45 5.4. ADVANCED ENCRYPTION STANDARD (AES) 153 Έτσι ο πολλαπλασιασμός οποιουδήποτε byte α με το 0e γίνεται: 0e α = (02 3 α) (04 2 α) (02 α) = xtimes(xtimes(xtimes(α))) xtimes(xtimes(α)) xtimes((α). O Μετασχηματισμός Στον μετασχηματισμό, ένα Κλειδί Γύρου ( Round Key) προστίθεται στον State με bitwise XOR. Κάθε Κλειδί Γύρου αποτελείται από N b λέξεις των τεσσάρων byte από το διάνυσμα key schedule το οποίο θα συμβολίζουμε με w (βλέπε Υποενότητα 5.4.3). Έτσι κατά τον i γύρο για την j στήλη του State έχουμε: a 0,j, a 1,j, a 2,j, a 3,j w i Nb +j = a 0,j, a 1,j, a 2,j, a 3,j. Σχήμα 5.23: H για N b = 4. O αντίστροφος μετασχηματισμός. Είναι γνωστό ότι a a = 0, όπου η αποκλειστική διάζευξη (XOR). Eπομένως η αντίστροφη της είναι η ίδια η Η Επέκταση Κλειδιού H διαδικασία Key Expansion δέχεται σαν είσοδο το αρχικό κλειδί, K, που δίνει ο χρήστης και το χρησιμοποιεί για να παράξει ένα κλειδί για κάθε γύρο. Ο αλγόριθμος χρειάζεται αρχικά ένα σύνολο 4N b byte (για την πρώτη ) και στη συνέχεια κάθε ένας από τους N r γύρους χρειάζεται 4N b byte για το αντίστοιχο κλειδί. Έτσι η Key Expansion παράγει το διάνυσμα w (key schedule) μήκους N b (N r + 1), του οποίου κάθε συνιστώσα [w i ], με 0 i < N b (N r + 1), είναι μία λέξη τεσσάρων byte. Ο ψευδοκώδικας για την επέκταση του αρχικού κλειδιού στο key schedule φαίνεται στο Σχήμα Η συνάρτηση δέχεται σαν όρισμα μία λέξη τεσσάρων byte και στέλνει κάθε ένα από αυτά στην εικόνα του μέσω του πίνακα αντικατάστασης S RD, παράγοντας έτσι μια νέα λέξη.

46 154 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Η συνάρτηση δέχεται μία λέξη [a 0, a 1, a 2, a 3 ] και επιστρέφει την κυκλική της μετάθεση [a 1, a 2, a 3, a 0 ]. Το διάνυσμα, με 0 i N r, ισούται με [x i 1, 00, 00, 00], όπου to x i 1 παριστάνει το αντίστοιχο στοιχείο του GF (2 8 ). Για παράδειγμα, 5 =[x 4, 00, 00, 00] =[10, 00, 00, 00]. Οι πρώτες N k λέξεις του επεκτεταμένου κλειδιού καταλαμβάνονται από το αρχικό κλειδί. Κάθε επόμενη λέξη, [w i ], ισούται με την XOR πρόσθεση της προηγούμενης, [w i 1 ], μετασχηματισμένης, και της λέξης που προηγείται κατά N k θέσεις, [w i Nk ]. Στην περίπτωση που το i είναι πολλαπλάσιο του N k, η [w i 1 ] μετασχηματίζεται πριν την XOR πρόσθεση σε: = ( ([w i 1 ])), ενώ όταν N k > 6 και το i 4 είναι πολλαπλάσιο του N k, η [w i 1 ] μετασχηματίζεται σε: = ([w i 1 ]). Σε κάθε άλλη περίπτωση το [w i 1 ] παραμένει αμετάβλητο πριν την XOR πρόσθεση με το [w i Nk ] Ισοδύναμη Αποκρυπτογράφηση Όπως αναφέρθηκε και στην αρχή της Παραγράφου 5.4.2, η προφανής αποκρυπτογράφηση είναι να εφαρμόσουμε πάνω στο κρυπτοπακέτο τους αντίστροφους μετασχηματισμούς με την αντίστροφη σειρά. Μπορούμε εντούτοις να απλοποιήσουμε τη διαδικασία της αποκρυπτογράφησης παρατηρώντας τα εξής: Η και η αντιμετατίθενται. Η και η αντιμετατίθενται, αν τροποποιήσουμε κατάλληλα το Κλειδί Γύρου. Το πρώτο συμβαίνει γιατί η αλλάζει τη διάταξη των byte στον State χωρίς να επηρεάζει τις τιμές τους, ενώ η αλλάζει τις τιμές τους ανεξάρτητα από τη θέση τους. Η ορθότητα της δεύτερης παρατήρησης προκύπτει από τη γραμμικότητα της

47 5.4. ADVANCED ENCRYPTION STANDARD (AES) 155 Σχήμα 5.24: Ψευδοκώδικας για την επέκταση κλειδιού. : = Αρκεί λοιπόν να χρησιμοποιήσουμε ως ισοδύναμο Κλειδί Γύρου το αποτέλεσμα της εφαρμογής της στο Κλειδί Γύρου. Με βάση τα παραπάνω, η αποκρυτπογράφηση μπορεί να μετασχηματιστεί σε μία ισοδύναμη αποκρυπτογράφηση, η οποία έχει την ίδια δομή με την κρυπτογράφηση (Σχήμα 5.25). Το γεγονός αυτό είναι ουσιαστικό για την απλότητα του κρυπτοσυστήματος και για την αποδοτικότητά του τόσο σε software όσο και σε hardware.

48 156 ΚΕΦΑΛΑΙΟ 5. ΣΥΜΜΕΤΡΙΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Σχήμα 5.25: Ψευδοκώδικας για την ισοδύναμη αποκρυπτογράφηση.

49 5.5. ΠΙΝΑΚΕΣ AΝΤΙΚΑΤΑΣΤΑΣΗΣ Πίνακες Aντικατάστασης Παρακάτω φαίνονται οι πίνακες αντικατάστασης S RD και S 1 RD που χρησιμοποιούμε για την και την. Πίνακας 5.10: O πίνακας S RD. Το στοιχείο S RD (i, j) είναι η εικόνα του ij. Πίνακας 5.11: O πίνακας S 1 RD. Το στοιχείο S 1 RD (i, j) είναι η εικόνα του ij.

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

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

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

Συμμετρικά κρυπτοσυστήματα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Δίκτυα Feistel Σημαντικές

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Block ciphers και ψευδοτυχαίες

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Block ciphers (κρυπτοσυστήματα

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1 / 26

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Block ciphers και ψευδοτυχαίες

Διαβάστε περισσότερα

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

Δ Εξάμηνο. Κρυπτογραφία: Συμμετρική Κρυπτογράφηση ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Κρυπτογραφία: Συμμετρική Κρυπτογράφηση Διδάσκων : Δρ. Παρασκευάς Κίτσος http://www.diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Εργαστήριο Σχεδίασης Ψηφιακών

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συμμετρικά Κρυπτοσυστήματα κλειδί k Αρχικό κείμενο (m) Αλγόριθμος Κρυπτογράφησης Ε c = E k (m) Κρυπτογραφημένο

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συμμετρικά Κρυπτοσυστήματα κλειδί k Αρχικό κείμενο (m) Αλγόριθμος Κρυπτογράφησης Ε c = E

Διαβάστε περισσότερα

Αλγόριθµοι συµµετρικού κλειδιού

Αλγόριθµοι συµµετρικού κλειδιού Αλγόριθµοι συµµετρικού κλειδιού Αλγόριθµοι συµµετρικού κλειδιού Χρησιµοποιούν το ίδιο κλειδί για την κρυπτογράφηση και την αποκρυπτογράφηση Υλοποιούνται τόσο µε υλικό (hardware) όσο και µε λογισµικό (software)

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση Κρυπτογραφία Κεφάλαιο 1 Γενική επισκόπηση Ανασκόπηση ύλης Στόχοι της κρυπτογραφίας Ιστορικό Γενικά χαρακτηριστικά Κλασσική κρυπτογραφία Συμμετρικού κλειδιού (block ciphers stream ciphers) Δημοσίου κλειδιού

Διαβάστε περισσότερα

UP class. & DES και AES

UP class. & DES και AES Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων UP class & DES και AES Επιμέλεια σημειώσεων: Ιωάννης Νέμπαρης Μάριος Κουβαράς Διδάσκοντες: Στάθης Ζάχος

Διαβάστε περισσότερα

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers Κρυπτογραφία Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers Αλγόριθμοι τμήματος Τμήμα (μπλοκ) αρχικού μηνύματος μήκους n encrypt decrypt Τμήμα (μπλοκ) κρυπτογράμματος μήκους n 2 Σχηματική αναπαράσταση Plaintext

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτοαλγόριθμοι Χρήστος Ξενάκης Θεωρία Πληροφορίας Η Θεωρία πληροφορίας (Shannon 1948 1949) σχετίζεται με τις επικοινωνίες και την ασφάλεια

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτογραφία Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Βασικές έννοιες KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Ένα κρυπτοσύστηµα όπου οι χώροι των καθαρών µηνυµάτων, των κρυπτογραφηµένων µυνηµάτων και των κλειδιών είναι ο m,,,... m = καλείται ψηφιακό κρυπτοσύστηµα.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Συμμετρική Κρυπτογραφία

Συμμετρική Κρυπτογραφία ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής Ασφάλεια Πληροφοριακών Συστημάτων Εργαστήριο Συμμετρική Κρυπτογραφία Konstantinos Fysarakis, PhD kfysarakis@staff.teicrete.gr Εισαγωγή } Στην συνηθισμένη κρυπτογραφία,

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

Διαβάστε περισσότερα

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 3: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΕΠΛ 674: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

ΕΠΛ 674: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES ΕΠΛ 674: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES Παύλος Αντωνίου Εαρινό Εξάμηνο 2011 Department of Computer Science 1 S-DES Γενικά (1) Ο απλοποιημένος συμμετρικός αλγόριθμος S- DES.

Διαβάστε περισσότερα

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

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

Διαβάστε περισσότερα

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

Πρόβληµα 2 (15 µονάδες) ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2013-2014 ΔΙΔΑΣΚΩΝ: Ε. Μαρκάκης Πρόβληµα 1 (5 µονάδες) 2 η Σειρά Ασκήσεων Προθεσµία Παράδοσης: 19/1/2014 Υπολογίστε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 4: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

Διαβάστε περισσότερα

ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES ρ. Παύλος Αντωνίου Department of Computer Science 1 S-DES Γενικά (1) Ο αλγόριθμος DES χρησιμοποιεί κλειδιά μεγέθους 56 bit Ο απλοποιημένος

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συνολικό Πλαίσιο Ασφάλεια ΠΕΣ Εμπιστευτικότητα Ακεραιότητα Πιστοποίηση Μη-αποποίηση Κρυπτογράφηση

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές  3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή... 1 1.1. Ορισμοί και ορολογία... 2 1.1.1. Συμμετρικά και ασύμμετρα κρυπτοσυστήματα... 4 1.1.2. Κρυπτογραφικές υπηρεσίες και πρωτόκολλα... 9 1.1.3. Αρχές μέτρησης κρυπτογραφικής

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια ΣΤΟΧΟΙ ΚΕΦΑΛΑΙΟΥ Ορισµός τριών στόχων ασφάλειας - Εµπιστευτικότητα, ακεραιότητα και διαθεσιµότητα Επιθέσεις Υπηρεσίες και Τεχνικές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι ΚΕΦΑΛΑΙΟ : Ημιαπλοί Δακτύλιοι Είδαμε στο κύριο θεώρημα του προηγούμενου κεφαλαίου ότι κάθε δακτύλιος διαίρεσης έχει την ιδιότητα κάθε πρότυπο είναι ευθύ άθροισμα απλών προτύπων Εδώ θα χαρακτηρίσουμε όλους

Διαβάστε περισσότερα

f(t) = (1 t)a + tb. f(n) =

f(t) = (1 t)a + tb. f(n) = Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία

Διαβάστε περισσότερα

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

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 Η Aσύμμετρη Kρυπτογραφία ή Κρυπτογραφία Δημοσίου Κλειδιού χρησιμοποιεί δύο διαφορετικά κλειδιά για την κρυπτογράφηση και αποκρυπτογράφηση. Eπινοήθηκε στο τέλος της δεκαετίας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

5 ΣΥΜΜΕΤΡΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ 5 ΣΥΜΜΕΤΡΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ 5.. Εισαγωγή Η συμμετρική κρυπτογραφία είναι κατά πολύ αρχαιότερη από την ασύμμετρη κρυπτογραφία. Η συμμετρική κρυπτογραφία χρονολογείται από την Αρχαία Αίγυπτο, ενώ η ασύμμετρη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μαθηματική Εισαγωγή Συναρτήσεις

Μαθηματική Εισαγωγή Συναρτήσεις Φυσικός Ραδιοηλεκτρολόγος (MSc) ο Γενικό Λύκειο Καστοριάς A. Μαθηματική Εισαγωγή Πράξεις με αριθμούς σε εκθετική μορφή Επίλυση βασικών μορφών εξισώσεων Συναρτήσεις Στοιχεία τριγωνομετρίας Διανύσματα Καστοριά,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ ΚΕΦΑΛΑΙΟ ΔΙΑΤΑΞΕΙΣ ΜΕΤΑΘΕΣΕΙΣ ΣΥΝΔΥΑΣΜΟΙ Εισαγωγή. Οι σχηματισμοί που προκύπτουν με την επιλογή ενός συγκεκριμένου αριθμού στοιχείων από το ίδιο σύνολο καλούνται διατάξεις αν μας ενδιαφέρει η σειρά καταγραφή

Διαβάστε περισσότερα

a = a a Z n. a = a mod n.

a = a a Z n. a = a mod n. Αλγεβρα Ι Χειμερινο Εξαμηνο 2017 18 Διάλεξη 1 Ενότητα 1. Πράξεις: Πράξεις στο σύνολο S, ο πίνακας της πράξης, αντιμεταθετικές πράξεις. Προσεταιριστικές πράξεις, το στοιχείο a 1 a 2 a n. Η πράξη «σύνθεση

Διαβάστε περισσότερα

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

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey Κρυπτογραφία Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey Γενικά χαρακτηριστικά των stream ciphers Keystream Generator K i P i C i Δουλεύουν πάνω σε ένα ρεύμα από

Διαβάστε περισσότερα

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

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ. Έτους Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ. Έτους 2011-2012 Μαριάς Ιωάννης Μαρκάκης Ευάγγελος marias@aueb.gr markakis@gmail.com Διάλεξη 6-1 5-1 Περίληψη

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou AES Ιαν. 1997: Το NIST (National Institute of Standards and Technology) απευθύνει κάλεσμα για τη δημιουργία

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Ελένη Μπακάλη Άρης Παγουρτζής

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Μαθηματική Εισαγωγή Συναρτήσεις

Μαθηματική Εισαγωγή Συναρτήσεις Φυσικός Ραδιοηλεκτρολόγος (MSc) ο Γενικό Λύκειο Καστοριάς Καστοριά, Ιούλιος 14 A. Μαθηματική Εισαγωγή Πράξεις με αριθμούς σε εκθετική μορφή Επίλυση βασικών μορφών εξισώσεων Συναρτήσεις Στοιχεία τριγωνομετρίας

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Οι Αλγόριθμοι Κρυπτογραφίας και οι Ιδιότητές τους Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

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

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας Διαχείριση και Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κρυπτογραφία Κρυπτογραφία Η Κρυπτογραφία (cryptography) είναι ένας κλάδος της επιστήμης της Κρυπτολογίας (cryptology), η οποία ασχολείται με την μελέτη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2 Κρυπτογραφία Εργαστηριακό μάθημα 7 (Αλγόριθμοι Δημοσίου Κλειδιού) α) El Gamal β) Diffie-Hellman αλγόριθμος για την ανταλλαγή συμμετρικού κλειδιού κρυπτογράφησης El Gamal Αλγόριθμος Παράμετροι συστήματος:

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής στην Επιστήμη των Υπολογιστών 2015-16 Ασφάλεια Δεδομένων http://www.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Οι απειλές Ένας κακόβουλος χρήστης Καταγράφει μηνύματα

Διαβάστε περισσότερα

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ. Παραδείγματα Απαρίθμησης Γνωστό: P (M 2 M τρόποι επιλογής υποσυνόλου του M Τεχνικές Απαρίθμησης Πχ M {A, B, C} P (M 2 3 8 #(Υποσυνόλων με 2 στοιχεία ( 3 2 3 #(Διατεταγμένων υποσυνόλων με 2 στοιχεία 3 2

Διαβάστε περισσότερα

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Κεφάλαιο 8 8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Σελ. 320-325 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-g.ggia.info/ Creative

Διαβάστε περισσότερα

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 5: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: ΟΡΙΖΟΥΣΕΣ

ΚΕΦΑΛΑΙΟ 2: ΟΡΙΖΟΥΣΕΣ ΚΕΦΑΛΑΙΟ ΚΕΦΑΛΑΙΟ :. ΕΙΣΑΓΩΓΗ Σε κάθε τετραγωνικό πίνακα ) τάξης n θα αντιστοιχίσουμε έναν πραγματικό ( ij αριθμό, τον οποίο θα ονομάσουμε ορίζουσα του πίνακα. Η ορίζουσα θα συμβολίζεται det ή Α ή n n

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης

Διαβάστε περισσότερα

OΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

OΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ Ο ΚΕΦΑΛΑΙΟ : ΟΡΙΟ ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ OΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΣΥΝΑΡΤΗΣΕΙΣ Έστω Α ένα υποσύνολο του Τι ονομάζουμε πραγματική συνάρτηση με πεδίο ορισμού το Α ; Απάντηση : ΕΣΠ Β Έστω

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ 50 ΚΕΦΑΛΑΙΟ Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ Εισαγωγή. Η αρχή του εγκλεισμού αποκλεισμού είναι ένα ισχυρό μέσο απαρίθμησης με το οποίο υπολογίζεται ο αριθμός των στοιχείων της ένωσης και της τομής των συμπληρωμάτων

Διαβάστε περισσότερα

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι

Διαβάστε περισσότερα

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση) TETY Εφαρμοσμένα Μαθηματικά Ενότητα ΙΙ: Γραμμική Άλγεβρα Ύλη: Διανυσματικοί χώροι και διανύσματα, μετασχηματισμοί διανυσμάτων, τελεστές και πίνακες, ιδιοδιανύσματα και ιδιοτιμές πινάκων, επίλυση γραμμικών

Διαβάστε περισσότερα

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

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Κεφάλαια 2&21 Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Ενεργητικές επιθέσεις Η κρυπτογράφηση παρέχει προστασία από παθητικές επιθέσεις (υποκλοπή). Μια διαφορετική απαίτηση είναι η προστασία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version Συστήματα Αρίθμησης Στην καθημερινή μας ζωή χρησιμοποιούμε το δεκαδικό σύστημα αρίθμησης. Στο σύστημα αυτό χρησιμοποιούμε δέκα διαφορετικά σύμβολα τα :,, 2, 3, 4, 5, 6,7 8, 9. Για τον αριθμό 32 θα χρειαστούμε

Διαβάστε περισσότερα

Μεταθέσεις και πίνακες μεταθέσεων

Μεταθέσεις και πίνακες μεταθέσεων Παράρτημα Α Μεταθέσεις και πίνακες μεταθέσεων Το παρόν παράρτημα βασίζεται στις σελίδες 671 8 του βιβλίου: Γ. Χ. Ψαλτάκης, Κβαντικά Συστήματα Πολλών Σωματιδίων (Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο,

Διαβάστε περισσότερα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα 2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ 2.1 Αριθμητικά συστήματα Κάθε πραγματικός αριθμός χ μπορεί να παρασταθεί σε ένα αριθμητικό σύστημα με βάση β>1 με μια δυναμοσειρά της μορφής, -οο * = ± Σ ψ β " (2 1) η - ν

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ασύμμετρα Κρυπτοσυστήματα κλειδί κρυπτογράφησης k1 Αρχικό κείμενο (m) (δημόσιο κλειδί) Αλγόριθμος

Διαβάστε περισσότερα

B = {x A : f(x) = 1}.

B = {x A : f(x) = 1}. Θεωρία Συνόλων Χειμερινό Εξάμηνο 016 017 Λύσεις 1. Χρησιμοποιώντας την Αρχή του Περιστερώνα για τους φυσικούς αριθμούς, δείξτε ότι για κάθε πεπερασμένο σύνολο A και για κάθε f : A A, αν η f είναι 1-1 τότε

Διαβάστε περισσότερα

M. J. Lighthill. g(y) = f(x) e 2πixy dx, (1) d N. g (p) (y) =

M. J. Lighthill. g(y) = f(x) e 2πixy dx, (1) d N. g (p) (y) = Εισαγωγή στην ανάλυση Fourier και τις γενικευμένες συναρτήσεις * M. J. Lighthill μετάφραση: Γ. Ευθυβουλίδης ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ ΓΕΝΙΚΕΥΜΕΝΩΝ ΣΥΝΑΡΤΗΣΕΩΝ ΚΑΙ ΤΩΝ ΜΕΤΑΣΧΗΜΑΤΙΣΜΩΝ ΤΟΥΣ FOURIER 2.1. Καλές

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ασύμμετρη Κρυπτογράφηση (Κρυπτογραφία Δημόσιου Κλειδιού) Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org

Διαβάστε περισσότερα

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

Ασφάλεια Υπολογιστικών Συστημάτων Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 2: Συμμετρική κρυπτογραφία Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; 1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; Η ακεραιότητα δεδομένων(data integrity) Είναι η ιδιότητα που μας εξασφαλίζει ότι δεδομένα

Διαβάστε περισσότερα

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

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος V Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/30 Περιεχόμενα IEEE 802.11i ΤΟ ΠΡΩΤΟΚΟΛΛΟ CCMP Γενικά Λίγα

Διαβάστε περισσότερα

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014 ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014 Περιεχόμενα 1 Εισαγωγή 2 2 Μεγιστικός τελέστης στην μπάλα 2 2.1 Βασικό θεώρημα........................ 2 2.2 Γενική περίπτωση μπάλας.................. 6 2.2.1 Στο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής ΘΕΜΑ 1 ο Α. Να χαρακτηρίσετε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες. 1. Μια διαδικασία

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

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

Ασφάλεια Πληροφοριακών Συστημάτων Ασφάλεια Πληροφοριακών Συστημάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 2η Δρ. Β. Βασιλειάδης Τμ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Kρυπτανάλυση Προσπαθούμε να σπάσουμε τον κώδικα. Ξέρουμε το

Διαβάστε περισσότερα

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,... KΕΦΑΛΑΙΟ ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ Βασικές έννοιες διαιρετότητας Θα συµβολίζουµε µε, τα σύνολα των φυσικών αριθµών και των ακεραίων αντιστοίχως: {,,3,,, } { 0,,,,, } = = ± ± ± Ορισµός Ένας φυσικός αριθµός

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων Μελετάμε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων Αυτές συνδέονται μεταξύ τους με την έννοια της συνθετικής σειράς

Διαβάστε περισσότερα

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1 Κεφάλαιο 2: Στοιχεία Λογικής - Μέθοδοι Απόδειξης 1. Να αποδειχθεί ότι οι λογικοί τύποι: (p ( (( p) q))) (p q) και p είναι λογικά ισοδύναμοι. Θέλουμε να αποδείξουμε ότι: (p ( (( p) q))) (p q) p, ή με άλλα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Κρυπτογραφία Δημοσίου Κλειδιού Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κρυπτοσύστημα

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 11: Αριθμητική υπολοίπων-δυνάμεις Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κεφάλαιο 4 : Λογική και Κυκλώματα

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2 ΕΡΓΑΣΙΑ Διδάσκων: Γιώργος Χρυσάνθου Υπεύθυνος Άσκησης: Πύρρος Μπράτσκας Ημερομηνία Ανάθεσης: 3/10/015 Ημερομηνία Παράδοσης: 09/11/015 09:00 π.μ. I.Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

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

Διαβάστε περισσότερα

* * * ( ) mod p = (a p 1. 2 ) mod p.

* * * ( ) mod p = (a p 1. 2 ) mod p. Θεωρια Αριθμων Εαρινο Εξαμηνο 2016 17 Μέρος Α: Πρώτοι Αριθμοί Διάλεξη 1 Ενότητα 1. Διαιρετότητα: Διαιρετότητα, διαιρέτες, πολλαπλάσια, στοιχειώδεις ιδιότητες. Γραμμικοί Συνδυασμοί (ΓΣ). Ενότητα 2. Πρώτοι

Διαβάστε περισσότερα

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

Πρόβληµα 2 (12 µονάδες) ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, 2015-2016 ΔΙΔΑΣΚΟΝΤΕΣ: Ε. Μαρκάκης, Θ. Ντούσκας Λύσεις 2 ης Σειράς Ασκήσεων Πρόβληµα 1 (12 µονάδες) 1) Υπολογίστε τον

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Οι Αλγόριθμοι Κρυπτογραφίας και οι Ιδιότητές τους Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Διαβάστε περισσότερα