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

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

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

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ» Δ.Π.Μ.Σ. - Ο.Σ.Υ.Λ. ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του Μεταπτυχιακού Φοιτητή του ΠΜΣ ΟΣΥΛ: ΜΙΧΑΗΛ ΧΑΡΑΛΑΜΠΟΥ του ΕΥΣΤΑΘΙΟΥ Αριθμός Μητρώου: _141_ Θέμα: «ΚΩΔΙΚΕΣ ΠΙΣΤΟΠΟΙΗΣΗΣ ΜΗΝΥΜΑΤΩΝ: ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΕΙΣ ΣΕ ΠΛΑΤΦΟΡΜΕΣ ΥΛΙΚΟΥ ΚΑΙ ΣΥΓΚΡΙΤΙΚΕΣ ΑΠΟΤΙΜΗΣΕΙΣ» ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΓΚΟΥΤΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Αριθμός Διπλωματικής: Πάτρα, 16/12/ 2010_ 1

2 2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα : «ΚΩΔΙΚΕΣ ΠΙΣΤΟΠΟΙΗΣΗΣ ΜΗΝΥΜΑΤΩΝ: ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΕΙΣ ΣΕ ΠΛΑΤΦΟΡΜΕΣ ΥΛΙΚΟΥ ΚΑΙ ΣΥΓΚΡΙΤΙΚΕΣ ΑΠΟΤΙΜΗΣΕΙΣ» του Μεταπτυχιακού Φοιτητή του ΠΜΣ ΟΣΥΛ: ΜΙΧΑΗΛ ΧΑΡΑΛΑΜΠΟΥ του ΕΥΣΤΑΘΙΟΥ Αριθμός Μητρώου: _141_ παρουσιάστηκε δημόσια και εξετάστηκε από την τριμελή εξεταστική επιτροπή στις _16_ / _12_ / 201_ Ο Επιβλέπων Ο Υπεύθυνος του Π.Μ.Σ Γκούτης Κωνσταντίνος Καθηγητής 3

4 4

5 Περίληψη Στη μεταπτυχιακή διπλωματική εργασία του κ. Χαράλαμπου Μιχαήλ με τίτλο «Κώδικες Πιστοποίησης Μηνυμάτων: Σχεδιασμός και Υλοποιήσεις σε Πλατφόρμες Υλικού και Συγκριτικές Αποτιμήσεις» μελετήθηκαν, αναπτύχτηκαν και συγκριθήκαν αρχιτεκτονικές για κρυπτογραφικές εφαρμογές που χρησιμοποιούνται στης τεχνικές πιστοποίησης μηνυμάτων. Σε αυτές χρησιμοποιήθηκαν και τεχνικές βελτιστοποίησης της απόδοσης. Στην ασφάλεια μετάδοσης των πληροφοριών, η πιστοποίηση μηνύματος είναι μία θεμελιώδης τεχνική, η οποία χρησιμοποιείται για να επιβεβαιώσει ότι τα ληφθέντα μηνύματα προέρχονται από τον σωστό αποστολέα και ότι δεν έχουν τροποποιηθεί κατά τη μετάδοση. Στην πιστοποίηση μηνύματος, απαιτείται η χρήση ενός κώδικα πιστοποίησης μηνύματος (Message Authentication Code-MAC). Οι τεχνικές για να δημιουργηθεί ένα MAC γίνεται με δύο τρόπους: α)με χρήση μίας hash συνάρτησης σε συνδυασμό με ένα μυστικό κλειδί και αναφέρεται σαν HMAC (Hash-based MAC). β)με χρήση ενός block cipher αλγορίθμου κρυπτογράφησης σε συνδυασμό με ένα μυστικό κλειδί και αναφέρεται σαν CMAC (Cipher block-based MAC). Θα υλοποιηθούν οι δύο παραπάνω τρόποι-μέθοδοι παραγωγής MAC, σε πλατφόρμες υλικού με γνώμονα την αύξηση της ρυθμαπόδοσης τους. Θα αποτιμηθεί ο ρόλος τους στα κρυπτογραφικά συστήματα ασφαλείας και σε ποιές περιπτώσεις συνίσταται η χρήση της κάθε μίας τεχνικής. Έτσι θα ξεκαθαριστούν οι διαφορές τους και θα καθοριστεί το προφίλ των εφαρμογών στης οποίες κάθε μια εκ των δύο αυτών τεχνικών ταιριάζει καλύτερα. Οι υλοποιήσεις συγκριθήκαν στην ίδια πλατφόρμα υλικού που χρησιμοποιήθηκε για την τελική υλοποίηση ώστε σε κάθε περίπτωση, ανάλογα με της απαιτήσεις της εκάστοτε εφαρμογής, να βρεθεί και η βέλτιστη λύση από πλευράς κόστους. 5

6 Abstract In the present M.Sc. thesis, authored by Haralambos E. Michail and entitled as: «Message Authentication Codes: Designs and Implementations in Hardware Platforms and Comparative Analyses», several architectures for message authentication codes were studied, developed and compared to each other. Performance optimization techniques were exploited as well. Message Authentication Codes (MACs) are widely used in order to protect both a message's integrity -by ensuring that a different MAC will be produced if the message has changed - as well as its authenticity (only someone who knows the secret key could have generated a valid MAC). A message authentication code is an authentication tag (also called a checksum) derived by applying an authentication scheme, together with a secret key, to a message. Typically MACs are produced through: α) HMAC mechanism which is based on a FIPS approved collision-resistant hash function in combination with a secret key (Hash-based MAC). β)cmac mechanism which is based on a block cipher algorithm in combination with a secret key (Cipher block-based MAC). The above two ways (mechanisms) for producing MACs were designed and implemented in hardware taking into consideration the increase of their throughput. The cryptographic systems in which the above two are exploited were described. Their key role in these systems was valued through an investigation concerning the way of their incorporation. Thus, the differences between them were clarified determining the applications where each one is better befitted. HMAC and CMAC designs are implemented in the same hardware FPGA platform and compared to each other in terms of operating frequency, area consumption and throughput. In this way, the best solution between them concerning their overall cost can be designated. 6

7 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ...5 ΚΕΦΑΛΑΙΟ ΚΡΥΠΤΟΓΡΑΦΙΑ ΕΙΣΑΓΩΓΗ ΟΡΟΛΟΓΙΑ Αποστολέας - Παραλήπτης Μηνύματα και Κρυπτογράφηση Πιστοποίηση, Ακεραιότητα και Μη-Αποκύρηξη Αλγόριθμοι και Κλειδιά Αλγόριθμοι Κρυπτογραφίας Συμμετρικοί Αλγόριθμοι Αλγόριθμοι Δημοσίου Κλειδιού Κρυπτανάλυση Ασφάλεια των Αλγορίθμων Γνωστοί Αλγόριθμοι Κρυπτογραφίας...19 ΚΕΦΑΛΑΙΟ ΣΥΝΑΡΤΗΣΕΙΣ ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΥ ΣΥΝΑΡΤΗΣΗ SHA-1 (ΘΕΩΡΙΑ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ) ΕΙΣΑΓΩΓΗ ΣΤΟΝ SHA ΠΕΡΙΓΡΑΦΗ SHA-1 ΑΛΓΟΡΙΘΜΟΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗ SHA-1 CORE Διεπαφή του SHA-1 Core Κελί SHA Πολυπλέκτες Μονάδα Ελέγχου (Απαριθμητής) Επεξεργαστικός Γύρος (Round) Μονάδα Υπολογισμού Wi Περιγραφή Pipeline Αρχιτεκτονικής SHA-1 Core...30 ΚΕΦΑΛΑΙΟ ΜΗΧΑΝΙΣΜΟΣ HMAC ΘΕΩΡΙΑ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΟΡΟΛΟΓΙΑ, ΠΑΡΑΜΕΤΡΟΙ ΚΑΙ ΣΥΜΒΟΛΑ ΚΡΥΠΤΟΓΡΑΦΙΚΑ ΚΛΕΙΔΙΑ ΠΕΡΙΚΟΜΜΕΝΗ ΈΞΟΔΟΣ ΑΛΓΟΡΙΘΜΟΣ HMAC ΑΡΧΙΤΕΚΤΟΝΙΚΗ HMAC ΣΥΣΤΗΜΑΤΟΣ Διεπαφή HMAC Αρχιτεκτονικής Συνεργασία HMAC με SHA-1 Λειτουργία 8-πλού Pipeline Δομικά Στοιχεία HMAC Αρχιτεκτονικής Λειτουργία HMAC Αρχιτεκτονικής...49 ΚΕΦΑΛΑΙΟ

8 ADVANCED ENCRYPTION STANDARD (AES) ΘΕΩΡΙΑ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΜΒΟΛΙΣΜΟΙ ΚΑΙ ΣΥΜΒΑΣΕΙΣ ΠΕΡΙΓΡΑΦΗ AES ΑΛΓΟΡΙΘΜΟΥ Bytes και Σύνολα από Bytes Ο πίνακας STATE Μαθηματικό Υπόβαθρο Πρόσθεση Πολλαπλασιασμός Πολυώνυμα με συντελεστές στο GF(2 8 ) Μήκος σημάτων και αλγοριθμική περιγραφή ΑΡΧΙΤΕΚΤΟΝΙΚΗ AES...72 ΚΕΦΑΛΑΙΟ ΜΗΧΑΝΙΣΜΟΣ CMAC ΘΕΩΡΙΑ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΑΛΓΟΡΙΘΜΟΣ CMAC Δεδομένα Εισόδου και Εξόδου Διεργασία Αποκρυπτογράφησης (Decryption Function) Subkeys Παραγωγή MAC τιμής και Πιστοποίηση Subkey Generation MAC Generation MAC Verification ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ CMAC...83 ΚΕΦΑΛΑΙΟ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΥΝΘΕΣΗΣ ΣΥΓΚΡΙΤΙΚΕΣ ΑΠΟΤΙΜΗΣΕΙΣ ΣΥΓΚΡΙΣΗ SHA-1 ΚΑΙ AES ΥΛΟΠΟΙΗΣΕΩΝ SHA AES ΣΥΓΚΡΙΣΗ HMAC ΚΑΙ CMAC ΥΛΟΠΟΙΗΣΕΩΝ HMAC - SHA CMAC - AES HMAC VS. CMAC: APPLICATION NOTES...91 ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ

9 9

