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

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

Ενςωματωμένα Συςτήματα Υλοποίηςη του SDES ςε Hardware

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

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

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

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

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

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

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

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

UP class. & DES και AES

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

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

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

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

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

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

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Πολλαπλασιασμός: αλγόριθμος

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

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

Οδηγός Ασκήσεων Υποδικτύωσης

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Συναρτήσεις Θεωρία Ορισμοί - Παρατηρήσεις

Διάλεξη 19: Κατανομή Πόρων Κόψιμο Τούρτας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

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

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

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

Εισαγωγή στους Αλγόριθμους

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

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

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

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

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

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

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

Ισοζυγισμένα υαδικά έντρα Αναζήτησης

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

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

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

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

«Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ BarCode» ( Μια πρόταση για ένα μαθητικό project )

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

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

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

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

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

Ομογενή Συστήματα Ορισμός Ενα σύστημα λέγεται ομογενές αν όλοι οι σταθεροί όροι του (δηλαδή οι όροι του δεξιού μέλους του συστήματος) είναι μηδέν.

Εισαγωγή στην επιστήμη των υπολογιστών

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

ΘΕΜΑΤΑ ΠΡΟΚΑΤΑΡΤΙΚΗΣ ΦΑΣΗΣ 7 ου ΠΑΝΕΛΛΗΝΙΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ 1995 ΘΕΜΑΤΑ ΓΥΜΝΑΣΙΟΥ

ΦΥΣΙΚΗ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ 2013

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

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

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

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

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

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

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

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

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

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

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

IV.13 ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ 1 ης ΤΑΞΕΩΣ

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

Εισαγωγή Εγγραφών Κέντρων Κόστους

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

5. ΤΕΧΝΙΚΕΣ ΑΠΛΟΠΟΙΗΣΗΣ

Visual Flowchart Γενικά

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

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

ΑΣΚΗΣΗ 7 ΚΩΔΙΚΕΣ Η ΟΘΟΝΗ 7 ΤΜΗΜΑΤΩΝ - ΚΩΔΙΚΟΠΟΙΗTΕΣ ( ENCODERS )

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

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

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

11 Το ολοκλήρωµα Riemann

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

Transcript:

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

S-DES Γενικά (1) Ο αλγόριθμος DES χρησιμοποιεί κλειδιά μεγέθους 56 bit Ο απλοποιημένος συμμετρικός αλγόριθμος S- DES. Ο S-DES παίρνει σαν είσοδο ένα 8-bit απλό κείμενο και ένα κλειδί 10-bit και παράγει ένα 8-bit κρυπτογράφημα σαν έξοδο: Είσοδος: 01001110 Κλειδί: 0101110001 Έξοδος: 00110100 2

S-DES Γενικά (2) Ο S-DES εσωκλείει 5 συναρτήσεις για τη διαδικασία κρυπτογράφησης: Συνάρτηση1: αρχική αντιμετάθεση (initial permutation, IP). Συνάρτηση2: σύνθετη συνάρτηση f K (περιλαμβάνει αντιμετάθεση και αλλαγή και εξαρτάται από το κλειδί εισόδου). Συνάρτηση3: απλή συνάρτηση αντιμετάθεσης των δύο μισών εισόδου (switch, SW). Συνάρτηση4: τη σύνθετη συνάρτηση f K και πάλι. Συνάρτηση5: τελική αντιμετάθεση, που είναι η αντίστροφη της αρχικής αντιμετάθεσης (IP -1 ). 3

S-DES Γενικά (3) Ο S-DES εσωκλείει 5 βήματα για την παραγωγή των δύο υποκλειδιών: Βήμα1: Αντιμετάθεση P 10. Βήμα2: Αριστερή ολίσθηση LS-1. Βήμα3: Αντιμετάθεση P 8. Βήμα4: ιπλή αριστερή ολίσθηση LS-2. Βήμα5: Αντιμετάθεση P 8 (ξανά). 4

S-DES Γενικά (4) Σχηματικά: αρχική αντιμετάθεση απλή συνάρτηση αντιμετάθεσης των δύο μισών εισόδου τελική αντιμετάθεση 5

S-DES Γενικά (5) Παρατηρήσεις: Οι διαδικασίες P 8 και P 10 είναι απλές αντιμεταθέσεις. Είναι φανερό ότι από το γράφημα χρησιμοποιούνται δύο κλειδιά, το κλειδί Κ 1 και το κλειδί Κ 2, τα οποία προκύπτουν από το αρχικό κλειδί Κ. Το αρχικό κλειδί Κ έχει εύρος 10-bit, ενώ τα υποκλειδιά Κ 1 και Κ 2 έχουν εύρος 8-bit το καθένα. Η κρυπτογράφηση τροφοδοτείται πρώτα με το υποκλειδί Κ 1 και στη συνέχεια με το υποκλειδί Κ 2. 6

