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



Σχετικά έγγραφα
ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

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

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

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

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

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

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

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

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

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

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

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

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

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

Cryptography and Network Security Chapter 3. Fifth Edition by William Stallings

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

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

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

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

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

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

ΒΑΣΙΚΑ ΘΕΜΑΤΑ ΚΡΥΠΤΟΓΡΑΦΙΑΣ

Κρυπτογραφία. Διάλεξη 7 Κρυπταλγόριθμοι τμήματος: Αλγόριθμος AES Τρόποι λειτουργίας

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

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

Μελέτη Πρωτοκόλλων Κρυπτογραφίας

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

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

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

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

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

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

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

Ασφάλεια ικτύων (Computer Security)

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

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

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

Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Κρήτης

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

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

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

Στοιχεία Κρυπτογραφίας

Κεφάλαιο 1. Βασικές έννοιες στην κρυπτογραφία

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

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

UP class. & DES και AES

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

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

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

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

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

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

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

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

Διατμηματικό Μεταπτυχιακό Πρόγραμμα Ηλεκτρονική και Επεξεργασία της Πληροφορίας

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

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

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

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

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

Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

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

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΑΣΦΑΛΟΥΣ ΕΠΙΚΟΙΝΩΝΙΑΣ»

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

Κεφάλαιο 7. Σύγχρονοι Κρυπτογραφικοί Αλγόριθμοι

Μελέτη απόδοσης αλγορίθμων κρυπρογράϕησης σε CUDA

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

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

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

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