10 Κεφάλαιο 1 Κρυπτογραφία 1.1 Εισαγωγή Η αναγκαιότητα προφύλαξης σημαντικών πληροφοριών ώστε αυτά να μη διαρρεύσουν και η προσπάθεια απόκρυψης επαγγελματικών ή στρατιωτικών μυστικών είναι βασική απαίτηση του σύγχρονου πολιτισμού. Από την αρχαιότητα ακόμη, υπήρχαν περιπτώσεις κρυπτογραφημένων κειμένων σε πολιτισμούς των Αιγυπτίων, των Ασσυρίων και των Βαβυλωνίων. Αυτή η ανάγκη έγινε επιτακτική στα χρόνια του Δευτέρου Παγκοσμίου Πολέμου. Η απαίτηση για ασφαλή μετάδοση στρατιωτικών σχεδίων και εντολών επίθεσης μέσα από κανάλια επικοινωνίας στα οποία είχαν πρόσβαση υποκλοπείς του εχθρού, ικανοποιήθηκε χάρις την κρυπτογραφία, οπότε και η μετάδοση δεδομένων σε κωδικοποιημένη μορφή εξελίχθηκε σε ξεχωριστό επιστημονικό κλάδο [1]. Στις μέρες μας, η κρυπτογραφία έχει πλήθος εφαρμογών, με βασικό σκοπό την παραποίηση μιας πληροφορίας έτσι ώστε να γίνεται κατανοητή μόνον από το άτομο προς το οποίο απευθύνεται. Οι εφαρμογές έχουν επεκταθεί σε πολλές δραστηριότητες της καθημερινής μας ζωής : συναλλαγές με την τραπεζική μας κάρτα (μέθοδοι κρυπτογράφησης του προσωπικού μας αριθμού PIN), δυνατότητα ψηφιακής υπογραφής (με τη χρήση του ιδιωτικού μας κλειδιού), ηλεκτρονικό εμπόριο κοκ [1]. Βέβαια η ραγδαία εξέλιξη της κρυπτογραφίας οφείλεται στην εν γένει ανάπτυξη των υπολογιστών, όπου χάρις την συνεχώς αυξανόμενη υπολογιστική ισχύ επιτυγχάνεται όλο και μεγαλύτερη πολυπλοκότητα των κρυπτογραφικών συστημάτων, ούτως ώστε να είναι δύσκολο να «σπάσουν» από επιθέσεις εισβολέων αφενός και αφετέρου να υπάρχουν οι ανταγωνιστικές συνθήκες υλοποίησης που απαιτούν οι σύγχρονες εφαρμογές. Αυτό επιτείνεται ακόμη περισσότερο σήμερα, γιατί λόγω της σημασίας της διακινούμενης πληροφορίας σε ένα τηλεπικοινωνιακό δίκτυο, επιχειρείται πλήθος υποκλοπών και η αναγκαιότητα της ασφάλειας των δεδομένων πολλαπλασιάζεται αφού πλέον μια σειρά κρίσιμων εφαρμογών υλοποιούνται ηλεκτρονικά και μια πιθανή υποκλοπή μπορεί να είναι καταστροφική για το θύμα. Όλα τα παραπάνω οδηγούν στο συμπέρασμα ότι το ερευνητικό ενδιαφέρον στο χώρο της κρυπτογραφίας είναι τεράστιο ειδικά στις σημερινές συνθήκες εξάπλωσης του διαδικτύου και των εν γένει ηλεκτρονικά παρεχόμενων υπηρεσιών. 10

11 Δικαίως, λοιπόν, η πανεπιστημιακή έρευνα στρέφεται στο αντικείμενο της κρυπτογράφησης δεδομένων και στο αντίστοιχο μαθηματικό της υπόβαθρο, σε τομείς όπως Θεωρία Πολυπλοκότητας, Θεωρία Αριθμών, Θεωρία Πιθανοτήτων και Στατιστικής. 1.2 Ορολογία Αποστολέας - Παραλήπτης Έστω ότι ένας αποστολέας θέλει να στείλει ένα μήνυμα σε έναν παραλήπτη. Η αποστολή αυτή πρέπει να γίνει με ασφάλεια, κάτι που σημαίνει ότι δεν πρέπει να κατανοήσει το μήνυμα κάποιος υποκλοπέας [1] Μηνύματα και Κρυπτογράφηση Το μήνυμα ονομάζεται και καθαρό κείμενο (plaintext). Η διαδικασία μετατροπής ενός μηνύματος με τέτοιο τρόπο ώστε να μην είναι φανερό το περιεχόμενό του λέγεται κρυπτογράφηση (encryption). Το αποτέλεσμα της διαδικασίας κρυπτογράφησης ονομάζεται κρυπτογραφημένο κείμενο (ciphertext). Η αντίστροφη διαδικασία ονομάζεται αποκρυπτογράφηση (decryption). Τα παραπάνω φαίνονται στο Σχήμα1.1 Plaintext Ciphertext Plaintext Encryption Decryption Σχήμα 1.1 Κρυπτογράφηση και Αποκρυπτογράφηση Η επιστήμη που ασχολείται με την ασφάλεια των μεταδιδόμενων μηνυμάτων ονομάζεται κρυπτογραφία, ενώ η επιστήμη που ασχολείται με την ανάκτηση των κρυπτογραφημένων μηνυμάτων ονομάζεται κρυπτανάλυση. Ο κλάδος των μαθηματικών που περιλαμβάνει την κρυπτογραφία και την κρυπτανάλυση είναι η κρυπτολογία. Το plaintext συμβολίζεται με το γράμμα Μ και μπορεί να είναι μία ακολουθία από bits, ένα αρχείο κειμένου, ήχου, κινούμενης εικόνας ή οτιδήποτε. Όσον αφορά τους υπολογιστές, το Μ απλά είναι δεδομένα σε δυαδική μορφή. Το plaintext μπορεί να προορίζεται είτε για μετάδοση, είτε για αποθήκευση. Σε κάθε περίπτωση, πάντως, το plaintext είναι μήνυμα προς κρυπτογράφηση. Το ciphertext συμβολίζεται με C, και είναι επίσης δεδομένα σε δυαδική μορφή. Το ciphertext μπορεί να είναι ίδιο σε 11

