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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΟΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΟΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ ΚΡΥΠΤΑΝΑΛΥΣΗ ΜΕ ΕΠΙΘΕΣΕΙΣ ΠΛΑΓΙΟΥ ΜΟΝΟΠΑΤΙΟΥ (SIDE CHANNEL ATTACKS): ΕΠΙΘΕΣΕΙΣ ΑΝΑΛΥΣΗΣ ΙΣΧΥΟΣ ΠΑΝΩ ΣΕ ΚΡΥΠΤΟΓΡΑΦΙΚΟ ΣΥΣΤΗΜΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ Διπλωματική Εργασία της Φοιτήτριας Μαραγκού Πολυξένης του Μιχαήλ (Α.Μ. 6573) ΑΡΙΘΜΟΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: ΕΠΙΒΛΕΠΩΝ: ΟΔΥΣΣΕΑΣ ΚΟΥΦΟΠΑΥΛΟΥ ΠΑΤΡΑ 2013

2 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα: ΚΡΥΠΤΑΝΑΛΥΣΗ ΜΕ ΕΠΙΘΕΣΕΙΣ ΠΛΑΓΙΟΥ ΜΟΝΟΠΑΤΙΟΥ (SIDE CHANNEL ATTACKS): ΕΠΙΘΕΣΕΙΣ ΑΝΑΛΥΣΗΣ ΙΣΧΥΟΣ ΠΑΝΩ ΣΕ ΚΡΥΠΤΟΓΡΑΦΙΚΟ ΣΥΣΤΗΜΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ Της φοιτήτριας του τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών Μαραγκού Πολυξένης (Α.Μ. 6573) Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Υπολογιστών στις 27/2/2013 Ο Επιβλέπων Ο Διευθυντής του Τομέα Ο. Κουφοπαύλου Ε. Χούσος Καθηγητής Καθηγητής 2

3 3

4 Αριθμός Διπλωματικής Εργασίας: Θέμα: Κρυπτανάλυση με επιθέσεις πλάγιου μονοπατιού (side channel attacks): Επιθέσεις ανάλυσης ισχύος πάνω σε κρυπτογραφικό σύστημα Ελλειπτικών Καμπυλών. Φοιτητής: Μαραγκού Πολυξένη Επιβλέπων: Κουφοπαύλου Οδυσσέας 4

5 ΠΕΡΙΛΗΨΗ Στις μέρες μας η διακίνηση πληροφοριών και δεδομένων αποτελεί βασική λειτουργία για την επίτευξή υπηρεσιών και εφαρμογών. Για πολλές απ αυτές, η θωράκιση σημαντικών πληροφοριών αποτελεί βασική προϋπόθεση για την εξασφάλιση της λειτουργίας τους. Ο κλάδος της επιστήμης που ασχολείται με την μελέτη της ασφαλούς επικοινωνίας και διακίνησης πληροφορίας ονομάζεται κρυπτογραφία και κύριο στόχο έχει να παρέχει μηχανισμούς μεταξύ δύο οντοτήτων ώστε να επικοινωνήσουν, ενώ παράλληλα να εμποδίζει οποιονδήποτε άλλο να προσβάλει την επικοινωνία αυτή. Η παρούσα διπλωματική εργασία καλείται να αναπτύξει ένα μηχανισμό που συμβάλλει στην κωδικοποίηση πληροφοριών. Σε δεύτερη υλοποίηση ο παραπάνω αλγόριθμος διαφοροποιείται με σκοπό να αντιστέκεται σε συγκεκριμένες επιθέσεις υλικού. Οι δύο αλγόριθμοι συγκρίνονται και εξάγονται τα ανάλογα συμπεράσματα. Οι αλγόριθμοι σχεδιάστηκαν και περιγράφηκαν σε VHDL, η σωστή λειτουργία τους πιστοποιήθηκε με πρόγραμμα σε γλώσσα C. ABSTRACT In our days, distribution of information and data is a basic operation for the achievement of services and applications. For many of these, the protection of important information consist a basic condition to achieve a successful operation. The field of science which deals with the study of secure communication and distribution of information is called cryptography and its main propose is to provide mechanisms between two entities so they can communicate, while it prevents others to interference (challenge) to the communication. This thesis implements an algorithm that contributes to secure data. In a second implementation the algorithm differs so as to resist in specific hardware attacks. Both algorithms are compared and conclusions have been exported. The algorithms have been designed and described in VHDL, their correct operation has been testified compared to a program in C language. 5

6 6

7 Ευχαριστίες Στα πλαίσια αυτής της διπλωματικής εργασίας θα ήθελα να ευχαριστήσω τον κ. Κουφοπαύλου, καθηγητή του τμήματος Ηλεκτρολόγων Μηχανικών και τεχνολογίας Υπολογιστών Πανεπιστημίου Πατρών και τον κ. Φούρναρη διδάκτορα του τμήματος Ηλεκτρολόγων Μηχανικών και τεχνολογίας Υπολογιστών Πανεπιστημίου Πατρών, για τη δυνατότητα που μου έδωσαν να ασχοληθώ με το αντικείμενο, για την βοήθεια και καθοδήγησή τους κατά την εκπόνηση της εργασίας, καθώς και για τις γνώσεις που αποκόμισα. Τέλος θα ήθελα να ευχαριστήσω την οικογένεια και τους φίλους μου για την υποστήριξη και συμπαράστασή τους καθόλη την διάρκεια των σπουδών μου. 7

8 Περιεχόμενα Κεφάλαιο 1: Κρυπτογραφία Εισαγωγή Βασικές Έννοιες Στόχοι κρυπτογραφίας Ασφάλεια κρυπτογραφικού συστήματος Τύποι Αλγορίθμων Συμμετρικοί Αλγόριθμοι Aσύμμετροι Αλγόριθμοι Κρυπτανάλυση Επιθέσεις στον Αλγόριθμο Κρυπτογραφίας Επιθέσεις στο Φυσικό Μέσο Πρόληψη από Επιθέσεις στο Φυσικό Μέσο Δομή Διπλωματικής Εργασίας Κεφάλαιο 2: Μαθηματικό Υπόβαθρο Εισαγωγή στη Θεωρία Ομάδων Θεωρία Ομάδων Θεωρία Δακτυλίων Θεωρία Σωμάτων Σχέσεις Ισοδυναμίας και Αριθμητική Υπολοίπων (modulo) Θεωρία Ελλειπτικών Καμπύλων Βασικοί Ορισμοί Ο Προσθετικός Νόμος στις Ελλειπτικές Καμπύλες Βαθμωτός Πολλαπλασιασμός (Scalar Multiplication) Κρυπτογραφία Ελλειπτικών καμπύλων Ασφάλεια Ελλειπτικών Καμπύλων Κεφάλαιο 3 ο : Μη επεμβατικές επιθέσεις σε Ελλειπτικές Καμπύλες Εισαγωγή Επιθέσεις Πλάγιου Μονοπατιού για Ελλειπτικές Καμπύλες Απλή Ανάλυση Ισχύος (Simple Power Analysis (SPA)) Επιθέσεις προτύπου (Template Attacks) Διαφορική Ανάλυση Ισχύος (Differential Power Analysis (DPA)) Συγκριτική Επίθεση Πλάγιου Μονοπατιού (Comparative Side- Channel Attack)

9 3.2.5 Διεξοδική Ανάλυση Ισχύος (Refined Power Analysis (RPA)) Επίθεση Μηδενικού Σημείου (Zero-Value Point Attack (ZPA)) Επίθεση Κρατουμένου (Carry-Based Attack) Επίθεση DPA Διεύθυνσης Bit (Address-Bit DPA (ADPA)) Αντίμετρα SPA Αντίμετρα Φόρμουλα Δυσδιάκριτων Βαθμωτών Πράξεων (Indistinguishable Point Operation Formulae (IPOF)) Double-and-add-always (Συνεχής Διπλασιασμός και Πρόσθεση) Montgomery Powering Ladder DPA Αντίμετρα Βαθμωτή τυχαιοποίηση ή 1 ο Αντίμετρο Coron (Scalar randomisation) Απόκρυψη σημείου Βάσης (Base point blinding) Τυχαίες Προβολικές Συντεταγμένες (Random projective coordinates) Τυχαία Διάσπαση Κλειδιού (Random key splitting) Τυχαίος Ισομορφισμός Ελλειπτικής Καμπύλης (Random EC Isomorphism) Τυχαίος Ισομορφισμός Σώματος (Random field Isomorphism) Τυχαία Διεύθυνση Καταχωρητή (Random register address) Κεφάλαιο 4: Αλγόριθμοι και Αρχιτεκτονικές Πράξεις σε Πεπερασμένα σώματα Πολωνυμική Βάση Αναπαράστασης Πρόσθεση και Αφαίρεση Πολλαπλασιασμός και Τετραγωνισμός Αντιστροφή και Διαίρεση Παραδείγματα Πράξεων Πράξεις Σημείων σε Ελλειπτικές Καμπύλες Προβολικές Συντεταγμένες Lopez-Dahab Πρόσθεση και Διπλασιασμός Σημείων Αρχιτεκτονική Πρόσθεσης Σημείου στην Καμπύλη Αρχιτεκτονική Διπλασιασμού Σημείου στην Καμπύλη Κατασκευή Μηχανής Καταστάσεων

10 4.2.6 Αρχιτεκτονική Καταχωρητή Βαθμωτός Πολλαπλασιασμός Επίθεση Απλής Ανάλυσης Ισχύος (SPA) Απαραίτητος Εξοπλισμός Επίθεση Απλής Ανάλυσης Ισχύος Υλοποίηση Αντίμετρου Υλοποίηση Αντίμετρου Double-and-add-always Τροποποίηση Μηχανής Καταστάσεων Επίθεση Απλής ανάλυσης Ισχύος στην τροποποιημένη υλοποίηση 79 Κεφάλαιο 5: Αποτελέσματα, Συγκρίσεις και Συμπεράσματα Αποτελέσματα Simulation Λειτουργία Πολλαπλασιαστή GF( ) Λειτουργία Συνολικής υλοποίησης Σημαντικές Παρατηρήσεις Αποτελέσματα Σύγκριση Αποτελεσμάτων των δύο αλγορίθμων Σύγκριση με άλλες Υλοποιήσεις Συμπεράσματα Περαιτέρω Έρευνα Βιβλιογραφία Παράρτημα Α: Κώδικας VHDL (version1) Παράρτημα B: Κώδικας VHDL (version2) Παράρτημα C: Κώδικας C Παράρτημα D: Synthesis Report (Algorithm version1) Παράρτημα E: Synthesis Report (Algorithm version2)

11 Κεφάλαιο 1: Κρυπτογραφία 1.1 Εισαγωγή Η προσπάθεια ανάπτυξης μεθόδου ώστε να εγγυάται την μη διαρροή μηνυμάτων δεν είναι κάτι νέο. Οι αρχαίοι Έλληνες χρησιμοποίησαν κρυπτογραφημένα μηνύματα για να στείλουν οδηγίες στους στρατούς τους στο πεδίο της μάχης. Οι Αλγόριθμοι (Ciphers) όμως, τέθηκαν σε πραγματική λειτουργία και οι δυνατότητές του μελετήθηκαν διεξοδικά κατά τη διάρκεια των δύο παγκοσμίων πολέμων καθώς εκτός από την αποστολή των κρυπτογραφημένων μηνυμάτων, έπρεπε επίσης να αποκρυπτογραφηθούν τα μηνύματα του εχθρού. Η εξάπλωση των υπολογιστών και των συστημάτων επικοινωνίας τη δεκαετία του 60 έφερε μαζί της την απαίτηση από τον ιδιωτικό τομέα για την ύπαρξη μέσων προστασίας των πληροφοριών σε ψηφιακή μορφή και για την παροχή υπηρεσιών ασφάλειας. 1.2 Βασικές Έννοιες Η λέξη κρυπτογραφία προέρχεται από τα συνθετικά "κρυπτός" + "γράφω" και είναι ο επιστημονικός κλάδος, ο οποίος ασχολείται με την μελέτη, την ανάπτυξη και την χρήση τεχνικών προκειμένου να επιτευχθεί η κωδικοποίηση και αποκωδικοποίηση ενός μηνύματος πληροφορίας, ούτως ώστε να υπάρξει ασφαλή διακίνησή τους μεταξύ εξουσιοδοτημένων προσώπων και μόνο. Κρυπτογράφηση (encryption) ονομάζεται η διαδικασία με την οποία επιτυγχάνεται η παραπάνω μετατροπή του μηνύματος με τέτοιο τρόπο ώστε το περιεχόμενο του να παραμένει μυστικό. Η αντίστροφη διαδικασία όπου από το μετασχηματισμένο μήνυμα παράγεται πάλι το αρχικό ονομάζεται αποκρυπτογράφηση (decryption). Η διαδικασία αποτυπώνεται εύστοχα στην εικόνα (1.1) Η αρχική πληροφορία αποτελεί το αρχικό κείμενο (plaintext) ή ακρυπτογράφητο κείμενο, ενώ το αποτέλεσμα της κρυπτογράφησης ονομάζεται κρυπτογραφημένο κείμενο (ciphertext) ή κρυπτοκείμενο. Μια τεχνική ή ένας αλγόριθμος κρυπτογράφησης, ενός μηνύματος, λέγεται κρυπτοσύστημα ή κρυπτογραφικό σύστημα. Κρυπτογραφικός αλγόριθμος είναι η μέθοδος που χρησιμοποιείται για τον μετασχηματισμό των δεδομένων σε τέτοια μορφή που να μην επιτρέπει την αποκάλυψη των περιεχομένων τους σε μη εξουσιοδοτημένα μέρη. Κατά κανόνα ο κρυπτογραφικός αλγόριθμος είναι μία πολύπλοκη μαθηματική ή λογική συνάρτηση. Κλειδί είναι μία σειρά ψηφίων που χρησιμοποιείται ως είσοδος στην συνάρτηση κρυπτογράφησης και διαδραματίζει καθοριστικό ρόλο στην όλη διαδικασία. Καθορίζει τις ακριβείς αντικαταστάσεις και τα αποτελέσματα των μετασχηματισμών που εκτελούνται από τον αλγόριθμο κρυπτογράφησης. Επομένως, διαφορετικά κλειδιά παράγουν διαφορετικά κρυπτοκείμενα. Η κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος γίνεται με τη βοήθεια του αλγόριθμου κρυπτογράφησης και του κλειδιού κρυπτογράφησης. Συνήθως ο αλγόριθμος κρυπτογράφησης είναι γνωστός, οπότε η ασφάλεια του περιεχομένου του 11

12 κρυπτογραφημένου μηνύματος που μεταδίδεται βασίζεται ως επί το πλείστον στην μυστικότητα του κλειδιού κρυπτογράφησης. Το κλειδί έχει συγκεκριμένο μήκος και το μέγεθός του καθορίζεται από τον αριθμό των ψηφίων από τα οποία αποτελείται. Γενικά ισχύει ότι όσο μεγαλύτερο είναι το κλειδί κρυπτογράφησης, τόσο δυσκολότερα μπορεί να αποκρυπτογραφηθεί το κρυπτογραφημένο μήνυμα από μη εξουσιοδοτημένα άτομα. Διαφορετικοί αλγόριθμοι κρυπτογράφησης απαιτούν διαφορετικά μήκη κλειδιών για να πετύχουν το ίδιο επίπεδο ανθεκτικότητας κρυπτογράφησης. Ο αλγόριθμος είναι συνήθως δημοσιοποιημένος, ενώ το κλειδί παραμένει μυστικό. Είναι γνωστό μόνο στον αποστολέα και στους αποδέκτες του κρυπτοκείμενο, ώστε να είναι σε θέση να το μετατρέψουν σε μη κρυπτογραφημένο κείμενο. εικόνα 1.1 Κρυπτανάλυση είναι ο κλάδος της επιστήμης που ασχολείται με την μελέτη και την επινόηση μεθόδων που εξασφαλίζουν την κατανόηση του νοήματος της κρυπτογραφημένης πληροφορίας, έχοντας ως άγνωστες ποσότητες τον κρυφό μετασχηματισμό, το κλειδί με βάση το οποίο αυτός πραγματοποιήθηκε και το κρυπτογραφημένο μήνυμα. Η Κρυπτανάλυση και η κρυπτογραφία απαρτίζουν την επιστήμη της κρυπτολογίας. 1.3 Στόχοι κρυπτογραφίας Αντικειμενικός σκοπός της κρυπτογραφίας είναι να εμποδίσει οποιαδήποτε προσπάθεια εξαπάτησης ή κακόβουλη ενέργεια. Στο πλαίσιο λοιπόν της ασφάλειας των υπολογιστικών και επικοινωνιακών συστημάτων τα διάφορα κρυπτογραφικά συστήματα θα πρέπει να εξασφαλίζουν την καλύτερη δυνατή ικανοποίηση των παρακάτω υπηρεσιών ασφαλείας. Εμπιστευτικότητα (Confidentiality) Εμπιστευτικότητα είναι η ιδιότητα που θα πρέπει να έχουν τα δεδομένα του μηνύματος ώστε να είναι προσπελάσιμα μόνο από εξουσιοδοτημένα άτομα. Η εμπιστευτικότητα καλείται επίσης δηκτικότητα, μυστικότητα, προστασία του απορρήτου και εχεμύθεια. 12

13 Ακεραιότητα (Integrity) Η ακεραιότητα είναι η υπηρεσία που απαγορεύει τη μη εξουσιοδοτημένη μεταβολή των δεδομένων. Για τη διασφάλιση της πληρότητας και της ορθότητας των δεδομένων, ενέργειες όπως η εισαγωγή, η διαγραφή, η αντικατάσταση πληροφοριών και κάθε άλλου είδους τροποποίησή τους πρέπει να μην είναι διαθέσιμες από μη εξουσιοδοτημένα άτομα. Πιστοποίηση αυθεντικότητας (Authentication) Η πιστοποίηση αυθεντικότητας σχετίζεται τόσο με την επιβεβαίωση της ταυτότητας των δύο οντοτήτων που επιθυμούν να επικοινωνήσουν, όσο και της πληροφορίας που καλείται να μεταδοθεί. Συγκεκριμένα τα δεδομένα ελέγχονται ως προς την πηγή προέλευσης, την ημερομηνία προέλευσης, το περιεχόμενο, την ώρα αποστολής, κτλ. Επομένως, η πιστοποίηση αυθεντικότητας υποδιαιρείται σε δύο κύριες διεργασίες: την πιστοποίηση αυθεντικότητας της οντότητας και την πιστοποίηση αυθεντικότητας των δεδομένων Η πιστοποίηση αυθεντικότητας των δεδομένων έμμεσα προϋποθέτει την ακεραιότητα των δεδομένων. Μη αποποίηση (Νon repudiation) Η υπηρεσία αυτή αποτρέπει μία οντότητα να αποποιηθεί την ύπαρξη προηγούμενων δεσμεύσεων ή ενεργειών που έχουν πραγματοποιηθεί. Όταν μία πράξη αμφισβητείται χρειάζεται ένα μέσο προκειμένου να επιλύσει τη διαφωνία. 1.4 Ασφάλεια κρυπτογραφικού συστήματος Η ανθεκτικότητά ενός κρυπτογραφικού συστήματος, αποτελεί ένα από τα πιο βασικά ζητήματα που πρέπει να πιστοποιηθεί πριν τη χρησιμοποίησή του σε πρακτικές εφαρμογές. Τα κρυπτογραφικά συστήματα εμφανίζουν διάφορα επίπεδα ασφαλείας, ανάλογα με το πόσο δύσκολα παραβιάζονται. Για να θεωρηθεί ασφαλής ένας αλγόριθμος πρέπει στην πράξη να μην παραβιάζεται. Ένας αλγόριθμος είναι απόλυτα ασφαλής αν δεν υπάρχει δυνατότητα να παραβιαστεί ανεξαρτήτως του μεγέθους του κρυπτογραφημένου μηνύματος, των υπολογιστικών πόρων και του χρόνου που μπορεί να διαθέτει ο κρυπταναλυτής. Ένας αλγόριθμος ονομάζεται υπολογιστικά ασφαλής αν είναι αδύνατη η παραβίασή του με τους διαθέσιμους τωρινούς ή μελλοντικούς πόρους. 1.5 Τύποι Αλγορίθμων Οι βασικές κατηγορίες στις οποίες χωρίζονται οι αλγόριθμοι κρυπτογραφίας είναι δύο. Οι συμμετρικοί αλγόριθμοι χρησιμοποιούν ένα κλειδί το οποίο είναι κοινό στις δύο οντότητες και χρησιμοποιείται τόσο για την διαδικασία της κρυπτογράφησης όσο και της αποκρυπτογράφησης του μηνύματος. Αντίθετα οι ασύμμετροι αλγόριθμοι διαχειρίζονται δύο κλειδιά, το δημόσιο και το ιδιωτικό κλειδί. Το δημόσιο κλειδί χρησιμοποιείται για την κρυπτογράφηση των 13

