Κατάλογος Σχηµάτων Κατάλογος Πινάκων ix xiv xvi I Κρυπτανάλυση 21 1 Βασικές αρχές κρυπτανάλυσης 23 1.1 Εισαγωγή....................... 24 1.2 Βασικές επιθέσεις................... 25 1.3 Η επίθεση του Hellman-TMTO............ 27 1.4 Τεχνικές επιθέσεων.................. 31 2 Γραµµική κρυπτανάλυση 37 2.1 Εισαγωγή....................... 38 2.2 Περιγραφή της επίθεσης................ 38 2.3 Κατασκευή των εξισώσεων............... 41 2.4 Παράδειγµα γραµµικής κρυπτανάλυσης....... 44 2.5 Αλγόριθµος εύρεσης ϐέλτιστων γραµµικών εξισώσεων 48 3 Διαφορική κρυπτανάλυση 51 3.1 Εισαγωγή....................... 52 3.2 Τα διαφορικά των sboxes............... 53 3.3 Συνδυασµός των διαφορικών χαρακτηριστικών.... 56 3.4 Παράδειγµα...................... 57 4 Κρυπτανάλυση αλγορίθµων 61 ix
x 4.1 Κρυπτανάλυση του Feal................ 62 4.1.1 Διαφορική κρυπτανάλυση του Feal...... 62 4.1.2 Γραµµική κρυπτανάλυση του Feal...... 62 4.2 Κρυπτανάλυση του Akelarre............. 65 4.3 Κρυπτανάλυση του CMEA............... 68 4.3.1 Κρυπτανάλυση στον SCMEA......... 68 4.3.2 Επέκταση στον CMEA............. 69 4.4 Κρυπτανάλυση του ORYX............... 70 4.4.1 Περιγραφή................... 70 4.4.2 Πολυπλοκότητα της επίθεσης......... 74 4.5 Κρυπτανάλυση του RC4................ 75 5 Αλγόριθµοι παραγοντοποίησης 79 5.1 Εισαγωγή....................... 80 5.2 Εξαντλητική αναζήτηση................ 80 5.3 Ο αλγόριθµος του Fermat............... 85 5.4 Ο αλγόριθµος ϱ του Pollard.............. 87 5.5 Ο αλγόριθµος p 1 του Pollard........... 89 5.6 Ο αλγόριθµος p + 1 του Williams........... 90 5.7 Ο αλγόριθµος του Dixon............... 91 5.8 Ο αλγόριθµος των συνεχών κλασµάτων........ 93 5.9 Παραγοντοποίηση µέσω ελλειπτικών καµπυλών... 94 5.10 Τετραγωνικό κόσκινο................. 95 5.11 Το κόσκινο των αλγεβρικών σωµάτων......... 97 6 Αλγόριθµοι εύρεσης διακριτού λογαρίθµου 99 6.1 Εισαγωγή....................... 100 6.2 Εξαντλητική αναζήτηση................ 100 6.3 Ο αλγόριθµος µικρού-µεγάλου ϐήµατος του Shank. 101 6.4 Ο αλγόριθµος ϱ του Pollard για διακριτούς λογαρίθ- µους.......................... 103 6.5 Ο αλγόριθµος λ του Pollard για διακριτούς λογαρίθ- µους.......................... 104 6.6 Ο αλγόριθµος Silver-Pohlig-Hellman......... 106 6.7 Ο αλγόριθµος της ανάλυσης ευρετηρίου....... 107 6.7.1 Ο γενικός αλγόριθµος ανάλυσης ευρετηρίου. 107 6.7.2 Ο αλγόριθµος ανάλυσης ευρετηρίου του Adleman..................... 108
xi 6.8 Διακριτοί λογάριθµοι σε ελλειπτικές καµπύλες.... 109 7 Κρυπτογραφικές επιθέσεις στον RSA 113 7.1 Εισαγωγή....................... 114 7.2 Απλές επιθέσεις.................... 114 7.3 Επιθέσεις µικρού ιδιωτικού εκθέτη.......... 116 7.4 Επιθέσεις µικρού δηµοσίου εκθέτη.......... 118 7.4.1 Η επίθεση του Hastad............. 118 7.4.2 Επίθεση σχετιζόµενων µηνυµάτων....... 119 7.4.3 Η επίθεση του Coppersmith.......... 120 7.5 Επιθέσεις µερικής έκθεσης του ιδιωτικού κλειδιού.. 121 II Εφαρµογές 123 8 Ψηφιακές υπογραφές 125 8.1 Εισαγωγή....................... 126 8.2 Ψηφιακή υπογραφή µε συστήµατα δηµοσίου κλειδιού 126 8.3 Αυθεντικοποίηση µηνύµατος............. 128 8.4 Ψηφιακές υπογραφές στην πράξη........... 128 8.5 Πρότυπο RSA..................... 130 8.6 Πρότυπο ElGamal................... 131 8.7 Πρότυπο DSA..................... 132 8.8 Τυφλές υπογραφές................... 134 9 Κρυπτογραφικά πρωτόκολλα 137 9.1 Εισαγωγή....................... 138 9.2 Diffie-Hellman..................... 138 9.2.1 Περιγραφή πρωτοκόλλου............ 138 9.2.2 Παράδειγµα εφαρµογής του πρωτοκόλλου.. 139 9.2.3 Ασϕάλεια πρωτοκόλλου............ 140 9.2.4 Επίθεση επανάληψης............. 140 9.2.5 Αυθεντικοποίηση................ 141 9.3 Arithmetica...................... 141 9.4 SSL/TLS........................ 143 9.5 SSH.......................... 144 9.6 Kerberos....................... 146 9.6.1 Εισαγωγή................... 146
xii 9.6.2 Περιγραφή του πρωτοκόλλου......... 149 9.7 Το πρωτόκολλο X.509................. 151 10 Πρωτόκολλα µηδενικής γνώσης 155 10.1 Εισαγωγή....................... 156 10.2 Το πρωτόκολλο των Fiat-Shamir........... 158 10.3 Το πρωτόκολλο των Feige-Fiat-Shamir........ 161 10.4 Το πρωτόκολλο των Guillou-Quisquater....... 163 10.5 Το πρωτόκολλο του Schnorr.............. 164 10.6 Το πρωτόκολλο του Okamoto............. 165 10.7 Εφαρµογές....................... 166 10.8 Ασκήσεις........................ 167 11 Πρωτόκολλα δέσµευσης 169 11.1 Εισαγωγή....................... 170 11.2 Χρήση των τετραγωνικών υπολοίπων......... 172 11.3 Χρήση του διακριτού λογαρίθµου........... 173 11.4 Οµοµορφική δέσµευση και ηλεκτρονικές ψηφοφορίες 174 12 Διαµοιρασµός µυστικού και ηλεκτρονικές ψηφοφο- ϱίες 177 12.1 Διαµοιρασµός µυστικών................ 178 12.2 Διαµοιρασµός µυστικών µε κατώφλι......... 179 12.3 Το σύστηµα διαµοιρασµού του Shamir........ 180 12.4 Το σύστηµα του Blakley................ 182 12.5 Το σύστηµα του Mignotte............... 184 12.6 Το σύστηµα των Asmuth-Bloom........... 184 12.7 Εφαρµογές στις ψηφιακές υπογραφές........ 185 12.8 Ηλεκτρονικές ψηφοφορίες µε πολλούς ελεγκτές... 186 13 Κρυπτοϊολογία 191 13.1 Εισαγωγή....................... 192 13.2 Κρυπτοϊοί....................... 192 13.3 Επιθέσεις SETUP................... 193 13.3.1 Ο αλγόριθµος του Anderson......... 194 13.3.2 Ο αλγόριθµος των Young και Yung...... 197 13.3.3 Ο αλγόριθµος των Crepeau και Slackmon.. 199 13.3.4 Αλγόριθµος µε τη χρήση τεσσάρων τετραγώνων 200
xiii 13.3.5 Απλοποιηµένα SETUPs............ 202 13.3.5.1 Η µέθοδος των συναρτήσεων κατακερµατισµού µε κλειδί....... 202 13.3.5.2 Η µέθοδος του κρυφού µικρού εκ- ϑέτη δ................ 203 13.3.5.3 Οι µέθοδοι του κρυφού µικρού εκ- ϑέτη ε................ 204 14 Προβλήµατα υλοποίησης 207 14.1 Πράξεις µε bits.................... 208 14.2 Γρήγορος υπολογισµός δυνάµεων........... 210 14.3 Εύρεση πρώτων αριθµών............... 211 14.3.1 Ο αλγόριθµος AKS............... 214 14.3.2 Ο αλγόριθµος Miller-Rabin.......... 214 14.3.3 Ο αλγόριθµος του Euler............ 216 14.3.4 Ψευδοπρώτοι.................. 217 14.3.5 Η µέθοδος των ελλειπτικών καµπυλών.... 218 14.4 Γεννήτορας της πολλαπλασιαστικής οµάδας Z p.... 220 14.5 Απεικόνιση µηνύµατος σε ελλειπτική καµπύλη... 221 Α Υλοποιήσεις αλγορίθµων 223 Α.1 RSA.......................... 224 A.2 ElGamal........................ 225 A.3 Diffie-Hellman..................... 226 A.4 MD5.......................... 227 A.5 RC5.......................... 244 A.6 RC6.......................... 247 A.7 Akellare........................ 254 A.8 FEAL.......................... 265 A.9 CAST.......................... 273 A.10 Miller-Rabin...................... 300 Βιβλιογραφία 301 Ευρετήριο 313