S-DES Γενικά (6) Η κρυπτογράφηση μπορεί να εκφραστεί ως εξής: c = κρυπτογράφημα. m = απλό κείμενο. c= IP -1 (f K2 (SW(f K1 (IP(m))))). Η παραγωγή των υποκλειδιών αναλύεται: K 1 = P8(Shift(P10(K))). K 2 = P8(Shift(Shift(P10(K)))). 7

S-DES Γενικά (7) Η αποκρυπτογράφηση μπορεί να εκφραστεί ως εξής: c = κρυπτογράφημα. m = απλό κείμενο. m= IP -1 (f K1 (SW(f K2 (IP(c))))). Η παραγωγή των υποκλειδιών αναλύεται: K 1 = P8(Shift(P10(K))). K 2 = P8(Shift(Shift(P10(K)))). 8

S-DES Παραγωγή υποκλειδιών (1) Η παραγωγή του κλειδιού εμπεριέχει μία σειρά από στάδια όπου σχηματίζονται τα υποκλειδιά Κ 1 και Κ 2. LS-1: Αριστερή ολίσθηση κατά 1 bit 9

S-DES Παραγωγή υποκλειδιών (2) Εάν θεωρήσουμε ότι το 10-bit κλειδί έχει την ακόλουθη μορφή: (k 1, k 2, k 3, k 4, k 5, k 6, k 7, k 8, k 9, k 10 ) Μετά την αντιμετάθεση της συνάρτησης P 10 το κλειδί αλλάζει μορφή: (k 3, k 5, k 2, k 7, k 4, k 10, k 1, k 9, k 8, k 6 ) Αφού η αντιμετάθεση της συνάρτησης P 10 έχει ως εξής: P10 3 5 2 7 4 10 1 9 8 6 10

S-DES Παραγωγή υποκλειδιών (3) Παράδειγμα: Το κλειδί Κ πριν την εφαρμογή της P 10 : 1010000010 Το κλειδί Κ μετά την εφαρμογή της P 10 : 1000001100 11

Παραγωγή υποκλειδιών 12

S-DES Παραγωγή υποκλειδιών (4) Στη συνέχεια το κλειδί διαχωρίζεται στη μέση και στο κάθε κομμάτι ξεχωριστά εφαρμόζεται η ολίσθηση LS-1 Κυκλική αριστερή ολίσθηση κατά 1 bit 13

S-DES Παραγωγή υποκλειδιών (5) Παράδειγμα: Το κλειδί Κ πριν την μετατόπιση της LS-1: Μέρος1: 10000 Μέρος2: 01100 Το κλειδί Κ μετά την μετατόπιση της LS-1: Μέρος1: 00001 Μέρος2: 11000 14

Παραγωγή υποκλειδιών 15

S-DES Παραγωγή υποκλειδιών (6) Ακολούθως εφαρμόζεται η αντιμετάθεση P 8 στα δύο μέρη του κλειδιού και προκύπτει το υποκλειδί Κ 1. Στην μετατόπιση P 8 εισάγονται δύο μέρη των 5-bit και εξάγεται ένα ενιαίο υποκλειδί των 8-bit. 16

S-DES Παραγωγή υποκλειδιών (7) Εάν θεωρήσουμε ότι το 10-bit κλειδί έχει την ακόλουθη μορφή: Μέρος1: (k 1, k 2, k 3, k 4, k 5 ) Μέρος2: (k 6, k 7, k 8, k 9, k 10 ) Μετά την αντιμετάθεση της συνάρτησης P 8 σχηματίζεται το υποκλειδί Κ 1 : (k 6, k 3, k 7, k 4, k 8, k 5, k 10, k 9 ) Αφού η αντιμετάθεση της συνάρτησης P 8 έχει ως εξής: P 8 637485109 17

Παραγωγή υποκλειδιών 18

S-DES Παραγωγή υποκλειδιών (8) Αφού σχηματιστεί το υποκλειδί Κ 1 τα δύο μέρη των 5-bit (πριν την εφαρμογή της μετατόπισης P 8 ) υφίστανται ξεχωριστά ολίσθηση με βάση τη συνάρτηση LS-2 Κυκλική αριστερή ολίσθηση κατά 2 bit 19