14 δεδομένων, ενώ το ιδιωτικό για την αντίστροφη διαδικασία. Οι συμμετρικοί αλγόριθμοι λειτουργούν πιο γρήγορα από τους ασύμμετρους με αποτέλεσμα την δημιουργία υβριδικών κρυπτογραφικών συστημάτων που χρησιμοποιούν και τους δύο τύπους αλγορίθμων. Συνήθως ο ασύμμετρος αλγόριθμος χρησιμοποιείται για να ανταλλαγή του συμμετρικού κλειδιού και έπειτα η κρυπτογράφηση εκτελείται από το συμμετρικό αλγόριθμο Συμμετρικοί Αλγόριθμοι Ο συμμετρικός αλγόριθμος χρησιμοποιεί ένα κλειδί για κρυπτογράφηση και αποκρυπτογράφηση. Από τους πιο γνωστούς συμμετρικούς αλγόριθμους είναι ο αλγόριθμος DES (Data Encryption Standard). Στη συμμετρική κρυπτογράφηση ο αποστολέας και ο παραλήπτης του μηνύματος χρησιμοποιούν το ίδιο κλειδί. Ο αποστολέας κρυπτογραφεί το μήνυμα και ο παραλήπτης το αποκρυπτογραφεί χρησιμοποιώντας το κοινό κλειδί. Το μειονέκτημα αυτού του είδους κρυπτογράφησης έγκειται στη δυσκολία της γνωστοποίησης του κλειδιού και στις δύο οντότητες ειδικά αν βρίσκονται σε διαφορετικές τοποθεσίες. Στην κρυπτογραφία απαραίτητη προϋπόθεση είναι όλα τα κλειδιά που χρησιμοποιούνται να παραμένουν κρυφά, κάτι που είναι εξαιρετικά δύσκολο στα ανοικτά δίκτυα με πολλούς χρήστες, όπως είναι το Internet. Επομένως η χρησιμοποίηση συμμετρικών αλγορίθμων κρυπτογράφησης προϋποθέτει την γνωστοποίηση του κοινού κλειδιού και στις δύο οντότητες με ασφαλή τρόπο Aσύμμετροι Αλγόριθμοι Η ασύμμετρη κρυπτογράφηση ή κρυπτογράφηση δημοσίου κλειδιού είναι ένα ασύμμετρο σχέδιο που χρησιμοποιεί ένα ζευγάρι κλειδιών: ένα δημόσιο κλειδί, το οποίο κρυπτογραφεί το μήνυμα, και ένα αντίστοιχο ιδιωτικό κλειδί (μυστικό κλειδί) για την αποκρυπτογράφησή του. Το δημόσιο κλειδί κοινοποιείται ενώ το ιδιωτικό κλειδί μένει κρυφό. Οποιοσδήποτε μπορεί να κρυπτογραφήσει δεδομένα με το δημόσιο κλειδί, αλλά μόνο όποιος κατέχει το ιδιωτικό αντίστοιχο κλειδί μπορεί να τα αποκρυπτογραφήσει. Η τεχνολογία της ασύμμετρης κρυπτογραφίας βασίζεται σε δυσεπίλυτα μαθηματικά προβλήματα ώστε να παράγει τυχαία ζεύγη κλειδιών. Το κάθε κλειδί κρυπτογραφεί ψηφιακά δεδομένα τα οποία μπορούν να αποκρυπτογραφηθούν μόνο από το άλλο (συμπληρωματικό του) κλειδί. Η υψηλή ασφάλεια αυτών των αλγορίθμων έγκειται ακριβώς στην υπολογιστική αδυναμία εύρεσης του ιδιωτικού κλειδιού γνωρίζοντας το δημόσιο. Το πρόβλημα εύρεσης του ιδιωτικού κλειδιού είναι εφάμιλλο της επίλυσης ενός δισεπίλυτου μαθηματικού προβλήματος. Τα τρία πιο δημοφιλή προβλήματα είναι: Πρόβλημα Παραγοντοποίησης Ακεραίων (Integer Factorization Problem) Δοθέντος ενός θετικού ακεραίου n, να βρεθεί η παραγοντοποίησή του σε πρώτους αριθμούς, δηλαδή στη μορφή, όπου είναι διαφορετικοί ανά δύο πρώτοι και κάθε. Πρόβλημα διακριτού λογαρίθμου(discrete Logarithm Problem) 14

15 Δοθέντος ενός πρώτου, ενός γεννήτορα του και ενός στοιχείου του, να βρεθεί ακέραιος, τέτοιος, ώστε Πρόβλημα Διακριτού λογαρίθμου Ελλειπτικών Καμπύλων(Elliptic curve Discrete Logarithm Problem) Δοθείσης μιας ελλειπτικής καμπύλης ορισμένης σε ένα σώμα και δύο σημείων τάξεως, να βρεθεί ακέραιος τέτοιος, ώστε 1.6 Κρυπτανάλυση Κρυπτανάλυση ονομάζεται η μελέτη με στόχο την επινόηση μεθόδων που εξασφαλίζουν την κατανόηση του νοήματος του κρυπτογραφήματος, δίχως να είναι γνωστό το κλειδί με το οποίο κρυπτογραφήθηκε. Βασικός σκοπός της είναι, ανάλογα με τις απαιτήσεις του κρυπταναλυτή, να ανακαλυφθεί το κλειδί ή ένας ισοδύναμος αλγόριθμος που θα αποκρυπτογραφεί το μήνυμα. Ένας αλγόριθμος κρυπτογράφησης έχει "σπάσει" αν βρεθεί μέθοδος (πιθανοκρατική ή ντετερμινιστική) η οποία να είναι σε θέση να ανακαλύψει το μήνυμα ή το κλειδί με πολυπλοκότητα μικρότερη από την πολυπλοκότητα της επίθεσης ωμής βίας (brutal force attack)*. Οι επιθέσεις χωρίζονται σε δύο κατηγορίες: Τις επιθέσεις στον αλγόριθμο κρυπτογραφίας και τις επιθέσεις στο φυσικό μέσο. *Η brute-force attack (επίθεση ωμής βίας) αναφέρεται στην εξαντλητική δοκιμή πιθανών κλειδιών που παράγουν ένα κρυπτογράφημα, ώστε να αποκαλυφθεί το αρχικό μήνυμα. Τέτοιου είδους επιθέσεις, οι οποίες χρησιμοποιούν όλα τα δυνατά κλειδιά, μπορούν πάντοτε να πραγματοποιηθούν. Στην ακαδημαϊκή βιβλιογραφία η μέθοδος brute-force είναι μέτρο ασφάλειας ενός αλγόριθμου κρυπτογράφησης Επιθέσεις στον Αλγόριθμο Κρυπτογραφίας Σε αυτήν την κατηγορία επιθέσεων ανήκουν όλες εκείνες στις οποίες ο κρυπταναλυτής χρησιμοποιεί ένα ή περισσότερα μηνύματα ή/και κρυπτογραφημένα μηνύματα και προσπαθεί να ανακαλύψει το κλειδί. Ciphertext-only attack O κρυπταναλυτής έχει στην κατοχή του ένα ή περισσότερα κρυπτογραφημένα μηνύματα και προσπαθεί να ανακτήσει κάποιο αρχικό μήνυμα ή το κλειδί που χρησιμοποιήθηκε Known-Plaintext attack O κρυπταναλυτής έχει στην κατοχή του ένα ή περισσότερα κρυπτογραφημένα μηνύματα καθώς και τ αντίστοιχα αρχικά μηνύματα και προσπαθεί να ανακτήσει το κλειδί που χρησιμοποιήθηκε. 15

16 Chosen Plaintext attack O κρυπταναλυτής επιλέγει ένα ή περισσότερα μηνύματα και στη συνέχεια αποκτά τα αντίστοιχα κρυπτογραφημένα μηνύματα. Στη συνέχεια προσπαθεί να ανακτήσει κάποιο άλλο μήνυμα ή το κλειδί που χρησιμοποιήθηκε. Chosen Cipher attack O κρυπταναλυτής επιλέγει ένα ή περισσότερα κρυπτογραφημένα μηνύματα και στη συνέχεια αποκτά τα αντίστοιχα αποκρυπτογραφημένα. Στη συνέχεια προσπαθεί να ανακτήσει κάποιο άλλο μήνυμα ή το κλειδί που χρησιμοποιήθηκε Επιθέσεις στο Φυσικό Μέσο Αυτού του είδους οι επιθέσεις προϋποθέτουν την παρουσία του κρυπτογραφικού συστήματος και επιχειρούν, παράγοντας διαταραχές του τρόπου λειτουργίας του, να εξάγουν συμπεράσματα για τον αλγόριθμο κρυπτογράφησης και το κλειδί. Invasive Attacks (Επεμβατικές Επιθέσεις) Αυτού του τύπου οι επιθέσεις στοχεύουν στην φυσική διατάραξη της λειτουργίας του ολοκληρωμένου κυκλώματος. Περιλαμβάνουν αποπαθητικοποίηση (depassivation) του προστατευτικού στρώματός του συστήματος, απομάκρυνση πακέτων (chip depackaging) και παραποίηση ή εμπλοκή στην λειτουργία του μέσω ειδικών εργαλείων. Οι τροποποιήσεις μπορεί να συμβούν στον εκτελέσιμο κώδικα και στις τιμές των καταχωρητών. Επίσης σε αυτού του είδους τις επιθέσεις παρατηρείται η συμπεριφορά του συστήματος μετά από διακοπή ρεύματος δεδομένου ότι κάποια κυκλώματα έχουν την ικανότητα να συγκρατούν τα δεδομένα τους. Οι επεμβατικές επιθέσεις δεν είναι εύκολο να πραγματοποιηθούν καθώς απαιτούν ακριβό και εξειδικευμένο εξοπλισμό. Τέλος απαιτείται μεγάλη γνώση και εμπειρία από τους επιτιθέμενους για μια επιτυχημένη επίθεση. Semi invasive attacks (Ημι-επεμβατικές επιθέσεις) Σε αυτές τις επιθέσεις παρατηρείται η συμπεριφορά του κρυπτογραφικού συστήματος μετά από μία εξειδικευμένη πυροδότησή του. Όπως και στις επεμβατικές επιθέσεις απαιτείται απομάκρυνση πακέτων (chip depackaging). Παρολ'αυτά δεν επιθυμείται αποπαθητικοποίηση (depassivation) του προστατευτικού στρώματός του, καθώς δεν δημιουργούνται επαφές με τις εσωτερικές γραμμές του. Η επίθεση ξεκινά με την παραγωγή ενός σφάλματος κατά τη διάρκεια μιας κρυπτογραφικής λειτουργίας και έπειτα παρατηρείται η διάδοσή του. Ο εισβολέας είναι σε θέση να συναγάγει πληροφορίες από τις εν λόγω παρατηρήσεις. Στις ημι-επεμβατικές επιθέσεις ή αλλιώς επιθέσεις σφάλματος το σφάλμα παράγεται με ακραίες θερμοκρασιακές μεταβολές, αρρυθμίες του ρολογιού, υπεριώδη ακτινοβολία ή παρενόχληση με ακτίνες λέιζερ. Οι παραπάνω επιθέσεις είναι συγκριτικά δύσκολο να εφαρμοστούν και προϋποθέτουν εμπειρία του επιτιθέμενου και ακριβά μέσα. 16

17 Non invasive attacks (Μη Επεμβατικές Επιθέσεις) Αυτές οι επιθέσεις καλούνται επίσης και επιθέσεις πλάγιου μονοπατιού (side channel attacks) και εκμεταλλεύονται τα χαρακτηριστικά του ολοκληρωμένου κυκλώματος (υπολογιστικό χρόνο, κατανάλωση ενέργειας, εκπομπή ηλεκτρομαγνητικής ακτινοβολίας) για να εξάγουν πληροφορίες από τα επεξεργαζόμενα δεδομένα και να συμπεραίνουν το κλειδί ή άλλες σημαντικές πληροφορίες. Σε αυτού του είδους τις επιθέσεις ο επιτιθέμενος δεν παρεμβαίνει στο κρυπτογραφικό σύστημα. Χρειάζεται μόνο έναν υπολογιστή, ένα ψηφιακό παλμογράφο και καλώδια για να παρατηρηθούν οι πληροφορίες που απαιτούνται. Η εικόνα (1.2) παρουσιάζει την παραπάνω διαδικασία. Επίσης δεν απαιτούνται εξεζητημένες γνώσεις και εμπειρία για την πραγματοποίηση της επίθεσης. o Timing attacks: Ο επιτιθέμενος παρακολουθεί τον χρόνο που απαιτεί το σύστημα έως ότου εξαχθούν τα σωστά αποτελέσματα. Με βάση τα παραπάνω είναι σε θέση να ανακαλύψει πληροφορίες για το κλειδί. Στη συνέχεια ο επιτιθέμενος υποθέτει διάφορα κλειδιά και συγκρίνει τα υποτιθέμενα αποτελέσματα με τα πραγματικά. Λαμβάνοντας αρκετά δείγματα μπορεί να συμπεράνει το κλειδί. o Power Attacks: Αυτές οι επιθέσεις προϋποθέτουν την μέτρηση της ενέργειας που εκλύεται κατά τη διάρκεια μια κρυπτογράφησης. Με Απλή Ανάλυση Ισχύος (Simple Power Attack(SPA)) του παραπάνω σήματος ο επιτιθέμενος είναι σε θέση να ανακαλύψει τις διεργασίες που συμβαίνουν στο σύστημα και εν τέλει το ίδιο το κλειδί, μιας και είναι αυτό που ουσιαστικά τις ορίζει. Ακόμα κι αν υπάρχει προστασία ενάντια στη SPA, το σύστημα δεν είναι απόλυτα ασφαλές. Με τη χρήση Διαφορικής Ανάλυσης ισχύος (Differential Power Analysis(DPA)) το κλειδί μπορεί να ανακαλυφθεί. Στην DPA ο επιτιθέμενος υποθέτει τα bits του ιδιωτικού κλειδιού, ανάλογα με αυτά συμπεραίνει την υποτιθέμενη κατανάλωση ενέργειας και τη συγκρίνει με την πραγματική κατανάλωση. Η υπόθεση της οποίας η κατανάλωση συσχετίζεται περισσότερο με την πραγματική είναι και η σωστή. Η διαδικασία απαιτεί αρκετά δείγματα και συγκρίσεις για την εξαγωγή του κλειδιού. o Electromagnetic Attacks: Αυτού του τύπου οι επιθέσεις χρησιμοποιούν την ηλεκτρομαγνητική ακτινοβολία που εκπέμπουν τα κρυπτοσύστημα και στη συνέχεια ακολουθούν την ίδια μέθοδο με τις power attacks. Για αυτές τις επιθέσεις δεν απαιτείται επαφή με το ολοκληρωμένο κύκλωμα, πράγμα το οποίο σημαίνει πως η διαδικασία μπορεί να γίνει και από πιο μακριά. Όμως αιτίες όπως ο θόρυβος και τα όρια σφάλματος των μετρήσεων περιορίζουν την αποτελεσματικότητα της μεθόδου. 17

18 εικόνα Πρόληψη από Επιθέσεις στο Φυσικό Μέσο Η πρόληψη ενάντια στις παραπάνω επιθέσεις δεν είναι μια απλή διαδικασία. Ο κάθε αλγόριθμος έχει τις δικές του αδυναμίες και κάθε υλοποίηση πρέπει να εξετάζεται ξεχωριστά. Γενικότερα υπάρχουν δύο διαφορετικοί τύποι αντίμετρων που μπορούν να εφαρμοστούν. Αντίμετρα βασισμένα στον αλγόριθμο (algorithmic based countermeasures) Αποτελούν τεχνικές που διαφοροποιούν τις αλγεβρικές πράξεις του αλγορίθμου και στόχο έχουν να ελαχιστοποιήσουν την πληροφορία που διαχέεται στο περιβάλλον. Τα παραπάνω μέτρα εφαρμόζονται για προστασία από semi invasive και non invasive attacks. Αντίμετρα βασισμένα στο κύκλωμα (circuit based countermeasures) Είναι δομές που προστίθενται στο ολοκληρωμένο και σκοπό έχουν να αναγνωρίσουν τυχών απόπειρα επίθεσης. Τα παραπάνω αντίμετρα μπορούν να εφαρμοστούν για κάθε τύπο επίθεσης στο υλικό μέσο. Συγκεκριμένα για επεμβατικές επιθέσεις τοποθετούνται αισθητήρες στα ανώτερα στρώματα του ολοκληρωμένου κυκλώματος, οι οποίοι ενεργοποιούνται όταν υπάρξει αποπαθητικοποίηση ή απομάκρυνση πακέτων. Οι παραπάνω λύσεις αν και είναι δυνατόν να χρησιμοποιηθούν και για ημι-επεμβατικές επιθέσεις, συνήθως είναι ανεπαρκής και ασύμφορες. Επομένως τα μέτρα για τις τελευταίες εστιάζουν στην ανίχνευση του σφάλματος, το οποίο θα προσπαθήσει να διαδώσει ο επιτιθέμενος. Τα κυκλώματα ανίχνευσης θα πρέπει να ανιχνεύουν το σφάλμα πριν ολοκληρωθούν οι υπολογισμοί του αλγόριθμου κρυπτογραφίας ώστε να εμποδίζεται κάθε πληροφορία. Όσο αφορά τις επιθέσεις πλάγιου μονοπατιού ο στόχος είναι η μετατροπή του αρχικού αλγορίθμου, έτσι ώστε χαρακτηριστικά όπως η κατανάλωση ισχύος, η εκπομπή ηλεκτρομαγνητικής ακτινοβολίας και ο υπολογιστικός χρόνος να μην αποκαλύπτουν κανένα στοιχείο όσο αφορά τα δεδομένα και το κλειδί. Ένας τρόπος είναι η εισαγωγή τυχαίων, άρα και 18

