Ασφάλεια Πληροφοριακών Συστηµάτων Ασφάλεια Υπολογιστών Διάλεξη 1η Δρ. Β. Βασιλειάδης Τµ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας
Πληροφορίες για το Μάθηµα Διαλέξεις: Κάθε Δευτέρα 11:00-13:00 Ιστότοπος µαθήµατος στο eclass n Aνακοινώσεις n Διαλέξεις n Εκπ. Υλικό
Δοµή Μαθήµατος Bασικές έννοιες Αλγόριθµοι Κρυπτογράφησης Ασφάλεια στο διαδίκτυο Κακόβουλο Λογισµικό Ελεγκτική ΠΣ Ασφάλεια Δικτύων Πρότυπα Ασφάλειας
Βασικές έννοιες
Χρήση κρυπτογραφίας
Ioί: Είδη Κακόβουλο πρόγραµµα που εκτελείται χωρίς τη συγκατάθεση του χρήστη Trojan: δεν αναπαράγεται, µεταµφίεση σε χρήσιµο πρόγραµµα (π.χ. εντός πειρατικού λογισµικού) Worm: αναπαραγωγή µέσω δικτύου, bluetooth. Καταναλώνει πόρους του συστήµατος. LogicBombs: ενεργοποίηση σε µία συγκεκριµένη ηµεροµηνία Rootkits: δικαιώµατα administrator (zombie PC) Μacro Virus: εκτέλείται µέσω προγραµµάτων Word, Εxcel
Παραδείγµατα
Παραδείγµατα
Παραδείγµατα
Cyber warfare Stuxnet Worm Μεταδίδεται µέσω Internet, Bluetooth, USB stick Eενεργοποιείται µόλις εντοπίσει στον υπολογιστή βιοµηχανικό λογισµικό της Siemens Kαταστροφή 1000 φυγοκεντρωτών ΙΡΑΝ
Ασφάλεια στο διαδίκτυο https Firewalls Zero-day vulnerability Patch / Update Digital certificate
Είδη αλγορίθµων Συµµετρικοί: χρησιµοποιούν 1 κλειδί Ασύµµετροι: χρησιµοποιούν 2 κλειδιά: 1 δηµόσιο γνωστό σε όλους Χρησιµοποιείται για την κρυπτογράφηση 1 ιδιωτικό Έχει από 1 κάθε χρήστης Είναι γνωστό µόνο στο χρήστη Χρησιµοποιείται για την αποκρυπτογράφηση
Συµµετρικοί Αλγόριθµοι Κωδικοποιητές ροής (stream ciphers) που εφαρµόζονται σε κάθε bit ή χαρακτήρα ενός µηνύµατος. Κωδικοποιητές τµηµάτων (block ciphers) εφαρµόζονται σε τµήµατα (blocks) του µηνύµατος σταθερού µήκους.
Στεγανογραφία: η απόκρυψη της ύπαρξης του ίδιου του µηνύµατος
Kλασσικοί αλγόριθµοι Αντικατάστασης Μονο-αλφαβητική αντικατάσταση 1. Aπλή αντικατάσταση 2. Μετατόπιση Πολύ-αλφαβητική αντικατάσταση 1. Mικτό αλφάβητο 2. Μετατόπιση Αναδιάταξης 1. Αντιµετάθεση 2. Playfair Άλλοι Vernam
Tεχνικές Αντικατάστασης
Τεχνικές Αντιµετάθεσης
Μέθοδος 1 η : Απλή αντικατάσταση
Mετατόπιση Μήνυµα Μ, κλειδί k και παράγεται το κρυπτογραφηµένο µήνυµα C. (για το Αγγλικό αλφάβητο): C=(αM+k) mod 26, Μ=b(C-k)mod26 (mod24 για το ελληνικό) α>=1 Ο ΜΚΔ των α και 26 είναι το 1 b=α -1 To M και το k δίνονται και ζητείται το C. To α είτε δίνεται είτε το θέτουµε εµείς.
Mετατόπιση Αντιστοιχίζουµε αριθµούς στο αλφάβητο, αρχίζοντας από το 0: Aν χρειαστεί γίνεται αναστροφή!
Παραλλαγή: Μέθοδος του Καίσαρα Όταν k=3 και α=1, τότε C=(M+3) mod 26, Μ=(C-3)mod26 Παράδειγµα Δίνεται το µήνυµα: Αttack. Να κωδικοποιηθεί µε τη µέθοδο του Καίσαρα.
Mod To mod είναι το υπόλοιπο της διαίρεσης: a mod b 1. Αν a<b τότε a mod b = a 2. αλλιώς το υπόλοιπο της διαίρεσης a/b Π.χ. 13 mod 100 = 13 15 mod 2 = 1
Μέθοδος του Καίσαρα Μ= Αttack, k=3. (δεν παίζουν ρόλο κεφαλαία ή µικρά όλα κεφαλαία.) Βήµα 1: Παίρνουµε κάθε γράµµα του Μ και το αντιστοιχίζουµε σε αριθµό: Α->0 Τ->19 C->2 K->10
Μέθοδος του Καίσαρα Βήµα 2: εφαρµόζουµε τον τύπο C=(M+3) mod 26 για κάθε αριθµό ξεχωριστά: Α: C=(M+3) mod 26 = (0+3) mod26=3mod26=3->d T: (19+3)mod26=22mod26=22 ->W C: (2+3)mod26=5mod26=5 -> F K: (10+3)mod26=13mod26=13 -> N Άρα C=DWWDFN
Aποκρυπτογράφηση Αν C=DWWDFN, να βρεθεί το αρχικό µήνυµα εάν το C έχει προκύψει µε τη µέθοδο του Καίσαρα. Άρα k=3 και α=1. Μ=(C-3)mod26 1. Αντιστοίχιση γραµµάτων σε αριθµούς 2. Εφαρµογή του τύπου σε κάθε γράµµα ξεχωριστά
Aποκρυπτογράφηση D->3 : Μ=(C-3)mod26=(3-3)mod26=0->A W->22: Μ=(C-3)mod26=(22-3)mod26=19->T W D->3 : Μ=(C-3)mod26=(3-3)mod26=0->A F->5: Μ=(5-3)mod26=2mod26=2->C N->13: 10mod26=10->K
Άσκηση Δίνεται το Μ=ΥΟU. Nα κρυπτογραφηθεί µε τη µέθοδο της µετατόπισης, µε k=2 και α=3.
Μέθοδος 2 η : Πολύ-αλφαβητική αντικατάσταση Το κλειδί έχει µήκος >1 Απλή πολύ-αλφαβητική αντικατάσταση Παράδειγµα Δίνεται το M=WHY, και το k=bc. Να κρυπτογραφηθεί µε πολύ-αλφαβητική αντικατάσταση.
Παραλλαγή 1: Πολύ-αλφαβητική αντικατάσταση - Vingere 1. Αντιστοιχίζουµε σε κάθε γράµµα του Μ, ένα γράµµα του k. Aν χρειαστεί, επαναλαµβάνουµε το k. Μ= W H Y k= B C B 2. Kάθε γράµµα του Μ αντικαθίσταται µε το γράµµα που βρίσκεται τόσες θέσεις δεξιά όσες αντιστοιχεί ο αριθµός του αντίστοιχου γράµµατος του k (B->1, C->2, B->1 θέση) Άρα C= X J Z
Άσκηση Δίνεται το M=WHYNOT, και το k=bc. Να κρυπτογραφηθεί µε πολύ-αλφαβητική αντικατάσταση. Μ= W H Y N O T k= B C B C B C
Παραλλαγή 2:Οµοφωνική αντικατάσταση Επέκταση του αλφαβήτου µε την εισαγωγή επιπλέον χαρακτήρων, π.χ. 1 γράµµα αναπαρίσταται από 2 ψηφία. Παράδειγµα Έστω το Μ=ΒΕΕD και ο οµοφωνικός πίνακας αντικατάστασης: Α Α Β C D E E 01 07 14 21 04 13 17 Ποιο είναι το κρυπτογραφηµένο µήνυµα;
Οµοφωνική αντικατάσταση Α Α Β C D E E 01 07 14 21 04 13 17 Μ= Β Ε Ε D C= 14 13 17 04 Πλεονέκτηµα: ίδια γράµµατα κωδικοποιούνται µε διαφορετικά νούµερα άρα δυσκολεύεται το σπάσιµο του κώδικα.
Παραλλαγή 3: Playfair Αντικατάσταση οµάδων γραµµάτων µε άλλες οµάδες γραµµάτων, π.χ. διγράµµατα µε διγράµµατα (ΑΒ->LK). Παράδειγµα, Playfair: Διαµερίζουµε το Μ σε διγράµµατα. Bάση ενός πίνακα 5Χ5, και για κάθε δίγραµµα κρυπτογραφούµε βάση των κανόνων: 1. Αν τα 2 γράµµατα βρίσκονται σε διαφορετική γραµµή και στήλη, αντικαθίστανται µε αυτά που βρίσκονται στην ίδια γραµµή και στήλη του άλλου
Playfair 2. Αν βρίσκονται στην ίδια στήλη αντικαθίστανται µε αυτά που βρίσκονται ακριβώς από κάτω τους. 3. Αν βρίσκονται στην ίδια γραµµή αντικαθίστανται µε αυτά που βρίσκονται ακριβώς δεξιά τους. Ο πίνακας κατασκευάζεται βάση του Μ
Περίπτωση 1
Περίπτωση 2
Περίπτωση 3
Playfair Παράδειγµα Δίνεται ο πίνακας 5Χ5 και το Μήνυµα Μ=Merchant. Να κρυπτογραφηθεί µε την τεχνική Playfair. M= MH PU C= CO QO
Playfair Παράδειγµα 2 Δίνεται ο πίνακας 5Χ5 και το Μήνυµα Μ=Merchant. Να κρυπτογραφηθεί µε την τεχνική Playfair. M= ME RC HA NT C= SC OF LM BI
Mέθοδος 3η: Τεχνικές Μετάθεσης- Απλή µετάθεση Το µήνυµα γράφεται κάθετα σε στήλες και το κρυπτογραφηµένο µήνυµα διαβάζεται σε γραµµές. Κλειδί: ο αριθµός των γραµµών. Αγνοούµε τα κενά, Όλα τα γράµµατα είναι κεφαλαία Αν χρειαστεί συµπληρώνουµε µε Α ή Ε την τελευταία στήλη
Απλή µετάθεση Παράδειγµα: Μ= Θεωρώ ιδιαίτερα σηµαντική, k=3 Θ Ρ Δ Ι Ρ Η Ν Κ Ε Ω Ι Τ Α Μ Τ Η Ω Ι Α Ε Σ Α Ι Ε C= ΘΡΔΙΡΗΝΚΕΩΙΤΑΜΤΗΩΙΑΕΣΑΙΕ
Απλή µετάθεση - αποκρυπτογράφηση Δίνεται το k=3 και C= ΘΡΔΙΡΗΝΚΕΩΙΤΑΜΤΗΩΙΑΕΣΑΙΕ. Ποιο είναι το Μ; 1. Χωρίζω το C σε k λέξεις µε το ίδιο µήκος: (24/3= 8 γράµµατα κάθε λέξη) C= ΘΡΔΙΡΗΝΚ ΕΩΙΤΑΜΤΗ ΩΙΑΕΣΑΙΕ 1η 2η 3η
Απλή µετάθεση - αποκρυπτογράφηση 2. και τις διατάσω σε 3 γραµµές: Θ Ρ Δ Ι Ρ Η Ν Κ Ε Ω Ι Τ Α Μ Τ Η Ω Ι Α Ε Σ Α Ι Ε 3. Διαβάζω κατά στήλες Μ=ΘΕΩΡΩΙΔΙΑΙΤΕΡΑΣΗΜΑΝΤΙΚΗΕ 4.Αποµακρύνω τους επιπλέον χαρακτήρες και βάζω τα κενά
Παραλλαγή 1 η : Πολλαπλή µετάθεση Εφαρµόζουµε την απλή µετάθεση 2 φορές. Προηγούµενο Παράδειγµα: Μ= Θεωρώ ιδιαίτερα σηµαντική, k=3 Θ Ρ Δ Ι Ρ Η Ν Κ Ε Ω Ι Τ Α Μ Τ Η Ω Ι Α Ε Σ Α Ι Ε C = ΘΡΔΙΡΗΝΚΕΩΙΤΑΜΤΗΩΙΑΕΣΑΙΕ (1 η µετάθεση)
Πολλαπλή µετάθεση C = ΘΡΔΙΡΗΝΚΕΩΙΤΑΜΤΗΩΙΑΕΣΑΙΕ (1 η µετάθεση) Το ξαναγράφω σε 3 γραµµές (γιατί k=3) Θ Ι Ν Ω Α Η Α Α Ρ Ρ Κ Ι Μ Ω Ε Ι Δ Η Ε Τ Τ Ι Σ Ε Διαβάζω κατά γραµµές: C=ΘΙΝΩΑΗΗΑΡΡΚΙΜΩΕΙΔΗΕΤΤΙΣΕ
Παραλλαγή 2: Μετάθεση κατά στήλες (Nihilist) Χρησιµοποιεί 2 κλειδιά: 1 για απλή µετάθεση και 1 για το ανακάτεµα των στηλών. Ανακατεύει στήλες και γραµµές Βήµα 1: Κάνε απλή µετάθεση σύµφωνα µε το 1 ο κλειδί Βήµα 2: αναδιάταξε τις στήλες σύµφωνα µε το 2 ο κλειδί Βήµα 3: διάβασε κατά γραµµές.
Μετάθεση κατά στήλες Παράδειγµα Δίνεται το Μ= Θεωρώ ιδιαίτερα σηµαντική. Να κρυπτογραφηθεί µε µετάθεση κατά στήλες µε k1=3 και k2= 02 03 06 04 05 08 07 01 Όπως προηγουµένως: 01 02 03 04 05 06 07 08 Θ Ρ Δ Ι Ρ Η Ν Κ Ε Ω Ι Τ Α Μ Τ Η Ω Ι Α Ε Σ Α Ι Ε
Μετάθεση κατά στήλες Παράδειγµα k2= 02 03 06 04 05 08 07 01 02 03 06 04 05 08 07 01 Ρ Δ Η Ι Ρ Κ Ν Θ Ω Ι Μ Τ Α Η Τ Ε Ι Α Α Ε Σ Ε Ι Ω Άρα C= ΡΔΗΙΡΚΝΘΩΙΜΤΑΗΤΕΙΑΑΕΣΕΙΩ
Μέθοδος 4 η : Vernam
Vernam To µήνυµα και το κλειδί αποτελούνται από 0,1. Το µήκος του µηνύµατος και του κλειδιού είναι το ίδιο Παράδειγµα Δίνεται το Μ=01010 και το k=11100. Nα κωδικοποιηθεί µε την τεχνική Vernam. M= 0 1 0 1 0 k= 1 1 1 0 0 C= 1 0 1 1 0 XOR 0 0 0 0 1 1 1 0 1 1 1 0
Vernam - Άσκηση Δίνεται το µήνυµα Μ= 101010101. Ποιο είναι το κρυπτογραφηµένο µήνυµα εάν χρησιµοποιηθεί o Κωδικοποιητής Vernam; Χρησιµοποιείστε ως κλειδί K, τη 9-bit δυαδική αναπαράσταση του αριθµού 12.
Vernam - Άσκηση Δίνεται το µήνυµα Μ= 101010101. Ποιο είναι το κρυπτογραφηµένο µήνυµα εάν χρησιµοποιηθεί o Κωδικοποιητής Vernam; Χρησιµοποιείστε ως κλειδί K, τη 9-bit δυαδική αναπαράσταση του αριθµού 12.
Δυαδικοί Αριθµοί Ψηφία: 0, 1 Μορφή: 2 10 Α Β Γ Δ Α * 2 3 Β * 2 2 Γ * 2 1 Δ * 2 0 = Α * 2 3 + Β * 2 2 + Γ * 2 1 + Δ * 2 0 = = Α * 8 + Β * 4 + Γ * 2 + Δ *1=
Λύση η 9-bit δυαδική αναπαράσταση του αριθµού 12: 9 ψηφία µε τιµές 0 ή 1 XOR 12->000001100 Άρα 101010101 000001100 ΧΟR C= 101011001 0 0 0 0 1 1 1 0 1 1 1 0
Kρυπτανάλυση Προσπαθούµε να σπάσουµε τον κώδικα. Ξέρουµε το C Προσπαθούµε να βρούµε το K έτσι ώστε να πάρουµε το Μ Τεχνικές: Στατιστικές µέθοδοι Brutal force
Στατιστικές µέθοδοι (µέθοδοι µετατόπισης /αντικατάστασης) Έλεγχος Kasiski: προσπαθεί να προσδιορίσει το µέγεθος του κλειδιού από το C. Βήµατα: 1. Εξετάζουµε εάν µία ακολουθία χαρακτήρων εµφανίζεται στο C 2 ή περισσότερες φορές. 2. Υποθέτουµε ότι η ίδια ακολουθία χαρακτήρων κρυπτογραφήθηκε από το ίδιο κλειδί. Άρα η απόσταση µεταξύ των δύο ακολουθιών είναι πολλαπλάσια του µήκους του κλειδιού.
Έλεγχος Kasiski Η τεχνική αυτή βασίστηκε στην παρακάτω παρατήρηση Μ= AΛΛΟ Κ=Β (µετάθεση 1 θέση δεξιά) Άρα C= BMMΠ Παρατηρούµε ότι στο C υπάρχουν 2 ίδιοι χαρακτήρες. Εφόσον η κωδικοποίηση έγινε µε αντικατάσταση (δηλ. δεν άλλαξε η θέση των αρχικών χαρακτήρων), τότε τα 2 Μ αντιστοιχούν στον ίδιο αρχικό χαρακτήρα. Επειδή η απόστασή τους είναι 1, τότε µάλλον το κλειδί έχει µήκος 1.
Έλεγχος Kasiski-Σηµασία της τεχνικής Η τεχνική δεν υπολογίζει το κλειδί αλλά κάνει κάτι εξίσου σηµαντικό: υπολογίζει το πιθανό µήκος. Στη συνέχεια µε τεχνικές στατιστικής ανάλυσης ή brute force αποκαλύπτεται το κλειδί. -> η γνώση του µήκους του κλειδιού µειώνει σηµαντικά το µέγεθος των υπολογισµών που θα πρέπει να γίνουν και άρα το χρόνο που απαιτείται
Έλεγχος Kasiski-Σηµασία της τεχνικής Αν θέλουµε να µπούµε στο σύστηµα, θα πρέπει να δοκιµάσουµε χιλιάδες κωδικούς διαφορετικού µήκους. Αν ξέρουµε ότι ο κωδικός έχει µήκος 5 χαρακτήρες, τότε δοκιµάζουµε µόνο 5ψήφιους κωδικούς.
Έλεγχος Kasiski - Παράδειγµα Δίνεται το C= UWZAKPRUWZLZAKZT. Ποια τα πιθανά µήκη του κλειδιού; (Ελέγχουµε καταρχήν για επαναλήψεις 3-γραµµάτων. Αν δεν βρούµε 2-γραµµάτων κτλ.) UWZAKPRUWZLZAKZT 1.Βρίσκουµε τα UWZ, AK. 2. Υπολογίζουµε τις αποστάσεις των αρχικών γραµµάτων τους UWZ: 8-1=7 AK: 13-4=9 3. Οι αποστάσεις είναι πολλαπλάσια του µήκους του κλειδιού. Άρα βρίσκω ποιοι αριθµοί διαιρούν ακριβώς και τις δύο αποστάσεις. 7: 1,7 9: 1,3,9 4. Οι κοινοί διαιρέτες είναι τα πιθανά µήκη του κλειδιού: εδώ µόνο το 1. Άρα το µήκος του κλειδιού είναι 1
Ο αλγόριθµος RSA Ο RSA είναι ένας κρυπταλγόριθµος ασύµµετρου κλειδιού, το όνοµα του οποίου προέρχεται από τους δηµιουργούς του, Ron Rivest, Adi Shamir and Len Adleman. Επιτρέπει όχι µόνο την κωδικοποίηση µηνυµάτων αλλά µπορεί επίσης να χρησιµοποιηθεί και ως ψηφιακή υπογραφή. Ο RSA βασίζεται στην δυσκολία παραγοντοποίησης µεγάλων πρώτων αριθµών (σήµερα, συνήθως της τάξης των 1024 µε 2048 bit). Χρησιµοποιούνται δυο κλειδιά, ένα δηµόσιο κατά τη διάρκεια της κρυπτογράφησης και ένα κρυφό (ιδιωτικό) για την αποκρυπτογράφηση.
Ο αλγόριθµος RSA- Δηµιουργία κλειδιών ΜΚΔ Μπορούµε τώρα να δηµοσιεύσουµε το πρώτο κλειδί, δίνοντας έτσι τη δυνατότητα σε οποιονδήποτε να µας στείλει κρυπτογραφηµένα µηνύµατα που µόνο εµείς (χάρη στο κρυφό κλειδί) µπορούµε να αποκρυπτογραφήσουµε.
Κρυπτογράφηση Το κρυπτογραφηµένο µήνυµα υπολογίζεται µε τον εξής τρόπο: Για να κρυπτογραφηθεί ο αποστολέας έχει το δηµόσιο κλειδί.
Αποκρυπτογράφηση M= C d mod n
Κάποιες λεπτοµέρειες a b(mod n) σχέση ισοτιµίας του α, b modn δηλ. το a-b είναι ένα ακέραιο πολλαπλάσιο του n. Π.χ. 38 14 (mod 2) γιατί 38-14=24=2*12. 38 2(mod 12) γιατί 38-2=36=3*12.
Παράδειγµα Έστω το µήνυµα Μ=2. Να κρυπτογραφηθεί µε τον αλγόριθµο RSA εάν p=5 και q=11. Λύση: 1. Υπολογίζουµε το n=p*q=5*11=55 2. Yπολογίζουµε το φ(n)=(p-1)(q-1)=4*10=40 3. Eπιλέγουµε e=7, έτσι ώστε ο ΜΚΔ του φ(n) και του e να είναι το 1. Πράγµατι, ΜΚΔ(40,7)=1 Το δηµόσιο κλειδί είναι το {n,e}={55,7}
Παράδειγµα 4. Iσχύει: d*e 1 (mod φ(n)) _ d*7 1(mod 40) _ (Σχέση ισοτιµίας) _ d*7-1 πολλαπλάσιο του 40. Υπάρχει δηλ. ακέραιος k για τον οποίο ισχύει: d*7-1 = k * 40 _ d= Η διαίρεση θα πρέπει να µην έχει υπόλοιπο. Δοκιµάζουµε: k=1, d= 41/7 δεν διαιρείται ακριβώς. k=2, d=81/7 k * 40 + k=4, d=161/7=23. Άρα d=23 και το ιδιωτικό κλειδί {n,d}={55,23} 7 1
Κωδικοποίηση C= M e (modn)=2 7 mod55=128mod55=18 Aποκωδικοποίηση: M= C d mod n=18 23 mod55=2 Αν το Μ ήταν Μ=234, κωδικοποιούµε κάθε ψηφίο ξεχωριστά (το 2, το 3 και το 4.)
Ασκήσεις 1. Δίνεται το µήνυµα Μ= AENAO και το κλειδί Κ=ABΓ. Κρυπτογραφήστε το µε τη µέθοδο της πολύ-αλφαβητικής αντικατάστασης (µε αντικατάσταση προς τα αριστερά.)
Λύση Μ= A E N A O Κ= A B Γ Α Β C= Α Η Π Α Ρ Γιατί Α-> 1 θέση αριστερά Β-> 2 θέσεις Γ-> 3 θέσεις
Άσκηση 2 2. Δίνεται το µήνυµα M= ΑΣΦΑΛΕΙΑ ΤΕΛΟΣ. Κρυπτογραφήστε το µε την απλή µέθοδο της µετάθεσης όπου Κ=4. Α Λ Τ Σ Σ Ε Ε Ε -> Φ Ι Λ Ε Α Α Ο Ε C= AΛΤΣΣΕΕΕΦΙΛΕΑΑΟΕ
Άσκηση 3 3. Δίνεται το µήνυµα Μ= 01000110. Ποιο είναι το κρυπτογραφηµένο µήνυµα εάν χρησιµοποιηθεί o Κωδικοποιητής Vernam; Χρησιµοποιείστε ως κλειδί K, τη 8-bit δυαδική αναπαράσταση του 13.
Λύση 8-bit δυαδική αναπαράσταση του 13: 84 1 13-> 00001101 (8+4+1=13) Άρα: Μ= 01000110 Κ= 00001101 ΧΟR C= 01001011
Άσκηση 4 4. Δίνεται το µήνυµα M= ΣΗΜΕΡΑ ΑΥΡΙΟ ΚΑΙ ΕΧΘΕΣ ΟΛΕΣ. Κρυπτογραφήστε σε πολλαπλή µετάθεση έχοντας υπόψην ότι το πλήθος των στοιχείων κάθε στήλης είναι 5 και Κα= 03 04 01 02
Άσκηση 5 5. Δίνεται το κρυπτογραφηµένο µήνυµα C= ERDFGERFJKELJGTKLAIOEFDFGKLA. Ποια είναι τα πιθανά µήκη του κλειδιού σύµφωνα µε τη µέθοδο Kasiski;
Λύση ERDFGERFJKELJGTKLAIOGERDFGΝ KLA Αποστάσεις: GER: 21-5=16, διαιρείται από:1,2,4,8,16 ΚLA: 28-16=12, διαιρείται από:1,2,3,4,6,12 Κοινοί διαιρέτες: 1,2,4. Άρα αυτά είναι τα πιθανά µήκη του κλειδιού.
Άσκηση 6 6. Στον αλγόριθµο RSA, δίνονται τα p, q και το µήνυµα Μ=23. Υπολογίστε το δηµόσιο και το ιδιωτικό κλειδί και περιγράψτε τη διαδικασία κρυπτογράφησης και αποκρυπτογράφησης. Δίνονται p=4,q=10.
Λύση 1. Υπολογίζουµε το n=p*q= 4*10=40 2. Υπολογίζουµε το φ(n)=(p-1)(q-1)=3*9=27 3. Επιλέγουµε e: ΜΚΔ(e,φ(n))=1, δηλ. ΜΚΔ(e,27)=1. Επιλέγω e=7 Το 27 διαιρείται από: 1,3,9,27 Το 7 διαιρείται από: 1,7. Άρα ΜΚΔ(7,27)=1. Το e=7 είναι ορθή επιλογή
Λύση Το δηµόσιο κλειδί είναι το {n,e}={40,7} Iσχύει: d*e 1 (mod φ(n)) _ d*7 1(mod 27) _ _ d*7-1 πολλαπλάσιο του 27. Υπάρχει δηλ. ακέραιος k για τον οποίο ισχύει: d*7-1 = k * 27 _ d= k * 27 + 1 7 Η διαίρεση θα πρέπει να µην έχει υπόλοιπο. Δοκιµάζουµε: k=1, d= 28/7 δεν διαιρείται ακριβώς. k=2, d=55/7 k=8, d=217/7=31. Άρα d= και το ιδιωτικό κλειδί {n,d}={40,31}
Λύση Κωδικοποίηση Μ=23, το δηµόσιο κλειδί είναι το {n,e}={40,7} M=M 1 M 2 =2 3 2: C 1 = M e 1 mod n =2 7 mod 40 = 128 mod 40= 8 3: C 2 = M 2 e mod n =3 7 mod 40 = 2187 mod 40= 27. Άρα C=C 1 C 2 =827