Κρυπτογραφία 3. Κλασσικοί Αλγόριθμοι Κέρκυρα, 2012 Ε. Μάγκος Syllabus Α. Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί): 3.1. Αλγόριθμος Ολίσθησης (Shift Cipher) + Κρυπτανάλυση 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης (Substitution Cipher) + Κρυπτανάλυση 3.3. Αλγόριθμος Affine (Affine Cipher) + Κρυπτανάλυση Β. Αλγόριθμοι Αντικατάστασης (Πολυαλφαβητικοί): 3.4. Αλγόριθμος Vigenere (Vigenere Cipher) + Κρυπτανάλυση 3.5. Αλγόριθμος Hill (Hill Cipher) + Κρυπτανάλυση Γ. Αλγόριθμοι Αναδιάταξης: 3.6. Αλγόριθμος Αντιμετάθεσης (Permutation Cipher) J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. Κρυπτοσύστημα Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Αλγόριθμοι Αντικατάστασης Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Κλασσικοί (Μονοαλφαβητικοί και Πολυαλφαβητικοί) 1. Κάθε χαρακτήρας του αρχικού κειμένου (plaintext) αντικαθίσταται από κάποιον χαρακτήρα στο κρυπτογραφημένο κείμενο (ciphertext) Μονοαλφαβητικοί Αλγόριθμοι 2. Ένας χαρακτήρας κρυπτογραφεί πάντα τον ίδιο αρχικό χαρακτήρα Πολυαλφαβητικοί Αλγόριθμοι Ένας χαρακτήρας κρυπτογραφεί περισσότερους από έναν αρχικούς χαρακτήρες Ουσιαστικά αποτελείται από πολλούς απλούς αλγόριθμους (μονοαλφαβητικούς) ! Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Α. Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί) * 3.1 Αλγόριθμος Ολίσθησης (Shift Cipher) * Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.1 Αλγόριθμος Ολίσθησης Τhe Shift Cipher Έστω ότι Κ = 11 και το μήνυμα: we will meet at midnight 1. Μετατρέπουμε το μήνυμα σε αριθμούς από το 0-25 (στο Z26) we will meet at midnight 2. Προσθέτουμε το 11 (modulo 26) σε κάθε αριθμό 3. Μετατρέπουμε σε αλφαβητικούς χαρακτήρες HPHTWWXPPELEXTOYTRSE 4. Αποκρυπτογράφηση: Μετατρέπουμε το κρυπτοκείμενο σε αριθμό στο Z26 και αφαιρούμε το 11 (modulo 26) 3.1 Αλγόριθμος Ολίσθησης Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Κρυπτανάλυση – Μέθοδος Α O αλγόριθμος shift δεν είναι ασφαλής Αριθμός υποψήφιων κλειδιών: 26 κλειδιά Ο «εχθρός» μπορεί εύκολα να δοκιμάσει όλα τα κλειδιά (brute force, exhaustive key search) Παράδειγμα: Κρυπτανάλυση της φράσης m j a i a m w l x s v i t p e g i p i x x i v που έχει κρυπτογραφηθεί με τον αλγόριθμο Shift 3.1 Αλγόριθμος Ολίσθησης Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Κρυπτανάλυση Ο «εχθρός» μπορεί εύκολα να δοκιμάσει όλα τα κλειδιά Κρυπτογράφημα (ciphertext) – mjaiamwlxsvitpegipixxiv Δοκιμή 1: lizhzlvkwruhsodfhohwwhu (αποκρυπτογράφηση με Κ=1) Δοκιμή 2: khygykujvotgrncegngvvgt (αποκρυπτογράφηση με Κ=2) Δοκιμή 3: jgxfxjtiupsfombdfmfuufs (αποκρυπτογράφηση με Κ=3) Δοκιμή 4: ifwewishtoreplaceletter (αποκρυπτογράφηση με Κ=4) Επομένως, Κ=4 J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.1 Αλγόριθμος Ολίσθησης Κρυπτανάλυση Παράδειγμα Νο 2: Υποκλαπέν Μήνυμα: Κατά μέσο όρο, το αρχικό μήνυμα θα κρυπταναλυθεί μετά από |Κ|/2 δοκιμές, όπου |Κ| είναι ο αριθμός των κλειδιών ! Αναγκαία Συνθήκη: Το πλήθος των κλειδιών πρέπει να αποτρέπει επιθέσεις εξαντλητικής αναζήτησης J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. 3.1. Αλγόριθμος Ολίσθησης (Shift cipher) Κρυπτανάλυση – Μέθοδος Β mjaiamwlxsvitpegipixxiv Μία διαφορετική τεχνική κρυπτανάλυσης 1. Κάθε γράμμα του (π.χ. Αγγλικού) αλφαβήτου αντιστοιχίζεται στο [0,25] 2. Έστω pi όπου 0 i 25 η πιθανότητα εμφάνισης του γράμματος. Χρησιμοποιώντας γνωστές τιμές του pi 25 i -οστού : pi 0.065 2 i 0 3. Έστω κρυπτογράφημα με qi τη πιθανότητα του i -οστού γράμματος στο κρυπτογράφημα (εμφανίσεις/πλήθος) 4. Αν το κλειδί είναι αναμένουμε qi k k τότε pi για κάθε i J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. 3.1. Αλγόριθμος Ολίσθησης (Shift cipher) Κρυπτανάλυση – Μέθοδος Β mjaiamwlxsvitpegipixxiv 25 pi 0.065 i 0 2 5. Ισοδύναμα, υπολογίζουμε 25 I k pi qi k i 0 για κάθε k {0,...,25} 6. Το πείραμα δίνει στην έξοδο k όταν I k 0.065 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί) 3.2. Γενικευμένος Αλγόριθμος Αντικατάτασης (Substitution cipher) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης (Substitution cipher) Κάθε γράμμα αντικαθίσταται με ένα άλλο μοναδικό γράμμα Η αντιστοιχία είναι 1-1 Πίνακας Κρυπτογράφησης Πίνακας Αποκρυπτογράφησης Αριθμός πιθανών κλειδιών Όσες οι αντιμεταθέσεις 26 στοιχείων: Κ= 26! (4 Χ 1026 πιθανά κλειδιά) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης $ (Substitution cipher) Αποκρυπτογραφείστε το ακόλουθο μήνυμα: MGZVYZLGHCMHJMYXSSFMNHAHYCDLMHA που έχει κρυπτογραφηθεί με τον Αλγόριθμο Αντικατάστασης, όπου το κλειδί κρυπτογράφησης είναι η μετάθεση που περιγράφεται από τον πίνακα: Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης (Substitution cipher) Αρχικό κείμενο: Κρυπτογραφημένο κείμενο: J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί) Υπολογιστική Ασφάλεια και Κρυπτανάλυση Κάθε ΑΣΦΑΛΕΣ κρυπτοσύστημα θα πρέπει να έχει ένα σύνολο κλειδιών ανθεκτικό σε επιθέσεις εξαντλητικής αναζήτησης (σήμερα: > 260 κλειδιά) H παραπάνω αρχή αποτελεί αναγκαία αλλά όχι ικανή συνθήκη Αλγόριθμος Ολίσθησης (Shift) Μικρό πλήθος υποψήφιων κλειδιών (key set) Όχι ασφάλεια (Γενικευμένος) Αλγόριθμος Αντικατάστασης (Substitution cipher) Μεγάλο πλήθος κλειδιών, μονοαλφαβητικός αλγόριθμος Όχι ασφάλεια 26! = 403,291,461,126,605,635,584,000,000 (περίπου 288 κλειδιά) Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση Συχνότητα Εμφάνισης (Αγγλικοί χαρακτήρες) 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης - Κρυπτανάλυση Πιθανότητες εμφάνισης γραμμάτων E, - με πιθανότητα ~ 0.120 T, A, O, I, N, S, H, R - με πιθανότητα (0.06-0.09) D, L – με πιθανότητα ~ 0.04 C, U, M, W, F, G, Y, P, B - με πιθανότητα (0.015 – 0.028) V, K, J, X, Q, Z – με πιθανότητα < 0.01 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Δίψηφων * TH ,HE, IN, ER, AN, RE, ED, ON, ES, ST, EN, AT, TO, NT, HA, ND, OU, EA, NG, AS, OR, TI, IS, ET, IT, AR, TE, SE, HI, OF Τρίψηφων THE, ING, AND, HER, ERE, END, THA NTH, WAS, ETH, FOR, DTH Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση Φτιάχνουμε έναν πίνακα συχνοτήτων εμφάνισης Ο πιο «συχνός» χαρακτήρας: Ζ Οι αμέσως πιο «συχνοί» χαρακτήρες Υποθέτουμε ότι D(‘Z’) = ‘e’ {M, C, D, F, J, R, Y, N} Συνέχεια εξετάζουμε τα δίψηφα που εμφανίζονται πιο συχνά ZW, DZ (4 φορές) Το ZW εμφανίζεται συχνά, το WZ καθόλου, ενώ το W σπάνια Αρα, «ίσως» D(‘W’)= ‘d’ ΝΖ, ΖU (3 φορές) … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση Ίσως D(‘C’) = ‘A’ … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση Ίσως D(‘M’) = ‘i’ ή D(‘M’) = ‘ο’ … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση … Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.2. Γενικευμένος Αλγόριθμος Αντικατάστασης Κρυπτανάλυση * Θέλετε να δοκιμάσετε την κρυπτανάλυση του; Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Αλγόριθμοι Αντικατάστασης (Μονοαλφαβητικοί) 3.3. O αλγόριθμος Affine $ Αριθμός κλειδιών = Φ(26) x 26 = 12 x 26 = 312 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.3. Ο αλγόριθμος Affine Από τη θεωρία αριθμών, είναι γνωστό ότι ο a έχει πολλαπλασιαστικό αντίστροφο στο Zm μόνον και μόνον όταν οι a και m είναι πρώτοι μεταξύ τους, δηλαδή: Παρακάτω δίνονται οι αριθμοί και οι αντίστροφοι τους στο Z26 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.3. Ο αλγόριθμος Affine Παράδειγμα: Κρυπτογράφηση της λέξης “hot” με τον αλγόριθμο Affine, έχοντας ως κλειδί: (a, b) = (7, 3). Όλες οι πράξεις γίνονται modulo 26 1. Η συνάρτηση κρυπτογράφησης δίνεται από τον τύπο 2. H συνάρτηση αποκρυπτογράφησης δίνεται από τον τύπο 3. Μετατρέπουμε τη λέξη hot σε αριθμούς στο Z26: h o t = 7, 14, 19 4. Στη συνέχεια κρυπτογραφούμε: Η λέξη που αντιστοιχεί στους χαρακτήρες 0, 23, 6 είναι η “AXG” 3.3. Ο αλγόριθμος Affine * Αποκρυπτογραφείστε τη λέξη AYR που έχει κρυπτογραφηθεί με τον αλγόριθμο Affine, χρησιμοποιώντας ως κλειδί το (a, b) = (3, 8). Όλες οι πράξεις να γίνουν στο Z26 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.3. Ο αλγόριθμος Affine Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Κρυπτανάλυση Έστω η Eve έχει υποκλέψει το παρακάτω κείμενο FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDK APRKDLYEVLRHHRH Η Eve γνωρίζει ότι το κείμενο έχει κρυπτογραφηθεί με τον αλγόριθμο Affine Η Εve καταγράφει τη συχνότητα εμφάνισης των χαρακτήρων στο κείμενο FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH 3.3. Ο αλγόριθμος Affine Κρυπτανάλυση 1. Η Eve πιθανολογεί ότι το R κρυπτογραφεί το e, και ότι το D κρυπτογραφεί το t. Εφόσον η συνάρτηση κρυπτογράφησης του Affine είναι γνωστή, και με δεδομένη την αντιστοίχιση R = 17, e=4, t=19, D=3, η Eve μπορεί να επιλύσει: .. Όπου οι άγνωστοι α και b είναι το κλειδί του αλγορίθμου. Στην προκειμένη περίπτωση, η Eve βρίσκει ότι a=6 και b=19 2. Η Eve γνωρίζει ότι ΔΕΝ μάντεψε σωστά αφού gcd(6,26)=2 >1, και επιστρέφει στο βήμα 1. FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH 3.3. Ο αλγόριθμος Affine Κρυπτανάλυση Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Η Eve μαντεύει την επόμενη αντιστοίχηση: π.χ. R=e και Κ=t. Όμοίως με το βήμα 1, βρίσκει ότι , το οποίο είναι ένα έγκυρο κλειδί !! Γνωρίζοντας τα a,b, Η Εve δημιουργεί τη συνάρτηση αποκρυπτογράφησης: … και προσπαθεί να αποκρυπτογραφήσει το μήνυμα. Πράγματι, το αποτέλεσμα τη δικαιώνει: * Σε περίπτωση που το κείμενο δεν έβγαζε νόημα, τότε η Eve θα επέστρεφε στο βήμα 1 ώστε να «μαντέψει» την επόμενη αντιστοίχιση. Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Κλασσικοί Κρυπτογραφικοί Αλγόριθμοι Μονοαλφαβητικοί Αλγόριθμοι Αντικατάστασης Οι περισσότεροι μονοαλφαβητικοί αλγόριθμοι (ως τώρα) αποτελούν ειδικές περιπτώσεις του γενικευμένου αλγόριθμου αντικατάστασης !!! Shift Cipher 3 Ceasar 3 Affine = + Shift Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Β. Αλγόριθμοι Αντικατάστασης (Πολυαλφαβητικοί) 3.4. O αλγόριθμος Vigenere Ένα σύνολο από Shift Ciphers !!!! Αριθμός κλειδιών: 26m (π.χ. για m=5, το εύρος του συνόλου κλειδιών: 1.1x107) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Παράδειγμα: Έστω κλειδί είναι η λέξη CIPHER, δηλαδή Κ=(2,8,15,7,4,17) Έστ και επιθυμούμε να κρυπτογραφήσουμε τη φράση thiscryptosystemisnotsecure. Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 3.4. Τhe Vigenere Cipher Παράδειγμα: Κρυπτογραφήστε τη φράση με τον αλγόριθμο Vigenere, χρησιμοποιώντας ως κλειδί τη λέξη gold Δίνεται η αντιστοίχιση των χαρακτήρων σε αριθμούς. Όλες οι πράξεις γίνονται modulo 26 J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. 3.4. Τhe Vigenere Cipher Κρυπτανάλυση Κρυπτανάλυση Vigenere Δυσχερέστερη σε σχέση με τους μονοαλφαβητικούς ΠΩΣ ΓΙΝΕΤΑΙ A. Εύρεση της περιόδου m του αλγορίθμου: 1. Η Μέθοδος του Kasiski (Babbage, 1854), ή 2. Η Μέθοδος Δείκτη Σύμπτωσης (Index of Coincidence) - (Friedman, 1920) B. Εφαρμογή Κρυπτανάλυσης αλγόριθμου ολίσθησης (Μέθοδος Β) D. Kahn. The CodeBreakers, Scribner, 1996 J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. D. Kahn. The CodeBreakers, Scribner, 1996 3.4. Τhe Vigenere Cipher Κρυπτανάλυση – Α1. Η Μέθοδος του Kasiski Παράδειγμα 1 Παράδειγμα 2 1. Η επίθεση αξιοποιεί το γεγονός ότι ορισμένα διγράμματα ή τριγράμματα εμφανίζονται συχνά σε κείμενα φυσικής γλώσσας. 2. Όταν δύο ή περισσότερες εμφανίσεις του “the” βρεθούν σε θέσεις j, m+j, 2m+j,… θα κρυπτογραφηθούν με το ίδιο μπλοκ χαρακτήρων. 3. Ο Kasiski παρατήρησε ότι η απόσταση μεταξύ παρόμοιων μπλοκ είναι ένας αριθμός πολλαπλάσιος της περιόδου του αλγορίθμου Η περίοδος είναι ο μέγιστος κοινός διαιρέτης (gcd) των αποστάσεων Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Κρυπτανάλυση – Α2. Δείκτης Σύμπτωσης (Index of Coincidence) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Κρυπτανάλυση – Α2. Δείκτης Σύμπτωσης (Index of Coincidence) LIVITCSWPIYVEWHEVSRIQMXLEYVEOIEWHRXEXIPFEM VEWHKV π.χ. m=6 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Κρυπτανάλυση – Υπολογισμός Περιόδου (Παράδειγμα) 1. Μέθοδος Kasiski Αποστάσεις μεταξύ των εμφανίσεων της ακολουθίας CHR: 2. Δείκτης Σύμπτωσης m=1; Δείκτης 0.045 m=2; 0.046, 0.041 165, 235, 275, 285 m=3; 0.043, 0.050, 0.047 ΜΚΔ: Πέντε (5) m=4; 0.042, 0.039, 0.045, 0.040 m=5; 0.063, 0.068, 0.069, 0.061, 0.063 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Κρυπτανάλυση Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.4. Τhe Vigenere Cipher Κρυπτανάλυση Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Αλγόριθμοι Αντικατάστασης (Πολυαλφαβητικοί) 3.5. O αλγόριθμος Hill * Lester Hill, 1929 Ιδέα: Κάθε χαρακτήρας κρυπτοκειμένου είναι γραμμικός μετασχηματισμός όλων των χαρακτήρων του αρχικού κειμένου! Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.5. O αλγόριθμος Hill Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.5. O αλγόριθμος Hill Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.5. O αλγόριθμος Hill W. Stallings. Cryptography and Network Security – Principles and Practice, 5th Edition. Pearson, 2011 3.5. O αλγόριθμος Hill Πλήρες Παραδειγμα (1/2) W. Stallings. Cryptography and Network Security – Principles and Practice, 5th Edition. Pearson, 2011 3.5. O αλγόριθμος Hill Πλήρες Παραδειγμα (2/2) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.5. O αλγόριθμος Hill Κρυπτανάλυση (Τύπος: known-plaintext) 1. 2. Ο εχθρός γνωρίζει/ έχει μάθει το m O εχθρός έχει τουλάχιστον m ζεύγη μηνυμάτων – κρυπτογραφημάτων Κρυπτανάλυση: Λύνουμε Y XK ως προς K αν η Χ αντιστρέφεται! x j ( x1, j , x2, j ,..., xm, j ) y j ( y1, j , y2, j ,..., ym, j ) όπου y j Enck (x j ) , 1 j m K X 1Y , X ( xi , j ),Y ( yi , j ) Γ. Αλγόριθμοι Αναδιάταξης Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.6. Αλγόριθμος Αντιμετάθεσης (Permutation Cipher) Γνωστός και ως Ο Αλγόριθμος Αναδιάταξης (Transposition Cipher) Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 3.6. Αλγόριθμος Αντιμετάθεσης Έστω m=6 με κλειδί την αντιμετάθεση π : x’ 1 2 3 4 5 6 p(x’) 3 5 1 6 4 2 Έστω το αρχικό μήνυμα: She sells sea shells by the sea shore Το μήνυμα διαμερίζεται σε ομάδες των 6 στοιχείων shesel lsseas hellsb ythese ashore Το μήνυμα, κρυπτογραφείται (αναδιατάσσεται) με βάση την π : Αποκρυπτογράφηση με κλειδί την αντίστροφη αντιμετάθεση π-1 : EESLSH SALSES LSHBLE HSYEET HRAEOS x 1 2 3 4 5 6 p1(x) 3 6 1 5 2 4 3.6. Αλγόριθμος Αντιμετάθεσης Παράδειγμα 2ο: Plaintext: Ciphertext: BRCFEYMLOAUR x’ CYBERFORMULA 1 2 3 4 5 6 p(x’) 3 5 1 6 4 2 π-1(x) 3 6 1 5 2 4 plaintext C Y B E R F O R M U L A ciphertext B R C F E Y M L O A U R x’ 3.6. Αλγόριθμος Αντιμετάθεσης Ειδική περίπτωση του αλγόριθμου Hill Σπίτι: Μπορείτε να τσεκάρετε την κρυπτογράφηση & αποκρυπτογράφηση στο Παράδειγμα 2, χρησιμοποιώντας τις μήτρες Κπ και Κπ-1; 1 2 3 4 5 6 p(x’) 3 5 1 6 4 2 π-1(x) 3 6 1 5 2 4 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 3.6. Αλγόριθμος Αντιμετάθεσης Παράδειγμα 3ο: Κρυπτογράφηση της φράσης με τον αλγόριθμο αντιμετάθεσης, χρησιμοποιώντας ως κλειδί τη λέξη Hint: Η αντιμετάθεση-κλειδί μπορεί να υπολογιστεί αριθμώντας τα γράμματα του κλειδιού (βάσει της αλφαβητικής τους σειράς). Παράδειγμα: MARKOS (3, 1, 5, 2, 4, 6) CRAD Βιβλιογραφία Διάλεξης Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. John Hershey. Cryptography Demystified. McGraw-Hill, 2003 Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 W. Stallings. Cryptography and Network Security – Principles and Practice, 5th Edition. Pearson, 2011 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 D. Kahn. The CodeBreakers, Scribner, 1996 J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. O. Goldreigh. Foundations of Cryptography, Vol II Basic Applications, 2004.