12 μέγεθος με το Μ ή και μεγαλύτερο. Συνδυάζοντας, όμως, την κρυπτογράφηση με την συμπίεση, το C γίνεται μικρότερο από το Μ. Ωστόσο η κρυπτογράφηση δεν μπορεί να το επιτύχει αυτό από μόνη της. Η συνάρτηση κρυπτογράφησης Ε, εφαρμόζεται στο Μ και παράγεται το C. Με μαθηματικό συμβολισμό δηλαδή : E(M) = C Κατά την αντίστροφη διαδικασία, η συνάρτηση αποκρυπτογράφησης D εφαρμόζεται στο C και παράγεται το Μ : D(C) = M Εφόσον ο στόχος της κρυπτογράφησης και ακολούθως της αποκρυπτογράφησης ενός μηνύματος είναι η ανάκτηση του αρχικού plaintext, πρέπει να ισχύει η ισότητα : D(E(M) = M Πιστοποίηση, Ακεραιότητα και Μη-Αποκύρηξη Η κρυπτογραφία, εκτός του ότι παρέχει εμπιστευτικότητα, παρέχει και άλλες υπηρεσίες όπως : Πιστοποίηση (Authentication). O παραλήπτης ενός μηνύματος πρέπει να έχει τη δυνατότητα να εξακριβώσει την προέλευση του μηνύματος. Ένας εισβολέας, δηλαδή, δεν θα πρέπει να έχει την ικανότητα να μεταμφιεστεί σαν κάποιος άλλος. Ακεραιότητα (Integrity). O παραλήπτης ενός μηνύματος πρέπει να έχει τη δυνατότητα να επιβεβαιώνει ότι το μήνυμα δεν τροποποιήθηκε κατά τη μετάδοση. Ένας εισβολέας, δηλαδή, δεν θα πρέπει να έχει την ικανότητα να αντικαταστήσει ένα γνήσιο μήνυμα με ένα ψεύτικο. Μη-αποκήρυξη (Νοn-repudiation). Ο αποστολέας ενός μηνύματος δεν μπορεί να αποκηρύξει ένα μήνυμα που ο ίδιος έστειλε και να αρνηθεί - ψευδώς- αργότερα ότι αυτός έστειλε το μήνυμα. Αυτές είναι οι τρεις βασικές απαιτήσεις στην αλληλεπίδραση των υπολογιστών, και είναι αντίστοιχες των διαπροσωπικών επαφών. Για παράδειγμα κάποιος είναι όντως αυτός που υποστηρίζει, τα διαπιστευτήριά του (credentials) πχ ταυτότητα, άδεια οδήγησης κ.λ.π είναι έγκυρα, και κατ αναλογία ένα έγγραφο που δηλώνεται ότι προήλθε από κάποιο άτομο, όντως προήλθε από το άτομο αυτό.όλα αυτά παρέχονται με τις πιο πάνω υπηρεσίες [1] Αλγόριθμοι και Κλειδιά 12

13 Ένας αλγόριθμος κρυπτογραφίας (cipher) είναι η μαθηματική συνάρτηση που χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση. Γενικά υπάρχουν δύο συσχετιζόμενες συναρτήσεις: μία για κρυπτογράφηση και μία για αποκρυπτογράφηση. Εάν η ασφάλεια ενός αλγορίθμου βασίζεται στο να μείνει κρυφός ο τρόπος λειτουργίας του, τότε ονομάζεται περιορισμένος (restricted) αλγόριθμος. Τέτοιοι αλγόριθμοι έχουν πλέον μόνο ιστορικό ενδιαφέρον, αφού είναι ανεπαρκείς για τις σημερινές απαιτήσεις. Μία μεγάλη ομάδα χρηστών η οποία μπορεί και να μεταβάλλεται και ως προς τη σύνθεσή της, δεν μπορεί να χρησιμοποιεί τέτοιους αλγορίθμους γιατί κάθε φορά που κάποιος θα εγκατέλειπε την ομάδα, όλοι οι άλλοι θα έπρεπε να χρησιμοποιούν πλέον διαφορετικό αλγόριθμο. Αν κάποιος αποκαλύψει τυχαία το «μυστικό», όλοι οι υπόλοιποι πρέπει να αλλάξουν αλγόριθμο [1]. Επιπρόσθετα, οι περιορισμένοι αλγόριθμοι δεν επιτρέπουν ποιοτικό έλεγχο ή τυποποίηση. Κάθε ομάδα χρηστών πρέπει να έχει τον δικό της μοναδικό αλγόριθμο. Μια τέτοια ομάδα δεν μπορεί να χρησιμοποιεί προϊόντα software και hardware που δεν είναι φτιαγμένα κατά παραγγελία, γιατί ένας υποκλοπέας μπορεί να αγοράσει το ίδιο προϊόν και να μάθει τον αλγόριθμο. Αν κανένα μέλος της ομάδας δεν είναι καλός κρυπτογράφος, τότε δεν θα γνωρίζουν αν έχουν έναν ασφαλή αλγόριθμο. Παρ όλα αυτά τα βασικά μειονεκτήματα, οι περιορισμένοι αλγόριθμοι είναι πολύ δημοφιλείς σε εφαρμογές μικρής ασφάλειας. Οι χρήστες είτε δεν συνειδητοποιούν, είτε δεν νοιάζονται για τα προβλήματα ασφάλειας που υπάρχουν στο σύστημά τους. Η μοντέρνα κρυπτογραφία επιλύει όλα αυτά τα προβλήματα με το κλειδί (key), το οποίο συμβολίζεται με Κ. Το εύρος των πιθανών τιμών που μπορεί να πάρει το κλειδί ονομάζεται keyspace [2]. Τόσο η κρυπτογράφηση, όσο και η αποκρυπτογράφηση χρησιμοποιούν το κλειδί οπότε οι συναρτήσεις παίρνουν την εξής μορφή : E k (M) = C D k (C) = M Οι συναρτήσεις αυτές έχουν την ιδιότητα : D k (E k (M)) = M Αυτό φαίνεται και στο Σχήμα 1.2 : Key Key Plaintext Ciphertext Encryption Decryption Original Plaintext 13

14 Σχήμα 1.2 Κρυπτογράφηση και αποκρυπτογράφηση με κλειδί Μερικοί αλγόριθμοι χρησιμοποιούν διαφορετικό κλειδί για κρυπτογράφηση έστω Κ 1 - και διαφορετικό για αποκρυπτογράφηση έστω Κ 2 οπότε και ισχύουν τα εξής : E k1 (M) = C D k2 (C) = M D k2 (E k1 (M)) = M Τα παραπάνω φαίνονται στο Σχήμα 1.3 : Encryption Key Decryption Key Plaintext Ciphertext Encryption Decryption Original Plaintext Σχήμα 1.3 Κρυπτογράφηση και αποκρυπτογράφηση με δύο διαφορετικά κλειδιά Η ασφάλεια των παραπάνω αλγορίθμων βασίζεται αποκλειστικά στο κλειδί και όχι στις επιμέρους λεπτομέρειες του αλγορίθμου. Αυτό σημαίνει ότι ο αλγόριθμος μπορεί να δημοσιοποιηθεί και να αναλυθεί, οπότε και προϊόντα που χρησιμοποιούν τον αλγόριθμο μπορούν να παραχθούν μαζικά [2]. Συμπερασματικά, δεν υπάρχει πρόβλημα αν κάποιος υποκλοπέας γνωρίζει τον αλγόριθμο, γιατί αν δεν γνωρίζει το ειδικό κλειδί, δεν μπορεί να διαβάσει τα απεσταλμένα μηνύματα. Κρυπτοσύστημα (cryptosystem) είναι ένας αλγόριθμος μαζί με όλα τα πιθανά plaintexts, ciphertexts και κλειδιά Αλγόριθμοι Κρυπτογραφίας Υπάρχουν δύο κατηγορίες αλγορίθμων κρυπτογραφίας που βασίζονται σε κλειδί : οι συμμετρικοί αλγόριθμοι και οι αλγόριθμοι δημοσίου κλειδιού Συμμετρικοί Αλγόριθμοι Συμμετρικοί αλγόριθμοι (symmetric algorithms) είναι οι αλγόριθμοι στους οποίους το κλειδί κρυπτογράφησης μπορεί να υπολογιστεί από το αντίστοιχο 14

15 αποκρυπτογράφησης και αντιστρόφως. Στις περισσότερες περιπτώσεις συμμετρικών αλγορίθμων το κλειδί κρυπτογράφησης είναι ίδιο με το κλειδί αποκρυπτογράφησης [1]. Οι αλγόριθμοι αυτοί ονομάζονται και αλγόριθμοι μυστικού κλειδιού ή ενός / μονού κλειδιού. Σε αυτούς, λοιπόν, απαιτείται ο αποστολέας κι ο παραλήπτης να συμφωνήσουν σ ένα κλειδί προτού ξεκινήσουν να επικοινωνούν με ασφάλεια. Η ασφάλεια ενός συμμετρικού αλγορίθμου βασίζεται στο κλειδί. Η αποκάλυψη του κλειδιού σημαίνει ότι οποιοσδήποτε μπορεί να κρυπτογραφεί και να αποκρυπτογραφεί μηνύματα. Εφόσον η επικοινωνία πρέπει να παραμείνει μυστική, πρέπει να κρατείται μυστικό το κλειδί. Η κρυπτογράφηση και αποκρυπτογράφηση με συμμετρικό αλγόριθμο, συμβολίζεται ως εξής : E k (M) = C D k (C) = M Οι συμμετρικοί αλγόριθμοι μπορούν να χωριστούν σε δύο κατηγορίες. Κάποιοι ενεργούν στο plaintext κατά 1 bit (ή 1 byte) κάθε φορά και ονομάζονται stream algorithms ή stream ciphers. Άλλοι ενεργούν στο plaintext κατά ομάδες bit κάθε φορά, οι οποίες ονομάζονται blocks. Αυτοί είναι οι block algorithms ή block ciphers. Στους σύγχρονους υπολογιστικούς αλγορίθμους ένα τυπικό μέγεθος block είναι 64 bits, το οποίο είναι αρκετά μεγάλο για να παρεμποδίζει πιθανή ανάλυση από υποκλοπείς, αλλά και αρκετά μικρό για να είναι εύχρηστο Αλγόριθμοι Δημοσίου Κλειδιού Οι αλγόριθμοι δημοσίου κλειδιού (public-key algorithms) -ονομάζονται και ασύμμετροι- [1] σχεδιάζονται έτσι ώστε το κλειδί που χρησιμοποιείται για κρυπτογράφηση να είναι διαφορετικό από το κλειδί της αποκρυπτογράφησης. Επιπρόσθετα, το κλειδί αποκρυπτογράφησης δεν μπορεί τουλάχιστον σε εύλογο χρονικό διάστημα- να υπολογισθεί από το κλειδί κρυπτογράφησης. Ονομάζονται δε «δημοσίου κλειδιού», γιατί το κλειδί κρυπτογράφησης δεν παραμένει μυστικό, αλλά δημοσιοποιείται. Οποιοσδήποτε δηλαδή μπορεί να κρυπτογραφήσει ένα μήνυμα, αλλά μόνο ο συγκεκριμένος κάτοχος του αντίστοιχου κλειδιού αποκρυπτογράφησης μπορεί να αποκρυπτογραφήσει το μήνυμα. Σ αυτά τα συστήματα το κλειδί κρυπτογράφησης ονομάζεται συνήθως δημόσιο κλειδί (public key) και το κλειδί αποκρυπτογράφησης ιδιωτικό κλειδί (private key). Η κρυπτογράφηση χρησιμοποιώντας το δημόσιο κλειδί και η αποκρυπτογράφηση με το αντίστοιχο ιδιωτικό κλειδί (το οποίο είναι διαφορετικό) συμβολίζεται ως εξής : E k (M) = C 15

16 D k (C) = M Κάποιες φορές μηνύματα κρυπτογραφούνται με το ιδιωτικό κλειδί και αποκρυπτογραφούνται με το δημόσιο κλειδί. Αυτό χρησιμοποιείται στις ψηφιακές υπογραφές (digital signatures) [1], [2] Κρυπτανάλυση Ο κύριος στόχος της κρυπτογραφίας είναι να μείνει μυστικό το plaintext (ή το κλειδί ή και τα δύο) από τους υποκλοπείς. Οι υποκλοπείς υποτίθεται ότι έχουν πλήρη πρόσβαση στην επικοινωνία μεταξύ αποστολέα και παραλήπτη. Κρυπτανάλυση είναι η επιστήμη της ανάκτησης του plaintext ενός μηνύματος, χωρίς να υπάρχει πρόσβαση στο κλειδί. Μια επιτυχημένη κρυπτανάλυση μπορεί να ανακτήσει το plaintext ή το κλειδί. Μπορεί επίσης να ανακαλύψει πιθανές αδυναμίες ενός κρυπτοσυστήματος που πιθανόν να οδηγήσουν στα προηγούμενα αποτελέσματα [1]. Μία επιχειρούμενη κρυπτανάλυση ονομάζεται επίθεση (attack). Υπάρχουν τέσσερις διαφορετικοί τύποι κρυπταναλυτικής επίθεσης. Σε καθέναν από αυτούς υποτίθεται ότι ο κρυπταναλυτής / υποκλοπέας έχει πλήρη γνώση του αλγορίθμου κρυπτογραφίας που χρησιμοποιείται. 1. Επίθεση μόνο στο ciphertext ( Ciphertext -only attack). Ο υποκλοπέας έχει το ciphertext πολλών διαφορετικών μηνυμάτων, τα οποία έχουν κρυπτογραφηθεί με τον ίδιο αλγόριθμο. Στόχος του είναι να ανακτήσει τα plaintext όσο δυνατόν περισσότερων μηνυμάτων, ή ακόμα καλύτερα να εξάγει το κλειδί (ή τα κλειδιά) που χρησιμοποιείται στην κρυπτογράφηση των μηνυμάτων, έτσι ώστε να αποκρυπτογραφεί άλλα μηνύματα με τα ίδια κλειδιά. Γνωστά : C 1 = E k (P 1 ), C 2 = E k (P 2 ), C i = E k (P i ) Εξαγόμενα : είτε P 1, P 2,... P i, k, είτε ένας αλγόριθμος που να συνάγει το P i+1 από το C i+1 = E k (P i+1 ) 2. Επίθεση σε γνωστό plaintext (Known-plaintext attack). Ο υποκλοπέας έχει πρόσβαση όχι μόνο στο ciphertext διαφόρων μηνυμάτων, αλλά και στο plaintext αυτών των μηνυμάτων. Στόχος του είναι να εξάγει το κλειδί (ή τα κλειδιά) που χρησιμοποιείται στην κρυπτογράφηση των μηνυμάτων ή έναν αλγόριθμο για να αποκρυπτογραφήσει νέα μηνύματα που κρυπτογραφούνται με το ίδιο κλειδί. Γνωστά : P 1,C 1 = E k (P 1 ), P 2, C 2 = E k (P 2 ), P i,c i = E k (P i ) Εξαγόμενα : είτε το k, είτε ένας αλγόριθμος που να συνάγει το P i+1 από το C i+1 = E k (P i+1 ) 16

17 3. Επίθεση σε επιλεγόμενο plaintext (Chosen-plaintext attack). Ο υποκλοπέας όχι μόνο έχει πρόσβαση στο ciphertext και στο αντίστοιχο plaintext για διάφορα μηνύματα, αλλά και επιλέγει το plaintext που κρυπτογραφείται. Αυτό είναι πολύ πιο ισχυρό σε σχέση με μια επίθεση σε γνωστό plaintext, γιατί ο υποκλοπέας έχει τη δυνατότητα να επιλέξει να κρυπτογραφήσει συγκεκριμένα plaintext blocks, τα οποία μπορεί να αποδίδουν περισσότερες πληροφορίες σχετικά με το κλειδί. Στόχος του είναι να εξάγει το κλειδί (ή τα κλειδιά) που χρησιμοποιείται στην κρυπτογράφηση των μηνυμάτων ή έναν αλγόριθμο για να αποκρυπτογραφήσει νέα μηνύματα που κρυπτογραφούνται με το ίδιο κλειδί. Γνωστά : P 1,C 1 = E k (P 1 ), P 2, C 2 = E k (P 2 ), P i,c i = E k (P i ) όπου ο υποκλοπέας μπορεί να επιλέξει P 1, P 2, P i Εξαγόμενα : είτε το k, είτε ένας αλγόριθμος που να συνάγει το P i+1 από το C i+1 = E k (P i+1 ) 4. Προσαρμόσιμη επίθεση σε επιλεγόμενο plaintext (Adaptive-chosen-plaintext attack). Είναι μια ειδική περίπτωση επίθεσης σε επιλεγόμενο plaintext. Ο υποκλοπέας όχι μόνο επιλέγει το plaintext που κρυπτογραφείται, αλλά μπορεί και να τροποποιήσει την επιλογή του βασιζόμενος σε αποτελέσματα προηγούμενης κρυπτογράφησης. Σε μια επίθεση σε επιλεγόμενο plaintext, ο υποκλοπέας μπορεί απλά να έχει τη δυνατότητα να επιλέξει ένα μεγάλο block του plaintext που πρόκειται να κρυπτογραφηθεί. Ενώ σε μια προσαρμόσιμη επίθεση σε επιλεγόμενο plaintext μπορεί να επιλέξει ένα μικρότερο block του plaintext και στη συνέχεια κάποιο άλλο block βασιζόμενος στα αποτελέσματα του πρώτου κοκ. Υπάρχουν τουλάχιστον τρεις ακόμη τύποι κρυπταναλυτικής επίθεσης : 5. Επίθεση επιλεγόμενου ciphertext (Chosen-ciphertext attack). O υποκλοπέας μπορεί να επιλέξει διαφορετικά ciphertexts που πρόκειται να αποκρυπτογραφηθούν κι έχει πρόσβαση στo αποκρυπτογραφημένο plaintext. Στόχος του είναι να εξάγει το κλειδί. Γνωστά : C 1, P 1 = D k (C 1 ), C 2, P 2 = D k (C 2 ), C i, P i = D k (C i ) Εξαγόμενο : k Η επίθεση αυτή είναι κυρίως εφαρμόσιμη σε αλγορίθμους δημοσίου κλειδιού. 6. Επίθεση επιλεγόμενου κλειδιού (Chosen-key attack). Η επίθεση αυτή δεν σημαίνει ότι μπορεί ο υποκλοπέας να επιλέξει κλειδί. Σημαίνει ότι γνωρίζει κάπως τη σχέση που υπάρχει μεταξύ διαφορετικών κλειδιών. 7. Rubber-hose cryptanalysis. Ο υποκλοπέας απειλεί, εκβιάζει ή βασανίζει κάποιον, μέχρις ότου αποσπάσει το κλειδί. Συχνά, η δωροδοκία αναφέρεται σαν επίθεση αγοράς κλειδιού (purchase-key 17

18 attack). Όλες αυτές είναι πολύ ισχυρές επιθέσεις και συνήθως είναι ο καλύτερος τρόπος «σπασίματος» ενός αλγορίθμου Ασφάλεια των Αλγορίθμων Διαφορετικοί αλγόριθμοι προσφέρουν και διαφορετικά επίπεδα ασφάλειας, ανάλογα βέβαια με το πόσο δύσκολα αυτοί «σπάνε». Εάν το κόστος που απαιτείται για να «σπάσει» ένας αλγόριθμος είναι μεγαλύτερο από την αξία των κρυπτογραφημένων δεδομένων, ή εάν ο απαιτούμενος χρόνος είναι μεγαλύτερος από το χρονικό διάστημα που τα κρυπτογραφημένα δεδομένα πρέπει να παραμείνουν μυστικά, τότε ο αλγόριθμος είναι πιθανότατα ασφαλής. Είναι σημαντικό το ότι η αξία των δεδομένων θα πρέπει πάντοτε να παραμένει μικρότερη από το κόστος «σπασίματος» της ασφάλειας που τα προστατεύει. Οι διάφορες κατηγορίες «σπασίματος» ενός αλγορίθμου σε φθίνουσα σειρά όσον αφορά τη δριμύτητά τουςείναι: 1. Ολοκληρωτικό «σπάσιμο» του αλγορίθμου (Τotal break). Ο υποκλοπέας βρίσκει το κλειδί Κ και μπορεί να αποκρυπτογραφήσει το μήνυμα, D k (C) = P. 2. Γενική ανίχνευση (Global detuction). Ο υποκλοπέας βρίσκει έναν εναλλακτικό αλγόριθμο Α, ισοδύναμο με τον D k (C), χωρίς να γνωρίζει το Κ. Οπότε μπορεί να αποκρυπτογραφήσει το μήνυμα χωρίς να έχει το κλειδί. 3. Τοπική ανίχνευση (Local detuction). Ο υποκλοπέας βρίσκει το plaintext ενός «παρεμποδιζόμενου» ciphertext. 4. Ανίχνευση πληροφορίας (Information deduction). Ο υποκλοπέας αποσπά κάποια πληροφορία σχετικά με το κλειδί ή το plaintext, όπως για παράδειγμα μερικά bits του κλειδιού ή κάποια πληροφορία σχετικά με τη δομή του plaintext. Ένας αλγόριθμος είναι απόλυτα ασφαλής αν δεν υπάρχει αρκετή πληροφορία για να ανακτηθεί το plaintext, ανεξαρτήτως του πόσο τμήμα του ciphertext έχει ο υποκλοπέας. Μόνο ένα one-time pad είναι αδύνατο να «σπάσει», παρ ότι ο υποκλοπέας μπορεί να έχει απεριόριστα μέσα. Όλα τα άλλα κρυπτοσυστήματα μπορούν να «σπάσουν» με μια επίθεση ciphertext-only, πολύ απλά δοκιμάζοντας όλα τα πιθανά κλειδιά ένα προς ένα και ελέγχοντας τo plaintext που προκύπτει.(bruteforce attack). Η κρυπτογραφία αφορά συστήματα που υπολογιστικώς είναι αδύνατο να «σπάσουν». 18

19 Ένας αλγόριθμος θεωρείται υπολογιστικώς ασφαλής εφόσον είναι ανέφικτο να «σπάσει» με τα διαθέσιμα μέσα (είτε τα ήδη υπάρχοντα, είτε τα μελλοντικά).η πολυπλοκότητα μιας επίθεσης μετράται με διάφορους τρόπους : 1. Πολυπλοκότητα δεδομένων (Data complexity). Το ποσό των δεδομένων που απαιτείται σαν είσοδος κατά την επίθεση 2. Πολυπλοκότητα διαδικασίας (Processing complexity). Ο χρόνος που απαιτείται για την εκτέλεση μιας επίθεσης. 3. Απαιτήσεις μνήμης (Storage requirements). Το ποσό μνήμης που απαιτείται για την επίθεση. Σύμφωνα με μία εμπειρική μέθοδο σαν πολυπλοκότητα μιας επίθεσης θεωρείται ο μικρότερος από τους τρεις παραπάνω παράγοντες. Αν ένας αλγόριθμος έχει πολυπλοκότητα διαδικασίας 2 128, τότε απαιτούνται πράξεις (οι οποίες μπορεί να είναι και ιδιαίτερα χρονοβόρες) για να «σπάσουμε» τον αλγόριθμο. Αν υποθέσουμε ότι έχουμε αρκετή υπολογιστική ταχύτητα ώστε να εκτελούμε ένα εκατομμύριο πράξεις το δευτερόλεπτο, και αν συνδέσουμε παράλληλα ένα εκατομμύριο επεξεργαστές, τότε θα χρειαστούμε χρόνια για να αποκαλυφθεί το κλειδί, δηλαδή ένα δισεκατομμύριο φορές την ηλικία του σύμπαντος! Γνωστοί Αλγόριθμοι Κρυπτογραφίας Μερικοί από τους πιο γνωστούς αλγόριθμους κρυπτογραφίας είναι οι εξής [1]: - DES (Data Encryption Standard): Είναι ο πιο δημοφιλής συμμετρικός αλγόριθμος, ο οποίος και αποτελεί παγκόσμιο πρότυπο. Χρησιμοποιεί το ίδιο κλειδί τόσο για την κρυπτογράφηση, όσο και για την αποκρυπτογράφηση [3]. - RSA : Πήρε το όνομά του από τους εφευρέτες του (Rivest-Shamir-Adleman). Είναι ο πιο δημοφιλής αλγόριθμος δημόσιου κλειδιού. Χρησιμοποιείται τόσο για κρυπτογράφηση δεδομένων, όσο και για ψηφιακές υπογραφές [4]. - DSA (Digital Signature Algorithm): Είναι αλγόριθμος δημοσίου κλειδιού, ο οποίος χρησιμοποιείται μόνο για ψηφιακές υπογραφές και όχι για κρυπτογράφηση δεδομένων [5]. 19

20 Κεφάλαιο 2 Συναρτήσεις Κατακερματισμού Συνάρτηση SHA-1 (Θεωρία και Αρχιτεκτονική) Μια από τις κυριότερες hash συναρτήσεις που χρησιμοποιούνται σε MAC μηχανισμούς, όπως θα αναλυθεί σε επόμενο κεφάλαιο, είναι η SHA-1 [6]. Θεωρητικά αυτή χρησιμοποιείται έτσι ώστε να υπολογίσει στην έξοδο της μια συνεπτυγμένη αναπαράσταση του εκάστοτε μηνύματος εισόδου ή ενός αρχείου δεδομένων και προφανώς χαρακτηρίζεται από τα γενικά χαρακτηριστικά που έχουν οι hashing συναρτήσεις όπως η μονοδρομικότητα (one-wayness) και η «μη-σύγκρουση» (collision-free) ιδιότητα. Η συνεπτυγμένη αναπαράσταση στην έξοδο της έχει καθορισμένο και σταθερό μήκος για κάθε αλγόριθμο και μεταξύ άλλων αυτή η hash τιμή στην έξοδο τους λέγεται επίσης και τιμή εξόδου [6]. 2.1 Εισαγωγή στον SHA-1 Ο Secure Hash Algorithm (SHA) αναπτύχθηκε από την NIST και παράγει στην έξοδό μια 160-bit τιμή εξόδου. Αυτή η τιμή εξόδου είναι είσοδος στο DSA το οποίο παράγει την υπογραφή για το μήνυμα. Προφανώς είναι προτιμότερο να «υπογράφεται» η hash τιμή εξόδου παρά ολόκληρο το μήνυμα αφού αυτό είναι συνήθως κατά πολύ μικρότερο από το μήνυμα [6]. Την ίδια διαδικασία ακολουθεί και αυτός που θέλει να επιβεβαιώσει την «υπογραφή» έτσι ώστε να ελέγξει την υπογραφή του αποστολέα. Ο SHA-1 λέγεται ασφαλής (secure-πρώτη λέξη του ακρωνύμιου SHA) γιατί υπολογιστικά είναι ανέφικτο να βρούμε το αρχικό μήνυμα με βάση τη hash τιμή εξόδου ή έστω δύο μηνύματα τα οποία να έχουν την ίδια τιμή εξόδου σύμφωνα με τις γενικές αρχές των hashing συναρτήσεων. Έτσι η παραμικρή αλλαγή στο αποστελλόμενο μήνυμα θα οδηγήσει σε διαφορετική τιμή εξόδου την οποία θα διαπιστώσει ο παραλήπτης σε σχέση με αυτή που έλαβε και έτσι δεν θα είναι επιτυχής η επιβεβαίωση της «υπογραφής». 2.2 Περιγραφή SHA-1 αλγορίθμου Αρχικά, το μήνυμα εισόδου μορφοποιείται κατάλληλα (padding) έτσι ώστε το μήκος του σε bits να είναι ακριβώς κατά 64 bit λιγότερο από ένα ακριβές πολλαπλάσιο του 512. Το padding αποτελείται από την προσθήκη ενός 1 bit στο 20

21 τέλος του μηνύματος εισόδου ακολουθούμενο από όσα 0 bit απαιτούνται, προκειμένου το μήκος του μηνύματος να είναι κατά 64 bit λιγότερο από ένα ακριβές πολλαπλάσιο του 512. Μία 64-bit αναπαράσταση του μήκους του μηνύματος προστίθεται μετά από τα padding bits τα οποία αναφέραμε. Στην περίπτωση που το μήνυμα εισόδου είναι μεγαλύτερο από 264 τότε στην θέση των 64 bit βάζουμε τα 64 λιγότερο σημαντικά bits του μεγέθους το μηνύματος εισόδου. Έτσι το μήνυμα προς επεξεργασία αποτελείται από το μήνυμα εισόδου ακολουθούμενο από ένα άσσο, κάποιο αριθμό από μηδενικά και τέλος την 64-bit δυαδική αναπαράσταση του μήκους του μηνύματος εισόδου [6]. Η παραπάνω διαδικασία έχει σαν στόχο να κάνει το μήκος του μηνύματος ένα ακριβές πολλαπλάσιο των 512 bits (που απαιτείται για τη λειτουργία του αλγόριθμου), ενώ παράλληλα εξασφαλίζει ότι διαφορετικά σε μέγεθος μηνύματα δεν θα είναι ίδια μετά το padding. Αμέσως μετά αρχικοποιούνται οι πέντε 32-bit μεταβλητές με τις τιμές οι οποίες φαίνονται πιο κάτω : A = 0x B = 0xefcdab89 C = 0x98badcfe D = 0x E = 0xc3d2e1f0 Τότε λοιπόν αρχίζει η κύρια επανάληψη του αλγορίθμου. Ο αλγόριθμος ανά επανάληψη επεξεργάζεται 512-bit και οι επαναλήψεις επεξεργασίας συνεχίζονται για όσα 512-bit blocks υπάρχουν τελικά στο μήνυμα εισόδου. Αρχικά οι πέντε αυτές τιμές- μεταβλητές αντιγράφονται σε διαφορετικές μεταβλητές. Συγκεκριμένα, η μεταβλητή a παίρνει το περιεχόμενο της μεταβλητής A, η b παίρνει της B, η c παίρνει της C, και η d παίρνει της D και η e παίρνει το E. Το κύριο loop που επεξεργάζεται 512-bit ανά επανάληψη αποτελείται από 4 επεξεργαστικούς γύροuς (rounds) των 20 λογικών πράξεων (operations) ο καθένας άρα συνολικά κάθε 512-bit block επεξεργάζεται από 80 λογικές πράξειs. Κάθε λογική πράξη είναι βασικά η εφαρμογή μίας μη-γραμμικής συνάρτηση σε τρεις από τις a, b, c, d και e μεταβλητές ενώ μετά ακολουθούν μια ολίσθηση (shifting). O SHA-1 διαθέτει τις εξής μη γραμμικές πράξεις [6]: ft( X, Y, Z ) = ( X Y ) ( ( X) Z ), για t=0 έως t= 19 ft ( X, Y, Z ) = X Y Z, για t=20 εώς t= 39 ft ( X, Y, Z ) = ( X Y ) (X Z) (Y Z), για t=40 εώς t= 59 ft ( X, Y, Z ) = X Y Z, για t=60 εώς t= 79 Στον SHA-1 αλγόριθμο χρησιμοποιούνται οι εξής τέσσερις σταθερές [6]: 21

22 Kt = 0x5a827999, για t=0 έως t= 19 Kt = 0x6ed9eba1, για t=20 εώς t= 39 Kt = 0x8f1bbcdc, για t=40 εώς t= 59 Kt = 0xca62c1d6, για t=60 έως t= 79 Επίσης το εκάστοτε «ενεργό» 512-bit block το οποίο είναι υπό επεξεργασία ανά επανάληψη του αλγορίθμου μετασχηματίζεται από bit words (που είναι σαν είσοδος σε κάθε επανάληψη του αλγορίθμου δηλαδή M0 έως M15) σε bit words (W0 έως W80) τα οποία προκύπτουν σύμφωνα με τον πιο κάτω τρόπο [6]: W t = M t, για t=0 έως t= 15 W t = ( W t-3 W t-8 W t-14 W t-16 )<<<<1, για t=16 έως t= 79 Εάν t είναι ο αύξων αριθμός της λογικής πράξης που εκτελείται (άρα με τιμές από 0 έως 79) τότε με Wt συμβολίζεται το t-οστό 32-bit block του επεκταθέντος μηνύματος (επεκταθέν σε bit words με τον τρόπο πού είδαμε πιο πριν) και με <<<s συμβολίζεται η αριστερή ολίσθηση κατά s bits. Διευκρινίζεται δε ότι η επέκταση του μηνύματος από 16 32bit ποσότητες σε 80 32bit ποσότητες γίνεται με λογικές πύλες xor και κυκλικές ολισθήσεις. Παρατηρείται ότι για τον υπολογισμό κάποιου τυχαίου Wt απαιτούνται μόνο τα τελευταία 16 υπολογισμένα Wt και όχι ολόκληρη η προηγούμενη ακολουθία με τα Wt. Αυτή η παρατήρηση θα βοηθήσει αργότερα στην ελαχιστοποίηση του χρησιμοποιούμενου υλικού για την αποθήκευση των Wt ποσοτήτων [6]. Η κύρια επανάληψη του SHA αλγορίθμου φαίνεται πιο κάτω [6] : FOR t=0 έως t=79 { TEMP = (a<<<5)+ft (b,c,d)+e+wt +Kt e = d d = c c = b<<<30 b = a a = TEMP } Μόλις τελειώσει η επεξεργασία του τρέχοντος 512-bit block μετά από τις 80 λογικές πράξειs που απαιτούνται τότε οι τιμές των a,b,c,d,e που έχουν προκύψει σε αυτή την επανάληψη προστίθενται στα Α, Β,C,D,E και έτσι προκύπτει η νέα τιμή στα Α, Β,C,D,E ανά επανάληψη. Όπως γίνεται αντιληπτό σε κάθε τερματισμό μίας επανάληψης οι τιμές στα πιο πάνω μεταβάλλονται [6]. Εφόσον υπάρχει και άλλο 512-bit block το οποίο πρέπει να επεξεργαστεί τότε πάλι οι A, B, C, D, E αντιγράφονται στα a, b, c, d, e αντίστοιχα και ο αλγόριθμος 22

23 συνεχίζεται με την εκκίνηση νέας επανάληψης του αλγορίθμου με βάση τις νέες τιμές για τα A,B,C,D,E (που προέκυψαν από την επεξεργασία του προηγούμενου 512-bit block και αποθηκεύτηκαν σε αυτά), και με το νέο 512-bit block το οποίο τίθεται υπό επεξεργασία στην νέα επανάληψη του αλγορίθμου. Αυτή η διαδικασία των επαναληπτικών υπολογισμών και αλλαγών τιμών στα A,B,C,D,E συνεχίζεται μέχρι να γίνει επεξεργασία σε όλα τα 512-bit blocks τα οποία περιέχονται στο μήνυμα εισόδου (αυτό που προέκυψε μετά το padding) του αλγορίθμου. Όταν γίνει αυτό λοιπόν και έχει γίνει επεξεργασία σε όλα τα 512-bit blocks του μηνύματος εισόδου τότε οι τιμές που αποθηκεύτηκαν κατά την τελευταία λογική πράξη του τελευταίου 512-bit blocks στα A,B,C,D,E (μέσω των a,b,c,d,e στα οποία δρουν οι λογικές πράξειs) είναι οι τιμές που αν προστεθούν στις τιμές αρχικοποίησης των A,B,C,D,E θα προκύψει εη hash τιμή δηλαδή η τιμή εξόδου(message digest) του αρχικού μηνύματος εισόδου η οποία είναι 160-bit έτσι όπως προκύπτει από την συνένωση των πέντε πιο πάνω 32-bit A,B,C,D,E [6]. Παρακάτω φαίνεται η μορφή μίας λογικής πράξης σύμφωνα με αυτά που ειπώθηκαν και περιγράφθηκαν αλγοριθμικά στο πιο πάνω software for-loop όπου η μη-γραμμική συνάρτηση εφαρμόζεται στις b, c, d, η αριστερή ολίσθηση γίνεται στο a και αυτά προστίθενται τελικά στην e. Επιπλέον προστίθεται και το Wt και το Kt κατά την t-οστή λογική πράξη και αυτή η ποσότητα θα αποτελέσει το a για την επόμενη λογική πράξη. Για τις νέες τιμές των υπολοίπων μεταβλητών ισχύουν αυτά που φαίνονται στο διάγραμμα και τα οποία αναφέρθηκαν και πιο πάνω στο software for-loop [6]. Σχήμα 2.1 SHA Λογική πράξη 23

24 2.3 Αρχιτεκτονική SHA-1 core Η υλοποίηση του sha-1 core είναι γενικού σκοπού ώστε να μπορεί εύκολα, άμεσα και χωρίς ιδιαίτερη αλλαγή να χρησιμοποιηθεί όπου απαιτείται η χρήση της sha-1 hash συνάρτησης. Χαρακτηριστικά αναφέρεται η χρήση του sha-1 core ώστε να προκύψει η hash τιμή του αρχικού κειμένου για το οποίο είναι επιθυμητή η εύρεση της ψηφιακής υπογραφής. Έτσι αυτή η hash τιμή θα αποτελεί είσοδο στο HMAC μηχανισμό, που περιγράφεται και υλοποιείται στο επόμενο κεφάλαιο, ούτως ώστε να προκύψει τελικά και η ζητούμενη ψηφιακή υπογραφή. Στο επόμενο κεφάλαιο θα περιγραφεί ο μηχανισμός και θα παρουσιαστεί η αρχιτεκτονική περιγραφή του συστήματος HMAC θεωρώντας δεδομένη την παρεχόμενη λειτουργία από το sha-1 core Διεπαφή του SHA-1 Core Το σύστημα σε επίπεδο εισόδων / εξόδων φαίνεται παρακάτω στο σχήμα 2.2: h0 h1 h2 h3 h4 Clock Reset Enable Start_counter1 Start_round1 Sha1 core Sha1_a Sha1_b Sha1_c Sha1_d Sha1_e Block in 512 bit Hash_ready Σχήμα 2.2 Interface του SHA-1 core Η υλοποίηση του συστήματος είναι σύγχρονη. Η είσοδος clock είναι το ρολόι του συστήματος. Όλες οι πράξεις και γενικότερα όλες οι λειτουργίες του αλγόριθμου εκτελούνται στην ανερχόμενη παρυφή του ρολογιού του συστήματος. Η ασύγχρονη είσοδος reset θέτει το σύστημα στην αρχική κατάσταση λειτουργίας και προετοιμάζει 24

25 το σύστημα για νέα εκτέλεση και αυτό θεωρείται ότι συμβαίνει όταν η είσοδος reset πάρει την τιμή 1 (reset ενεργοποιημένο). Η είσοδος enable είναι η είσοδος γενικής επίτρεψης του sha-1 core το οποίο λειτουργεί μόνο εφόσον είναι ενεργοποιημένη η είσοδος γενικής επίτρεψης enable, δηλαδή είναι enable= 1. Το block εισόδου για το sha-1 core έχει μέγεθος 512 bit και παρέχεται στο sha-1 core στην 512 bit είσοδο block in που φαίνεται πιο πάνω.to block εισόδου μπορεί να είναι κάποιο από τα block ενός μηνύματος εισόδου το οποίο έχει πολλά block ή να είναι το μοναδικό block του μηνύματος εισόδου. Στην δεύτερη περίπτωση το μήνυμα εισόδου έχει εύρος το πολύ μέχρι 446 bits ώστε τελικά μετά την διαδικασία του padding που αυτό θα υποστεί από την αντίστοιχη μονάδα να μορφοποιηθεί σε συνολικό μέγεθος 512 bit σύμφωνα με αυτά που ορίζει η θεωρητική παρουσίαση που έγινε για το sha-1. Όποια και αν είναι η περίπτωση κάθε φορά παρέχεται στις εισόδους h0, h1, h2, h3, h4 που υπάρχουν στο sha-1 core οι κατάλληλες τιμές αρχικοποίησης για να αρχίσει να εκτελείται ο αλγόριθμος. Οι είσοδοι h0, h1, h2, h3, h4 έχουν 32 bit εύρος και είναι οι αρχικές τιμές που προβλέπει η θεωρητική περιγραφή του sha-1 αλγορίθμου ώστε να γίνει η επεξεργασία κάποιου block ενός μηνύματος εισόδου. Για το πρώτο block του μηνύματος εισόδου οι τιμές για τα h0, h1, h2, h3, h4 είναι προ-επιλεγμένες για τον sha-1 αλγόριθμο ενώ για όλα τα επόμενα block του μηνύματος εισόδου οι τιμές για τα h0, h1, h2, h3, h4 προκύπτουν στο τέλος της επεξεργασίας του αμέσως προηγούμενου block, δηλαδή η θεωρούμενη σαν hash τιμή εάν το αμέσως προηγούμενο block ήταν το τελευταίο του μηνύματος εισόδου. Η πιο πάνω υλοποίηση του sha-1 core χαρακτηρίζεται ως γενικής χρήσης επιτρέποντας επεξεργασία μηνυμάτων εισόδου τα οποία μπορούν να αποτελούνται από ένα ή περισσότερα block. Στην περίπτωση που έχουμε σαν είσοδο ένα 512 block οι τιμές για τα h0, h1, h2, h3, h4 μπορούν να θεωρηθούν σταθερές, να υλοποιηθούν εντός του sha-1 core και να μην αποτελούν εισόδους στο σύστημα. Από την άλλη, στην περίπτωση μηνυμάτων εισόδου τα οποία αποτελούνται από περισσότερα block το μαθηματικό μοντέλο του sha-1 προβλέπει ότι σε τέτοιες περιπτώσεις η θεωρούμενη σαν hash τιμή του αμέσως προηγούμενου block τροφοδοτείται στα h0, h1, h2, h3, h4 για να τεθεί προς επεξεργασία το αμέσως επόμενο block στο sha-1 core κ.ο.κ μέχρι να ολοκληρωθεί η επεξεργασία και στο τελευταίο block. Στο τέλος της επεξεργασίας προκύπτει η ζητούμενη hash τιμή ολόκληρου του μηνύματος εισόδου η οποία αναζητείτε. Η 512bit είσοδος block in παρέχεται από κάποια μονάδα padder η οποία κάνει τη μορφοποίηση και παρέχει τα δεδομένα αυτά στο sha-1 core. Πρέπει υποχρεωτικά να μένει σταθερό στην είσοδο block in για τους επόμενους 20 παλμούς ρολογιού από την στιγμή που αρχίζει η επεξεργασία στο sha-1 core έτσι ώστε να γίνουν σωστά οι σχετικοί υπολογισμοί. 25

26 2.3.2 Κελί SHA-1 Το sha-1 core που υλοποιήθηκε ουσιαστικά αποτελείται από τέσσερα στάδια, ένα για κάθε γύρο, και έτσι μπορεί να θεωρηθεί ότι αποτελείται από τέσσερα παρόμοια ως προς την λειτουργία κελιά. Τα κελιά του δεύτερου και τρίτου γύρου είναι εντελώς παρόμοια και ίδια με αυτό που εμφανίζεται πιο κάτω στο σχήμα 2.3 που περιέχει και κάποια σχόλια ώστε να καταστήσει ευκολότερη την κατανόηση της λειτουργικότητας κάθε τέτοιου κελιού. Το τέταρτο κελί στο μόνο πράγμα στο οποίο διαφοροποιείται σε σχέση με το εικονιζόμενο κελί είναι ότι στο τέλος έχει επιπλέον και πέντε 32 bit αθροιστές (adders) ώστε στην τιμή που προέκυψε από την επεξεργασία να προσθέσει τα αντίστοιχα h0, h1, h2, h3, h4 που χρησιμοποιήθηκαν αρχικά και τελικά να προκύψει η hash τιμή του μηνύματος εισόδου. Όλα αυτά σύμφωνα με αυτά που καθορίζονται από το μαθηματικό μοντέλο του sha-1 αλγορίθμου ώστε από το αποτέλεσμα της τελευταίας πράξης να προκύψει τελικά η ζητούμενη hash τιμή. Το sha-1 κελί, το οποίο φαίνεται στο σχήμα 2.3 στην επόμενη σελίδα, αποτελείται από κάποια δομικά στοιχεία (components) τα οποία συνεργάζονται μεταξύ τους έτσι ώστε να υλοποιήσουν την λειτουργία του sha-1 κελιού. Αυτά τα δομικά στοιχεία αναφέρονται αμέσως παρακάτω Πολυπλέκτες Σε κάθε sha-1 κελί χρησιμοποιούνται δύο πολυπλέκτες. Ο πρώτος πολυπλέκτης (o mux 10to5) είναι αυτός που τροφοδοτεί το component «round i» είτε με νέα είσοδο που έρχεται από την έξοδο προηγούμενου sha-1 κελιού, είτε με ανάδραση από την έξοδο του. Έχει σαν εισόδους δύο σετ των πέντε 32bit σημάτων και σαν έξοδο παρέχει ένα από αυτά τα δύο σετ δηλαδή πέντε 32bit σήματα τα οποία τροφοδοτούν τον επεξεργαστικό γύρο «round i» που ανήκει στο εν λόγω sha-1 κελί. Ο άλλος πολυπλέκτης (o mux_20to1) που υπάρχει στο sha-1 κελί έχει σαν εισόδους είκοσι 32bit σήματα τα οποία είναι οι ποσότητες wi για το συγκεκριμένο γύρο. Έχει μία έξοδο η οποία τροφοδοτεί το γύρο του συγκεκριμένου sha-1 κελιού με το κατάλληλο κάθε φορά wi ανάλογα με το σε ποια πράξη του συγκεκριμένου γύρου βρισκόμαστε Μονάδα Ελέγχου (Απαριθμητής) Το κύκλωμα περιλαμβάνει και τον απαριθμητή (counter) «counter20 i» ο οποίος ενεργοποιείται από την έξοδο ενός Τ flip-flop. Όπως παρατηρείται και από το σχήμα 2.3 του sha-1 κελιού, η είσοδος του Τ flip-flop προκύπτει από την έξοδο μιας λογικής πύλης XOR η οποία τροφοδοτείται στην είσοδό της με το σήμα tcwicounters το οποίο έρχεται από τον απαριθμητή (counter20 i) που υπάρχει στο προηγούμενο sha-1 κελί (ή με το σήμα start_counter1 εφόσον μιλάμε για το πρώτο sha-1 κελί) και το σήμα tcwicounters από τον μετρητή όμως του συγκεκριμένου sha-1 κελιού. 26

27 Επεξεργαστικός Γύρος (Round) Βασικό κύτταρο του sha-1 κελιού είναι η υλοποίηση κάθε γύρου, ο οποίος έχει σαν εισόδους πέντε κύρια 32bit σήματα a, b, c, d, e και ένα επιπλέον 32bit σήμα που είναι το wi με το οποίο πρέπει να τροφοδοτείται ο επεξεργαστικός γύρος, ανάλογα με το ποια πράξη του επεξεργαστικού γύρου εκτελείται κάθε χρονική στιγμή. Η υλοποίηση του κάθε γύρου (round) είναι πρακτικά η περιγραφή σε υλικό των πράξεων που παρουσιάστηκαν σχηματικά στην θεωρητική ανάλυση του sha-1 αλγορίθμου και πιο κάτω στο σχήμα 2.4 στην επόμενη σελίδα ακολουθεί η σχηματική περιγραφή αυτού του component. Τα πέντε 32bit σήματα εξόδου a, b, c, d, e μπορούν να τροφοδοτήσουν τον πολυπλέκτη του τρέχοντος sha-1 κελιού ή τον πολυπλέκτη του επόμενου sha-1 κελιού σύμφωνα με όλα αυτά τα οποία έχουν ήδη αναφερθεί. 27

28 Σήμα tcwicounters ή start_counter1 στην περίπτωση του πρώτου round.aυτό το σήμα πρέπει να έρθει εναν παλμό ρολογιού πρίν έρθει το start_round ώστε να αρχίσει το μέτρημα ο count20-έχει καθυστέρηση ένα clock λόγω του t ff που κλειδώνει το σήμα που εκκινεί την μέτρηση για το τρέχον round.επίσης και η μονάδα που δίνει τα wi πρέπει να πάρει σήμα ενα clock πιο πρίν ώστε τα ff να βγάλουν στην έξοδο τους τα 20 wi ακριβώς την στιγμή που εκκινεί ο round ΣΗΜΕΙΩΣΗ Στην περίπτωση του πρώτου round τα 16 πρώτα wi προκύπτουν άμεσα απο το 512bit block εισόδου το οποίο υποχρεωτικά πρέπει να είναι σταθερό στην είσοδο του sha1 core.tα υπόλοιπα 4 wi προκύπτουν όπως και τα υπόλοιπα στα επόμενα round με πύλες xor και κυκλικό rotate κατά μια θέση. Σήμα tcrounds ή start_round1 στην περίπτωση του πρώτου round και αυτό χρησιμεύει στο allrounds component ώστε ακριβώς στην αρχή του round o mux να παράσχει σαν είσοδο στο τρέχον round την έξοδο του προηγούμενου round και όχι ανάδραση απο την έξοδο του.αμέσως μετά το σήμα αυτό είναι 0 και έτσι παρέχεται στο τρέχον round σαν είσοδος η ανάδραση απο την άξοδο του για όλα τα υπόλοιπα operation που αυτός εχει. Είσοδοι 5*32bits απο την έξοδο του προηγούμενου round ή τα h0~h4 στην περίπτωση του πρώτου round MUX 10to5 ROUND ι Ο ΟΠΟΙΟς ΕΠΙΤΕΛΕΙ ΤΗΝ ΚΑΘΟΡΙΣΜΕΝΗ ΛΕΙΤΟΥΡΓΕΙΑ Είσοδος στον mux του επόμενου round ώστε όταν τελειώσουν τα 20 operation αυτού του round να συνεχιστεί η επεξεργασία στο επόμενο round Ο counter αρχίζει να μετρά όταν πρέπει και αφού μετρήσει τις 20 καταστάσεις σταματά πάλι στην τιμή 0 λόγω της δομής με το t ff και την πύλη or XOR T_FF COUNTER20 i Τιμή counter που αυξάνει ανά clk και έτσι κάθε φορά παρέχεται στο round το επόμενο -αντίστοιχο με το operation- wi MUX_20το1 ΜΕ ΣΗΜΑ ΕΠΙΛΟΓΗΣ ΑΠΟ ΤΟΝ COUNTER ΤΟΥ ΤΡΕΧΟΝΤΟΣ ROUND Terninal count σήμα για την μονάδα που δίνει τα wi του επόμενου round καθώς και σήμα για το t ff του count20 του επόμενου σταδίου έτσι ώστε να υπάρξει συγχρονισμός tcwicounters tcrounds Σήμα το οποίο γίνεται ισο με 1 έναν παλμό ρολογιού αργότερα απο οτι το tcwicounters και συγχρονίζει τον mux του επόμενου round ώστε αυτός ακριβώς την στιγμή που πρέπει να δώσει σαν είσοδο στο επόμενο round την έξοδο αυτού του round και όχι ανάδραση απο την έξοδο του.στην περίπτωση του 4ου round αυτό είναι το σήμα hash_ready το οποίο ειδοποιεί οτι το message digest είναι έτοιμο(ταυτόχρονα) XOR TREE ΥΠΟΛΟΓΙΣΜΟΥ ΤΩΝ WI ΤΟΥ ΕΠΟΜΕΝΟΥ ROUND FLIP FLOP ΟΠΟΥ ΑΠΟΘΗΚΕΥΟΝΤΑΙ ΤΑ 20 Wi ΤΟΥ ΤΡΕΧΟΝΤΟΣ ROUND Enable=σήμα tcwicounters της προηγούμενης βαθμίδας ώστε αυτό ακριβώς την στιγμή που θα γίνεται ο πρώτος υπολογισμός αυτού του round να έχει στις εξόδους του όλες τις έγκυρες τιμές για τα wi του τρέχοντος round.εέν αυτό είναι το πρώτο round τότε τα wi προκύπτουν αμέσως με πύλες xor απο την είσοδο του sha1 core όπου το block εισόδου πρέπει να μένει σταθερό για όλο το πρώτο round en ΣΗΜΕΙΩΣΗ Ο counter και η μονάδα για την παροχή των wi χρειάζονται ενεργοποίηση ένα παλμό ρολογιού πριν απο την ενεργοποίηση του round γιατί πρέπει να αντιμετωπιστεί η καθυστέρηση ενος παλμού ρολογιού που εισάγει το t ff που κλειδώνει το enable σήμα για οσο καιρό διαρκει το counting, και στην μονάδα για τα wi ειναι απαραίτητο γιατί πρέπει να ενεργοποιηθεί ένα παλμό ρολογιού πριν απο τα ff που στις εξόδους του κρατούν τα 20 wi του τρέχοντος round!έτσι στο επόμενο clock που έρχεται ο παλμός για το round,η μονάδα αυτή θα παρέχει το πρώτο wi όπως πρέπει κατά την διάρκεια του πρώτου operation Σχήμα 2.3 SHA-1 Κελί 28

29 Σχήμα 2.4 Επεξεργαστικός γύρος SHA-1 Τα αποτελέσματα των πράξεων κάθε γύρου αποθηκεύονται σε flip flop τα οποία υπάρχουν στην έξοδο κάθε γύρου και εκεί ουσιαστικά παρουσιάζονται οι τελευταίες έγκυρες τιμές για τα σήματα εξόδου a, b, c, d, e. Αυτό είναι απαραίτητο έτσι ώστε όταν γίνει ο υπολογισμός της επόμενης πράξης του επεξεργαστικού γύρου ή της πρώτης πράξης του επόμενου επεξεργαστικού γύρου να υπάρχουν σταθερές οι πέντε ποσότητες a, b, c, d, e που χρησιμεύουν σε αυτές τις επόμενες - πράξεις. Έτσι ικανοποιείται η σχετική απαίτηση που έχουν τα συνδυαστικά κυκλώματα για σταθερή είσοδο ώστε να παρέχουν σωστό αποτέλεσμα το οποίο θα αποθηκευτεί στα flip flop Μονάδα Υπολογισμού Wi Ο αλγόριθμος καθορίζει τον ακριβή τρόπο με τον οποίο προκύπτουν τα 32bit wi που χρησιμοποιούνται σε κάθε πράξη από τις 80 συνολικά που έχουμε και οι οποίες υποδιαιρούνται σε 4 ομάδες των 20 πράξεων και κάθε μία τέτοια ομάδα συγκροτεί ουσιαστικά τον επεξεργαστικό γύρο (round). Αυτός ο τρόπος αναφέρει ότι τα πρώτα 16 wi προκύπτουν από το 512bit block in που είναι είσοδος στο sha-1 core με απλή ανάθεση μετά από διαίρεση ανά 32bit του block in. Όλα τα επόμενα προκύπτουν μετά από μια επαναληπτική διαδικασία κατά την οποία για κάθε ένα wi γίνεται μια xor λογική πράξη σε 4 προηγούμενα υπολογισμένα wi. Το αποτέλεσμα αυτής της xor λογικής πράξης ολισθαίνετε αριστερά κυκλικά κατά μία θέση (circular left rotate) και έτσι προκύπτει το νέο wi. 29

30 2.3.3 Περιγραφή Pipeline Αρχιτεκτονικής SHA-1 Core Σε αυτή την ενότητα θα αναφερθεί η συνολική λειτουργία του SHA-1 core ενώ παρακάτω φαίνεται και σχηματικά η εσωτερική δομή του με την αλληλοσύνδεση των τεσσάρων sha-1 κελιών έτσι όπως έχει ήδη αναφερθεί. Σχήμα 2.5 SHA-1 Core Όλα τα παραπάνω δομικά στοιχεία (components) έχουν ήδη αναλυθεί και είναι γνωστά. Να ξεκαθαριστεί μόνο ότι στο σχήμα 2.5 το component το οποίο αναφέρεται με το συμβολικό όνομα «count_20» είναι η σύνθεση της πύλης XOR, του T flip-flop, και του απαριθμητή 20 καταστάσεων έτσι όπως αυτά τα είδαμε να συνεργάζονται μεταξύ τους στην ανάλυση του sha-1 κελιού χωρίς καμία απολύτως αλλαγή. Αρχικά και έναν παλμό ρολογιού πριν τα 512bit δεδομένα να είναι διαθέσιμα στην είσοδο του core, έρχεται ο παλμός start_counter1. Έτσι στον επόμενο παλμό ρολογιού ενεργοποιείται ο πρώτος απαριθμητής, ο οποίος μετράει από το 0 έως το 19, δηλαδή συνολικά 20 καταστάσεις, όσα είναι και τα wi που πρέπει να παρασχεθούν ανά γύρο. Ένα παλμό ρολογιού αργότερα από το start_counter1 έρχεται και ο παλμός start_round1, μαζί με το 512bit block in το οποίο όπως έχει αναφερθεί θα πρέπει να παραμείνει σταθερό στη είσοδο του sha-1 core για συνολικά 20 παλμούς ρολογιού. Ταυτόχρονα ενεργοποιείται ο απαριθμητής του πρώτου γύρου ο οποίος έχει τιμή 0 έτσι ώστε αρχικά να παράσχει το πρώτο wi δηλαδή το w0. 30

31 Ο παλμός start_round1, είναι σήμα επιλογής στον πολυπλέκτη του πρώτου γύρου και έτσι περνάει στα a, b, c, d, e της πρώτης πράξης του πρώτου επεξεργαστικού γύρου τις τιμές h0-h4 από την είσοδο του sha-1 core και όχι τις τιμές από την έξοδο του πρώτου γύρου (ανάδραση). Έτσι εκείνη τη χρονική στιγμή ο μετρητής έχει την τιμή 0, οπότε στον γύρο παρέχεται το w0 και ταυτόχρονα έχουν περαστεί τα h0-h4 οπότε στον επόμενο παλμό ρολογιού (δύο μετά την έλευση του start_counter1) στην έξοδο του πρώτου επεξεργαστικού γύρου θα έχουν προκύψει στα a, b, c, d, e οι πέντε 32bit τιμές που είναι τα αποτελέσματα της πρώτης πράξης του πρώτου γύρου. Αμέσως μετά ο παλμός start_round1 παίρνει την τιμή 0 και μένει μόνιμα στην τιμή αυτή, μέχρι να έρθει νέο μήνυμα εισόδου, κάτι που μπορεί να γίνει μόνο μετά από 20 παλμούς ρολογιού, οπότε και θα έχουν τελειώσει όλες οι 20 πράξεις του πρώτου γύρου. Άρα ο πολυπλέκτης του πρώτου γύρου, που σαν σήμα επιλογής έχει το σήμα start_round1 θα περνάει πλέον,για τις υπόλοιπες 19 πράξεις του γύρου, στης εισόδους a, b, c, d, e του πρώτου γύρου τις πέντε 32bit τιμές από την έξοδό του πρώτου γύρου. Ο απαριθμητής ανά παλμό ρολογιού αυξάνει την τιμή του κατά ένα και έτσι με αυτόν τον τρόπο καθορίζει για την επόμενη πράξη του πρώτου γύρου το αμέσως επόμενο κάθε φορά wi, έτσι όπως πρέπει για κάθε πράξη του γύρου, οπότε και έχουμε τον απαραίτητο συγχρονισμό των γεγονότων. Αυτό εξακολουθεί συνέχεια και όταν ο απαριθμητής πάρει την τιμή 19, τότε εκείνη ακριβώς την στιγμή τελεί υπό εκτέλεση η τελευταία πράξη του πρώτου γύρου με δεδομένα το παρεχόμενο w19 και τα αποτελέσματα της 19ης πράξης του πρώτου επεξεργαστικού γύρου. Οπότε στον επόμενο παλμό ρολογιού θα προκύψει και το τελευταίο 20ο αποτέλεσμα του πρώτου γύρου, το οποίο θα υπάρχει στα flip-flop στην έξοδο του πρώτου επεξεργαστικού γύρου (round 1). Ακριβώς λοιπόν όταν ο απαριθμητής του πρώτου γύρου έχει την τιμή 19 και έναν παλμό ρολογιού πριν αυτός τελειώσει, ο απαριθμητής του πρώτου γύρου παράγει στην ακίδα εξόδου του tcwicnt1 έναν παλμό (τιμή 1 για μία περίοδο ρολογιού). Αυτός ο παλμός έχει τριπλή χρησιμότητα. Πρώτον ενεργοποιεί τη μονάδα μέτρησης του δεύτερου γύρου, δεύτερον συντελεί στο να σταματήσει η μέτρηση και να παραμείνει σε τιμή 0 η μονάδα μέτρησης του πρώτου γύρου και τρίτον είναι το σήμα ενεργοποίησης που περνά στην έξοδο των flip-flop της μονάδας που παρέχει τα wi του δεύτερου γύρου, τα προϋπολογισμένα wi τα οποία απαιτούνται για να τρέξει ο δεύτερος γύρος. Όσον αφορά τη μονάδα μέτρησης του δεύτερου γύρου, αυτή όπως ειπώθηκε ενεργοποιείται με καθυστέρηση ενός παλμού ρολογιού, ενώ το σήμα tcwicnt1 ενεργοποιείται έναν παλμό ρολογιού πριν τελειώσει ο πρώτος γύρος δηλαδή έναν παλμό ρολογιού πριν από τότε που πρέπει να αρχίσει η πρώτη πράξη του δεύτερου 31

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκουσα: Χάλκου Χαρά,

Διδάσκουσα: Χάλκου Χαρά, Διδάσκουσα: Χάλκου Χαρά, Διπλωματούχος Ηλεκτρολόγος Μηχανικός & Τεχνολογίας Η/Υ, MSc e-mail: chalkou@upatras.gr Κάθε ασθενείς έχει έναν ιατρικό φάκελο όπου περιέχονται τα ιατρικά του δεδομένα. Οι χειρόγραφοι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Αυθεντικότητα Μηνυμάτων 1 Αυθεντικότητα Μηνύματος Εφαρμογές Προστασία ακεραιότητας Εξακρίβωση ταυτότητας αποστολέα Μη άρνηση

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

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

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

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

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

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

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

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

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

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007 Ψηφιακές υπογραφές Ψηφιακές υπογραφές Υπάρχει ανάγκη αντικατάστασης των χειρόγραφων υπογραφών µε ψηφιακές (ΨΥ) Αυτές πρέπει να διαθέτουν τα εξής χαρακτηριστικά: Ο παραλήπτης πρέπει να είναι σε θέση να

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

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού ΤΕΙ ΚΡΗΤΗΣ ΤΜΉΜΑ ΜΗΧΑΝΙΚΏΝ ΠΛΗΡΟΦΟΡΙΚΉΣ Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Συναρτήσεις Κατακερματισμού Ο όρος συνάρτηση κατακερματισμού (hash function) υποδηλώνει ένα μετασχηματισμό που παίρνει

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

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Κεφάλαια 2&21 Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων Ενεργητικές επιθέσεις Η κρυπτογράφηση παρέχει προστασία από παθητικές επιθέσεις (υποκλοπή). Μια διαφορετική απαίτηση είναι η προστασία

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

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property) Hash Functions Συρρικνωνει μηνυμα οποιουδηποτε μηκους σε σταθερο μεγεθος h = H(M) Συνηθως θεωρουμε οτι η hash function ειναι γνωστη σε ολους Το hash χρησιμοποιειται για να ανιχνευσει τυχον αλλαγες στο

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

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

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

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

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

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

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

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

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

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