S-DES Παραγωγή υποκλειδιών (9) Παράδειγμα: Τα δύο μέρη πριν την μετατόπιση της LS-2: Μέρος1: 00001 Μέρος2: 11000 Τα δύο μέρη μετά την μετατόπιση της LS-2: Μέρος1: 00100 Μέρος2: 00011 20

Παραγωγή υποκλειδιών 21

S-DES Παραγωγή υποκλειδιών (10) Μετά την ολίσθηση LS-2 τα δύο μέρη των 5-bit υφίστανται αντιμετάθεση σύμφωνα με την συνάρτηση P 8. Στη συνάρτηση P 8 εισάγονται δύο μέρη των 5-bit και εξάγεται το υποκλειδί K 2 που έχει εύρος 8-bit. 22

S-DES Παραγωγή υποκλειδιών (11) Παράδειγμα: Τα δύο μέρη πριν την αντιμετάθεση P 8 : Μέρος1: 00100 Μέρος2: 00011 Το υποκλειδί Κ 2 μετά την αντιμετάθεση P 8 : Υποκλειδί Κ 2 : 01000011 23

S-DES Παραγωγή υποκλειδιών (12) Παράδειγμα παραγωγής των υποκλειδιών Κ 1 και Κ 2 από το ενιαίο κλειδί Κ: Το 10-bit κλειδί Κ: 1010000010 Το 8-bit υποκλειδί Κ 1 : 10100100 Το 8-bit υποκλειδί Κ 2 : 01000011 24

S-DES Κρυπτογράφηση (1) Σχηματικά η διαδικασία κρυπτογράφησης: 25

S-DES Κρυπτογράφηση (2) Η κρυπτογράφηση του S-DES αποτελείται από δύο συνεχόμενα βήματα όπου γίνεται διπλή εφαρμογή της συνάρτησης f K, πρώτα με είσοδο το υποκλειδί Κ 1 και μετά με είσοδο το υποκλειδί Κ 2. Η συνάρτηση f K μπορεί να περιγραφεί: f K (L,R) = (L XOR F(R,SK),R) Όπου: L: το αριστερό 4-bit μέρος του απλού μηνύματος. R: το δεξί 4-bit μέρος του απλού μηνύματος. F: η ενδιάμεση διαδικασία αντιμετάθεσης και μετατόπισης (εισάγονται 4-bit και εξάγονται 4-bit). SK: το υποκλειδί. 26

S-DES Κρυπτογράφηση (3) Αρχικά το απλό μήνυμα των 8-bit εισάγεται για κρυπτογράφηση. Το αρχικό απλό μήνυμα αντιμετατίθεται σύμφωνα με τη συνάρτηση IP. 27

S-DES Κρυπτογράφηση (4) Εάν θεωρήσουμε ότι το 8-bit απλό μήνυμα έχει την ακόλουθη μορφή: (m 1, m 2, m 3, m 4, m 5,m 6, m 7, m 8 ) Μετά την αντιμετάθεση της συνάρτησης IP σχηματίζεται το μήνυμα: (m 2, m 6, m 3, m 1, m 4,m 8, m 5, m 7 ) Αφού η αντιμετάθεση της συνάρτησης IP έχει ως εξής: IP 2 6 3 1 4 8 5 7 Παράδειγμα: Το μήνυμα m πριν την εφαρμογή της IP: 11110011 Το μήνυμα m μετά την εφαρμογή της IP: 10111101 28

S-DES Κρυπτογράφηση (5) Μετά την αντιμετάθεση της συνάρτησης IP το μήνυμα χωρίζεται στο αριστερό (L) και στο δεξί (R) μέρος του. Παράδειγμα: Το μήνυμα m (10111101) χωρίζεται: Στο αριστερό μέρος L: 1011 Και στο δεξί μέρος R: 1101 29

S-DES Κρυπτογράφηση 30

S-DES Κρυπτογράφηση (6) Στη συνέχεια το δεξιό μέρος R εισάγεται στη συνάρτηση E/P. Η συνάρτηση E/P λαμβάνει 4-bit είσοδο και παράγει 8-bit έξοδο. ηλαδή Εάν θεωρήσουμε ότι το δεξί 4-bit μέρος έχει την ακόλουθη μορφή: (r 1, r 2, r 3, r 4 ) Μετά την αντιμετάθεση/επέκταση της συνάρτησης E/P σχηματίζεται η 8-bit μορφή: (r 4, r 1, r 2, r 3, r 2,r 3, r 4, r 1 ) Αφού η αντιμετάθεση/επέκταση της συνάρτησης E/P έχει ως εξής: E/P 4 1 2 3 2 3 4 1 31