ΠΡΟΛΟΓΟΣ Η παρούσα πτυχιακή εργασία µε τίτλο Σχεδιασµός και Υλοποίηση Μηχανισµού Ασφαλείας µε τη χρήση ιατάξεων Υλικού για ίκτυα Τέταρτης Γενιάς (4G-L

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

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

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

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

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

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

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

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

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

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

Transcript:

Αλγόριθµοι συµµετρικού κλειδιού Αλγόριθµοι συµµετρικού κλειδιού Χρησιµοποιούν το ίδιο κλειδί για την κρυπτογράφηση και την αποκρυπτογράφηση Υλοποιούνται τόσο µε υλικό (hardware) όσο και µε λογισµικό (software) Hardware υλοποιήσεις: P-Box (permutation box), Transposition S-Box, Substitution Product Ciphers

Product ciphers Λειτουργούν µε k-bit εισόδους και k-bit εξόδους Τυπικά k=64 ή 256 18 επίπεδα (οι h/w υλοποιήσεις) >8 επαναλήψεις (rounds) οι s/w υλοποιήσεις Αν ήταν ένα ενιαίο στάδιο θα είχε 2 12 =4096 καλώδια οµές τύπου Feistel Ουσιαστικά όλοι οι συµβατικοί αλγόριθµοι κρυπτογράφησης βασίζονται σε µια δοµή που αρχικά παρουσιάστηκε από τον Horst Feistel της IBM το 1973 Η επεξεργασία της πληροφορίας γίνεται σε κοµµάτια ίσου µεγέθους (blocks) από το κείµενο που παράγουν κρυπτογραφηµένο κείµενο ίδιου µεγέθους Η υλοποίηση ενός δικτύου Feistel εξαρτάται από την επιλογή µιας από τις παρακάτω παραµέτρους και σχεδιαστικά χαρακτηριστικά:

Παράµετροι και χαρακτηριστικά αλγορίθµων τύπου Feistel Μέγεθος οµάδας (block): µεγαλύτερο µέγεθος block σηµαίνει µεγαλύτερη ασφάλεια. Μέγεθος κλειδιού: µεγαλύτερο µέγεθος κλειδιού σηµαίνει µεγαλύτερη ασφάλεια. Αριθµός επαναλήψεων (rounds): πολλαπλές επαναλήψεις οδηγούν σε µεγαλύτερη ασφάλεια Αλγόριθµος δηµιουργίας υποκλειδιών (subkey generation algorithm): επηρεάζει την πολυπλοκότητα της κρυπτογράφησης κι εποµένως δυσχεραίνει την κρυπτανάλυση. Γρήγορη κρυπτογράφηση και αποκρυπτογράφηση µε λογισµικό: η ταχύτητα εκτέλεσης του αλγόριθµου είναι ένα σοβαρό σχεδιαστικό θέµα

DES Data Encryption Standard Αναπτύχθηκε από την IBM (Lucifer, 128-bit) To 1977 η κυβέρνηση των ΗΠΑ το υιοθέτησε ως επίσηµο πρότυπο κρυπτογράφησης για µη απόρρητες πληροφορίες (NSA, 56-bit) Η αρχική µορφή του αλγόριθµου δεν είναι πλέον ασφαλής Diffie and Hellman (Stanford, 1977) Μηχανή σπασίµατος < 20Μ$ (σήµερα <200Κ$) Exhaustive search 2 56 κλειδιά σε µια µέρα Χρησιµοποιούνται όµως κάποιες παραλλαγές του DES Λεπτοµέρεια ενός κύκλου

Λειτουργία ενός κύκλου DES block key Τα 48 bits σπάνε σε 8 Χ 6 bits και περνάνε από 8 S-Boxes µε 64 πιθανές εισόδους και 4 εξόδους, ώστε να προκύψουν 32 bits Χρόνος που απαιτείται για το σπάσιµο κώδικα ως συνάρτηση του µήκους κλειδιού Υπόθεση 10 6 δοκιµές / µsec

Triple-DES (3DES) Triple Encryption (Tuchman, 1979) International Standard (IS) 8732 2 κλειδιά (k 1, k 2 ) και 3 στάδια Γιατί 2 κι όχι 3 κλειδιά; Θεωρείται επαρκές: 112 bits 2 112 10 14 χρόνια Γιατί EDE (Encrypt-Decrypt-Encrypt) και όχι EEE; Συµβατότητα προς τα πίσω µε το DES αν k 1 =k 2. Triple - DES C = EK3[DK2[EK1[P]]] C = ciphertext P = Plaintext EK[X] = encryption of X using key K DK[Y] = decryption of Y using key K

AES Advanced Encryption Standard Το DES είναι σχεδιασµένο µε βάση το h/w των 70 s. Οι υλοποιήσεις µε λογισµικό είναι αργές Block size = 64 bit χαµηλή απόδοση To NISTέψαξε (1997) τον αντικαταστάτη του µε έναν ανοικτό διαγωνισµό κρυπτογραφίας AES 1. Rijndael (Joan Daemen & Vincent Rijmen, 86 ψήφοι) 2. Serpent (Ross Anderson, Eli Biham & Lars Knusden, 59 ψήφοι) 3. TwoFish (Bruce Schneier et al, 31 ψήφοι) 4. RC6 (RSA Labs, 23 ψήφοι) 5. MARS (IBM, 13 ψήφοι) Οκτ. 2000 NIST επέλεξε τον Rijndael 2001: FIPS 197 (Federal Information Processing Standard)

Rijndael Υποστηρίζει κλειδιά και οµάδες κειµένου (block size) από 128 256 bits σε βήµατα των 32 bit. Κύριες υλοποιήσεις: block: 128 bits key: 128 bit block: 128 bits key: 256 bit Η πρώτη δίνει: 2 128 = 3 Χ 10 38 κλειδιά Αν είχα 1 δις παράλληλους επεξεργαστές που ο καθένας θα εκτελούσε 1 έλεγχο κλειδιού ανά 1 psec, θα χρειαζόµουν 10 10 χρόνια για να ελέγξω όλο τον χώρο των πιθανών κλειδιών. Rijndael Οαλγόριθµος βασίζεται στην µαθηµατική θεωρία των πεδίων Galois. ηµιουργία των πινάκων state και rk

Ψευδοκώδικας υλοποίησης του Rijndael σε C Blowfish 1993, Bruce Schneier Πολύ συµπαγής και γρήγορος αλγόριθµος. Απαιτεί µόλις 5Κ µνήµης Κλειδί 128 448 bits. Συνήθως 128 bits 16 rounds υναµικά S-Box (συναρτήσεις του κλειδιού), XOR και ADD Τα επιµέρους κλειδιά και τα S-boxes προκύπτουν µε εφαρµογή του ίδιου του αλγόριθµου στο κλειδί. Αυτό απαιτεί 521 εκτελέσεις. εν είναι κατάλληλος για εφαρµογές στις οποίες το κλειδί πρέπει να αλλάζει συχνά. εν έχουν βρεθεί σοβαρές αδυναµίες Λόγω της αργής ταχύτητάς του, σήµερα χρησιµοποιείται ο TwoFish.

RC5 1994, Ron Rivest (RFC 2040) RSA Data Security Inc. Χαρακτηριστικά αλγορίθµου: 1. Κατάλληλος για υλοποίηση µε s/w και h/w 2. Γρήγορος: δουλεύει πάνω σε λέξεις (word oriented) 3. Το µέγεθος των λέξεων µπορεί να αλλάζει (προσαρµόζεται σε διαφορετικούς επεξεργαστές) 4. Μεταβλητός αριθµός επαναλήψεων (rounds) 1. Speed Security 5. Μεταβλητό µήκος κλειδιού 6. Απλότητα 7. Χαµηλές απαιτήσεις µνήµης 8. Υψηλή ασφάλεια 9. Οι κύκλοι εξαρτώνται από την ποσότητα δεδοµένων Τεχνικές κρυπτανάλυσης ιαφορική κρυπτανάλυση (differential cryptanalysis) Ξεκινάει µε δύο όµοια κείµενα που διαφέρουν µεταξύ τους µόνο για λίγα bits. Χρησιµοποιεί στατιστική ανάλυση των διαφορών που προκύπτουν στα αντίστοιχα κρυπτογραφηµένα κείµενα (Biham & Shamir, 1993). Γραµµική κρυπτανάλυση (linear cryptanalysis) Χρησιµοποιεί την πόλωση που µπορεί να υπάρχει υπέρ κάποιου συµβόλου αν κάνει κανείς επανειληµµένα XOR µεταξύ επιλεγµένων κοµµατιών ενός κρυπτοκειµένου Κατανάλωση ηλεκτρικής ισχύος Ανάλυση χρονισµού

Θέση λειτουργίας συσκευών κρυπτογράφησης Κρυπτογράφηση σε κάθε ζεύξη Υψηλή ασφάλεια κατά τη µετάδοση Καµία προστασία όταν τα δεδοµένα είναι µέσα στους µεταγωγείς Κρυπτογράφηση από άκρο σε άκρο Προστατεύονται τα δεδοµένα Όχι όµως το µοτίβο της κίνησης (οι επικεφαλίδες δεν κρυπτογραφούνται) Πιθανή η χρήση και των δύο τεχνικών Αλγόριθµοι συµµετρικού κλειδιού Καταστάσεις/ / τρόποι κρυπτογράφησης (Cipher Modes)

Τρόποι κρυπτογράφησης Όλοι οι block ciphers είναι στην ουσία µονοαλφαβητικοί κώδικες αντικατάστασης απλά χρησιµοποιούν πιο µεγάλους χαρακτήρες (64 ή 128 Bit) Όσες φορές κι αν κωδικοποιήσω το ίδιο κοµµάτι κειµένου χρησιµοποιώντας το ίδιο κλειδί, το αποτέλεσµα θα είναι το ίδιο. Electronic Code Book (ECB) Σε µηνύµατα που είναι δοµηµένα ο κρυπταναλυτής µπορεί να βρει στοιχεία για να αλλοιώσει ή να αντικαταστήσει το περιεχόµενο κάποιων κοµµατιών. Ο στόχος είναι να υπάρχει τρόπος ώστε αν υπάρξουν όµοια κοµµάτια κειµένου αυτά να δώσουν διαφορετικά κωδικοποιηµένα blocks. Electronic Code Book Problem

Cipher Block Chaining Για να αντιµετωπιστεί το πρόβληµα ECB κάθε block γίνεται XOR µε το προηγούµενό του πριν κρυπτογραφηθεί. Το προηγούµενο έχει ήδη κρυπτογραφηθεί Το πρώτο block γίνεται XOR µε ένα τυχαίο διάνυσµα αρχικοποίησης IV (initialization vector) που πρέπει να ανταλλαχθεί µαζί µε το κλειδί του κώδικα. Cipher Block Chaining π.χ. C 0 =E(P 0 IV), C 1 =E(P 1 IV),. P 0 =IV D(C 0 ) κύριο πλεονέκτηµα είναι ότι λόγω διαφορετικής αρχικοποίησης το ίδιο κείµενο δεν θα δίνει το ίδιο κρυπτογραφηµένο, δυσκολεύοντας έτσι τους κρυπταναλυτές

Cipher Feedback Mode κρυπτογράφηση Τα οκτώ προηγούµενα bits (64 bit) κρυπτογραφούνται και το δεξιότερο Byte του αποτελέσµατος γίνεται XOR µε το προς αποστολή byte. Αντίγραφο αυτού του byte προωθείται στη δεξιότερη θέση του καταχωρητή ολίσθησης. Cipher Feedback Mode αποκρυπτογράφηση Το κρυπτογραφηµένο byte γίνεται XOR µε το δεξιότερο Byte από την κρυπτογραφηµένη έκδοση των προηγούµενων 8 bytes (64 bit) και δίνει το αρχικό Byte. Ένα πρόβληµα είναι ότι αν καταστραφεί ένα byte τότε θα υπάρξει σφάλµα στην αποκρυπτογράφηση των 8 bytes στα οποία θα συµµετέχει όσο είναι µέσα στον καταχωρητή. Αυτό όµως είναι ένα µικρό τοπικό πρόβληµα.

Stream Cipher Mode Υπάρχουν εφαρµογές για τις οποίες είναι σοβαρό πρόβληµα είναι να καταστρέφονται 64 bit λόγω λάθους σε ένα µόνο bit. Σε τέτοιες περιπτώσεις µπορεί να εφαρµοστεί µια άλλη τακτική που λέγεται stream cipher mode. Ένα διάνυσµα αρχικοποίησης κωδικοποιείται και δίνει µια νέα κωδικοποιηµένη ακολουθία (keystream). Σε κάθε βήµα η ακολουθία αυτή κωδικοποιείται εν νέου και το αποτέλεσµα γίνεται XOR µε το κείµενο προς κρυπτογράφηση. Με άλλα λόγια, το keystream χρησιµοποιείται ως ένα one-time-pad. Stream Cipher Mode Κρυπτογράφηση σε Stream Mode Αποκρυπτογράφηση σε Stream Mode Το ζεύγος {IV, key} δεν πρέπει να χρησιµοποιηθεί ποτέ Αν συµβεί αυτό ο κώδικας είναι εκτεθειµένος σε keystream reuse attack

Παράδειγµα keystream reuse attack 1. κρυπτογραφώ το P 0 µε το Κ 0 P 0 : 10011010 Q 0 : 01101000 K 0 : 11010110 K 0 : 11010110 C 0 : 01001100 C Q0 : 10111110 C 0 : 01001100 4. µαντεύω ή µαθαίνω ένα µήνυµα C 0 C Q0 : 11110010 P 0 : 10011010 01101000 2. κρυπτογραφώ το Q 0 χρησιµοποιώντας το ίδιο κλειδί 3. κάποιος ακούει στη γραµµή ό,τι µεταδίδεται 5. µόλις βρήκα το Q 0!!! Counter mode Το πρόβληµα όλων των παραπάνω τρόπων, εκτός του ECB, είναι ότι για να δω ένα κοµµάτι δεδοµένων πρέπει να τα αποκρυπτογραφήσω όλα. Αυτό είναι σοβαρό πρόβληµα ειδικά σε περιπτώσεις όπου η πρόσβαση στα δεδοµένα γίνεται µε µη σειριακό τρόπο, όπως η πρόσβαση σε αρχεία σε έναν σκληρό δίσκο. Για να λυθεί αυτό το πρόβληµα εφευρέθηκε µια µέθοδος κρυπτογράφησης που είναι γνωστή µε το όνοµα counter mode.

Counter mode Με τη µέθοδο αυτή το αρχικό κείµενο δεν κρυπτογραφείται άµεσα. Ένα διάνυσµα αρχικοποίησης (IV) κρυπτογραφείται και γίνεται XOR µε το πρώτο κοµµάτι κειµένου. Για κάθε νέο κοµµάτι κειµένου το IV αυξάνεται κατά ένα και η διαδικασία επαναλαµβάνεται. Έτσι, κάθε block κειµένου µπορεί να αποκρυπτογραφηθεί ανεξάρτητα από τα υπόλοιπα ανάλογα µε τη θέση του. Η µέθοδος έχει την ίδια αδυναµία µε την προηγούµενη. Είναι ευαίσθητη σε keystream reuse attack. Counter mode

Αλγόριθµοι συµµετρικού κλειδιού ιανοµή κλειδιών ιανοµή κλειδιών Ηισχύς κάθε κρυπτογραφικού συστήµατος βρίσκεται στη διανοµή των κλειδιών. Οι δυνατότητες είναι οι εξής: 1. Ο Α επιλέγει το κλειδί και το δίνει αυτοπροσώπως στον Β 2. Ένα τρίτο µέρος επιλέγει το κλειδί και το δίνει αυτοπροσώπως στους άλλους δύο 3. Ο Α και ο Β διαθέτουν ήδη ένα ασφαλές (κρυπτογραφηµένο) κανάλι επικοινωνίας και ανταλλάσσουν το κλειδί µέσα από αυτό. 4. Αν ο Α και ο Β διαθέτουν ήδη ένα ασφαλές κανάλι επικοινωνίας µε έναν τρίτο C, ο Cµπορεί να παραδώσει το νέο κλειδί στους Α και Β µέσω της σύνδεσης αυτής.

ιανοµή κλειδιών Προτιµητέα µέθοδος είναι η τέταρτη Χρησιµοποιούνται δύο ειδών κλειδιά: Session key: κλειδί µιας χρήσης που χρησιµοποιείται κατά τη διάρκεια µιας επικοινωνίας µεταξύ των µερών. Permanent key: µόνιµο κλειδί γνωστό εκ των προτέρων που δεν ανταλλάσσεται πάνω από το δίκτυο. Χρησιµοποιείται µόνο για την κρυτπογράφηση και αποστολή των session keys. Στοιχεία υλοποίησης Κέντρο διαµοιρασµού κλειδιών (key distribution center): Προσδιορίζει ποιος επιτρέπεται να επικοινωνεί µε ποιόν. Όταν δοθεί η εξουσιοδότηση για την επικοινωνία µεταξύ δύο µερών, το KDK παρέχει στους συµµετέχοντες το κλειδί µιας χρήσης (session key) Front-end processor: είναι ο επεξεργαστής που εκτελεί την κρυπτογράφηση από άκρο σε άκρο και παραλαµβάνει τα κλειδιά µιας χρήσης εκ µέρους του Η/Υ ή του τερµατικού που εκπροσωπεί.

Αυτόµατη διανοµή κλειδιού