19 διαφορετικών κάθε φορά αριθμών που θα λαμβάνουν μέρος στον αλγόριθμο. Η παραπάνω λύση είναι ιδιαίτερα αποτελεσματική προστατεύοντας από DPA. Μια δεύτερη προσέγγιση περιλαμβάνει αντίμετρα βασισμένα στο κύκλωμα. Επιπλέον κυκλωματικές διατάξεις προστίθενται ώστε να ομαλοποιήσουν τα χαρακτηριστικά του κάθε ολοκληρωμένου συστήματος, έτσι ώστε αυτά να μην αλλάζουν κατά τη διάρκεια της κρυπτογραφικής διαδικασίας. Θα πρέπει να σημειωθεί πως 100% προστασία στις επιθέσεις πλάγιου μονοπατιού δεν υπάρχει. Από την πλευρά της κρυπτογραφίας και των μηχανικών ο σκοπός είναι η δημιουργία και εξέλιξη τέτοιων αλγορίθμων που αποτρέπουν τον επιτιθέμενο λόγω του υψηλού κόστους και της προσπάθειας που απαιτείται. 1.8 Δομή Διπλωματικής Εργασίας Ύστερα από μια σύντομη αλλά ουσιαστική επισκόπηση του αντικειμένου που πραγματεύεται αυτή τη εργασία, είναι ευκολότερο να κατανοηθούν η δομή και τα στοιχεία της. Στην παρούσα εργασία παρουσιάζεται και υλοποιείται ένας ασύμμετρος αλγόριθμος κρυπτογράφησης βασισμένος στο πρόβλημα διακριτού λογαρίθμου ελλειπτικών καμπύλων. Στην συνέχεια αφού διαπιστώθηκε πως μπορεί να σπάσει από μη επεμβατικές επιθέσεις και συγκεκριμένα από την επίθεση απλής ανάλυσης Ισχύος (Simple Power Analysis (SPA)) γίνεται μια προσπάθεια τροποποίησής με αντίμετρα βασισμένα στον αλγόριθμο, ώστε να μπορεί να προστατευθεί από την εν λόγω επίθεση. Στο 2 ο Κεφάλαιο γίνεται μια εισαγωγή στο μαθηματικό υπόβαθρο που απαιτείται για τη διεξαγωγή της εργασίας. Αναλύονται η μαθηματική θεωρία των ελλειπτικών καμπύλων και η θεωρία των πεπερασμένων σωμάτων. Στο 3 ο Κεφάλαιο παρουσιάζεται αναλυτικά οι επιθέσεις πλάγιου μονοπατιού ειδικά για τις ελλειπτικές καμπύλες και προτείνονται αντίμετρα. Στο 4 ο κεφάλαιο παρουσιάζεται βήμα βήμα η υλοποίηση του αρχικού αλγορίθμου. Αναλύονται λεπτομερώς όλα τα στάδια και παρουσιάζεται η ολοκληρωμένη αρχιτεκτονική. Στη συνέχεια μελετάται η διαδικασία της επίθεσης απλής ανάλυσης ισχύος και η επίδραση που θα έχει στον υλοποιημένο αλγόριθμο. Έπειτα αφού διαπιστωθεί πως ο αρχικός αλγόριθμος είναι ευάλωτος στη συγκεκριμένη επίθεση, γίνεται τροποποίησή του, με βάση κατάλληλο αντίμετρο, ώστε να καταστεί ανθεκτικός. Τέλος διαπιστώνεται η ανθεκτικότητά του στην εν λόγω επίθεση. Το 5 ο Κεφάλαιο πιστοποιεί την καλή λειτουργία των αλγορίθμων και παρουσιάζει τα αποτελέσματα των δύο VHDlμοντέλων μετά τη σύνθεσή του από κατάλληλο πρόγραμμα. Ακολουθεί η εξαγωγή των συμπερασμάτων για τις δύο υλοποιήσεις. Γίνεται σύγκριση με παρόμοιες μελέτες και εργασίες. Επίσης μελετάται το κόστος της δεύτερης υλοποίησης και αν τελικά είναι ικανή να ανταπεξέλθει στα δεδομένα της πραγματικότητας. Τέλος παρουσιάζονται επεκτάσεις και περεταίρω έρευνα που θα μπορούσε να υπάρξει. Στα παραρτήματα παρουσιάζονται οι κώδικες των δύο αλγορίθμων, ο κώδικας σε γλώσσα C για την σύγκριση των αποτελεσμάτων και τα δύο synthesis reports των αλγορίθμων. 19

20 Κεφάλαιο 2: Μαθηματικό Υπόβαθρο 2.1 Εισαγωγή στη Θεωρία Ομάδων Σε αυτό το κεφάλαιο αναλύονται όλες οι μαθηματικές έννοιες που απαιτούνται για την παρούσα εργασία. Αρχικά γίνεται εισαγωγή στα θεωρία ομάδων και στη συνέχεια αναλύονται η αριθμητική των ελλειπτικών καμπύλων. Έπειτα παρουσιάζονται οι δύο αλγόριθμοι που υλοποιήθηκαν και επισημαίνονται οι διαφορές τους Θεωρία Ομάδων Ένα σύνολο στοιχείων εφοδιασμένο με μια πράξη εσωτερικής σύνθεσης, που συμβολίζεται με (συνήθως είναι πρόσθεση ή ο πολλαπλασιασμός ), λέγεται ομάδα (group), εάν ικανοποιούνται οι εξής ιδιότητες: Προσεταιριστική ιδιότητα Ύπαρξη ουδετέρου στοιχείου Ύπαρξη συμμετρικού στοιχείου Στις ιδιότητες του ορισμού της ομάδας δεν συμπεριλαμβάνεται η ιδιότητα της κλειστότητας: διότι αυτό εξυπακούεται από τον ορισμό της πράξης που είναι πράξη εσωτερικής σύνθεσης. Πράξη εσωτερικής σύνθεσης επί ενός συνόλου ονομάζεται μια απεικόνιση με την ιδιότητα σε κάθε ζεύγος να αντιστοιχεί ένα και μόνο ένα στοιχείο του ώστε. Στις εφαρμογές όμως, όπου πρέπει να αποδείξουμε ότι ένα σύνολο αποτελεί ομάδα ως προς κάποια πράξη, πρέπει και να ελέγξουμε ότι αυτή η πράξη είναι κλειστή ώστε να είμαστε σίγουροι ότι ποτέ δεν θα βγούμε έξω από το σύνολο. Το συμμετρικό στοιχείο θα ονομάζεται αντίθετο, όταν η πράξη έχει τα χαρακτηριστικά της πρόσθεσης, ή αντίστροφο όταν η πράξη έχει τα χαρακτηριστικά του πολλαπλασιασμού. Το αποτέλεσμα ονομάζεται άθροισμα ή γινόμενο αντίστοιχα. Το ουδέτερο στοιχείο λέγεται και ταυτοτικό. Εάν η πράξη είναι προσθετική ή Πολλαπλασιαστική, το θα είναι μηδέν ή μονάδα αντίστοιχα. Εάν η πράξη της ομάδας ικανοποιεί επί πλέον την αντιμεταθετική ιδιότητα τότε η ομάδα λέγεται αντιμεταθετική ή αβελιανή. Μια ομάδα που περιέχει πεπερασμένο πλήθος στοιχείων ονομάζεται πεπερασμένη ομάδα, ενώ αν περιέχει άπειρο πλήθος στοιχείων ονομάζεται 20

21 άπειρη ομάδα. Μια άπειρη ομάδα ονομάζεται διακεκριμένη ή συνεχής ανάλογα εάν το πλήθος των στοιχείων είναι αριθμήσιμο ή συνεχές. Το πλήθος των στοιχείων μιας πεπερασμένης ομάδας ονομάζεται τάξη της ομάδας. Εάν είναι ένα στοιχείο μιας ομάδας τότε όλες οι δυνάμεις του,... πρέπει να είναι στοιχεία της. Εάν η είναι μια πεπερασμένη ομάδα τότε κάποια από αυτές τις δυνάμεις θα είναι το ταυτοτικό στοιχείο δηλαδή. Ο μικρότερος θετικός ακέραιος που ικανοποιεί την παραπάνω σχέση ονομάζεται τάξη του στοιχείου. Μια ομάδα, που γεννάται από ένα μόνο στοιχείο, ονομάζεται κυκλική ομάδα Θεωρία Δακτυλίων Ο δακτύλιος αποτελεί επέκταση της ομάδας. Είναι ένα σύνολο αριθμών εφοδιασμένο με δύο πράξεις για τις οποίες ισχύει ένα σύνολο ιδιοτήτων. Ένα σύνολο ονομάζεται δακτύλιος όταν για όλα τα στοιχεία του ισχύουν ο πολλαπλασιασμός και η πρόσθεση και επίσης: Προσεταιριστική ιδιότητα ως προς τον πολλαπλασιασμό Το είναι αβελιανό ως προς την πρόσθεση, Επιμεριστική ιδιότητα ως προς την πρόσθεση Επιμεριστική ιδιότητα ως προς τον πολλαπλασιασμό Αξίζει να παρατηρηθεί ότι για ένα δακτύλιο δεν ισχύει η πράξη της διαίρεσης ή της αντιστροφής αφού δεν υπάρχει πάντα πολλαπλασιαστικό αντίστροφο για κάθε στοιχείο του δακτυλίου Θεωρία Σωμάτων Ένα σώμα αποτελεί επέκταση του δακτυλίου. Έτσι μια ομάδα που έχει στοιχεία ορισμένα τόσο για άθροιση όσο και για τον πολλαπλασιασμό λέγεται σώμα και έχει τις παρακάτω ιδιότητες: αβελιανή ομάδα, δηλαδή ισχύει, με ουδέτερο σημείο το 0. Η πράξη του πολλαπλασιασμού είναι * είναι προσεταιριστική στο, δηλαδή ισχύει. Υπάρχει ένα σημείο ταυτότητας όπου τέτοιο ώστε,. Η πράξη του πολλαπλασιασμού είναι επιμεριστική πάνως την πρόσθεση +, δηλαδή. αβελιανή ομάδα, δηλαδή ισχύει, με ουδέτερο σημείο το 1. Για κάθε, υπάρχει ένα στοιχείο τέτοιο ώστε 21

22 Η διαφορά μεταξύ ενός σώματος και ενός δακτυλίου έγκειται στον πολλαπλασιαστικό αντίστροφο και στους μη μηδενικούς διαιρέτες που πάντα έχει το σώμα. Ένα σώμα λέγεται σώμα επέκτασης ενός σώματος όταν Το καλείται υπόσωμα του. Δηλώνουμε ότι το σώμα είναι σώμα επέκτασης του με ή. Τα πεπερασμένα σώματα ή κλειστά σώματα ή σώματα Galois αποτελούν πολύ χρήσιμο εργαλείο στην κρυπτογραφία. Όταν είναι πρώτος αριθμός, τότε το σύνολο είναι ένα πεπερασμένο σώμα και πιο συγκεκριμένα ένα πρώτο σώμα αφού σε αυτήν την περίπτωση πολλαπλασιαστικό αντίστροφο για το υπάρχει πάντα και είναι μοναδικό. Η γενική τους μορφή είναι, όπου είναι ένας πρώτος αριθμός και ονομάζεται χαρακτηριστική του σώματος. Ορίζουμε πεπερασμένα σώματα επέκτασης. Αν το πεπερασμένο σώμα είναι το ίδιο με το σώμα επέκτασης. Αν, τότε το ονομάζεται πεπερασμένο σώμα δυαδικής επέκτασης. Τάξη, ονομάζεται ο συνολικός αριθμός των στοιχείων στο πεπερασμένο σώμα. Το στοιχείο ορίζεται πάνω σε μια βάση, οπότε μπορεί να γραφεί ως εξής: Εφόσον, τα είναι 0 ή 1. Οι πιο χρήσιμες και γνωστές βάσεις αναπαράστασης είναι η πολυωνυμική και η κανονική. 22

23 2.2 Σχέσεις Ισοδυναμίας και Αριθμητική Υπολοίπων (modulo) Μια σχέση ισοδυναμίας πάνω σε ένα σύνολο είναι ένα υποσύνολο του οποίου τα στοιχεία γράφονται σαν και έχουν τις παρακάτω ιδιότητες: Ανακλαστική: για όλα τα Συμμετρική: για όλα τα Μεταβατική και τότε για όλα τα Για ένα σύνολο στο οποίο υπάρχει μια σχέση ισοδυναμίας μπορεί να οριστεί η έννοια της κλάσης ισοδυναμίας. Πιο συγκεκριμένα, η κλάση ισοδυναμίας του, όπου ορίζεται σαν. Ένα σύνολο μπορεί να καταμεριστεί σε κλάσεις ισοδυναμίας αφού αν ισχύει ότι τότε, αλλιώς. Ένα οποιδήποτε μέλος μιας κλάσης ισοδυναμίας ονομάζεται αντιπρόσωπος αυτής της κλάσης. Δύο αριθμοί, όπου Z το σύνολο των ακεράιων, λέγονταο ισοδύναμοι modulo (congruent) όταν η διαφορά τους διαιρείται απόλυτα με το. Αυτό συμβολίζεται. Η σχέση των ισοδύναμων modulo m έχει τις παρακάτω ιδιότητες: Ανακλαστική: αφού Συμμετρική: αν αφού αν τότε Μεταβατική και τότε αφού αν και τότε θα ισχύει Το σύνολο των κλάσεων ισοδυναμίας για τους ακέραιους (ισοδύναμες κλάσεις) είναι ακριβώς. Αυτό το σύνολο συμβολίζεται σαν ή αλλιώς. Συνήθως το σύνολο παρουσιάζεται σαν. Μπορούμε να πραγματοποιήσουμε πράξεις μεταξύ ισοδύναμων με τον ίδιο τρόπο που πραγματοποιούμε πράξεις μεταξύ ακεραίων λαμβάνοντας υπόψη μας ότι λόγω της αριθμών modulo λογικής της πράξης, το πολλαπλάσιο ενός αριθμού δεν αλλάζει την ισοδύναμη κλάση. Έτσι συνέπειες των παραπάνω ιδιοτήτων είναι οι Αν και τότε ισχύει και Υποθέτουμε ότι και ΜΚΔ. Τότε. Υποθέτουμε ότι και ΜΚΔ. Τότε. Το έχει πολλαπλασιαστικό αντίστροφο modulo μόνο όταν ΜΚΔ, δηλαδή όταν το και είναι πρώτοι μεταξύ τους. Αυτο το αντίστροφο είναι μοναδικό. 23

24 Αν υπάρχει ο πολλαπλασιαστικός αντίστροφος τότε μπορούμε να ορίσουμε την διαίρεση modulo σαν πολλαπλασιασμό του διαιρετέου με τον αντίστροφο του διαιρέτη. 24

25 2.3 Θεωρία Ελλειπτικών Καμπύλων Μία ελλειπτική καμπύλη είναι μία "αλγεβρική καμπύλη" δηλαδή χοντρικά το σύνολο των σημείων που μηδενίζουν ένα κατάλληλο πολυώνυμο, αλλά παράλληλα έχει και την δομή αβελιανής ομάδας. Ο συνδυασμός των δύο αυτών θεωρήσεων της ελλειπτικής καμπύλης είναι που κάνει την θεωρία ενδιαφέρουσα Βασικοί Ορισμοί Μια καμπύλη ορίζεται σε ένα σώμα από την παρακάτω εξίσωση, με,η οποία λέγεται μακρά, κανονική μορφή Weierstass: Η καμπύλη αποτελείται απο το σύνολο των σημείων, τα οποία και ικανοποιούν την παραπάνω εξίσωση μαζί με ένα σημείο που ονομάζεται σημείο στο άπειρο (point at infinity). Οι ελλειπτικές καμπύλες χωρίζονται σε δύο κατηγορίες στις υπεριδιάζουσες και στις μη-υπεριδιάζουσες ανάλογα με το αν η χαρακτηριστική του πεπερασμένου σώματος πάνω στο οποίο ορίζονται διαιρέιται ή όχι αντίστοιχα, με το ίχνος του Αποδεικνύεται πως οι εφαρμογές των υπεριδιάζουσων ελλειπτικών καμπύλων είναι αρκετά ασθενείς σε κρυπτογραφικά συστήματα, οπότε και η προσοχή μας στρέφεται προς τις μη-υπεριδιάζουσες. Μια μη-υπεριδιάζουσα καμπύλη με μπορεί να μετασχηματιστεί στην παίρνοντας τη μορφή:, όπου και Στην περίπτωση αυτή η καμπύλη αναπαρίσταται από μία μικρή, κανονική Weierstass. Ανάλογα αν, η καμπύλη παίρνει τη μορφή:, όπου και, Ο αριθμός των σημείων που βρίσκονται σε μια ελλειπτική καμπύλη είναι πεπερασμένος αν η καμπύλη έχει οριστεί σε πεπερασμένο σώμα Ο Προσθετικός Νόμος στις Ελλειπτικές Καμπύλες Η πράξη της πρόσθεσης δύο σημείων, αν ορίσουμε μια Ελλειπτική καμπύλη σε ένα πεπερασμένο σώμα F, υφίσταται εφόσον το αποτέλεσμα που προκύπτει είναι σημείο της καμπύλης. Αντίστοιχα και ο διπλασιασμός σημείου που αποτελεί ειδική περίπτωση πρόσθεσης. Για τις παραπάνω πράξεις υπάρχει ένας γεωμετρικός κανόνας που ονομάζεται κανόνας χορδής και εφαπτόμενης και φαίνεται στις εικόνες (2.1) και (2.2). Υποθέτουμε πως έχουμε δύο σημεία και και επιθυμούμε να αντιστοιχήσουμε το άθροισμά τους 25

26 στην καμπύλη Ε. Σχεδιάζουμε την ευθεία που περνάει απο τα δύο αυτά σημεία και βρίσκουμε το σημείο που η ευθεία αυτή τέμνει την καμπύλη. Το συμμετρικό αυτού του σημείου ως προς τον άξονα είναι το σημείο. Αντίστοιχα όταν επιθυμούμε να βρούμε το διπλάσιο ενός σημείου που ανήκει κι αυτό στην καμπύλη φέρνουμε την εφαπτομένη ευθεία που περνά από το και βρίσκουμε το σημείο που τέμνει την καμπύλη. Το συμμετρικό αυτού του σημείου ως προς τον άξονα είναι το σημείο. εικόνα 2.1 εικόνα 2.2 Οι παραπάνω γεωμετρικοί κανόνες περιγράφονται αναλυτικά με αλγεβρικές εξισώσεις, οι οποίες και διαφέρουν ανάλογα με τη μορφή της ελλειπτικής καμπύλης και το πεπερασμένο σώμα πάνω στο οποίο αυτή ορίζεται. Πιο συγκεκριμένα για τις παραπάνω καμπύλες που περιγράψαμε διακρίνουμε τις περιπτώσεις: Για τις καμπύλες, όπου με ορίζουμε τις πράξεις και Όταν (πρόσθεση) η κλίση της ευθείας που ενώνει τα δύο αυτά σημεία είναι, οπότε το σημείο θα έχει συντεταγμένες Όταν η κλίση της ευθείας είναι και η ευθέια τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα. Όταν (διπλασιασμος) η κλίση της εφαπτομένης ευθείας σημεία είναι, για, οπότε το σημείο θα έχει συντεταγμένες 26

