Βασικές έννοιες KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ Ένα κρυπτοσύστηµα όπου οι χώροι των καθαρών µηνυµάτων, των κρυπτογραφηµένων µυνηµάτων και των κλειδιών είναι ο m,,,... m = καλείται ψηφιακό κρυπτοσύστηµα. Τέτοια κρυπτοσυστήµατα διακρίνονται σε: Α. Κρυπτoσυστήµατα ροής: Ενεργούν σε ένα σύµβολο απλού κειµένου κάθε φορά. Το χαρακτηριστικότερο παράδειγµα είναι ο κρυπταλγόριθµος XOR (ή Veram): m Έστω P, C, K. Έστω Κ είναι το κλειδί κρυπτογράφησης, τότε η συνάρτηση κρυπτογράφησης είναι η: C = P K, ενώ η συνάρτηση αποκρυπτογράφησης είναι η P = C K. Στο εξής µε θα συµβολίζεται η πράξη της πρόσθεσης mod. Μειονεκτήµατα: συγχρονισµός: Τόσο ο ποµπός όσο και ο δέκτης πρέπει να είναι «συγχρονισµένοι», διότι η παρεµβολή επιπλέον συµβόλων αποσυγχρονίζει το κρυπτοκείµενο. Κάθε σύµβολο κρυπτογραφείται ξεχωριστά, άρα όλη η πληροφορία περικλείεται σε ένα µόνο «κρυπτο»σύµβολο και η διάχυση είναι µικρή. Πλεονεκτήµατα: Μεγάλη ταχύτητα κρυπτογράφησης. 5
Aν υπάρξει κάποιο σφάλµα µετάδοσης, αυτό δεν θα µεταδοθεί σε γειτονικά σύµβολα. Β. Κρυπτοσυστήµατα (κρυπταλγόριθµοι) τµήµατος: Ενεργούν σε µια οµάδα συµβόλων απλού κειµένου και παράγουν µια οµάδα συµβόλων κρυπτοκειµένου. Το απλό κείµενο χωρίζεται σε τµήµατα (σταθερού µήκους) και καθένα από αυτά διοχετεύεται στον αλγόριθµο κρυπτογράφησης. O αλγόριθµος κρυπτογράφησης είναι συνήθως µια επαναληπτική εφαρµογή µιας κρυπτογραφικής πράξης µε µια ή περισσότερες κρυπτογραφικές συναρτήσεις σε διάταξη, ώστε να επιτρέπεται η σύνδεση της πράξης αυτής µε τον εαυτό της ή µε άλλες πράξεις. Το αποτέλεσµα καλείται κρυπτογραφικό γινόµενο και κάθε συστατικό του αποτελεί το γύρο του κρυπτογραφικού γινοµένου. Σε κάθε γύρο τροφοδοτείται το αποτέλεσµα του προηγούµενου γύρου και το αντίστοιχο κλειδί του γύρου. Έστω P= ( p... p ) τµήµα απλού κειµένου και C = ( c... c ) το αντίστοιχο τµήµα κρυπτοκειµένου. Ένα επιτυχηµένο ψηφιακό κρυπτοσύστηµα τµήµατος θα πρέπει να συνδυάζει µέγιστη διάχυση, δηλαδή θα πρέπει να υπάρχει σχέση µεταξύ του κάθε συµβόλου του απλού κειµένου µε όλα τα σύµβολα του κρυπτοκειµένου: c =, j( pj),, j =,,...,, και µέγιστη σύγχυση, δηλαδή θα πρέπει η πιθανότητα αντιστροφής ενός συµβόλου κρυπτοκειµένου c να είναι ½, εφόσον υπάρξει αντιστροφή του συµβόλου p,, j: j Pc ( = ( p )) = /., j j Οι κρυπτογραφικές πράξεις σε ψηφιακά κρυπτοσυστήµατα χωρίζονται κυρίως στην αναδιάταξη ep :{,,..., } {,,..., }, η οποία επιδρά στην αλλαγή της θέσης των συµβόλων του απλού κειµένου και στην m αντικατάσταση es :{,} {,} που επιδρά στα σύµβολα του απλού κειµένου. Συνήθως η αντικατάσταση είναι το µόνο µη γραµµικό βήµα σε έναν κρυπταλγόριθµο. Οι τρόποι λειτουργίας σε κρυπταλγορίθµους τµήµατος είναι: (α) ηλεκτρονικό κωδικοβιβλίο (ECB) 5
Το απλό κείµενο χωρίζεται σε τµήµατα P { p p p } =,,...,, όπου το κάθε τµήµα µεγέθους -bts τροφοδοτείται στον αλγόριθµο κρυπτογράφησης c = ( p ), =,...,. Επειδή όµως σε όµοια τµήµατα απλού κειµένου προκύπτουν όµοια κρυπτογραφήµατα, η ECB είναι ακατάλληλη σε εφαρµογές όπου υπάρχουν επαναλαµβανόµενα µοτίβα. (β) Κρυπταλγόριθµος αλυσιδωτού τµήµατος CBC Η κρυπτογράφηση τµήµατος απλού κειµένου P µήκους εξαρτάται από το προηγούµενο τµήµα P ως εξής: και η αποκρυπτογράφηση: ( ) C = C P P = e C C k ( ) Απαιτείται η γνώση του διανύσµατος αρχικοποίησης C. Τυχόν σφάλµατα επηρεάζουν το αντίστοιχο αποκρυπτογραφηµένο τµήµα και µερικώς το επόµενο. (γ) ίκτυο αντικατάστασης-µετάθεσης: Eίναι ένα κρυπτοσύστηµα γινοµένου όπου η κρυπτογράφηση γίνεται µε διαδοχικές επαναλήψεις των πράξεων αναδιάταξη και αντικατάσταση: e ( e ( k... e ( e ( k e ( e ( k p ))))...)) = c, p s r p s p s ενώ η αποκρυπτογράφηση γίνεται µε την αντίστροφη πορεία: k e ( e ( k... e ( e ( k e ( e ( c))))...)) = p, s p s p r s p όπου k,..., k r είναι η ακολουθία κλειδιών. Λαµβάνοντας υπόψην ότι ένας από τους συνηθέστερους τρόπους κρυπτανάλυσης στα ψηφιακά κρυπτοσυστήµατα είναι η γραµµική κρυπτανάλυση, η σχεδίαση αλγορίθµων µε υψηλή µη γραµµικότητα είναι 53
σηµαντική διότι δυσκολεύει τη γραµµική κρυπτανάλυση. Στην επόµενη ενότητα καθορίζουµε τι εννοούµε µε τον όρο µη-γραµµικότητα κρυπταλγορίθµου. Μη γραµµικότητα (Νο-learty) Έστω x= ( x,..., x), x {,}, θεωρώ τις απεικονίσεις: :. Προφανώς, σε κάθε τέτοια απεικόνιση υπάρχει µία - αντιστοιχία ( ( ) ( )) T = T,..., T, η οποία είναι το σύνολο τιµών της για όλες τις δυνατές τιµές των παραµέτρων x,..., x, ο λεγόµενος πίνακας αληθείας της. Προφανώς, από τον πίνακα αληθείας της προκύπτει ότι υπάρχουν το πλήθος συναρτήσεις.. Εάν, g F, ορίζουµε την απόσταση µεταξύ των συναρτήσεων, g να είναι: Ορισµός Έστω F = { : } g. = d(, g) = T ( ) T ( ) Ορισµός Ολες οι συναρτήσεις a : της µορφής ax (,..., x) = ε x ε x... ε x, ε {,} καλούνται γραµµικές συναρτήσεις. Το σύνολο των γραµµικών συναρτήσεων a : συµβολίζεται ως L και περιλαµβάνει στοιχεία. Ορισµός 3 Εάν F, ορίζουµε τη συζυγή συνάρτηση της ως εξής: F : =. Oι γραµµικές συναρτήσεις a L µαζί µε τις συζυγείς τους µπορούν να παρασταθούν από τη σχέση: 54
ε ax (,..., x) = ε ε x ε x... ε x και το σύνολο αυτών θα συµβολίζεται µε πλήθος στοιχεία. AL και περιλαµβάνει + το Ορισµός 4 Ενας πίνακας A διάστασης, η -γραµµή του οποίου παριστάνει τον πίνακα αληθείας της γραµµικής συνάρτησης a L, δηλαδή: { ( ):,,,..., } A = T j a L j = a καλείται πίνακας αληθείας των γραµµικών συναρτήσεων. Παράδειγµα: Έστω =, τότε οι γραµµικές συναρτήσεις έχουν την µορφή: ax (, x) = ε x ε x, ε {,}, άρα: L = {, x, x, x x }, οπότε: A = x x x x. Έστω = 3, τότε οι γραµµικές συναρτήσεις έχουν τη µορφή ax (, x, x) = ε x ε x ε x, ε {,} 3 3 3 οπότε θεωρώντας την αρίθµηση 3 = ε, =,,7 παίρνουµε = L = {, x, x, x x, x, x x, x x, x x x } 3 3 3 3 55
οπότε: A 3 x x x x = x3 x x3 x x3 x x x 3 Παρατήρηση: Επειδή η απεικόνιση H : {, }: x x είναι - από την προσθετική οµάδα στην πολ/κή οµάδα G = {, }, στο εξής θα δουλεύουµε στην πολ/κή οµάδα G = {, } µε τη γνωστή πράξη του πολ/σµού, θεωρώντας: G G. Τότε η απόσταση γίνεται: d(, g) = T ( ) T ( ) 4 g. = Επίσης εάν G, τότε = ( ) =. Με την παραπάνω απεικόνιση οι πίνακες αληθείας των γραµµικών συναρτήσεων γίνονται: W = x x x x x x x x W3 = x3 x x3 x x3 x x x3 56
και οι πίνακες αυτοί καλούνται πίνακες Walsh και είναι ορθογώνιοι πίνακες. Έστω τώρα, g G, τότε: d(, g) T ( ) T ( ) = = g 4 =. 4 T( ) + Tg( ) = d(, g) = Έάν λοιπόν a L, τότε: όπου x, y ( ) d(, a ) = T T = T + Ta T, T 4 4 a a ( T Ta ) = +, = T, T, 4 = xk y και k =, = k= k= x xx x εσωτερικό γινόµενο και η νόρµα στον ευκλείδιο χώρο Οµοίως υπολογίζουµε ότι: k a είναι το σύνηθες. d(, a ) = T, T και επειδή είναι εύκολο να δούµε ότι a T, g T, g, g =, εάν a # AL και λαµβάνοντας υπόψην ότι: W = { T ( j):, j =,...,, a L}, a ορίζουµε: # ( ) d(, a ) = W, T, =,..., όπου T είναι o πίνακας αληθείας της και W o πίνακας Walsh. 57
Ορισµός 5 H ποσότητα # # { } N = m d(, a ) : a AL καλείται µη γραµµικότητα (o-learty) της. Πρόταση N = AL. Απόδειξη. Έστω AL, τότε : ( ) W T =±, W T () =,, οπότε N =. Αντίστροφα, έστω N = τότε : ( ) W T =±, δηλαδή T, Ta =±. Αλλά: T Ta = T T θ = θ cos( θ ) =±, / /, a cos( ) cos( ) δηλαδή T =± T, άρα AL. a Πρόταση ( W), T =. = T Απόδειξη. ( ), =,( ) ( ) = W T T W W T T T T =, = = =. N = W T. Από / / : W, T, οπότε:. max, Παρατήρηση: Από τον ορισµό 5: ( ) την πρόταση, ( ) Εάν =ζυγός, το φράγµα αυτό είναι βέλτιστο και οι συναρτήσεις µε τη µέγιστη µη γραµµικότητα καλούνται κεκαµµένες (bet) συναρτήσεις. N 58
Παράδειγµα: ίνεται η συνάρτηση: ( x, x) = x x. Nα υπολογισθεί η ποσότητα Ν (olearty) αυτής. Aπάντηση: Kατ αρχήν υπολογίζουµε τον πίνακα αληθείας της : x x T. Aρα: (,,, ) T =. Χρησιµοποιώντας αντί της προσθετικής οµάδας την πολ/κή οµάδα G παίρνουµε: T = (,,,), διότι και. Στη συνέχεια παίρνουµε τον πίνακα Walsh διάστασης 4 4 και υπολογίζουµε: = = =, b W T οπότε: # d(, a ) = b = = =,,3,4. Tελικά: # { ( ) } { } N = m d, a : =,,3,4 = m,,, =. 3 Mία εισαγωγή στη γραµµική κρυπτανάλυση Η γραµµική κρυπτανάλυση αναπτύχθηκε από τον Matsu και είναι επίθεση που βασίζεται σε κρυπταλγορίθµους γινοµένου. Η βασική ιδέα της είναι η έκφραση ορισµένων bts εισόδου και εξόδου και κλειδιού µε γραµµική προσέγγιση. ηλαδή: 59
p(,..., ) c( j,..., j ) = K( k,..., k ), () m l όπου p(,..., ) τα bts στις θέσεις,..., και οµοίως για c και Κ. Καθότι σε κάθε γύρο του κρυπταλγορίθµου υπάρχει στάδιο που εφαρµόζεται ένας µη γραµµικός µετασχηµατισµός, το ερώτηµα είναι κατά πόσον αυτός περιγράφεται µε µια γραµµική σχέση µε κάποια πιθανότητα. Η προσέγγιση ξεκινά µελετώντας τους µη γραµµικούς µετασχηµατισµούς του τελευταίου γύρου της κρυπτογράφησης. Στη συνέχεια, έχοντας αναπτύξει µια υποψήφια γραµµική προσέγγιση (), κρυπτογραφούµε ένα αριθµό απλών κειµένων και για κάθε ζεύγος (p, c) επιλέγουµε τα bts που αντιστοιχούν στη γραµµική προσέγγιση και τα εφαρµόζουµε στην κρυπτογράφησή µας. Για την τιµή στο αριστερό µέρος της () υπολογίζουµε όλα τα πιθανά bt των κλειδιών στα δεξιά. Οταν το υποσύνολο των bts του κλειδιού που υπάρχει στην γραµµική προσέγγιση υπάρχει και στο κλειδί κρυπτογράφησης τότε έχουµε ορθό ζεύγος. Αν η συχνότητα εµφάνισης ορθών ζευγαριών είναι κατά δυνατόν διάφορη του ½ τότε έχουµε γραµµική κρυπτανάλυση. 4 3 Παράδειγµα: ίνεται η συνάρτηση αντικατάστασης: S { } { } µε πίνακα αληθείας: :,,, x x x x c c c 3 4 3 Υπολογίστε τις βέλτιστες γραµµικές προσεγγίσεις µε την αντίστοιχη πιθανότητα. 6
Aπάντηση: Σχηµατίζουµε την οικογένεια συναρτήσεων: { ε ε ε :, 3 3 ε {, }} R= c c c c. Yπολογίζουµε τον πίνακα αληθείας αυτής της οικογένειας: R R R R R R R 3 4 5 6 7 c c c c c c c c c c c c 3 3 3 3 Χρησιµοποιούµε αντί της προσθετικής οµάδας την πολ/κή οµάδα G οπότε παίρνουµε τον αντίστοιχο πίνακα αληθείας 6 8 µε στοιχεία ±: C = 6
και σχηµατίζω τον πίνακα B = d( Rj, a) = + W4 C, κάθε στοιχείο b j του οποίου δείχνει πόσα ίδια στοιχεία έχει ο πίνακας αληθείας της γραµµικής συνάρτησης a L4 µε το στοιχείο R j του συνόλου R. Eχουµε λοιπόν: άρα: B = d( Rj, a) = + W4 C, 6 6 6 8 8 8 4 8 6 6 6 5 8 8 8 5 8 8 6 8 8 8 7 8 8 8 8 8 6 9 8 8 8 4 6 8 7 8 8 8 8 8 6 8 7 8 8 4 8 8 8 5 6 B = 8 8 8 8 8 4 6 9 8 8 6 4 8 6 4 9 8 8 6 8 8 8 7 6 8 8 8 8 8 5 6 8 8 8 4 8 7 8 8 8 8 8 8 7 8 8 4 8 8 8 6 9 Οι χρησιµότερες γραµµικές προσεγγίσεις είναι αυτές κατά τις οποίες η ποσότητα γίνεται b j =µέγιστη, δηλαδή στο συγκεκριµένο παράδειγµα: για (,j) = (,8) η προσέγγιση = c c c3 µε πιθανότητα b j 4 7 = =, ή 6 8 για (,j) = (,) η προσέγγιση x x4 = c µε πιθανότητα b j 4 7 = =, ή 6 8 6
για (,j) = (,5) η προσέγγιση x x4 = c c3 µε πιθανότητα b j 4 7 = =, ή 6 8 για (,j) = (3,4) η προσέγγιση x x3 x4 = c3 µε πιθανότητα b j 4 = =. 6 8 ΑΣΚΗΣΕΙΣ. ίνεται η συνάρτηση: ( x, x) = x x x. Nα υπολογισθεί η a x, x. απόσταση αυτής από τη γραµµική συνάρτηση ( ). ίνεται η συνάρτηση: ( x, x, x) = x x x x3. Nα υπολογισθεί η µη-γραµµικότητα Ν αυτής. 3. ίνεται η συνάρτηση αντικατάστασης: { } { } αληθείας: 3 S :,,, µε πίνακα x x x c c 3 Υπολογίστε τις βέλτιστες γραµµικές προσεγγίσεις µε την αντίστοιχη πιθανότητα. 4. ίνεται η συνάρτηση αντικατάστασης: { } { } αληθείας: 4 3 S :,,, µε πίνακα 63
x x x x c c c 3 4 3 Υπολογίστε τις βέλτιστες γραµµικές προσεγγίσεις µε την αντλιστοιχη πιθανότητα. 64