Ασφάλεια Πληροφοριακών Συστηµάτων. Αυθεντικότητα Μηνυµάτων 1

Ασφάλεια Πληροφοριακών Συστηµάτων. Αυθεντικότητα Μηνυµάτων 1 Αυθεντικότητα Μηνυµάτων Συναρτήσεις Hash/MAC Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Αυθεντικότητα Μηνυµάτων 1 Αυθεντικότητα Μηνύµατος Εφαρμογές Προστασία ακεραιότητας Εξακρίβωση ταυτότητας αποστολέα Μη άρνηση

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

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

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

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

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

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

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

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα

Κεφάλαιο 6. Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα Κεφάλαιο 6 Σύγχρονα και ασύγχρονα ακολουθιακά κυκλώματα 6.1 Εισαγωγή Η εκτέλεση διαδοχικών λειτουργιών απαιτεί τη δημιουργία κυκλωμάτων που μπορούν να αποθηκεύουν πληροφορίες, στα ενδιάμεσα στάδια των

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

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

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

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

Συμμετρική Κρυπτογραφία

Συμμετρική Κρυπτογραφία ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής Ασφάλεια Πληροφοριακών Συστημάτων Εργαστήριο Συμμετρική Κρυπτογραφία Konstantinos Fysarakis, PhD kfysarakis@staff.teicrete.gr Εισαγωγή } Στην συνηθισμένη κρυπτογραφία,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Βασικά Θέματα Κρυπτογραφίας Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά Αντικείμενο μελέτης Εφαρμοσμένη Κρυπτογραφία, απαραίτητη για την Ασφάλεια Δικτύων Υπολογιστών Χαρακτηριστικά των

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

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

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

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