27 Όταν η ευθεία τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα. Εφόσον το σημείο στο άπειρο είναι ταυτοτικό σημείο για τις καμπύλες που είναι ορισμένες σε. H αφαίρεση μεταξύ δύο σημείων της καμπύλης πραγματοποιείται αν προσθέσουμε το αντίθετο του σημείου : Για τις καμπύλες, όπου με, ορίζουμε τις πράξεις και. Όταν (πρόσθεση) η κλίση της ευθείας που ενώνει τα δύο αυτά σημεία είναι, οπότε το σημείο θα έχει συντεταγμένες Όταν η κλίση της ευθείας είναι και η ευθέια τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα. Όταν (διπλασιασμος) η κλίση της εφαπτομένης ευθείας σημεία είναι, για, οπότε το σημείο θα έχει συντεταγμένες Όταν η ευθεία τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα. Αντίστοιχα το σημείο στο άπειρο είναι ταυτοτικό σημείο και για τις καμπύλες που είναι ορισμένες σε. Η αφαίρεση μεταξύ δύο σημείων της καμπύλης πραγματοποιείται αν προσθέσουμε το αντίθετο του σημείου Q: Βαθμωτός Πολλαπλασιασμός (Scalar Multiplication) Έστω μια καμπύλη ορισμένη σε ένα πεπερασμένο σώμα, μπορεί να οριστεί πολλαπλασιασμός ενός σημείου της καμπύλης με ένα ακέραιο και το αποτέλεσμα να είναι επίσης σημείο της καμπύλης. Ο πολλαπλασιασμός σημείου με ακέραιο ή βαθμωτός πολλαπλασιασμός πραγματοποιεί μια σειρά προσθέσεων και πολλαπλασιασμών σημείων της καμπύλης που καθορίζεται απο τον ακέραιο και περιγράφεται στον παρακάτω αλγόριθμο (2.3). 27

28 Algorithm 2.3 Left-to-right binary method for point multiplication Input: Output: 1. Q= 2. For from downto do If = 1 then. 3. Return Q αλγόριθμος

29 2.4 Κρυπτογραφία Ελλειπτικών καμπύλων Το πρόβλημα του διακριτού λογαρίθμου στις ελλειπτικές καμπύλες (ECDLP) αποτελεί μια παραλλαγή του προβλήματος του διακριτού λογαρίθμου (DLP) και προτάθηκε από τους Miller και Koblitz. Η δυσκολία επίλυσης έγκειται στην εύρεση του ακεραίου γνωρίζοντας τα στον βαθμωτό πολλαπλασιασμό. Στα κρυπτογραφικά συστήματα ελλεπτικών καμπύλων το δημόσιο κλειδί είναι το και το ιδιωτικό ο ακέραιος. Η δυσκολία στα κρυπτογραφικά συστήματα ελλειπτικών καμπύλων έγκειται στον καθορισμό διαφόρων παραμέτρων, όπως ο τύπος της ελλειπτικής καμπύλης, ο τύπος του πεπερασμένου σώματος στο οποίο θα οριστεί η πρώτη και οι αλγόριθμοί που θα χρησιμοποιηθούν για τις πράξεις. Διαφορετικός συνδυασμός των παρακάτω θα δώσει διαφορετικό βαθμό απόδοσης στο σύστημα και διαφορετικό επίπεδο ασφάλειας. Το πρώτο βήμα είναι η δημιουργία μιας ασφαλούς ελλειπτικής καμπύλης. Για να συμβεί αυτό πρέπει να οριστούν οι εξής παράμετροι που ονομάζονται παράμετροι τομέα με τη χρήση σχετικού αλγορίθμου: Η τάξη του πεπερασμένου σώματος πάνω στο οποίο ορίζεται η καμπύλη Ο τύπος του πεπερασμένου σώματος και τον τύπο αναπαράστασης του σώματος. Η τιμή που ονομάζεται σπόρος σε περίπτωση που η ελλεπτική καμπύλη δημιουργήθηκε τυχαία. Οι συντελεστές της μικρής, κανονικής Weierstass εξίσωσης της καμπύλης. Το σημείο πρώτης τάξεως που ονομάζεται σημείο βάσης. Η τάξη του. Ο συμπαράγοντας. Οι παράμετροι τομέα χρησιμοποιούνται για τη δημιουργία των παρακάτω κλειδιών: Του ακεραίου ο που Τον υπολογισμό, όπου το δημόσιο κλειδί και το ιδιωτικό. Για της συγκεκριμένη υλοποίηση χρησιμοποιήθηκε το πεπερασμένο δυαδικό σώμα με ανάγωγο πούώνυμο Η ελλειπτική καμπύλη είναι της μορφής με και δεκαεξαδική μορφή. Επίσης το σημείο βάσης είναι με, σε και 29

30 η τάξη του k=0x FE 77E70C12 A4234C33. Η τιμή σπόρος είναι: S = 0x 85E25BFE 5C86226C DB12016F 7553F9D0 E693A268 και ο συμπαράγοντας h = 2. και Στη συνέχεια παρουσιάζονται ο αλγόριθμος δημιουργίας ενός ζευγαριού κλειδιών (2.4), ο αλγόριθμος κρυπτογράφησης (2.5) και αποκρυπτογράφησης (2.6). Όπως παρατηρούμε από τον αλγόριθμο (2.5), για να σταλθεί ένα κρυπτογράφημα θα πρέπει πρώτα το αρχικό κείμενο να αναπαρασταθεί σαν ένα σημείο της καμπύλης. Στη συνέχεια κρυπτογραφείται προσθέτοντας τον όρο, όπου τυχαίος ακέραιος και Q το δημόσιο κλειδί του παραλήπτη. Ο αποστολέας στέλνει το κρυπτοκείμενο. Για να διαβάσει ο παραλήπτης το μήνυμα θα πρέπει όπως περιγράφεται από τον αλγόριθμο (2.6) να εκτελέσει:. Παρατηρείται πως πρέπει να εκτελεστεί ο βαθμωτός πολλαπλασιασμός. Algorithm 2.4 Elliptic curve key pair generation Input: Elliptic curve domain parameters Output: Public key, private key 1. Select 2. Compute 3. Return αλγόριθμος

31 Algorithm 2.5 Basic elliptic curve encryption Input: Elliptic curve domain parameters plaintext Output: Ciphertext public key 1. Represent the message m as a point in 2. Select 3. Compute 4. Compute 5. Return αλγόριθμος 2.5 Algorithm 2.6 Basic elliptic curve decryption Input: Elliptic curve domain parameters ciphertext Output: Plaintext private key 1. Compute, and extract from 2. Return αλγόριθμος

32 2.5 Ασφάλεια Ελλειπτικών Καμπύλων. Έχει αποδειχθεί πως η πολυπλοκότητα των μεθόδων που επιχειρούν να λύσουν το πρόβλημα του διακριτού λογαρίθμου στις ελλειπτικές καμπύλες είναι την μορφής. Είναι δηλαδή εκθετικά πιο αργοί από τη λογαριθμική του υπολογισμού των βαθμωτών γινομένων του. Ένα ακόμη κριτήριο ασφάλειας των ελλειπτικών καμπύλων είναι το πλήθος των σημείων μιας ελλειπτικής καμπύλης. Όσο μεγαλύτερο είναι αυτό το πλήθος, τόσο περισσότερο θα διαρκέσει η brute-force attack. Γενικά ο υπολογισμός σημείων μιας καμπύλης είναι δύσκολος. Σύμφωνα με το θεώρημα του Hasse μια καμπύλη ορισμένη σε ένα σώμα, αναμένεται να έχει τα σημεία της εντός των ορίων όπου το πλήθος των σημείων. Οι Lenstra και Verheul εκτίμησαν ότι προκειμένου μια ελλειπτική καμπύλη να είναι ασφαλής έως το 2012, η τάξη μεγέθους του πρέπει να είναι σε, ενώ σε. Συγκριτικά για να έχουμε το ίδιο βαθμό ασφάλειας σε πεπερασμένο σώμα με γεννήτορα και αντίστοιχη πράξη το γινόμενο, η τάξη μεγέθους του πρέπει να είναι. Είναι προφανές πως χρησιμοποιώντας κρυπτοσυστήματα που βασίζονται στις ελλειπτικές καμπύλες είμαστε σε θέση να πετύχουμε, με πολύ μικρότερο μήκος κλειδιού και με λιγότερες πράξεις, το ίδιο επίπεδο ασφάλειας. 32

33 Κεφάλαιο 3 ο : Μη επεμβατικές επιθέσεις σε Ελλειπτικές Καμπύλες 3.1 Εισαγωγή Η δημιουργία των επιθέσεων στο φυσικό μέσο αποτελεί μεγάλη πρόκληση για τα κρυπτογραφικά συστήματα. Με την παρακολούθηση του χρονισμού, την κατανάλωση ενέργειας, την ηλεκτρομαγνητική εκπομπή της συσκευής ή εισάγοντας σφάλματα, ο επιτιθέμενος είναι σε θέση να αποκτήσει πληροφορίες σχετικά με τα εσωτερικά δεδομένα ή λειτουργίες του συστήματος και να ανακαλύψει το μυστικό κλειδί. Με νέες μεθόδους αλλοίωσης και νέες επιθέσεις συνεχώς, ο σχεδιασμός ενός ασφαλούς κρυπτογραφικού συστήματος γίνεται όλο και πιο δύσκολη υπόθεση. Σκεπτόμενοι επίσης πως ο επιτιθέμενος χρειάζεται μόνο να επιτύχει σε μία και μόνο μέθοδο επίθεσης ενώ ο σχεδιαστής καλείται να αποτρέψει ένα σύνολο επιθέσεων στο ίδιο κρυπτογραφικό σύστημα είναι προφανής μια συνεχή μάχη για τη δημιουργία αντιμέτρων και προστασία των συστημάτων. Σε αυτό το κεφάλαιο θα μελετηθούν εκτενέστερα τα είδη των επιθέσεων που ανήκουν στις μη επεμβατικές επιθέσεις ή αλλιώς επιθέσεις πλάγιου μονοπατιού και θα προταθούν αντίστοιχα αντίμετρα. Η ασφάλεια των ελλειπτικών καμπύλων όπως είναι γνωστό έγκειται στο δυσεπίλυτο πρόβλημα του Διακριτού λογαρίθμου Ελλειπτικών Καμπύλων: Δοθείσης μιας ελλειπτικ ς καμπύλης ορισμένη σε ένα σώμα και δύο σημείων τάξεως, να βρεθεί ακέραιος τέτοιος, ώστε 33

34 3.2 Επιθέσεις Πλάγιου Μονοπατιού για Ελλειπτικές Καμπύλες Απλή Ανάλυση Ισχύος (Simple Power Analysis (SPA)) Αυτή η μέθοδος στοχεύει στη διαρροή πληροφοριών σχετικά με το κλειδί κατά την διάρκεια του βαθμωτού πολλαπλασιασμού και συγκεκριμένα κατά την εκτέλεση των βημάτων του διπλασιασμού και της πρόσθεσης. Ο επιτιθέμενος είναι σε θέση να ανακαλύψει την τιμή του κάθε bit του κλειδιού αν τα δύο παραπάνω βήματα ευδιάκριτα μεταξύ τους στη διαρροή πληροφορίας. Η εικόνα (3.1) εμφανίζει την διάκριση των βημάτων του διπλασιασμού (D) και της πρόσθεσης (A) και την αποκάλυψη των bits του κλειδιού. Η κυματομορφή εκφράζει την εκλυόμενη ισχύ του ολοκληρωμένου κυκλώματος. εικόνα Επιθέσεις προτύπου (Template Attacks) Οι επιθέσεις προτύπου είναι από τις ισχυρότερες μορφές επιθέσεων πλάγιου μονοπατιού. Βασίζονται στην υπόθεση ότι ο επιτιθέμενος έχει στην κατοχή του το ολοκληρωμένο κύκλωμα και έχει τον πλήρη έλεγχο των εισόδων του. Οι επιθέσεις προτύπου λειτουργούν με οικοδόμηση ενός συνόλου προτύπων χρησιμοποιώντας ένα μεγάλο αριθμό καταγραφών των τιμών διαρροής του συστήματος ενώ εκτελείται ο αλγόριθμος κρυπτογράφησης. Η ταξινόμηση έπειτα ταιριάζει τις καταγραφές σε ένα συγκεκριμένο πρότυπο, χρησιμοποιώντας μια πολυπαραγοντική Gaussian κατανομή πιθανότητας. Η σωστή τιμή του κλειδιού θα πρέπει να είναι αυτή με την υψηλότερη πιθανότητα Διαφορική Ανάλυση Ισχύος (Differential Power Analysis (DPA)) Η διαφορική ανάλυση ισχύος χρησιμοποιεί στατιστικές τεχνικές για να εξάγει χρήσιμες πληροφορίες από τις μετρήσεις. Η διαδικασία ξεκινά τροφοδοτώντας διαδοχικά τη συσκευή με σήματα εισόδου. Για κάθε βαθμωτό πολλαπλασιασμό, καταγράφεται και αποθηκεύεται μια μέτρηση που προέρχεται από την κυματομορφή της πληροφορίας που έχει διαρρεύσει. Ο επιτιθέμενος επιλέγει έπειτα μία ενδιάμεση τιμή, η οποία εξαρτάται τόσο από το σημείο εισόδου, όσο και από ένα μικρό τμήμα του και το μετατρέπει σε μια 34

35 υποθετική τιμή διαρροής πληροφορίας με τη βοήθεια ενός υποθετικού μοντέλου διαρροής. Ο επιτιθέμενος στη συνέχεια κάνει μια εικασία όσο αφορά το. Για τη σωστή εικασία, θα υπάρχει μία συσχέτιση μεταξύ των μετρήσεων και των υποθετικών διαρροών. Η διαδικασία συνεχίζεται έως ότου αποκαλυφθεί ολόκληρος ο αριθμός Συγκριτική Επίθεση Πλάγιου Μονοπατιού (Comparative Side- Channel Attack) Η μέθοδος αυτή βρίσκεται ενδιάμεσα στις SPA και DPA. Η διαδικασία περιλαμβάνει τη σύγκριση δύο τιμών διαρροής με σκοπό την αναγνώριση των επαναχρησιμοποιούμενων μεγεθών. Η πιο γνωστή συγκριτική επίθεση είναι η επίθεση διπλασιασμού(doubling Attack). Βασίζεται στην παραδοχή ότι ακόμη κι αν ο επιτιθέμενος δεν ξέρει τον αλγόριθμο που εκτελεί κύκλωμα, μπορεί να εντοπίσει πότε ίδιες πράξεις εκτελούνται δύο φορές. Για παράδειγμα, για δύο διπλασιασμούς σημείων καμπύλης, και, ο επιτιθέμενος δε μπορεί να ξέρει ποιά είναι τα σημεία, αλλά μπορεί να αναγνωρίσει ότι. Κατα συνέπεια γνωρίζοντας την κατανάλωση ενέργειας για τις διεργασίες και, είναι σε θέση να ανακτήσει ολόκληρο το μυστικό κλειδί Διεξοδική Ανάλυση Ισχύος (Refined Power Analysis (RPA)) Η διεξοδική ανάλυση ισχύος (RPA) εκμεταλλεύεται την ύπαρξη ειδικών σημείων όπως και της καμπύλης. Τροφοδότηση ενός κρυπτογραφικού συστήματος με ένα σημείο εισόδου θα οδηγήσει σε ένα ειδικό σημείο ή στο -οστό βήμα του αλγορίθμου, σύμφωνα με την παραδοχή ότι ο βαθμωτός πολλαπλασιασμός θα παράγει εκμεταλλεύσιμο υλικό διαρροής. Ακόμα κι αν εφαρμοστούν αντίμετρα τυχαιοποίησης του αλγορίθμου, η συγκεκριμένη επίθεση παραμένει ανεπηρέαστη καθώς τα μηδενικά παραμένουν Επίθεση Μηδενικού Σημείου (Zero-Value Point Attack (ZPA)) Η επίθεση μηδενικού σημείου αποτελεί επέκταση της επίθεσης RPA. Όχι μόνο εξετάζει τα σημεία και στο -οστό βήμα του αλγορίθμου, ακριβώς όπως και η RPA, αλλά επίσης τα αναζητά αποθηκευμένα σε βοηθητικούς καταχωρητές. Για κάποιο συγκεκριμένο σημείο εισόδου, οι βοηθητικοί καταχωρητές θα έχουν μηδενική αξία στο -οστό βήμα του αλγορίθμου σύμφωνα με την παραδοχή ότι ο βαθμωτός πολλαπλασιασμός θα παράγει εκμεταλλεύσιμο υλικό διαρροής. Ο επιτιθέμενος ακολουθώντας την ίδια διαδικασία μπορεί σταδιακά να ανακτήσει ολόκληρο το κλειδί Επίθεση Κρατουμένου (Carry-Based Attack) Η επίθεση κρατουμένου σχεδιάστηκε ειδικά για να επιτεθεί στο 1 ο αντίμετρο Coron (ή αλλιώς βαθμωτή τυχαιοποίηση), σύμφωνα με το οποίο αντικαθίσταται ο βαθμωτός πολλαπλασιασμός με τον, όπου είναι ένας 35

36 τυχαίος αριθμός. Η κρίσιμη παρατήρηση στην όποια στηρίζεται η επίθεση είναι ότι, κατά την προσθήκη ενός τυχαίου αριθμού σε ένα σταθερό αριθμό, η πιθανότητα παραγωγής κρατουμένου εξαρτάται αποκλειστικά από την τιμή του. Εάν λοιπόν η πρόσθεση πραγματοποιείται με ένα -bit αθροιστή, ο επιτιθέμενος μπορεί να ανακαλύψει το κλειδί παρατηρώντας ψηφίο-ψηφίο την διάδοση κρατουμένου Επίθεση DPA Διεύθυνσης Bit (Address-Bit DPA (ADPA)) Η επίθεση DPA διεύθυνσης bit διερευνά τη σχέση μεταξύ της διεύθυνσης των καταχωρητών και του κλειδιού. Για παράδειγμα, ο αλγόριθμος Montgomery Powering Ladder (αλγόριθμος 3.2) διενεργεί διπλασιασμό και πρόσθεση σημείων στην καμπύλη ανεξάρτητα με την τιμή του κλειδιού bit ώστε να προστατεύεται από SPA. Παρολ'αυτά η διεύθυνση των τιμών του διπλασιασμού και της πρόσθεσης εξαρτώνται μόνο από την τιμή του κλειδιού. Ο επιτιθέμενος μπορεί να ανακτήσει το κλειδί αν καταφέρει να διακρίνει μεταξύ των διευθύνσεων των καταχωρητών που διαβάζονται τα και Algorithm 3.2 Montgomery Power Ladder Input: Output:, P(x,y) For to do 3.1 If then else end if end for 4. Return 2 2 αλγόριθμος 3.2 Συμπερασματικά οι επιθέσεις στο υλικό μέσο και συγκεκριμένα οι μηεπεμβατικές έχουν διαφορετικές συνθήκες εφαρμογής και πολυπλοκότητα. Για παράδειγμα, η SPA και η επίθεση προτύπου απαιτεί μία μέτρηση διαρροής, ενώ οι DPA και ADPA απαιτούν πολλαπλές. Ορισμένες επιθέσεις κάνουν χρήση των τελικών αποτελεσμάτων του κρυπτογραφικού αλγορίθμου, ενώ άλλοι απαιτούν 36