S-DES Κρυπτογράφηση (7) Παράδειγμα: Το δεξί μέρος r πριν από την είσοδο στη συνάρτηση E/P: r = 1101 Μετά την έξοδο από τη συνάρτηση E/P: 11101011 32

S-DES Κρυπτογράφηση (8) H 8-bit έξοδος από τη συνάρτηση E/P συνδυάζεται με το 8-bit υποκλειδί K 1 με πράξη XOR. Η 8-bit έξοδος από την συνάρτηση E/P είναι: 11101011 Το 8-bit υποκλειδί Κ 1 είναι: 10100100 Το 8-bit αποτέλεσμα έχει τη μορφή: 01001111 33

S-DES Κρυπτογράφηση 34

S-DES Κρυπτογράφηση (9) Το πρώτο (αριστερό) μέρος εισάγεται στο κουτί-s 0 και το δεύτερο (δεξιό) εισάγεται στο κουτί-s 1. Τα κουτιά S 0 και S 1 δέχονται 4-bit εισόδους και παράγουν 2-bit εξόδους. Τα κουτιά αποτελούν διδιάστατους πίνακες 4Χ4 που περιέχουν δεκαδικούς αριθμούς από 0 έως και 3. Η 4-bit είσοδος «σπάει» στη μέση και το πρώτο μέρος δηλώνει το δεκαδικό αριθμό σειράς και το δεύτερο μέρος δηλώνει το δεκαδικό αριθμό στήλης. 35

S-DES Κρυπτογράφηση (10) Στο κουτί S 0 εισάγεται το 4-bit μέρος 0100 και στο κουτί S 1 εισάγεται το 4-bit μέρος 1111. Για το κουτί S 0 : Το πρώτο και το τέταρτο bit μετατρέπονται σε δεκαδικό αριθμό και δηλώνουν την γραμμή στο κουτί S 0 : ηλαδή: 00 (2) 0 (10) σειρά 0 Το δεύτερο και το τρίτο bit μετατρέπονται σε δεκαδικό αριθμό και δηλώνουν την στήλη στο κουτί S 0 : ηλαδή: 10 (2) 2 (10) στήλη 2 Για το κουτί S 1 : Το πρώτο και το τέταρτο bit μετατρέπονται σε δεκαδικό αριθμό και δηλώνουν την γραμμή στο κουτί S 1 : ηλαδή: 11 (2) 3 (10) σειρά 3 Το δεύτερο και το τρίτο bit μετατρέπονται σε δεκαδικό αριθμό και δηλώνουν την στήλη στο κουτί S 1 : ηλαδή: 11 (2) 3 (10) στήλη 3 36

S-DES Κρυπτογράφηση (11) Τα κουτιά S 0 και S 1 περιέχουν συγκεκριμένες τιμές: S 0 S 1 1 0 3 2 3 2 1 0 0 2 1 3 3 1 3 2 0 1 2 3 2 0 1 3 3 0 1 0 2 1 0 3 37

S-DES Κρυπτογράφηση (11) Επομένως το τμήμα που εξάγεται από το κουτί S 0 δείχνει στη δεκαδική τιμή 3 11 και το τμήμα που εξάγεται από το κουτί S 1 δείχνει στη δεκαδική τιμή 3 11. Με αυτόν τον τρόπο από το κουτί S 0 εξάγεται το τμήμα 11 και από το κουτί S 1 εξάγεται το τμήμα 11. 38

S-DES Κρυπτογράφηση 39

S-DES Κρυπτογράφηση (12) Τα δύο τμήματα εισάγονται ενοποιημένα στην συνάρτηση αντιμετάθεσης P 4. Η συνάρτηση P 4 δέχεται δύο τμήματα των 2-bit και εξάγει ένα 4-bit τμήμα. ηλαδή Εάν θεωρήσουμε ότι τα δύο τμήματα των 2-bit έχουν την ακόλουθη μορφή: (t 1, t 2 ), (t 3, t 4 ) Μετά την αντιμετάθεση της συνάρτησης P 4 σχηματίζεται η 4-bit μορφή: (t 2, t 4, t 3, t 1 ) Αφού η αντιμετάθεση της συνάρτησης P 4 έχει ως εξής: P 4 2 4 3 1 40