Αλγόριθµοι δηµόσιου κλειδιού

Αλγόριθµοι δηµόσιου κλειδιού Αλγόριθµοι δηµόσιου κλειδιού Αλγόριθµοι δηµόσιου κλειδιού Ηδιανοµή του κλειδιού είναι ο πιο αδύναµος κρίκος στα περισσότερα κρυπτογραφικά συστήµατα Diffie και Hellman, 1976 (Stanford Un.) πρότειναν ένα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

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

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

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

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

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

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

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

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

Δ Εξάμηνο. Κρυπτογραφία: Συμμετρική Κρυπτογράφηση

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

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

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

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

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

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων

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

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών Ασύρματες Επικοινωνίες Μέρος V Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Slide: 1/30 Περιεχόμενα IEEE 802.11i ΤΟ ΠΡΩΤΟΚΟΛΛΟ CCMP Γενικά Λίγα

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 32 Περιεχόμενα 1 Message

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

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

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

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

ΑΣΚΗΣΗ 9. Tα Flip-Flop

ΑΣΚΗΣΗ 9. Tα Flip-Flop ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ

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

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

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

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

ΣΧΕΔΙΑΣΗ ΣΕ ΥΛΙΚΟ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΜΕ VHDL TON ΚΡΥΠΤΟΓΡΑΦΙΚΟ ΑΛΓΟΡΙΘΜΟ RIJNDAEL

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

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

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ 8.3.1-8.3.3

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

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey Κρυπτογραφία Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey Γενικά χαρακτηριστικά των stream ciphers Keystream Generator K i P i C i Δουλεύουν πάνω σε ένα ρεύμα από

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

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

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ Παύλος Εφραιμίδης Βασικές Έννοιες Κρυπτογραφίας Ασφ Υπολ Συστ 1 θα εξετάσουμε τα ακόλουθα εργαλεία κρυπτογραφίας: ψηφιακές υπογραφές κατακερματισμός (hashing) συνόψεις μηνυμάτων μ (message digests) ψευδοτυχαίοι

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι σύγχρονοι μετρητές υλοποιούνται με Flip-Flop τύπου T

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

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