37 ενδιάμεσες τιμές. Οι συνθήκες αυτές αποκαλύπτουν την εφαρμογή της κάθε επίθεσης και προτείνουν ανάλογη προστασία. Ο πίνακας (3.3) συνοψίζει τις επιθέσεις πλάγιου μονοπατιού και τα χαρακτηριστικά τους. Επίθεση SCA SPA DPA Καμία Επανάληψη Επίθεση Προτύπου CSCA (Επίθεση Διπλασιασμού) RPA ZPA Πολλαπλές Επαναλήψεις Επίθεση Κρατουμένου ADPA πίνακας 3.3 Συγκεκριμένη Τιμή Εισόδου Σταδιακή Ανάκτηση Κλειδιού 37

38 3.3 Αντίμετρα Πολλές μέθοδοι προστασίας έχουν προταθεί για την αντιμετώπιση των αναφερθέντων επιθέσεων. Ωστόσο, το κάθε αντίμετρο συνήθως προτείνεται για να αποφευχθεί μια συγκεκριμένη επίθεση. Έχει παρατηρηθεί πως ένα αντίμετρο για μια συγκεκριμένη επίθεση μπορεί να ωφελήσει μια άλλη. Σε αυτήν την ενότητα θα παρουσιαστούν αντίμετρα για τις παραπάνω επιθέσεις πλάγιου μονοπατιού και παράλληλα θα μελετηθεί αν επηρεάζουν τις υπόλοιπες επιθέσεις. Η υπολογιστική επιβάρυνση του κάθε αντίμετρου εκτιμάται χρησιμοποιώντας μια ελλειπτική καμπύλη που επιτυγχάνει 128-bit ασφάλεια, ενώ ο Montgomery Power Ladder (αλγόριθμος 3.2) χρησιμοποιείται ως αλγόριθμος αναφοράς SPA Αντίμετρα Φόρμουλα Δυσδιάκριτων Βαθμωτών Πράξεων (Indistinguishable Point Operation Formulae (IPOF)) Τα συγκεκριμένα αντίμετρα προσπαθούν να εξαλείψουν τις διαφορές μεταξύ της πρόσθεσης σημείου και διπλασιασμού σημείου. Η χρήση ενός ενιαίου αλγορίθμου που περιλαμβάνει και τις δύο πράξεις θα ήταν μια λύση. Παρολ'αυτά ακόμα και στην παραπάνω περίπτωση οι υπό συνθήκες εντολές είναι σε θέση να αποκαλύψουν τον τύπο της λειτουργίας (πρόσθεση ή διπλασιασμό) Double-and-add-always (Συνεχής Διπλασιασμός και Πρόσθεση) Ο αλγόριθμος, εισήχθη από τον Coron και εξασφαλίζει ότι η ακολουθία των ενεργειών κατά τη διάρκεια ενός βαθμωτού πολλαπλασιασμού είναι ανεξάρτητη του κλειδιού με την προσθήκη επιπλέον προσθέσεων σημείων στην καμπύλη Montgomery Powering Ladder Ο αλγόριθμος (3.2) παρουσιάζει προστασία έναντι SPA επιθέσεων δεδομένου ότι ο βαθμωτός πολλαπλασιασμός εκτελείται με ένα σταθερό μοτίβο ασυσχέτιστο με τα bits του κλειδιού, ενώ αποφεύγει τη χρήση άσκοπων- χαζών πράξεων. Επίσης αντιστέκεται στην επίθεση διπλασιασμού. Ωστόσο, δέχεται επίθεση από την σχετική επίθεση διπλασιασμού που πρότεινε ο Yen, η οποία και μπορεί να αποκαλύψει τη σχέση μεταξύ δύο γειτονικών bits στο βαθμωτό πολλαπλασιασμό και τελικά να μειώνει σοβαρά τον αριθμό των ενδεχόμενων μυστικών κλειδιών. 38

39 3.3.2 DPA Αντίμετρα Βαθμωτή τυχαιοποίηση ή 1 ο Αντίμετρο Coron (Scalar randomisation) Αυτή η μέθοδος μετατρέπει τον βαθμωτό πολλαπλασιασμό με τον, με την προσθήκη δηλαδή ενός πολλαπλάσιου του Για οποιοδήποτε τυχαίο αριθμό r, εφο σον. Ο Coron πρότεινε το να είναι περίπου 20-bit. Η μέθοδος αναλύθηκε, παρολαυτά, αποδείχθηκε αδύναμη αν εφαρμοστεί ως έχει. Είναι αρκετά ευάλλωτη στην επίθεση κρατουμένου και αν το μέγεθος του είναι 20-bit τότε αποκαλύπτει επίσης μυστικές πληροφορίες ύστερα από επίθεση διπλασιασμού Απόκρυψη σημείου Βάσης (Base point blinding) Αυτή η μέθοδος διαφοροποιεί την αρχική τιμή εισόδου, έτσι ώστε γίνεται Η γνωστή τιμή αφαιρείται στο τέλος του υπολογισμού. Η μάσκες και είναι αποθηκευμένες κρυφά στην κρυπτογραφική συσκευή και ενημερώνονται σε κάθε επανάληψη. Αντιστέκεται στις επιθέσεις DPA, αλλά είναι ευάλωτη στην επίθεση διπλασιασμού, αφού η μεταβλητή που καλύπτει το από το σημείο επίσης διπλασιάζεται σε κάθε εκτέλεση. Παρολαυτά, αυτό το αντίμετρο εμποδίζει τις RPA και ZPA, αφού διαρρηγνύει την παραδοχή ότι ο επιτιθέμενος μπορεί να επιλέξει ελεύθερα το σημείο βάσης. Αξίζεινα σημειωθεί πως αν και το αντίμετρο σημείου βάσης είναι ευάλωτο στην επίθεση διπλασιασμού, όπως και η βαθμωτή τυχαιοποίηση, ο συνδυασμός τους φαίνεται να είναι αποτελεσματική προστασία για την εν λόγω επίθεση Τυχαίες Προβολικές Συντεταγμένες (Random projective coordinates) Αυτή η μέθοδος τυχαιοποιεί τις ομοιογενείς προβολικές συντεταγμένες (Χ, Υ, Ζ) με ένα τυχαίο λ: (λx, λy, λz). Η τυχαία μεταβλητή λ μπορεί να ενημερώνεται σε κάθε εκτέλεση ή μετά από κάθε διπλασιασμό ή πρόσθεση. Αυτό είναι αποτελεσματικό αντίμετρο ενάντια σε διαφορικές επιθέσεις πλάγιου μονοπατιού. Είναι όμως ευάλωτη στην RPA καθώς το μηδέν δεν αλλάζει Τυχαία Διάσπαση Κλειδιού (Random key splitting) Η μέθοδος βασίζεται στο διαχωρισμό του μυστικού κλειδιού με δύο τουλάχιστον διαφορετικές τρόπους για μια τυχαι α Μπορεί να αντισταθεί σε επιθέσεις DPA, δεδομένου ότι έχει ένα τυχαίο για κάθε εκτέλεση. Αν υποθέσουμε ότι το χωρίζεται τυχαία σε δύο πλήρους μήκους αριθμούς, ο χώρος αναζήτησης παρατείνεται έως για ένα 163-bit. Αυτό είναι αρκετό για να αντισταθεί στην επίθεση διπλασιασμού.. Μπορεί επίσης να αποτρέψει επιθέσεις όπως οι RPA και ZPA αν χρησιμοποιηθεί σε συνδυασμό με απόκρυψη σημείου βάσης. Ωστόσο, είναι ευάλωτη στην επίθεση 39

40 κρατουμένου σε περίπτωση που το κλειδί διαχωριστεί ως εξής:, και Τυχαίος Ισομορφισμός Ελλειπτικής Καμπύλης (Random EC Isomorphism) Η μέθοδος αυτή εφαρμόζει ένα τυχαίο ισομορφισμός της μορφής και στη συνέχεια υπολογίζει βγάζοντας ως έξοδο Τυχαίος Ισομορφισμός Σώματος (Random field Isomorphism) Αυτή η μέθοδος κάνει χρήση των ισομορφισμών στα πεπερασμένα σώματα. Για να υπολογίσει το, επιλέγει τυχαία ένα σώμα ισομορφικό από το μέσω ισομορφισμού της μορφής. Έπειτα υπολογίζει Ο5 τυχαίος ισομορφισμός ελλειπτικής καμπύλης και τυχαίος ισομορφισμός σώματος έχουν παρόμοια δύναμη και αδυναμία, ανάλογη με αυτές των τυχαίων προβολικών συντεταγμένων Τυχαία Διεύθυνση Καταχωρητή (Random register address) Αυτή η μέθοδος τυχαιοποιεί την διεύθυνση του καταχωρητή για να σπάσει το δεσμό μεταξύ των bits του κλειδιού και των διευθύνσεων. Υποθέτοντας έναν καταχωρητή προορισμού για διπλασιασμό σημείου στο. Αν το δεν είναι τυχαίο, τότε ο επιτιθέμενος μπορεί να ανακάμψει το κλειδί με την επίθεση ADPA. Σε αυτήν την περίπτωση προτείνεται το αντίμετρο της Τυχαίας Μετονομασίας των Καταχωρητών (Random Register Renaming (RRR)). Ο πίνακας (3.4) συνοψίζει τις επιθέσεις πλάγιου μονοπατιού και τα αντίμετρα που έχουν δημιουργηθεί γι αυτές. 40

41 Αντίμετρο Επίθεση SCA SPA Α1 Α2 Α3 Α4 Α5 Α6 Α7 Α8 Α9 Α10 Α11 DPA Επίθεση Προτύπου CSCA (Επίθεση Διπλασιασμού) RPA ZPA ΑDPA Επίθεση Κρατουμένου Με το σύμβολο δηλώνεται ότι το αντίμετρο είναι αποτελεσματικό ενάντι στην επίθεση. Το σύμβολο φανερώνει το αντίθετο, δηλαδ ότι το αντίμετρο αποτυγχάνει να προστατέψει το σύστημα από την συγκεκριμένη επίθεση. Το σύμβολο δηλώνει πως το αντίμετρο θα μπορούσε να είναι αποτελεσματικό ενάντια στη επίθεση, παρολαυτά απαιτείται περισσότερη έρευνα για ξεκάθαρα αποτελέσματα. Τέλος τα κενά κουτία δηλώνουν πως το αντίμετρο δεν επειρεάζει καθόλου την επίθεση. Για παράδειγμα, το αντίμετρο της Βαθμωτ ς Τυχαιοποίησης (Α5) δέχεται επίθεση από μια Επίθεση Διπλασιασμού, οπότε υπάρχει ένα στο αντίστοιχο κουτί. Ο Montgomery αλγόριθμος (Α4) έχει σχεδιαστεί για να αντιστέκεται στη SPA. Παρολαυτά δεν επειρεάζει ούτε θετικά, ούτε αρνητικά την DPA οπότε και το αντίστοιχο κουτί παραμένει κενό. Α1: Φόρμουλα Δυσδιάκριτων Βαθμωτών Πράξεων Α2: Συνεχ ς Διπλασιασμός και Πρόσθεση Α3: Ατομικό Μπλοκ Α4: Αλγόριθμος Montgomery A5: Βαθμωτ Τυχαιοποίηση Α6: Απόκρυψη Σημείου Βάσης Α7: Τυχαίες Προβολικές Συντεταγμένες Α8: Τυχαία Διάσπαση Κλειδιού Α9: Τυχαίος Ισομορφισμός Ελλειπτικ ς Καμπύλης Α10: Τυχαίος Ισομορφισμός Σώματος Α11: Τυχαία Διεύθυνση Καταχωρητ πίνακας 3.4 Ο παρακάτω πίνακας (3.5) παρουσιάζει την υπολογιστική επιβάρυνση που έχουν τα παραπάνω αντίμετρα όταν προστεθούν στο κρυπτογραφικό σύστημα. Η υπολογιστική επιβάρυνση του κάθε αντίμετρου εκτιμήθηκε χρησιμοποιώντας μια ελλειπτική καμπύλη που επιτυγχάνει 128-bit ασφάλεια, ενώ ο Montgomery 41

42 Power Ladder (αλγόριθμος 3.2) χρησιμοποιείται ως αλγόριθμος αναφοράς. Παρατηρούμε πως το κόστος που θα έχουμε είναι πολύ μικρό ή αμελητέο τις περισσότερες φορές για να προστατεύσουμε το σύστημά μας από μια συγκεκριμένη επίθεση. Βέβαια τα πράγματα δυσκολεύουν όλο και περισσότερο όταν πρέπει να δημιουργηθεί σύστημα που θα προστατεύει από πάνω από μία επίθεση. Αν και στις επιθέσεις πλάγιου μονοπατιού δεν ισχύει, υπάρχει περίπτωση το αντίμετρο για μια επίθεση να ευνοεί μια άλλη, οπότε χρειάζεται περεταίρω μελέτη μέχρι την υλοποίηση. Αντίμετρα Επιθέσεις Στόχοι Υπολογιστική επιβάρυνση Φόρμουλα Δυσδιάκριτων SPA Χαμηλή Βαθμωτών Πράξεων Συνεχής Διπλασιασμός και SPA Χαμηλή Πρόσθεση Ατομικό Μπλοκ SPA Αμελητέα Αλγόριθμος Montgomery SPA Χαμηλή Βαθμωτή Τυχαιοποίηση DPA Χαμηλή Απόκρυψη Σημείου Βάσης DPA Αμελητέα Τυχαίες Προβολικές DPA Αμελητέα Συντεταγμένες Τυχαία Διάσπαση Κλειδιού DPA Υψηλή Τυχαίος Ισομορφισμός DPA Χαμηλή Ελλειπτικής Καμπύλης Τυχαίος Ισομορφισμός DPA Χαμηλή Σώματος Τυχαία Διεύθυνση ADPA Χαμηλή Καταχωρητή Υπολογιστικ Επιβάρυνση: Αμελητέα Χαμηλ Υψηλ πίνακας

43 Κεφάλαιο 4: Αλγόριθμοι και Αρχιτεκτονικές 4.1 Πράξεις σε Πεπερασμένα σώματα Πολωνυμική Βάση Αναπαράστασης Τα πεπερασμένα σώματα τάξης λέγονται επίσης και δυαδικά. Ένας τρόπος για να κατασκευαστεί ένα σώμα είναι με τη χρήση πολυωνιμικής βάσης αναπαράστασης. Σε αυτήν την περίπτωση τα στοιχεία του είναι δυαδικά πολυώνυμα, δηλαδή πολυώνυμα των οποίων οι συντελεστές ανήκουν στο σώμα με βαθμό το πολύ έως όπως παρακάτω: Το σώμα είναι επίσης ισομορφικό με το, όπου πολυώνυμο βαθμού μονικό και ανάγωγο της μορφής, με. Στην παρούσα εργασία έχει κατασκευαστεί πεπερασμένο σώμα. και Οι βασικές πράξεις που πρέπει να οριστούν πάνω σε πεπερασμένα σώματα είναι η πρόσθεση, η αφαίρεση, ο πολλαπλασιασμός, η διαίρεση και αντιστροφή στοιχείων του Πρόσθεση και Αφαίρεση Έστω και στοιχεία του σε αναπαράσταση πολυωνυμικής βάσης. Ορίζουμε την πρόσθεση όπου Επίσης ισχύει. Ομοίως η αφαίρεση των παραπάνω στοιχείων θα είναι: Εύκολα παρατηρείται πως, επομένως η πράξη της αφαίρεσης είναι ταυτόσημη με αυτή της πρόσθεσης. Η πράξη της πρόσθεσης υλοποιείται με μια πύλη XOR μεταξύ των συντελεστών των πολυωνύμων και όπως φαίνεται και στον αλγόριθμο (4.1). Παρατηρούμε πως στην πράξη της πρόσθεσης δεν υπάρχουν κρατούμενα όπως συνηθίζεται. Η ιδιότητα αυτή μειώνει κατά πολύ την πολυπλοκότητα των πράξεων και δίνει υπεροχή στα δυαδικά πεπερασμένα σώματα έναντι άλλων σωμάτων. 43

44 Algorithm 4.1 Addition in Input: degree k-1 Output: degree k-1 1. For i from 0 to k 1 do Return(c). αλγόριθμος Πολλαπλασιασμός και Τετραγωνισμός Έστω και στοιχεία του σε αναπαράσταση πολυωνυμικής βάσης που ορίζονται πάνω στο πολυώνυμο. Ορίζουμε πολλαπλασιασμό των δύο στοιχείων ως. Παρατηρούμε πως ο πολλαπλασιασμός είναι μια πράξη που χρησιμοποιεί modulo. Υπάρχουν πολλοί τρόποι υλοποίησης του πολλαπλασιασμού σειριακοί και παράλληλοι, με ένα οι περισσότερα στάδια. Στην παρούσα εργασία η υλοποίηση του πολλαπλασιασμού πραγματοποιείται σε δύο στάδια. Στο 1 ο στάδιο γίνεται ο πολλαπλασιασμός των δύο στοιχείων που έχει ως αποτέλεσμα ένα bit αριθμό. Η παραπάνω διαδικασία υλοποιείται με συνεχόμενες ολισθήσεις και προσθέσεις ξεκινώντας από το LSB του. Στο 2 ο στάδιο πραγματοποιείται η πράξη modulo Οι παρακάτω αλγόριθμοι (4.2) και (4.3) περιγράφουν τα 2 στάδια. Ο τετραγωνισμός μπορεί να διεξαχθεί πολύ πιο γρήγορα από έναν κοινό πολλαπλασιασμό. Οι αλγόριθμοι είναι βασισμένοι στη κοινή λογική της πρόσθεσης μηδενικών ανάμεσα από κάθε στοιχείο του αρχικού πολυωνύμου. Στα πλαίσια αυτής της εργασίας δεν κατασκευάστηκε τετραγωνιστής και οι αντίστοιχες πράξεις γίνονται με τον πολλαπλασιαστή. To block διάγραμμα του πολλαπλασιαστή φαίνεται στο σχέδιο (4.4). Algorithm 4.2: Left to Right, Shift and Add Multiplication Input: Output: ) degree degree For from do 2.1 If then 2.2 Shift left by 3. Return αλγόριθμος

45 Algorithm 4.3: Modulo Reduction Input: Output: degree degree 1. For from downto do 1.1 If then 2. Return αλγόριθμος 4.3 σχέδιο Αντιστροφή και Διαίρεση Έστω ένα πολυώνυμο είναι στοιχείο του σε αναπαράσταση πολυωνυμικής βάσης που ορίζονται πάνω στο πολυώνυμο Υπάρχει ένα πολυώνυμο ώστε να ισχύει. Το πολυώνυμο αυτό καλείται πολλαπλασιαστικό αντίστροφο του και συμβολίζεται με. Η διαδικασία εύρεσης του πολλαπλασιαστικού αντίστροφου λέγεται αντιστροφή. Ο πιο διαδεδομένος αλγόριθμος αντιστροφής είναι ο επεκτεταμένος αλγόριθμος του Ευκλείδη. Η αντιστροφή αποτελεί μια εκ των δύο πράξεων που πρέπει να εκτελεστούν για να γίνει η πράξη της διαίρεσης. Η δεύτερη πράξη είναι ο πολλαπλασιασμός καθώς η διαίρεση δύο πολυωνύμων ορίζεται σαν πολλαπλασιασμός του πρώτου με τον αντίστροφο του δεύτερου. Γενικότερα, ενώ η πράξη της πρόσθεσης έχει αμελητέα υπολογιστική αξία, η 45