S-DES Κρυπτογράφηση (13) Για το συγκεκριμένο παράδειγμα η έξοδος από τη συνάρτηση P 4 θα είναι: 1111 Έπειτα το 4-bit μέρος συνδυάζεται με πράξη XOR με το αρχικό τμήμα L: 1111 XOR L = 1111 XOR 1011 = 0100 Το τμήμα αυτό εισάγεται στη συνάρτηση SW σαν αριστερό μέλος, ενώ το δεξιό μέλος είναι το τμήμα R = 1101. Η συνάρτηση SW αντιστρέφει το αριστερό και δεξί μέλος και τα δύο τμήματα επαναεισάγονται στη συνάρτηση f K με όμοιο τρόπο. Η μόνη αλλαγή στη νέα εκτέλεση της f K είναι ότι χρησιμοποιείται το υποκλειδί Κ 2. 41

S-DES Ισχύς & Σχέση με DES Ισχύς του S-DES. Μία «βίαιη επίθεση» είναι εφικτό να παραβιάσει τον S- DES, αφού με ένα 10-bit κλειδί υπάρχουν μόνο 2 10 = 1024 πιθανότητες. Ο S-DES αποτελεί μία μικρογραφία του DES (χρησιμοποιείται για εκπαιδευτικούς σκοπούς). Ο S-DES δέχεται 8-bit απλό κείμενο, ενώ ο DES 64-bit απλό κείμενο. Ο S-DES δέχεται 10-bit κλειδί, ενώ ο DES 64-bit (το οποίο μετατρέπεται σε 56-bit). Ο S-DES χρησιμοποιεί 2 υποκλειδιά, ενώ ο DES 16. 42

Παράδειγμα (1) K = 1010101010 P10 = 3 5 2 7 4 10 1 9 8 6 P10(K) = 1101001100 KL = 11010 KR = 01100 LS-1(KL) = 10101 LS-1(KR) = 11000 K`= LS-1(KL) LS-1(KR) =1010111000 43

Παράδειγμα (2) K`= 1010111000 P8 = 6 3 7 4 8 5 10 9 P8(K`) = 11100100 K1 = 11100100 LS-2(LS-1(KL))=LS-2(10101) = 10110 LS-2(LS-1(KR))= LS-2(11000) = 00011 44

Παράδειγμα (3) K`` = LS-2(LS-1(KL)) LS-2(LS-1(KR)) = 1011000011 P8 = 6 3 7 4 8 5 10 9 P8(K``) = 01010011= K2 45

Παράδειγμα (4) K1 = 11100100 K2 = 01010011 Plaintext m = 11110000 IP = 2 6 3 1 4 8 5 7 IP(m) = 10111000 ml = 1011 mr = 1000 46

Παράδειγμα (5) E/P = 4 1 2 3 3 2 4 1 E/P(mR) = E\P(1000) = 01000001 E/P(mR) xor K1 = 01000001xor 11100100= 10100101 m`l = 1010 m`r = 0101 47

Παράδειγμα (6) m`l = 1010 S 0 (m`l) = 2 = 10 m`r = 0101 S 1 (m`r) = 1 = 01 m``= m`l m`r = 1001 P4 = 2 4 3 1 P4(m``) = 0101 ml xor P4(m``) = 1011 xor 0101= 1110 S 0 1 0 3 2 3 2 1 0 0 2 1 3 3 1 3 2 S 1 0 1 2 3 2 0 1 3 3 0 1 0 2 1 0 3 48

Παράδειγμα (7) (ml xor P4(m``)) SW mr = 1110 SW 1000 = 10001110 ML = 1000 MR = 1110 K2 = 01010011 49

Παράδειγμα (8) E/P = 4 1 2 3 2 4 1 E/P(MR) = E/P(1110) = 01111101 E/P(MR) xor K2 = = 01111101 xor 01010011 = 00101110 M`L = 0010 M`R = 1110 50

Παράδειγμα (9) M`L = 0010 S 0 (M`L) = 0 = 00 M`R = 1110 S 1 (m`r) = 0 = 00 M``= M`L M`R = 0000 P4 = 2 4 3 1 P4(M``) = 0000 ML xor P4(M``) = 1000 xor 0000 = 1000 S 0 1 0 3 2 3 2 1 0 0 2 1 3 3 1 3 2 S 1 0 1 2 3 2 0 1 3 3 0 1 0 2 1 0 3 51

Παράδειγμα (10) IP = 2 6 3 1 4 8 5 7 IP-1(ML xor P4(M``),MR) = IP-1(1000,1110)= = 01011001 c = 01011001 52

Αποκωδικοποίηση IP = 2 6 3 1 4 8 5 7 E/P = 4 1 2 3 2 3 4 1 P4 = 2 4 3 1 SW αντιμετάθεση left and right S 0 1 0 3 2 3 2 1 0 0 2 1 3 3 1 3 2 S 1 0 1 2 3 2 0 1 3 3 0 1 0 2 1 0 3 53