Ασφάλεια Πληροφοριακών Συστημάτων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ασφάλεια Πληροφοριακών Συστημάτων Ενότητα 6: Κρυπτογραφία Ι Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

Cryptography and Network Security Chapter 13. Fifth Edition by William Stallings Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Chapter 13 Digital Signatures To guard against the baneful influence exerted by strangers is therefore an elementary dictate

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

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι απαριθμητές ή μετρητές (counters) είναι κυκλώματα που

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

Αλγόριθµοι συµµετρικού κλειδιού

Αλγόριθµοι συµµετρικού κλειδιού Αλγόριθµοι συµµετρικού κλειδιού Αλγόριθµοι συµµετρικού κλειδιού Χρησιµοποιούν το ίδιο κλειδί για την κρυπτογράφηση και την αποκρυπτογράφηση Υλοποιούνται τόσο µε υλικό (hardware) όσο και µε λογισµικό (software)

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

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

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 37 Περιεχόμενα 1 Message

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 35 Περιεχόμενα 1 Message

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

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

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

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

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

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

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

7.1 Θεωρητική εισαγωγή

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

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

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες) Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2016 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το ανωτέρω διάγραμμα καταστάσεων,

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

Στοιχεία Κρυπτογραφίας

Στοιχεία Κρυπτογραφίας Κεφάλαιο 1 ο Στοιχεία Κρυπτογραφίας 1.1 Εισαγωγή Κρυπτογραφία (cryptography) είναι η μελέτη τεχνικών που βασίζονται σε μαθηματικά προβλήματα με δύσκολη επίλυση, με σκοπό την εξασφάλιση της α- σφάλειας

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

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017 Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα καταστάσεων,

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