46 πράξη του πολλαπλασιασμού και περισσότερο της διαίρεσης είναι χρονοβόρες και περίπλοκες. Έχουν υπάρξει πολλοί αλγόριθμοι για την υλοποίηση των παραπάνω πράξεων. Στην διπλωματική εργασία δεν έχει χρησιμοποιηθεί κάποιος από αυτούς. Στο επόμενο υποκεφάλαιο θα διαπιστωθεί πως είναι δυνατόν να εξαφανιστεί από τις εξισώσεις η πράξη της διαίρεσης, άρα και η αντιστροφή Παραδείγματα Πράξεων Θεωρώ το δυαδικό σώμα. Τα στοιχεία που ανήκουν στο παραπάνω σώμα είναι 16 στον αριθμό και είναι τα εξής:,, Οι πράξεις που ορίζονται είναι οι ακόλουθες: 1) Πρόσθεση: 2) Αφαίρεση: (Εφόσον ισχύει για, τότε θα ισχύει για ). 3) Πολλαπλασιασμός: = (Παρατηρείται πως το αποτέλεσμα δεν ανήκει σώμα ). Ορίζω σαν ανάγωγο πολυώνυμο το ) 4) Αντιστροφή:, εφόσον Για το δυαδικό σώμα μπορούν να επιλεχθούν: υπάρχουν 3 ανάγωγα πολυώνυμα τα οποία 46

47 4.2 Πράξεις Σημείων σε Ελλειπτικές Καμπύλες Όπως περιγράφηκε παραπάνω οι πράξεις της αντιστροφής, διαίρεσης και του πολλαπλασιασμού είναι περίπλοκες και χρειάζονται αρκετούς πόρους υλικού και κύκλους για να υλοποιηθούν. Υπάρχει περίπτωση να αποφύγουμε ή να μειώσουμε αυτές τις πράξεις χρησιμοποιώντας βασικές αρχές προβολικής γεωμετρίας έτσι ώστε να χρησιμοποιηθεί ένα διαφορετικό σύστημα συντεταγμένων Προβολικές Συντεταγμένες Lopez-Dahab Έστω η καμπύλη, όπου και. Κάθε σημείο της περιγράφεται από δύο συντεταγμένες. Σε αυτήν την περίπτωση λέμε πως τα σημεία της καμπύλης ανήκουν στο δύο διαστάσεων συγγενές επίπεδο. Το δύο διαστάσεων προβολικό επίπεδο συμβολίζεται με. Η κλάση ισοδυναμίας στο προβολικό επίπεδο είναι. Οι τιμές είναι ακέραιοι, ενώ συνήθως. Αν τότε το σημείο του προβολικού επιπέδου ταυτίζεται με το σημείο στο άπειρο στο συγγενούς επιπέδου. Σε οποιαδήποτε περίπτωση η μετάβαση από το ένα πεδίο στο άλλο γίνεται ως εξής:, δηλαδή αν γίνει η αντικατάσταση και. Ανάλογα με τις τιμές και πολλοί τύποι προβολικών συντεταγμένων έχουν αναπτυχθεί. Οι πιο σημαντικές είναι οι Jacobian, οι Chudnovsky και οι Lopez-Dahab. Στη υλοποίηση της παρούσας εργασίας έχουν χρησιμοποιηθεί οι προβολικές συντεταγμένες Lopez-Dahab, με και. Έστω ένα πεπερασμένο δυαδικό σώμα και έστω και δύο θετικοί ακέραιοι. Εφαρμόζουμε τη μετατροπή και στη μικρή, κανονική εξίσωση Weierstass της ελλειπτικής καμπύλης την οποία ορίζει το,. Η εξίσωση θα γίνει Για τις συντεταγμένες Lopez-Dahab ισχύει και, οπότε η εξίσωση παίρνει τη μορφή. Τώρα το προβολικό σημείο, αντιπροσωπεύει το σημείο. Το σημείο στο άπειρο, μετά την αντικατάσταση, αντιστοιχεί στο ενώ ο αρνητικό του είναι Πρόσθεση και Διπλασιασμός Σημείων Έστω ότι έχουμε δύο σημεία στο προβολικό επίπεδο, δηλαδή και. Το αποτέλεσμα της πρόσθεσής τους θα είναι το σημείο. Αντικαθιστώντας στις εξισώσεις του προσθετικού νόμου των ελλειπτικών καμπυλών: 47

48 Όταν (πρόσθεση) η κλίση της ευθείας που ενώνει τα δύο αυτά σημεία είναι λ οπότε το σημείο Υ Ζ Χ Ζ Υ Ζ Χ Ζ Υ Ζ Χ Ζ Υ Ζ Ζ Ζ Χ Ζ Ζ Ζ θα έχει συντεταγμένες Χ Ζ Υ Ζ Υ Ζ Χ Ζ Ζ Ζ για Χ Ζ Υ Ζ Υ Ζ Χ Ζ Ζ Ζ Χ Ζ Υ Ζ Υ Ζ Χ Ζ Ζ Ζ Χ Ζ Χ Ζ Υ Ζ Υ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Χ Ζ Ζ Χ Χ Ζ Ζ Χ α Χ Ζ Ζ Χ Χ Ζ Χ Ζ Ζ Ζ Χ Ζ Υ Ζ Υ Ζ Χ Ζ Ζ Ζ Χ Ζ Υ Ζ Υ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ α = Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Χ Ζ Χ Ζ Ζ Ζ Ζ Ζ α Χ Ζ Χ Ζ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Ορίζοντας τον παρανομαστή του σαν, τον αριθμητή του σαν και τον αριθμητή του σαν θα έχουμε: Υ Ζ Υ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Χ Ζ Ζ Χ Χ Ζ Ζ Χ α Χ Ζ Ζ Χ Υ Ζ Υ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ α Υ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Χ Ζ Χ Ζ Ζ Ζ Ζ Ζ α Χ Ζ Χ Ζ Ζ Υ Ζ Χ Ζ Χ Ζ Ζ Ζ Όταν η κλίση της ευθείας είναι και η ευθέια τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα 48

49 Όταν (διπλασιασμός) κάνοντας την ίδια αντικατάσταση, η κλίση της εφαπτομένης ευθείας είναι λ, για, οπότε το σημείο θα έχει συντεταγμένες ) Ορίζοντας τον παρανομαστή του σαν, τον αριθμητή του σαν και τον αριθμητή του σαν θα έχουμε: Όταν. η ευθέια τέμνει την καμπύλη στο σημείο στο άπειρο. Άρα Παρατηρούμε πως οι εξισώσεις έχουν μετασχηματιστεί έτσι ώστε να χρησιμοποιηθεί μόνο η πράξη της πρόσθεσης και του πολλαπλασιασμού. Η διαίρεση, άρα και η αντιστροφή έχουν απαλειφθεί. Επίσης χρησιμοποιώντας προβολικές συντεταγμένες έχουμε την ικανότητα να αποθηκεύσουμε ενδιάμεσα αποτελέσματα που χρησιμοποιούνται πάνω από μια φορά. Στη συνέχεια παρουσιάζονται οι αλγόριθμοι (4.5) και (4.6) που πραγματοποιούν την πρόσθεση και τον διπλασιασμό σημείων στην καμπύλη αντίστοιχα, ακολουθώντας τις παραπάνω εξισώσεις. Παρατηρείται ότι κάθε βήμα των αλγορίθμων αντιστοιχεί σε μια πράξη. Έτσι είμαστε σε θέση να χρησιμοποιήσουμε τεχνική pipeline πιο εύκολα. 49

50 Algorithm 4.5 Point addition (LD-affine coordinates) Input: in LD coordinates in affine coordinates Output: in LD coordinates 1. If then return 2. If then return then 9.1 If then use algorithm 4.5 to compute and return 9.2 Else return then Return ( ) αλγόριθμος

51 Algorithm 4.6 Point doubling (LD coordinates) Input: Output: 1. If then return then Return ( ) αλγόριθμος

52 4.2.3 Αρχιτεκτονική Πρόσθεσης Σημείου στην Καμπύλη Ο αλγόριθμος (4.5) περιγράφει βήμα βήμα τις πράξεις πολλαπλασιασμού και πρόσθεσης στο πεπερασμένο σώμα ώστε να γίνει πρόσθεση δύο σημείων στην ελλειπτική καμπύλη. Παρατηρούμε πως στο βήμα 9 του αλγορίθμου γίνεται έλεγχος της τιμής της μεταβλητής και στη συνέχεια της. Ανάλογα αν είναι μηδενικές ή όχι, ο αλγόριθμος εκτελεί διαφορετικές πράξεις. Επομένως διακρίνουμε τρείς διαφορετικές περιπτώσεις που πρέπει να εξετάσουμε. Περίπτωση Α: Περίπτωση Β: και Περίπτωση Γ: και Αρχιτεκτονική Πρόσθεσης Σημείου στην Καμπύλη - Περίπτωση Α Στο σχήμα (4.7) παρουσιάζεται η αρχιτεκτονική της περίπτωσης Α. Όπως συμπεραίνεται η παρακάτω αρχιτεκτονική απαιτεί έναν τεράστιο αριθμών πόρων υλικού και είναι πρακτικά απαγορευτική. Το γεγονός όμως πως ο αλγόριθμος (4.5) μας δίνει τη δυνατότητα επαναχρησιμοποίησης των τιμών, εμφανίζεται καλύτερο να τροποποιηθεί και να προστεθούν ενδιάμεσα στοιχεία αποθήκευσης. Γεγονός του ότι ο πολλαπλασιαστής έχει το υψηλότερο κόστος είναι φρονιμότερο σε κάθε στάδιο να υπάρχει μία πράξη πολλαπλασιασμού. Έτσι θα υλοποιήσουμε έναν πολλαπλασαστή τον οποίο θα χρησιμοποιούμε συνέχεια. Όσο αφορά τις προσθέσεις, επειδή υπάρχει μεγάλο ποσοστό μίας πρόσθεσης μετά από έναν πολλαπλασιασμό, με την πρόσθεση να χρησιμοποιεί στη μία είσοδό της το αποτέλεσμα του πολλαπλασιασμού, στην υλοποίηση έχει ενσωματωθεί μέσα στην αρχιτεκτονική του πολλαπλασιαστή και μία πρόσθεση με το αποτέλεσμά του. Με αυτόν τον τρόπο γλιτώνουμε την καθυστέρηση της πρόσθεσης, αφού αυτή θα γίνεται παράλληλα με τον πολλαπλασιαστή. Επομένως μετά την τροποποίηση του αλγορίθμου η βελτιστοποιημένη έκδοση φαίνεται στο σχήμα (4.8). 52

53 σχ μα

54 σχ μα

55 Δεξιά του σχήματος (4.8) βρίσκονται οι καταστάσεις της μηχανής καταστάσεων που έχει κατασκευαστεί. Παρατηρούμε επίσης πως στην κατάσταση ac3 γίνεται ο πρώτος έλεγχος για, επομένως και για τις δύο επόμενες περιπτώσεις οι τρείς πρώτοι κύκλοι ρολογιού είναι οι ίδιοι. Στον παρακάτω πίνακα (4.9) αναλύονται τα βήματα του αρχικού αλγόριθμου (4.5), ώστε να καταλήξουμε στο σχήμα (4.8). Παρατηρούμε την αλλαγή στη σειρά μερικών πράξεων, ώστε να κατανεμηθούν οι διεργασίες όσο καλύτερα γίνεται και να μην υπάρχουν διαφορές στο χρόνο εκτέλεσης της κάθε κατάστασης. πίνακας 4.9 Το επόμενο βήμα είναι η επεξεργασία των μεταβλητών και ο χρόνο ζωής κάθε μίας, είτε αυτή είναι σήμα εισόδου, είτε σήμα εξόδου, είτε εσωτερικό σήμα για τις ενδιάμεσες πράξεις, ώστε να βρεθεί ο αριθμός των καταχωρητών που απαιτούνται. Ο πίνακας (4.10) συμπληρώθηκε με τη βοήθεια του αρχικού σχεδίου. Τα τελικά αποτελέσματα βρίσκονται στους καταχωρητές ώστε να ξεκινήσει ο επόμενος κύκλος μηχανής άμεσα, διότι εφόσον θα βρίσκονται εκεί θα θεωρηθούν είσοδοι. Στον πίνακα (4.10) φαίνονται οι καταχωρητές που χρησιμοποιήθηκαν, 7 στο σύνολο, σε κάθε κύκλο ρολογιού. Χρησιμοποιήθηκε επιπλέον ένας καταχωρητής για να αποθηκευτεί η τιμή του κλειδιού. Το γρι χρώμα δηλώνει τη διάρκεια ζωής της κάθε μεταβλητής. 55

56 πίνακας 4.10 Ο πίνακας (4.11) δηλώνει την ακριβή θέση αποθήκευσης κάθε μεταβλητής στους καταχωρητές X1 R1 Y1 R2 Z1 R3 x2 R4 y2 R5 a1 R1 a2 R6 a3 R7 a4 R2 a5 R2 a6 R6 a7 R1 a8 R6 a9 R7 a10 R2 a11 R6 a12 R2 a13 R7 X3 R1 Y3 R2 Z3 R3 πίνακας 4.11 Ο πίνακας (4.9) μετασχηματίζεται στον (4.12), όπου τις θέσεις των μεταβλητών έχουν πάρει οι καταχωρητές με τη βοήθεια του πίνακα (4.11). 56

57 πίνακας Αρχιτεκτονική Πρόσθεσης Σημείου στην Καμπύλη - Περίπτωση Β Στο σχήμα (4.14) παρουσιάζεται η αρχιτεκτονική της Β περίπτωσης έχοντας ήδη ενσωματωθεί τα στάδια pipeline. 57

58 σχ μα

59 Παρατηρούμε πως στον κύκλο τρίτο κύκλο του ρολογιού, γίνεται ακόμη ένας έλεγχος Υ3==0 αν και εφόσον Χ3==0. Ουσιαστικά γίνεται Point Doubling με εισόδους: (Χ1,Υ1,Ζ1)=(Χ1,Υ1,1)=(,,1) αφού ο αλγόριθμος (4.5) στο βήμα 9.1 παραπέμπει στον αλγόριθμο (4.6). Παρατηρείται πως στον παραπάνω έλεγχο Στον παρακάτω πίνακα (4.15) αναλύονται τα βήματα του αρχικού αλγόριθμου (4.5) και (4.6) ώστε να καταλήξουμε στο σχήμα (4.14). Οι πίνακες (4.15), (4.16), (4.17), (4.18) παρουσιάζουν αντίστοιχα δεδομένα με αυτούς τις περίπτωσης Α. πίνακας

60 πίνακας 4.16 πίνακας

61 πίνακας Αρχιτεκτονική Πρόσθεσης Σημείου στην Καμπύλη - Περίπτωση Γ Στην περίπτωση αυτή Χ3==0 και Υ3!==0. Το αποτέλεσμα της πρόσθεσης είναι άπειρο (1,0,0)(άπειρο). Ουσιαστικά δεν εισάγουμε λογική σε αυτήν την περίπτωση όπως φαίνεται και από τον πίνακα (4.20) καθώς αυτές οι πράξεις έχουν ήδη υλοποιηθεί. Η αρχιτεκτονική που έχει ήδη υλοποιηθεί στις προηγούμενες περιπτώσεις αλλά ενεργοποιείται σε αυτήν την περίπτωση φαίνεται στο σχήμα (4.19) και περιγράφεται από τους πίνακες (4.20), (4.21), (4.22). Βέβαια υποθέτοντας πως οι είσοδοι του συστήματος δε θα είναι ποτέ μηδενικοί, καθώς δεν υπάρχει νόημα υπολογισμών και διότι θα καθορίζονται από τον επιστήμονα, συμπεραίνουμε πως ο αλγόριθμος ποτέ δε θα βρεθεί σε αυτήν την περίπτωση. Παρολ'αυτά, παρατίθεται η ανάλυση αυτής της περίπτωσης για επιστημονικούς λόγους μιας και εξακολουθεί να αποτελεί πιθανή περίπτωση σύμφωνα με τον αρχικό αλγόριθμο (4.6). 61

62 σχ μα 4.19 πίνακας 4.20 πίνακας

63 X1 R1 Y1 R2 Z1 R3 x2 R4 y2 R5 a1 R6 a2 R7 a3 R3 X3 R1 Y3 R2 Ζ3 R3 πίνακας 4.22 πίνακας Αρχιτεκτονική Διπλασιασμού Σημείου στην Καμπύλη Στο σχήμα (4.24) παρουσιάζεται η αρχιτεκτονική του διπλασιασμού χωρίς pipeline. Τα προβλήματα που παρατηρούνται είναι τα ίδια, οπότε η βελτιωμένη αρχιτεκτονική φαίνεται στο σχήμα (4.25). Ο αλγόριθμος είναι ο ίδιος με αυτόν στον οποίο μεταπηδά η πράξη της πρόσθεσης στην περίπτωση Β που έχουμε ήδη αναλύσει. Η αρχιτεκτονική περιγράφεται από τους πίνακες (4.26), (4.27), (4.28), (4.29). 63

64 σχ μα

65 σχ μα

66 σχ μα 4.26 σχ μα

67 X1 R1 Y1 R2 Z1 R3 x2 R4 y2 R5 a4 R1 a6 R6 a7 R6 a8 (Z3) R3 a9 R7 a10 R7 a11 R6 a12 R6 a13 (X3) R1 a14 R6 a16 (Y3) R2 σχ μα 4.28 σχ μα

68 4.2.5 Κατασκευή Μηχανής Καταστάσεων Για την κατασκευή της μηχανής καταστάσεων οι διάφορες καταστάσεις καθορίζονται από τα στάδια pipeline στου αλγορίθμους πρόσθεσης και διπλασιασμού σημείων. Στο σχήμα (4.8) διακρίνονται οι καταστάσεις ac1, ac2, ac3, ac4, ac5, ac6, ac7, ac8, ac9, ac10, ac11, ac12 και ac13, ενώ στο σχήμα (4.14) οι καταστάσεις bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8, bc9, bc10, bc11 και bc12. Όλες οι παραπάνω καταστάσεις αφορούν την πρόσθεση σημείων στην καμπύλη. Παρατηρείται πως οι καταστάσεις bc1, bc2, bc3 της περίπτωσης Β είναι ίδιες με τις ac1, ac2 ac3 της περίπτωσης Α και αυτές τις περίπτωσης Γ, οπότε και αφαιρούνται. Επίσης οι καταστάσεις cc4, cc5, cc6, cc7, cc8, cc9, cc10, cc11 και cc12 που αφορούν το διπλασιασμό είναι ουσιαστικά ίδιες με τις bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8, bc9, bc10, bc11 και bc12, γεγονός που θα επιτρέψει να εξεταστούν ταυτόχρονα. Εκτός των καταστάσεων οι οποίες περιγράφουν τμήματα πράξεων σημείων της ελλειπτικής καμπύλης έχουν δημιουργηθεί μερικές επιπλέον καταστάσεις οι οποίες βοηθούν στην καλύτερη υλοποίηση. Δύο από αυτές τις καταστάσεις είναι οι dbldone και adddone και δημιουργήθηκαν για να δηλώσουν τον τερματισμό των αλγοριθμικών πράξεων του διπλασιασμού και της πρόσθεσης αντίστοιχα. Επίσης δημιουργήθηκε η κατάσταση alldone που δηλώνει τον τερματισμό ενός κύκλου πράξεων για ένα bit του κλειδιού. Τέλος υπάρχει η αρχική κατάσταση Start, η οποία περιέχει μόνο αρχικοποιήσεις και δηλώνει την αρχή της επεξεργασίας. Το διάγραμμα καταστάσεων φαίνεται στο σχήμα (4.30). 68

69 σχ μα

70 4.2.6 Αρχιτεκτονική Καταχωρητή Οι καταχωρητές που χρησιμοποιήθηκαν για να αποθηκεύσουν τα ενδιάμεσα και τελικά αποτελέσματα της αρχιτεκτονικής είναι οκτώ στον αριθμό. Τρείς από αυτούς χρησιμοποιούνται κατά την εισαγωγή των δεδομένων. Τρείς καταχωρητές θα εξάγουν τα δεδομένα τους στο τέλος της επεξεργασίας ενώ όλοι, εκτός του καταχωρητή που περιέχει το κλειδί, χρησιμοποιούνται ενδιάμεσα των καταστάσεων ως latches, για την αποθήκευση των ενδιάμεσων τιμών. Επομένως οι καταχωρητές που έχουν υλοποιηθεί έχουν διπλή ιδιότητα. Αρχικά μπορούν να εισάγουν δεδομένα από την είσοδο scan_in ανά 8bits, να ολισθαίνουν τα δεδομένα τους από το LSB στο MSB και να εξάγουν στην έξοδο scan_out δεδομένα επίσης ανά 8bits όταν το σήμα ελέγχου scan είναι ενεργό. Η λειτουργία αυτή εκτελείται στην αρχή της διαδικασίας όταν θέλουμε να εισάγουμε δεδομένα στο σύστημα. Η 2 η ιδιότητα αποτελεί την εισαγωγή δεδομένων 163bits από την είσοδο data_in και την εξαγωγή τους στον επόμενο κύκλο από την έξοδο data_out όταν το σήμα ελέγχου load είναι ενεργό. Η παραπάνω ιδιότητα χρησιμεύει όταν ο αλγόριθμος επεξεργασίας εκτελείται. Το block διάγραμμα του καταχωρητή εμφανίζεται στο σχήμα (4.31). σχ μα

71 4.2.7 Βαθμωτός Πολλαπλασιασμός Η υλοποίηση των πράξεων της πρόσθεσης και διπλασιασμού σημείου ελλειπτικής καμπύλης δίνουν πια τη δυνατότητα υλοποίησης του βαθμωτού πολλαπλασιασμού η οποία, όπως παρουσιάστηκε στο κεφάλαιο 2 είναι η πιο περίπλοκη πράξη καθώς απαιτεί πολλούς διπλασιασμούς και προσθέσεις. Ο αριθμός των προσθέσεων και διπλασιασμών εξαρτάται άμεσα από το κλειδί. Ο αλγόριθμος (4.32) περιγράφει με ακρίβεια τον βαθμωτό πολλαπλασιασμό. Το Hamming Weight του δηλώνει τον αριθμό των πράξεων της πρόσθεσης σημείων, ενώ το μήκος του δηλώνει τον αριθμό των διπλασιασμών και τον αριθμό των κύκλων που απαιτούνται για τη διεξαγωγή του αποτελέσματος. Υποθέτοντας πως δηλαδή οι άσσοι είναι ίσοι με τα μηδενικά του, τότε ο βαθμωτός πολλαπλασιασμός απαιτεί διπλασιαμούς, όπου το μήκος του κλειδιού προσθέσεις και Algorithm 4.32 Double and Add method for point multiplication Input: Output: in LD coordinates 4. Q= 5. For from downto do If = 1 then. 6. Return Q αλγόριθμος 4.32 Εφόσον έχει υλοποιηθεί ο βαθμωτός πολλαπλασιασμός η αρχιτεκτονική είναι πια ολοκληρωμένη και φαίνεται στην εικόνα (4.33), ενώ το block διάγραμμά της παρουσιάζεται στο σχήμα (4.34). Όσο αφορά την αρχιτεκτονική παρατηρούμε πως υπάρχει μια Μονάδα Control η οποία διαχειρίζεται τα σήματα control. Συνεργάζεται με τις control λογικές των καταχωρητών είτε για να εξαχθούν δεδομένα, είτε για να αποθηκευθούν νέα. Όσο αφορά το block διάγραμμα όταν go=1 τότε η επεξεργασία ξεκινά. Με scan εισάγουμε τα δεδομένα ή το κλειδί από την είσοδο scan_in ανά 8bits. Εξάγουμε αποτελέσματα από την έξοδο scan-out ανά 8bits Γνωρίζουμε πως τα αποτελέσματα είναι σωστά ώστε να τα εξάγουμε όταν η έξοδος done γίνει 1. 71

72 σχ μα 4.33 σχ μα

73 4.3 Επίθεση Απλής Ανάλυσης Ισχύος (SPA) Το επόμενο στάδιο της εργασίας, υποθέτοντας πως ο αλγόριθμος του βαθμωτού πολλαπλασιασμού έχει υλοποιηθεί, είναι η πραγματοποίηση της επίθεσης απλής ανάλυσης ισχύος στο ολοκληρωμένο κύκλωμα Απαραίτητος Εξοπλισμός Στην εικόνα (4.35) παρουσιάζεται η διάταξη που πρέπει υπάρχει ώστε για την επίθεση απλής ανάλυσης ισχύος. Το ολοκληρωμένο κύκλωμα στο οποίο είναι υλοποιημένος ο αλγόριθμος (SCA evaluation board) είναι απαραίτητο στοιχείο, καθώς η εξαγωγή των μετρήσεων θα πραγματοποιηθεί χρησιμοποιώντας καλώδια που θα λαμβάνουν την πληροφορία από την επιφάνειά του. Επίσης απαιτείται ένα παλμογράφος (oscilloscope) για την εμφάνιση της κυματομορφής του σήματος που θα προσληφθεί. Εάν ο παλμογράφος είναι ψηφιακός, όπως στην εικόνα (4.35), τα ψηφιακά σήματα αποθηκεύονται στον υπολογιστή για περαιτέρω επεξεργασία, ακόμα και DPA ανάλυση. Τα καλώδια που θα χρησιμοποιηθούν για την εξαγωγή της πληροφορίας ουσιαστικά είναι τα probes του παλμογράφου και τοποθετούνται στα άκρα μιας αντίστασης από την οποία θα μετρήσουμε την διαφορά δυναμικού ώστε να υπολογίσουμε την ισχύ που καταναλώνει το σύστημα στην έξοδο. Ο υπολογιστής (workstation) περιέχει software και interface ώστε να μπορεί να επικοινωνεί με το ολοκληρωμένο κύκλωμα εισάγοντας test vectors και κάνοντας τον απαραίτητο έλεγχο. εικόνα

74 4.3.2 Επίθεση Απλής Ανάλυσης Ισχύος Όπως παρατηρείται στον αλγόριθμο (4.32) ο επιτιθέμενος είναι σε θέση να ανακαλύψει την τιμή του κάθε bit του κλειδιού καθώς τα βήματα της πρόσθεσης και του διπλασιασμού είναι διακριτά στην βαθμωτό πολλαπλασιασμό. Η εικόνα (4.36) αποτελεί ένα τμήμα του σήματος που προήλθε από την έξοδο του ολοκληρωμένου κυκλώματος στην οθόνη του παλμογράφου, κατά τη διάρκεια εκτέλεσης ενός βαθμωτού πολλαπλασιασμού. εικόνα 4.36 Σε πρώτη φάση είμαστε σε θέση να χωρίσουμε την κυματομορφή σε περιοχές οι οποίες επαναλαμβάνονται. Ο διαχωρισμός αυτός φαίνεται στην εικόνα (4.37). εικόνα 4.37 Αφού διακρίνουμε τις διαφορετικές περιοχές, δεδομένων των αλγορίθμων του διπλασιασμού και της πρόσθεσης σημείων καμπύλης, μπορεί πλέον ξεκάθαρα να παρατηρηθεί σε ποίες περιοχές εκτελείται η κάθε πράξη. Εφόσον ο διπλασιασμός είναι πιο σύντομη πράξη από την πρόσθεση σημείων στην εικόνα (4.38) ονομάζονται οι περιοχές. Με (D) δηλώνεται η πράξη του διπλασιασμού και με (A) η πράξη της πρόσθεσης. Πολύ εύκολα γίνεται η αντιστοίχηση όσο αφορά τα bits του κλειδιού με τελικό αποτέλεσμα το ίδιο το κλειδί. Στο παράδειγμα που χρησιμοποιήθηκε 74

75 εικόνα

76 4.4 Υλοποίηση Αντίμετρου Στην προηγούμενη ενότητα με πολύ μικρό κόπο και χωρίς ιδιαίτερες γνώσεις ή εξοπλισμό πραγματοποιήθηκε η επίθεση απλής ανάλυσης ισχύος. Φαντάζει επιτακτική η χρήση αντίμετρων και ενός ανθεκτικού αλγορίθμου για την παραπάνω επίθεση Υλοποίηση Αντίμετρου Double-and-add-always. Στην παρούσα υλοποίηση εφαρμόζουμε ένα από τα αντίμετρα που παρουσιάστηκαν στο Κεφάλαιο 3 ενάντια στην απλή ανάλυση ισχύος (SPA). Το αντίμετρο που υλοποιήθηκε είναι η μέθοδος Double-and-add-always (Συνεχής Διπλασιασμός και Πρόσθεση). Ο αλγόριθμος (4.39) περιγράφει την μέθοδο του Double-and-add-always. Σκοπό έχει να καταστήσει δυσδιάκριτες τις δύο πράξεις του πολλαπλασιασμού. Παρατηρείται πως η πράξη της πρόσθεσης γίνεται σε κάθε κύκλο ανεξάρτητα από το Hamming Weight του. Με αυτόν τον τρόπο και οι δύο πράξεις εκτελούνται σε κάθε κύκλο και η control unit του πολλαπλασιαστή καθορίζει αν το αποτέλεσμα της πρόσθεσης θα αποθηκευτεί στους καταχωρητές ή όχι με σκοπό να καταλήξει στο σωστό αποτέλεσμα. Το συγκεκριμένο αντίμετρο προσφέρει μια επιπλέον προστασία από Timming Attacks, καθώς ο χρόνος επεξεργασίας του κάθε bit είναι ο ίδιος, η παραπάνω επίθεση δε μπορεί να εξάγει πληροφορίες όπως το Hamming Weight του κλειδιού. Το Hamming Weight του κλειδιού αποτελεί σημαντική πληροφορία και αν χρησιμοποιηθεί σε άλλου είδους επιθέσεις όπως DPA, η διαδικασία εξαγωγής του κλειδιού διαρκεί πολύ λιγότερο. Algorithm 4.39 SPA resistant, double-and-addalways point multiplication Input: Output: in LD coordinates 1. = 2. For from downto do Return αλγόριθμος

77 4.4.2 Τροποποίηση Μηχανής Καταστάσεων Η υλοποίηση του ανθεκτικού αλγορίθμου δεν εισάγει επιπλέον λογική και η βασική αρχιτεκτονική παραμένει σταθερή. Η αλλαγή συμβαίνει μόνο στα σήματα ελέγχου, οπότε οι λογικές που χρησιμοποιήθηκαν για τον πολλαπλασιαστή GF( ), την πρόσθεση και το διπλασιασμό σημείων στην καμπύλη, και τους καταχωρητές δεν έχουν τροποποιηθεί. Το καινούριο διάγραμμα καταστάσεων παρουσιάζεται στο σχήμα (4.40) και δε διαφέρει πολύ από αυτό του σχήματος (4.30). Παρατηρείται πως ύστερα από έναν διπλασιασμό εκτελείται μια πρόσθεση πάντα. Οπότε η επόμενη κατάσταση μετά την dbldone είναι πάντα η ac1 χωρίς να γίνεται έλεγχος του bit του κλειδιού. Έτσι για κάθε bit του κλειδιού εκτελούνται και οι δύο πράξεις. 77

78 σχ μα

79 4.4.3 Επίθεση Απλής ανάλυσης Ισχύος στην τροποποιημένη υλοποίηση Αφού υλοποιήθηκε και ο δεύτερος αλγόριθμος, ο οποίος θεωρητικά αντιστέκεται στην επίθεση απλής ανάλυσης ισχύος, στη συνέχεια παρουσιάζεται ένα παράδειγμα power trace ώστε να γίνει κατανοητή η διαφορά των δύο παραπάνω υλοποιήσεων. Αναμένεται οι πράξεις διπλασιασμού και πρόσθεσης να γίνονται συνεχώς και τα μη διακρίνονται τα bit του κλειδιού. Στις εικόνες (4.41), (4.42), (4.43) συμβαίνουν τα βήματα της SPA ανάλυσης όπως περιγράφτηκαν σε προηγούμενο κεφάλαιο. Διαπιστώνεται στην εικόνα (4.43) πως οι πράξεις γίνονται συνεχώς και αν δεν είναι δυνατόν να αποκαλυφθεί πληροφορία σχετικά με το κλειδί. εικόνα 4.41 εικόνα 4.42 εικόνα

80 Κεφάλαιο 5: Αποτελέσματα, Συγκρίσεις και Συμπεράσματα 5.1 Αποτελέσματα Simulation Η καλή λειτουργία των υλοποιημένων αλγορίθμων πιστοποιήθηκε με τη σύγκριση των αποτελεσμάτων για τις ίδιες εισόδους με αλγόριθμο γραμμένο σε κώδικα C. Η εξομοίωση του κώδικα της Vhdl έγινε με το ModelSim 6.5e Λειτουργία Πολλαπλασιαστή GF( ) Η λειτουργία του πολλαπλασιαστή έπρεπε να πιστοποιηθεί από τα πρώτα στάδια της διπλωματικής εργασίας. Τα αποτελέσματα συγκρίθηκαν αρχικά με το Wolfram Mathematica 8. Στη συνέχεια παρατίθεται ένα παράδειγμα καλής λειτουργίας του πολλαπλασιαστή, υποθέτοντας και., δηλαδή. Οι εντολές στο Mathematica είναι οι παρακάτω: Input: PolynomialMod[PolynomialMod[(x^3+x+1)(x^2+x^4),(1+x^3+x^5)],2] Output: 1+x^4 Το πολυώνυμο της εξόδου αντιστοιχεί στο δυαδικό αριθμό d=10001 και είναι το αποτέλεσμα του πολλαπλασιασμού όπως φαίνεται κι από την εικόνα (5.1). εικόνα Λειτουργία Συνολικής υλοποίησης Το επόμενο στάδιο πιστοποίησης καλής λειτουργίας αφορά την συνολική υλοποίηση. Στη συνέχεια παρατίθεται ένα παράδειγμα για πράξη του βαθμωτού πολλαπλασιασμού, δηλαδή για τη συνολική υλοποίηση: Είσοδοι: σε δεκαεξαδική μορφή: 3F0EBA16286A2D57EA D E8343E36 7F51FBC6C71A0094FA2CDD545B11C5C0C797324F1 Έξοδος: 80

81 Όπως παρατηρείται η είσοδος P είναι σε affine coordinates ενώ η έξοδος Q σε LD coordinates. Επίσης τα 5 MSB ψηφία όλων των εισόδων είναι μηδενικά καθώς περιέχουν άχρηστη πληροφορία η οποία προκύπτει από την σειριακή είσοδο των δεδομένων ανά 8 bits. Οι συντεταγμένες του σημείου Q φαίνονται στις εικόνες (5.2), (5.3) και (5.4). Τα αποτελέσματα είναι ορατά τόσο στις εξόδους των καταχωρητών R1,R2,R3 (Simulation Vhdl), όσο και στην εκτέλεση του κώδικα C. Τα αποτελέσματα εμφανίζονται δε δυαδική μορφή και δεκαεξαδική μορφή. εικόνα 5.2 εικόνα 5.3 εικόνα Σημαντικές Παρατηρήσεις Στα πλαίσια της λειτουργίας του αρχικού αλγορίθμου, αξίζει να επισημανθούν οι εναλλαγές των bits του κλειδιού στην εικόνα (5.5), καθώς ολοκληρώνεται η επεξεργασία του καθενός. Η εικόνα αποτελεί τυχαίο στιγμιότυπο κατά την εκτέλεση της επεξεργασίας. Παρατηρείται πως ο χρόνος επεξεργασίας όταν 81

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτογραφία Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι) Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο

Διαβάστε περισσότερα

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματα Βασίζεται στο πρόβλημα του διακριτού λογαρίθμου Αυξημένη

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση Κρυπτογραφία Κεφάλαιο 1 Γενική επισκόπηση Ανασκόπηση ύλης Στόχοι της κρυπτογραφίας Ιστορικό Γενικά χαρακτηριστικά Κλασσική κρυπτογραφία Συμμετρικού κλειδιού (block ciphers stream ciphers) Δημοσίου κλειδιού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ιστορία Ασύμμετρης Κρυπτογραφίας Η αρχή έγινε το 1976 με την εργασία των Diffie-Hellman

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία Παύλος Αντωνίου Γραφείο: ΘΕΕ 02 B176 Εαρινό Εξάμηνο 2011 Department of Computer Science Ασφάλεια - Απειλές Ασφάλεια Γενικά (Ι) Τα

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3 Η Aσύμμετρη Kρυπτογραφία ή Κρυπτογραφία Δημοσίου Κλειδιού χρησιμοποιεί δύο διαφορετικά κλειδιά για την κρυπτογράφηση και αποκρυπτογράφηση. Eπινοήθηκε στο τέλος της δεκαετίας

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια ΣΤΟΧΟΙ ΚΕΦΑΛΑΙΟΥ Ορισµός τριών στόχων ασφάλειας - Εµπιστευτικότητα, ακεραιότητα και διαθεσιµότητα Επιθέσεις Υπηρεσίες και Τεχνικές

Διαβάστε περισσότερα

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