8.3 Ασφάλεια ικτύων. Ερωτήσεις

8.3 Ασφάλεια ικτύων. Ερωτήσεις 8.3 Ασφάλεια ικτύων Ερωτήσεις 1. Με τι ασχολείται η ασφάλεια των συστηµάτων; 2. Τι είναι αυτό που προστατεύεται στην ασφάλεια των συστηµάτων και για ποιο λόγο γίνεται αυτό; 3. Ποια η διαφορά ανάµεσα στους

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

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

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

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας Κρυπτογραφία MAC - Γνησιότητα/Ακεραιότητα μηνύματος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 38 Περιεχόμενα 1 Message

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

1.1. Ορισμοί και ορολογία

1.1. Ορισμοί και ορολογία 1 ΕΙΣΑΓΩΓΗ Προτού ξεκινήσουμε την περιήγησή μας στον κόσμο της κρυπτογραφίας, ας δούμε ορισμένα πρακτικά προβλήματα που κατά καιρούς έχουμε συναντήσει ή έχουμε φανταστεί. Το πρόβλημα του «μυστικού υπολογισμού».

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

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

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

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

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Κρυπτογραφία Κρυπτοαλγόριθμοι Χρήστος Ξενάκης Θεωρία Πληροφορίας Η Θεωρία πληροφορίας (Shannon 1948 1949) σχετίζεται με τις επικοινωνίες και την ασφάλεια

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

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

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

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T Στην παρούσα εργασία παρουσιάζεται η υλοποίηση του Σοβιετικού κρυπταλγορίθμου GOST για την πλατφόρμα επεξεργαστήσυνεπεξεργαστή(αναδιατασ σόμενης

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

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

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

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

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

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

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

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

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

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

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