Διαβάστε περισσότερα

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

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας Ηλεκτρονικό εμπόριο HE 7 Τεχνολογίες ασφάλειας Πρόκληση ανάπτυξης ασφαλών συστημάτων Η υποδομή του διαδικτύου παρουσίαζε έλλειψη υπηρεσιών ασφάλειας καθώς η οικογένεια πρωτοκόλλων TCP/IP στην οποία στηρίζεται

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Aσφάλεια Περιεχόμενα Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο Μέθοδος Μυστικού Κλειδιού (Συμμετρική Κρυπτογράφηση) Μέθοδος Δημόσιου Κλειδιού (Ασύμμετρη

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Σχεδίαση και Υλοποίηση Κρυπτογραφικού Συστήματος Ελλειπτικών Καμπυλών προστατευμένο από Φυσικές Επιθέσεις

Διαβάστε περισσότερα

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

Κρυπτογραφία. Εργαστηριακό μάθημα 1 Κρυπτογραφία Εργαστηριακό μάθημα 1 Βασικοί όροι Με τον όρο κρυπτογραφία εννοούμε τη μελέτη μαθηματικών τεχνικών που στοχεύουν στην εξασφάλιση θεμάτων που άπτονται της ασφάλειας μετάδοσης της πληροφορίας,

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ασύμμετρα Κρυπτοσυστήματα κλειδί κρυπτογράφησης k1 Αρχικό κείμενο (m) (δημόσιο κλειδί) Αλγόριθμος

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ασύμμετρη Κρυπτογράφηση (Κρυπτογραφία Δημόσιου Κλειδιού) Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Εισαγωγή- Βασικές Έννοιες Διδάσκων : Δρ. Παρασκευάς Κίτσος diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής στην Επιστήμη των Υπολογιστών 2015-16 Ασφάλεια Δεδομένων http://www.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Οι απειλές Ένας κακόβουλος χρήστης Καταγράφει μηνύματα

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Εισαγωγή- Βασικές Έννοιες Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο 2015 1 ΤΙ ΕΙΝΑΙ Η ΚΡΥΠΤΟΛΟΓΙΑ?

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές  3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή... 1 1.1. Ορισμοί και ορολογία... 2 1.1.1. Συμμετρικά και ασύμμετρα κρυπτοσυστήματα... 4 1.1.2. Κρυπτογραφικές υπηρεσίες και πρωτόκολλα... 9 1.1.3. Αρχές μέτρησης κρυπτογραφικής

Διαβάστε περισσότερα

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

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Κεφάλαιο 8 8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές Σελ. 320-325 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-g.ggia.info/ Creative

Διαβάστε περισσότερα

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

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος Οι διαφάνειες έχουν βασιστεί στο βιβλίο «Εισαγωγή στην επιστήμη των υπολογιστών» του B. Forouzanκαι Firoyz Mosharraf(2 η έκδοση-2010) Εκδόσεις Κλειδάριθμος Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου

Διαβάστε περισσότερα

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

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΤΕΙ Κρήτης ΕΠΠ Εργαστήριο Ασφάλεια Πληροφοριακών Συστηµάτων ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΤΕΙ Κρητης Τµηµα Εφαρµοσµενης Πληροφορικης Και Πολυµεσων Fysarakis Konstantinos, PhD kfysarakis@staff.teicrete.gr Εισαγωγή

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 9: Εσωτερική πράξη και κλάσεις ισοδυναμίας - Δομές Ισομορφισμοί Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

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

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής στην Επιστήμη των Υπολογιστών 2014-015 Ασφάλεια Δεδομένων http://www.ionio.gr/~mistral/tp/csintro/ Οι απειλές Ένας κακόβουλος χρήστης Καταγράφει μηνύματα που ανταλλάσσονται

Διαβάστε περισσότερα

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings Cryptography and Network Security Chapter 9 Fifth Edition by William Stallings Chapter 9 Κρυπτογραφια Δημοσιου Κλειδιου και RSA Every Egyptian received two names, which were known respectively as the true

Διαβάστε περισσότερα

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία Κεφάλαιο 2 Κρυπτογραφικά εργαλεία Συμμετρική κρυπτογράφηση Καθολικά αποδεκτή τεχνική που χρησιμοποιείται για τη διαφύλαξη της εμπιστευτικότητας δεδομένων τα οποία μεταδίδονται ή αποθηκεύονται Γνωστή και

Διαβάστε περισσότερα

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

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; 1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; Η ακεραιότητα δεδομένων(data integrity) Είναι η ιδιότητα που μας εξασφαλίζει ότι δεδομένα

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συνολικό Πλαίσιο Ασφάλεια ΠΕΣ Εμπιστευτικότητα Ακεραιότητα Πιστοποίηση Μη-αποποίηση Κρυπτογράφηση

Διαβάστε περισσότερα

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να Ορισμός κρυπτογραφίας Με τον όρο κρυπτογραφία, αναφερόμαστε στη μελέτη μαθηματικών τεχνικών

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Ασύμμετρη Κρυπτογραφία Χρήστος Ξενάκης Ασύμμετρη κρυπτογραφία Μονόδρομες συναρτήσεις με μυστική πόρτα Μια συνάρτηση f είναι μονόδρομη, όταν δοθέντος

Διαβάστε περισσότερα

Βασικές Έννοιες Κρυπτογραφίας

Βασικές Έννοιες Κρυπτογραφίας Βασικές Έννοιες Κρυπτογραφίας Παύλος Εφραιμίδης Κρυπτογραφία Βασικές Έννοιες 1 Τι θα μάθουμε Obscurity vs. Security Βασικές υπηρεσίες κρυπτογραφίας: Confidentiality, Authentication, Integrity, Non- Repudiation

Διαβάστε περισσότερα

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ Παύλος Εφραιμίδης Βασικές Έννοιες Κρυπτογραφίας Ασφ Υπολ Συστ 1 Βασικές υπηρεσίες/εφαρμογές κρυπτογραφίες: Confidentiality, Authentication, Integrity, Non- Repudiation Βασικές έννοιες κρυπτογραφίας 2 3

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou ιαχείριση Κλειδιών Ορισμός: Εγκαθίδρυση κλειδιού (key establishment) είναι η διαδικασία

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Συναρτήσεις Κατακερματισμού και Πιστοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική Ι Ενότητα 10 : Ασφάλεια Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές Βαγγέλης Φλώρος, BSc, MSc Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών Εν αρχή είναι... Η Πληροφορία - Αρχείο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εθνικό Μετσόβιο Πολυτεχνείο

Εθνικό Μετσόβιο Πολυτεχνείο Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία PROJECT Συνοπτική Παρουσίαση του Κβαντικού Αλγόριθμου Παραγοντοποίησης

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 8: Σχέσεις - Πράξεις Δομές Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων Κεφάλαιο 21 Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων Κρυπτογράφηση δημόσιου κλειδιού RSA Αναπτύχθηκε το 1977 από τους Rivest, Shamir και Adleman στο MIT Ο πιο γνωστός και ευρέως

Διαβάστε περισσότερα

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ Περιγραφή μαθήματος Η Κρυπτολογία είναι κλάδος των Μαθηματικών, που ασχολείται με: Ανάλυση Λογικών Μαθηματικών

Διαβάστε περισσότερα

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

Ασφάλεια Πληροφοριακών Συστημάτων Ασφάλεια Πληροφοριακών Συστημάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 2η Δρ. Β. Βασιλειάδης Τμ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Kρυπτανάλυση Προσπαθούμε να σπάσουμε τον κώδικα. Ξέρουμε το

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy) Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων PGP (Pretty Good Privacy) Εισαγωγή Το λογισμικό Pretty Good Privacy (PGP), το οποίο σχεδιάστηκε από τον Phill Zimmerman, είναι ένα λογισμικό κρυπτογράφησης

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 19: Ασφάλεια Κρυπτογράφηση Βασική ιδέα: Αποθήκευσε και μετάδωσε την πληροφορία σε κρυπτογραφημένη μορφή που «δε βγάζει νόημα» Ο βασικός μηχανισμός: Ξεκίνησε από το

Διαβάστε περισσότερα

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

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας Διαχείριση και Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κρυπτογραφία Κρυπτογραφία Η Κρυπτογραφία (cryptography) είναι ένας κλάδος της επιστήμης της Κρυπτολογίας (cryptology), η οποία ασχολείται με την μελέτη

Διαβάστε περισσότερα

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

Συμμετρικά κρυπτοσυστήματα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Δίκτυα Feistel Σημαντικές

Διαβάστε περισσότερα

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Ψηφιακές Υπογραφές Ορίζονται πάνω σε μηνύματα και είναι αριθμοί που εξαρτώνται από κάποιο

Διαβάστε περισσότερα

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2 Κρυπτογραφία Εργαστηριακό μάθημα 7 (Αλγόριθμοι Δημοσίου Κλειδιού) α) El Gamal β) Diffie-Hellman αλγόριθμος για την ανταλλαγή συμμετρικού κλειδιού κρυπτογράφησης El Gamal Αλγόριθμος Παράμετροι συστήματος:

Διαβάστε περισσότερα

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1 Κεφάλαιο 2: Στοιχεία Λογικής - Μέθοδοι Απόδειξης 1. Να αποδειχθεί ότι οι λογικοί τύποι: (p ( (( p) q))) (p q) και p είναι λογικά ισοδύναμοι. Θέλουμε να αποδείξουμε ότι: (p ( (( p) q))) (p q) p, ή με άλλα

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Ελένη Μπακάλη Άρης Παγουρτζής

Διαβάστε περισσότερα

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

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 11: Αριθμητική υπολοίπων-δυνάμεις Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2 ΕΡΓΑΣΙΑ Διδάσκων: Γιώργος Χρυσάνθου Υπεύθυνος Άσκησης: Πύρρος Μπράτσκας Ημερομηνία Ανάθεσης: 3/10/015 Ημερομηνία Παράδοσης: 09/11/015 09:00 π.μ. I.Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση

Διαβάστε περισσότερα

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

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Συμμετρικά κρυπτοσυστήματα Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ ΚΑΙ H ΕΦΑΡΜΟΓΗ ΤΗΣ ΣΤΟ BITCOIN. Επιβλέπων Καθηγητής: Άγγελος Κιαγιάς. Γιώργος Καρυστιανός ΜΠΛΑ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ ΚΑΙ H ΕΦΑΡΜΟΓΗ ΤΗΣ ΣΤΟ BITCOIN. Επιβλέπων Καθηγητής: Άγγελος Κιαγιάς. Γιώργος Καρυστιανός ΜΠΛΑ ΚΡΥΠΤΟΓΡΑΦΙΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ ΚΑΙ H ΕΦΑΡΜΟΓΗ ΤΗΣ ΣΤΟ BITCOIN Επιβλέπων Καθηγητής: Άγγελος Κιαγιάς Γιώργος Καρυστιανός ΜΠΛΑ 2 3 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή 2 Κρυπτογραφία Ελλειπτικών Καµπυλών 2.1 Μαθηµατικό

Διαβάστε περισσότερα

6 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

6 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ 6 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ 6.1. Εισαγωγή Οι σύγχρονες κρυπτογραφικές λύσεις συμπεριλαμβάνουν κρυπτογραφία δημόσιου κλειδιού ή αλλιώς, ασύμμετρη κρυπτογραφία. Η ασύμμετρη κρυπτογραφία βασίζεται αποκλειστικά

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Θεωρία αριθμών Αλγεβρικές δομές Χρήστος Ξενάκης Το σύνολο των ακεραίων Ζ = {..., -2, -1, 0, 1, 2,...} Το σύνολο των φυσικών Ν = {0, 1, 2,...}

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 10: Αριθμητική υπολοίπων - Κυκλικές ομάδες: Διαιρετότητα - Ευκλείδειος αλγόριθμος - Κατάλοιπα Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Ασφάλεια Υπολογιστικών Συστηµάτων

Ασφάλεια Υπολογιστικών Συστηµάτων Ορισµοί Κρυπτογράφηση: η διεργασία µετασχηµατισµού ενός µηνύµατος µεταξύ ενός αποστολέα και ενός παραλήπτη σε µια ακατανόητη µορφή ώστε αυτό να µην είναι αναγνώσιµο από τρίτους Αποκρυπτογράφηση: η διεργασία

Διαβάστε περισσότερα

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

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ Κρυπτογραφία Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Συμμετρικά Κρυπτοσυστήματα κλειδί k Αρχικό κείμενο (m) Αλγόριθμος Κρυπτογράφησης Ε c = E k (m) Κρυπτογραφημένο

Διαβάστε περισσότερα

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ Διάλεξη 8 η Βασίλης Στεφανής Περιεχόμενα Τι είναι κρυπτογραφία Ιστορική αναδρομή Αλγόριθμοι: Καίσαρα Μονοαλφαβιτικοί Vigenere Vernam Κρυπτογραφία σήμερα Κρυπτογραφία Σκοπός Αποστολέας

Διαβάστε περισσότερα

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

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία Κρυπτογραφία Δημοσίου Κλειδιού Άρης Παγουρτζής Στάθης Ζάχος Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κρυπτοσύστημα

Διαβάστε περισσότερα

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή Κεφάλαιο. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας Περιεχόμενα. Αριθμητικά συστήματα. Μετατροπή αριθμών από ένα σύστημα σε άλλο.3 Πράξεις στο δυαδικό σύστημα.4 Πράξεις στο δεκαεξαδικό σύστημα.5

Διαβάστε περισσότερα

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ 1 Γενικά Η ψηφιακή υπογραφή είναι µια µέθοδος ηλεκτρονικής υπογραφής όπου ο παραλήπτης ενός υπογεγραµµένου ηλεκτρονικού µηνύµατος µπορεί να διαπιστώσει τη γνησιότητα του,

Διαβάστε περισσότερα

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης Ασφάλεια στο Ηλεκτρονικό Επιχειρείν ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης 1 Κίνδυνοι Η-Ε Μερικοί από τους κινδύνους ενός δικτυακού τόπου Ε-εμπορίου περιλαμβάνουν:

Διαβάστε περισσότερα

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος 1 ΠΕΡΙΕΧΟΜΕΝΑ Ψηφιακές Υπογραφές Ασύμμετρης Κρυπτογραφίας Συστήματα ψηφιακής υπογραφής με αυτοανάκτηση Συστήματα

Διαβάστε περισσότερα

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Εισαγωγή Ο στόχος της υβριδικής μεθόδου είναι να αντισταθμίσει τα μειονεκτήματα της συμμετρικής

Διαβάστε περισσότερα

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

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

Διαβάστε περισσότερα

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

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής Συμμετρική Κρυπτογραφία Εισαγωγή Στην συνηθισμένη κρυπτογραφία, ο αποστολέας και ο παραλήπτης ενός μηνύματος γνωρίζουν και χρησιμοποιούν το ίδιο μυστικό κλειδί.

Διαβάστε περισσότερα

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές Ψηφιακά Πιστοποιητικά Υποδομή δημόσιου κλειδιού (Public Key Infrastructure

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΒΑΣΙΣΜΕΝΗΣ ΣΕ ΕΛΛΕΙΠΤΙΚΕΣ ΚΑΜΠΥΛΕΣ ΠΑΝΩ ΣΕ BINARY EXTENSION GALOIS FIELDS GF(2 N )

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΒΑΣΙΣΜΕΝΗΣ ΣΕ ΕΛΛΕΙΠΤΙΚΕΣ ΚΑΜΠΥΛΕΣ ΠΑΝΩ ΣΕ BINARY EXTENSION GALOIS FIELDS GF(2 N ) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΒΑΣΙΣΜΕΝΗΣ ΣΕ ΕΛΛΕΙΠΤΙΚΕΣ ΚΑΜΠΥΛΕΣ ΠΑΝΩ

Διαβάστε περισσότερα

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4 Διακριτά Μαθηματικά Ι Επαναληπτικό Μάθημα 1 Συνδυαστική 2 Μεταξύ 2n αντικειμένων, τα n είναι ίδια. Βρείτε τον αριθμό των επιλογών n αντικειμένων από αυτά τα 2n αντικείμενα. Μεταξύ 3n + 1 αντικειμένων τα

Διαβάστε περισσότερα

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Κρυπτογραφία Δημόσιου Κλειδιού -RSA 1 Κρυπτογραφία Δημόσιου Κλειδιού - Ιστορία Ηνωμένες Πολιτείες 1975: Ο Diffie οραματίζεται

Διαβάστε περισσότερα

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών Συμβολισμοί Σε αναλογία με τους ορισμούς συμβολίζουμε μια ακολουθία: 1 είτε μέσω του διανυσματικού ορισμού, παραθέτοντας αναγκαστικά

Διαβάστε περισσότερα

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει

Διαβάστε περισσότερα

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΚΡΥΠΤΟΓΡΑΦΙΑΣ ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΜΣ ΕΠΙΧΕΙΡΗΜΑΤΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΚΡΥΠΤΟΓΡΑΦΙΑΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΑΠΟΣΤΟΛΙΔΟΥ ΚΥΡΙΑΚΗ ΕΠΙΒΛΕΠΩΝ: ΜΠΙΣΜΠΑΣ ΑΝΤΩΝΙΟΣ, Καθηγητής

Διαβάστε περισσότερα

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,... KΕΦΑΛΑΙΟ ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ Βασικές έννοιες διαιρετότητας Θα συµβολίζουµε µε, τα σύνολα των φυσικών αριθµών και των ακεραίων αντιστοίχως: {,,3,,, } { 0,,,,, } = = ± ± ± Ορισµός Ένας φυσικός αριθµός

Διαβάστε περισσότερα

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

Διαβάστε περισσότερα

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ Εισαγωγή στην Κρυπτολογία 3 Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ Ακεραιότητα Μονόδρομη Κρυπτογράφηση Ακεραιότητα Αυθεντικότητα μηνύματος Ακεραιότητα μηνύματος Αυθεντικότητα

Διαβάστε περισσότερα

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

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Stream ciphers Η διαδικασία κωδικοποίησης για έναν stream cipher συνοψίζεται παρακάτω: 1.

Διαβάστε περισσότερα

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457.

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457. 1. Ένα κεφάλαιο ενός βιβλίου ξεκινάει από τη σελίδα 32 και τελειώνει στη σελίδα 75. Από πόσες σελίδες αποτελείται το κεφάλαιο; Αν το κεφάλαιο ξεκινάει από τη σελίδα κ και τελειώνει στη σελίδα λ, από πόσες

Διαβάστε περισσότερα

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων: 6/4/2017 Μετά την πρόταση των ασύρματων πρωτοκόλλων από τους Diffie-Hellman το 1976, το 1978 προτάθηκε ένα πρωτόκολλο από τους Merkle-Hellman το οποίο βασίστηκε στο ότι δεν μπορούμε να λύσουμε γρήγορα

Διαβάστε περισσότερα

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Κρυπτογραφία Έλεγχος πρώτων αριθών-παραγοντοποίηση Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία

Διαβάστε περισσότερα

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ Η θεωρία αριθμών και οι αλγεβρικές δομές τα τελευταία χρόνια χρησιμοποιούνται όλο και περισσότερο στην κρυπτολογία. Αριθμο-θεωρητικοί αλγόριθμοι χρησιμοποιούνται σήμερα

Διαβάστε περισσότερα

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Κεντρική Μονάδα Επεξεργασίας Κεντρική Μονάδα Επεξεργασίας Μονάδα επεξεργασίας δεδομένων Μονάδα ελέγχου Μονάδα επεξεργασίας δεδομένων Δομή Αριθμητικής Λογικής Μονάδας

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Καλογερόπουλος Παναγιώτης

Διαβάστε περισσότερα

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ) Ενότητα 5: ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΙΔΑΣΚΩΝ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΧΕΙΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

* * * ( ) mod p = (a p 1. 2 ) mod p.

* * * ( ) mod p = (a p 1. 2 ) mod p. Θεωρια Αριθμων Εαρινο Εξαμηνο 2016 17 Μέρος Α: Πρώτοι Αριθμοί Διάλεξη 1 Ενότητα 1. Διαιρετότητα: Διαιρετότητα, διαιρέτες, πολλαπλάσια, στοιχειώδεις ιδιότητες. Γραμμικοί Συνδυασμοί (ΓΣ). Ενότητα 2. Πρώτοι

Διαβάστε περισσότερα

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών

Στοιχεία Θεωρίας Αριθμών Ε Μ Π Σ Ε Μ & Φ Ε Σημειώσεις Διαλέξεων Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία Επιμέλεια σημειώσεων: Κωστής Γ Διδάσκοντες: Στάθης Ζ Άρης Π 9 Δεκεμβρίου 2011 1 Πιθανές Επιθέσεις στο RSA Υπενθύμιση

Διαβάστε περισσότερα

Παύλος Εφραιμίδης. προηγμένα κρυπτογραφικά πρωτόκολλα. Ασφ Υπολ Συστ

Παύλος Εφραιμίδης. προηγμένα κρυπτογραφικά πρωτόκολλα. Ασφ Υπολ Συστ Παύλος Εφραιμίδης προηγμένα κρυπτογραφικά πρωτόκολλα Ασφ Υπολ Συστ 1 Zero-Knowledge Proofs Zero-Knowledge Proofs of Identity Blind Signatures Oblivious Signatures Simultaneous Contract Signing Simultaneous

Διαβάστε περισσότερα