Reality is merely an illusion, albeit a very persistent one. Albert Einstein

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

Download "Reality is merely an illusion, albeit a very persistent one. Albert Einstein"

Transcript

1 Μια Πλήρως Διαχρονική Κρυπτογραφημένη Δομή Δεδομένων Αναζήτησης Εύρους Βασίλειος Ιωσηφίδης, 1045 Διπλωματική Εργασια για το ΠΜΣ: Επιστήμη και Τεχνολογία Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επιβλέπων: Χρήστος Μακρής, Επίκουρος καθηγητής Ημερομηνία: 15 Σεπτεμβρίου 2016

2 Πανεπιστήμιο Πατρών, Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ιωσηφίδης Βασίλειος c 2016 Με την επιφύλαξη παντός δικαιώματος 1

3 2

4 Reality is merely an illusion, albeit a very persistent one Albert Einstein 3

5 4

6 Ευχαριστίες Θα ήθελα πρώτα απ όλα να ευχαριστήσω τον καθηγητή μου, κ. Χρήστο Μακρή για την επίβλεψη αυτής της Διπλωματικής Εργασίας και για την ευκαιρία που μου έδωσε για να την εκπονήσω. Επίσης ευχαριστώ τον καθηγητή κ. Γιάννη Σταματίου και τον πρώην συμφοιτητή μου κ. Κυριάκο Ισπόγλου για την καθοδήγηση και την βοήθεια που μου παρείχαν. Τέλος θα ήθελα να ευχαριστήσω την οικογένεια μου και τους φίλους μου που μου στάθηκαν δίπλα μου όλα αυτά τα χρόνια. 5

7 6

8 Περιγραφή Η ανάλυση και σχεδίαση δομών δεδομένων αποτελεί τεράστιο κομμάτι του κλάδου της πληροφορικής. Μια τυπική δομή δεδομένων έχει την ιδιότητα της εφημερότητας δηλαδή μεταβάλλεται σε κάθε ένθεση ή διαγραφή χωρίς όμως να έχει πρόσβαση σε προηγούμενες καταστάσεις. Για παράδειγμα, εάν ένα στοιχείο δεδομένων τροποποιείται ή διαγράφεται, τότε η προηγούμενη έκδοση του χάνεται και η μετέπειτα ανάκτηση του είναι αδύνατη. Ωστόσο, ορισμένες εφαρμογές απαιτούν το πλήρες ιστορικό των αποθηκευμένων δεδομένων, προκειμένου, για παράδειγμα, να επιτρέπονται οι συγκρίσεις με προηγούμενες εκδόσεις ή να παρακολουθείται η ε- ξέλιξη των δεδομένων ανά τις εκδόσεις. Οι δομές δεδομένων που επιτρέπουν την αποθήκευση της ιστορίας των δεδομένων ονομάζονται διαχρονικές. Η διαχρονικότητα αναφέρεται σε μια ιδιότητα των δομών δεδομένων σύμφωνα με την οποία όλο το ιστορικό των αποθηκευμένων δεδομένων διατηρείται και είναι διαθέσιμο ανά πάσα στιγμή, για αναζήτηση και ανάκτηση. Ωστόσο, όταν πρόκειται για για την προστασία των προσωπικών δεδομένων, μπορεί να υποστηριχθεί ότι η πλήρης αποθήκευση όλων των δεδομένων, στην πραγματικότητα, αποτελεί απειλή για την προστασία της ιδιωτικής ζωής, δεδομένου ότι επιτρέπει την αρχειοθέτηση δεδομένων, καθώς εξελίσσονται και αλλάζουν. Στην παρούσα διπλωματική εργασία γίνεται σχεδίαση και υλοποίηση μιας πλήρως διαχρονικής δομής δεδομένων η οποία έχει την ιδιότητα της κρυπτογράφησης των στοιχείων της καθώς επίσης παρέχει ερωτήματα αναζήτησης εύρους. Η συγκεκριμένη δομή θα μπορούσε ενδεχομένως να έχει εφαρμογή σε τραπεζικά συστήματα για την προστασία των δεδομένων των πελατών της. 7

9 8

10 Περιεχόμενα 1 Εισαγωγή στην Κρυπτογραφία. Αλγόριθμοι και τεχνικές Εισαγωγή AES BLOWFISH CBC DES DES IDEA NEW DES SERPENT ΜΕΡΙΚΩΣ ΚΑΙ ΠΛΗΡΩΣ ΔΙΑΧΡΟΝΙΚΕΣ ΔΟΜΕΣ ΔΕ- ΔΟΜΕΝΩΝ Εισαγωγή FAT NODE PATH COPYING NODE COPYING Πλήρης Διαχρονικότητα Προηγούμενες Εργασίες Order Preserving Encryption for Numeric Data Partially Persistent Data Structures of Bound Degree with Constant Update Time Binary Tree Encryption: Constructions and Applications Fully persistent B-Trees Encryption Search Tree Λειτουργία ένθεσης Λειτουργία Σπασίματος Λειτουργία Αναζήτησης Λειτουργία Διαγραφής Λειτουργία Επαναζύγισης Encryption Range Search Tree Λειτουργία ένθεσης Λειτουργία Σπασίματος Λειτουργία Αναζήτησης Λειτουργία Διαγραφής Λειτουργία Επαναζύγισης Persistent Encryption Range Search Tree Partially Persistent Encryption Range Search Tree Λειτουργία ένθεσης Λειτουργία Σπασίματος Λειτουργία Μερικής Διαχρονικότητας

11 6.5 Λειτουργία Αναζήτησης Λειτουργία Διαγραφής Λειτουργία Επαναζύγισης Fully Persistent Encryption Range Search Tree Πειραματική Αξιολόγηση Εισαγωγή Διαγραφή Αναζήτηση Memory Consumption Παράρτημα Κώδικες Υλοποίησης First Encryption Tree Range Encryption Tree Persistent Encryption Tree Test Case for First Encryption Tree Test Case for Range Encryption Tree Test Case for Persistent Range Encryption Tree Αναφορές

12 11

13 1 Εισαγωγή στην Κρυπτογραφία. Αλγόριθμοι και τεχνικές 1.1 Εισαγωγή Κρυπτογραφία [2] είναι η πρακτική και η μελέτη των τεχνικών για την ασφαλή επικοινωνία με την παρουσία τρίτου που ονομάζεται αντίπαλος. Γενικότερα, κρυπτογραφία είναι η τεχνική η οποία κατασκευάζει και αναλύει τα πρωτόκολλα που εμποδίζουν τρίτους ή το κοινό από την ανάγνωση μηνυμάτων. Διάφορες πτυχές της ασφάλειας των πληροφοριών, όπως το απόρρητο των δεδομένων, την ακεραιότητα των δεδομένων, ο έλεγχος γνησιότητας και μη άρνηση αναγνώρισης είναι κεντρικής σημασίας στη σύγχρονη κρυπτογραφία. Σύγχρονη κρυπτογραφία υπάρχει στη διασταύρωση των κλάδων των μαθηματικών, της επιστήμης των υπολογιστών και της ηλεκτρολογίας. Εφαρμογές της κρυπτογραφίας περιλαμβάνουν κάρτες ΑΤΜ, τους κωδικούς πρόσβασης του υπολογιστή, και το ηλεκτρονικό εμπόριο. Κρυπτογραφία στη σύγχρονη εποχή είναι ουσιαστικά συνώνυμη με την κρυπτογράφηση, τη μετατροπή των πληροφοριών από μια αναγνώσιμη κατάσταση σε ασυναρτησίες. Ο δημιουργός ένος κρυπτογραφημένου μήνυματος μοιράζεται την τεχνική αποκωδικοποίησης που χρειάζεται για να ανακτήσει την αρχική πληροφορία μόνο με αποδέκτες, αποκλείοντας έτσι τα ανεπιθύμητα πρόσωπα από το να κάνει το ίδιο. Στη βιβλιογραφία της κρυπτογραφίας χρησιμοποιεί συχνά Alice ( Α) για τον αποστολέα, ο Bob ( Β ) για τον αποδέκτη, και της Εύας ( ωτακουστής ) για τον αντίπαλο. Δεδομένου ότι η ανάπτυξη των μηχανών κρυπτογράφησης στο Δεύτερο Παγκόσμιο Πόλεμο Ι και η έλευση των ηλεκτρονικών υπολογιστών στο Δεύτερο Παγκόσμιο Πόλεμο, οι μέθοδοι που χρησιμοποιούνται για τη διεξαγωγή κρυπτολογίας έχουν γίνει όλο και πιο πολύπλοκες και η εφαρμογή τους πιο διαδεδομένη. Η σύγχρονη κρυπτογραφία βασίζεται σε μεγάλο βαθμό στη μαθηματική θεωρία και την επιστήμη των υπολογιστών. Οι κρυπτογραφικοί αλγορίθμοι σχεδιάζονται γύρω από την υπολογιστική υποθέση, καθιστώντας τέτοιους αλγορίθμους δύσκολο να σπάσουν στην πράξη από οποιονδήποτε αντίπαλο. Είναι θεωρητικά δυνατό να σπάσει ένα τέτοιο σύστημα, αλλά είναι ανέφικτο να γίνει από οποιο- 12

14 δήποτε γνωστό πρακτικό μέσο. Ως εκ τούτου, τα συστήματα αυτά ονομάζονται υπολογιστικά ασφαλή. Υπάρχουν συστήματα πληροφοριών θεωρητικά ασφαλείς που αποδεδειγμένα δεν μπορεί να σπάσει ακόμα και με απεριόριστη υπολογιστική ισχύ, ένα παράδειγμα είναι το one-time pad, αλλά αυτά τα συστήματα είναι πιο δύσκολο να εφαρμοστούν. Η ανάπτυξη των κρυπτογραφικών τεχνολογιών έχει εγείρει μια σειρά από νομικά ζητήματα στην εποχή της πληροφορίας. Σε ορισμένες δικαιοδοσίες όπου η χρήση της κρυπτογραφίας είναι νόμιμη, οι νόμοι επιτρέπουν στους ερευνητές την αποκάλυψη των κλειδιών κρυπτογράφησης για τα έγγραφα που σχετίζονται με την έρευνα. Η κρυπτογραφία παίζει επίσης σημαντικό ρόλο στη διαχείριση των ψηφιακών δικαιωμάτων και παραβίαση πνευματικών δικαιωμάτων των ψηφιακών μέσων. Τέσσερις είναι οι βασικές λειτουργίες που διέπουν την κρυπτογραφία: 1. Εμπιστευτικότητα: Η πληροφορία προς μετάδοση είναι προσβάσιμη μόνο στα εξουσιοδοτημένα μέλη. Η πληροφορία είναι ακατανόητη σε κάποιον τρίτο. 2. Ακεραιότητα: Η πληροφορία μπορεί να αλλοιωθεί μόνο από τα εξουσιοδοτημένα μέλη και δεν μπορεί να αλλοιώνεται χωρίς την ανίχνευση της αλλοίωσης. 3. Μη απάρνηση: Ο αποστολέας ή ο παραλήπτης της πληροφορίας δεν μπορεί να αρνηθεί την αυθεντικότητα της μετάδοσης ή της δημιουργίας της. 4. Πιστοποίηση: Οι αποστολέας και παραλήπτης μπορούν να εξακριβώνουν τις ταυτότητές τους καθώς και την πηγή και τον προορισμό της πληροφορίας με διαβεβαίωση ότι οι ταυτότητές τους δεν είναι πλαστές. ΟΡΟΛΟΓΙΑ Κρυπτογράφηση ονομάζεται η διαδικασία μετασχηματισμού ενός μηνύματος σε μία ακατανόητη μορφή με τη χρήση κάποιου κρυπτογραφικού αλγορίθμου ούτως ώστε να μην μπορεί να διαβαστεί από κανέναν εκτός του νόμιμου παραλήπτη. Η αντίστροφη διαδικασία όπου από το κρυπτογραφημένο κείμενο παράγεται το αρχικό μήνυμα ονομάζεται αποκρυπτογράφηση. 13

15 Κρυπτογραφικός αλγόριθμος είναι η μέθοδος μετασχηματισμού δεδομένων σε μία μορφή που να μην επιτρέπει την αποκάλυψη των περιεχομένων τους από μη εξουσιοδοτημένα μέρη. Κατά κανόνα ο κρυπτογραφικός αλγόριθμος είναι μία πολύπλοκη μαθηματική συνάρτηση. Αρχικό κείμενο (plaintext) είναι το μήνυμα το οποίο αποτελεί την είσοδο σε μία διεργασία κρυπτογράφησης. Κλειδί (key) είναι ένας αριθμός αρκετών bit που χρησιμοποιείται ως είσοδος στη συνάρτηση κρυπτογράφησης. Κρυπτογραφημένο κείμενο (ciphertext) είναι το αποτέλεσμα της εφαρμογής ενός κρυπτογραφικού αλγόριθμου πάνω στο αρχικό κείμενο. 14

16 1.2 AES Το πρότυπο κρυπτογράφησης για προχωρημένους AES [17], είναι μια προδιαγραφή για την κρυπτογράφηση των ηλεκτρονικών στοιχείων που καθορίζονται από το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας. Το AES βασίζεται στην κρυπτογράφηση [17] που αναπτύχθηκε από δύο κρυπτογράφους, Joan Daemen, Vincent Rijmen. Το ΑΕΣ έχει εγκριθεί από την κυβέρνηση των ΗΠΑ και τώρα χρησιμοποιείται σε όλο τον κόσμο. Ο αλγόριθμος που περιγράφεται από το AES είναι μια κρυπτογράφηση συμμετρικού κλειδιού, που σημαίνει το ίδιο κλειδί χρησιμοποιείται τόσο για την κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων. Το ΑΕΣ τέθηκε σε ισχύ ως ομοσπονδιακό πρότυπο στις 26 Μαΐου του 2002 μετά την έγκριση από το Γενικό Γραμματέα Εμπορίου. Το AES περιλαμβάνεται στο πρότυπο ISO / IEC. AES είναι διαθέσιμο σε πολλά διαφορετικά πακέτα κρυπτογράφησης, και είναι το πρώτο (και μόνο) προσιτό στο κοινό που εγκρίθηκε από την Εθνική Υπηρεσία Ασφαλείας (NSA) Σχήμα 1: ΑΕΣ Ο AES κρυπτογραφεί δεδομένα σε blocks βάσει κλειδιού. Τα blocks είναι μεγέθους 128 bit και το κλειδί είναι ποικίλου μεγέθους, 128, 192 και 256 bit. Είναι είναι ένας επαναληπτικός αλγόριθμος blocks (πινάκων). Σε κάθε εφαρμογή της επανάληψης οι μετατροπές γίνονται σε έναν ενδιάμεσο πίνακα, των αποκαλούμενο State. Στο τέλος της διαδικασίας ο State γίνεται η παραγόμενη έξοδος. Στο σχήμα 1 φαίνεται ένα παράδειγμα του ΑΕΣ. 15

17 1.3 BLOWFISH Ο blowfish [24] είναι ένας αλγόριθμος κρυπτογραφησης τμήματος (block cipher) που κρυπτογραφεί τμήματα μήκους 64 bit. Ο Blowfish σχεδιάστηκε ώστε να είναι εύκολος στην υλοποίηση και να παρουσιάζει μεγάλη ταχύτητα εκτέλεσης. Αποτελείται από δύο μέρη: το πρώτο είναι η επέκταση του κλειδιού (γίνεται η παραγωγή των session keys) στο το δεύτερο το σχήμα Φειστελ, όπου γίνεται η κρυπτογράφηση (σε κάθε επανάληψη γίνεται η χρηση ενός session key). Η επέκταση του κλειδιού (expansion key algorithm) μετατρέπει το κλειδί σε υποκλειδιά συνολικού μεγέθους 4168 bytes. Η κρυπτογράφηση ενός κειμένου γίνεται μέσα από ένα σύστημα Feistel το οποίο τρέχει για 16 επαναλήψεις. Κάθε γύρος αποτελείται από ένα κλειδί όπου είναι εξαρτημένο από μια μετάθεση του επιτεταμένου κλειδιού και από ένα πακέτο δεδομένων για κρυπτογράφηση. Στο σχήμα 2 φαινεται ένα παράδειγμα του αλγορίθμου. Ο Blowfish περιλαμβάνεται στους καλύτερους συμβατικούς αλγορίθμους κρυπτογράφησης που έχουν εφαρμοστεί, αφού τα υποκλειδιά και τα S-boxes παράγονται από διαδικασία επανειλημμένων εφαρμογών του Blowfish στον εαυτό του. Στον Blowfish, τα υποκλειδιά και τα S-boxes παράγονται από την επανειλημμένη εφαρμογή του ίδιου του αλγορίθμου Blowfish στο κλειδί. Οι επαναλήψεις αυτές τροποποιούν πλήρως τα δυαδικά ψηφία και καθιστούν την κρυπτανάλυση εξαιρετικά δύσκολη. Σχήμα 2: Αλγόριθμος Blowfish 16

18 Οι μέχρι σήμερα δημοσιεύσεις των προσπαθειών για κρυπτανάλυση του Blowfish δεν αναφέρουν πρακτικές αδυναμίες. Ο Blowfish χρησιμοποιείται, επίσης, σε διάφορες εμπορικές εφαρμογές. Ολες οι πράξεις είναι τύπου XOR και προσθέσεις σε 32 bit λέξεων. Οι μοναδικές επιπρόσθετες πράξεις είναι τέσσερις πίνακες όπου κρατάνε δεδομένα και αλλάζουν σε κάθε επενάληψη. 17

19 1.4 CBC Στην κρυπτογραφία, ο όρος mode of operation είναι ένας αλγόριθμος που χρησιμοποιεί ένα μπλοκ κρυπτογράφησης για την κρυπτογράφηση μηνυμάτων αυθαίρετου μήκους με τρόπο που να παρέχει την εμπιστευτικότητα ή τη γνησιότητα. Ενα μπλοκ κρυπτογράφησης από μόνο του είναι κατάλληλο μόνο για τον ασφαλή κρυπτογραφικό μετασχηματισμό (κρυπτογράφηση ή αποκρυπτογράφηση ) ενός σταθερού μήκους λέξης που ονομάζεται μπλοκ. Το mode of operation περιγράφει πώς να εφαρμοστεί κατ έπανάληψη η λειτουργία κρυπτογράφησης single-block για να μετατρέψει με ασφάλεια ποσότητες δεδομένων μεγαλύτερες από ένα μπλοκ. Οι περισσότεροι τρόποι απαιτούν μια μοναδική δυαδική ακολουθία, που συχνά αποκαλείται ένα διάνυσμα αρχικοποίησης (IV), για κάθε λειτουργία κρυπτογράφησης. Το IV πρέπει να είναι μη επαναλαμβανόμενο και, για ορισμένες λειτουργίες, τυχαίο. Το διάνυσμα αρχικοποίησης χρησιμοποιείται για να εξασφαλίσει τα διακριτά ciphertexts, παράγεται ακόμη και όταν το ίδιο plaintext είναι κρυπτογραφημένο, πολλές φορές ανεξάρτητα με το ίδιο κλειδί. Η κρυπτογράφηση αλυσίδας ή αλλιώς Code Block Chaining (CBC) [21] χρησιμοποιείται για την κρυπτογράφηση πολλών διαφορετικών block. Το πλεονέκτημά της είναι ότι δύο ίδια block απλού κειμένου, δεν θα κρυπτογραφηθούν ποτέ σε δύο ίδια block κρυπτογραφημένου κειμένου. Η είσοδος στον αλγόριθμο κρυπτογράφησης είναι το αποτέλεσμα της πύλης XOR του τρέχοντος τμήματος αρχικού κειμένου και του προηγούμενου τμήματος κρυπτογραφήματος. Σχήμα 3: Αλγόριθμος CBC Στο σχήμα 3 φαίνεται το σχήμα κρυπτογράφησης του αλγορίθμου. Με αυτό 18

20 τον τρόπο, κάθε μπλοκ εξαρτάται από όλα τα plaintext μπλοκς μέχρι εκείνο το σημείο. Για να γίνει κάθε μήνυμα μοναδικό, ένα διάνυσμα αρχικοποίησης πρέπει να χρησιμοποιηθεί στο πρώτο μπλοκ. Αποκρυπτογράφηση με εσφαλμένο IV έχει ως αποτέλεσμα το πρώτο μπλοκ plaintext να είναι διεφθαρμένο οπότε όλη η αλυσίδα θα αποκρυπτογραφηθεί λανθασμένα. Το διάνυσμα αρχικοποίησης IV πρέπει να είναι γνωστό τόσο στον πομπό όσο και στο δέκτη. 19

21 1.5 DES Το Data Encryption Standard (DES) [3] ήταν κάποτε ένας κυρίαρχος αλγόριθμος κρυπτογράφησης συμμετρικού κλειδιού για την κρυπτογράφηση των ηλεκτρονικών δεδομένων. Υπήρξε μεγάλη επιρροή στην πρόοδο της σύγχρονης κρυπτογραφίας στον ακαδημαϊκό κόσμο. Αναπτύχθηκε στις αρχές της δεκαετίας του 1970 στην IBM και βασίζεται σε προγενέστερο σχεδιασμό του Horst Feistel, ο αλγόριθμος υποβλήθηκε στο Εθνικό Γραφείο Προτύπων (NBS) μετά από πρόσκληση του οργανισμού να προτείνει έναν υποψήφιο για την προστασία των ευαίσθητων, μη ταξινομημένων στοιχείων ηλεκτρονικής διακυβέρνησης. Το 1976, μετά από διαβούλευση με την Εθνική Υπηρεσία Ασφαλείας (NSA), η NBS επιλεγεί τελικά μια ελαφρώς τροποποιημένη έκδοση. Το DES είναι το προτότυπο μπλοκ κρυπτογράφησης, ένας αλγόριθμος που παίρνει μια συμβολοσειρά σταθερού μήκους plaintext bits και το μετατρέπει μέσα από μια σειρά πολύπλοκων εργασιών σε μια άλλη συμβολοσειρά ciphertext του ιδίου μήκους. Στην περίπτωση του DES, το μέγεθος μπλοκ είναι 64 bits. Το DES χρησιμοποιεί επίσης ένα πλήκτρο για να προσαρμόσει το μετασχηματισμό, έτσι ώστε η αποκρυπτογράφηση να μπορεί να εκτελείται μόνο από εκείνους που γνωρίζουν το συγκεκριμένο κλειδί που χρησιμοποιείται για την κρυπτογράφηση. Το κλειδί φαινομενικά αποτελείται από 64 bits. Ωστόσο, μόνο 56 από αυτά χρησιμοποιούνται πράγματι από τον αλγόριθμο. Οκτώ bit χρησιμοποιούνται αποκλειστικά για τον έλεγχο της ισοτιμίας, και στη συνέχεια απορρίπτονται. Η συνολική δομή του αλγορίθμου φαίνεται στο Σχήμα 4. Υπάρχουν 16 όμοια στάδια επεξεργασίας, που ονομάζονται γύροι. Υπάρχει επίσης μια αρχική και τελική μετάθεση, που ονομάζεται IP και FP, οι οποίες είναι αντίστροφες (IP αναιρεί τη δράση του FP, και το αντίστροφο). Πριν από τους κύριους γύρους, το μπλοκ χωρίζεται σε δύο μισά 32-bit και η επεξεργασία γίνεται εναλλάξ. Αυτό το criss-crossing είναι γνωστό ως το σύστημα Feistel. Η δομή Feistel εξασφαλίζει ότι η αποκρυπτογράφηση και η κρυπτογράφηση είναι πολύ παρόμοιες διαδικασίες, η μόνη διαφορά είναι ότι τα δευτερεύοντα κλειδιά εφαρμόζονται με την αντίστροφη σειρά, όταν αποκρυπτογραφούνται. Το υπόλοιπο του αλγορίθμου είναι πανομοιότυπο. Αυτό απλοποιεί σε μεγάλο βαθμό την εφαρμογή, ιδιαίτερα 20

22 Σχήμα 4: Αλγόριθμος DES σε υλικό, καθώς δεν υπάρχει ανάγκη για χωριστό αλγόριθμο κρυπτογράφησης και αποκρυπτογράφησης. 21

23 1.6 3-DES Στην κρυπτογραφία, ο Triple DES (3-DES) [1] είναι η κοινή ονομασία για το Triple Data Encryption Algorithm (TDEA ή Triple DEA) συμμετρικού κλειδιού μπλοκ κρυπτογράφησης, το οποίο εφαρμόζεται στον αλγόριθμο κρυπτογράφησης δεδομένων DES τρεις φορές σε κάθε μπλοκ δεδομένων. Το μέγεθος του κλειδιού κρυπτογράφησης του αρχικού DES είναι 56 bits. Ηταν σε γενικές γραμμές επαρκείς, όταν ο αλγόριθμος έχει σχεδιαστεί, αλλά η αύξηση της υπολογιστικής ισχύος έκανε τις επιθέσεις brute-force εφικτές. Ο Triple DES παρέχει μια σχετικά απλή μέθοδο για την αύξηση του μεγέθους κλειδιού του DES για την προστασία από τέτοιες επιθέσεις, χωρίς την ανάγκη να σχεδιάσει ένας εντελώς νέος αλγόριθμος κρυπτογράφησης μπλοκ. Ο Triple DES χρησιμοποιεί ένα κλειδί πακέτο που περιλαμβάνει τρία κλειδιά DES k1, k2, k3 το καθένα των 56 bits (εξαιρουμένων των bits ισοτιμίας). Ο αλγόριθμος κρυπτογράφησης είναι η εξής: ciphertext = Ek3 (Dk2 (Ek1 (plaintext))) Δηλαδή, ο DES κρυπτογραφεί με κ1, ο DES αποκρυπτογραφήσει με κ2, τέλος ο DES κρυπτογράφηση με κ3. Η αποκρυπτογράφηση είναι η αντίστροφη: plaintext = Dk1 (Ek2 (Dk3 (ciphertext))) Κάθε τριπλή κρυπτογράφηση κρυπτογραφεί ένα μπλοκ των 64 bits δεδομένων. Τα πρότυπα καθορίζουν τρεις επιλογές κλειδιών: 1. Και τα τρία κλειδιά είναι ανεξάρτητα. 2. κ1 και κ2 είναι ανεξάρτητα, και κ3 = κ1. 3. Ολα τα κλειδιά είναι ταυτόσημα, δηλαδή κ1 = κ2 = κ3. Η επιλογή 1 είναι η ισχυρότερη, με 3 * 56 = 168 ανεξάρτητα ψηφία. Η επιλογή 2 παρέχει μικρότερη ασφάλεια, με 2 * 56 = 112 ψηφία. Η επιλογή 3 είναι ισοδύναμη με τον DES, μόνο με 56 ψηφία. Παρέχει συμβατότητα με DES. Σε κάθε περίπτωση η μέση λειτουργία είναι η αντίστροφη της πρώτης και της τελευταίας. Αυτό βελτιώνει την αντοχή του αλγορίθμου όταν χρησιμοποιείτε η ε- 22

24 Σχήμα 5: Αλγόριθμος 3 - DES πιλογή 2, και παρέχει συμβατότητα με DES με την επιλογή 3. Σε γενικές γραμμές, ο Triple DES με τρία ανεξάρτητα κλειδιά έχει μήκος κλειδιού 168 bits (τρια 56-bit κλειδιά DES), αλλά λόγω της επίθεσης meet-in-the-middle attack, η αποτελεσματική ασφάλεια που παρέχει είναι μόνο 112 bits.. 23

25 1.7 IDEA Στην κρυπτογραφία, ο International Data Encryption Algorithm (IDEA) [4], που αρχικά ονομαζόταν Improved Proposed Encryption Standard (IPES), είναι ένας συμμετρικός αλγόριθμος κρυπτογράφησης μπλοκ σχεδιασμένος από τους James Massey, Xuejia Lai και περιγράφηκε για πρώτη φορά το Ο αλγόριθμος επρόκειτο να αντικαταστήσει τον DES. Ο IDEA είναι μια μικρή αναθεώρηση μίας προηγούμενης κρυπτογράφησης, Proposed Encryption Standard (PES). Ο IDEA λειτουργεί σε μπλοκ 64-bit χρησιμοποιώντας ένα κλειδί 128-bit, και αποτελείται από μια σειρά οκτώ πανομοιότυπων μετασχηματισμών και μια μεταμόρφωση εξόδου. Η διαδικασία για την κρυπτογράφηση και την αποκρυπτογράφηση είναι παρόμοια. Ο IDEA αντλεί μεγάλο μέρος της ασφάλειας του διαφυλλώνοντας τελεστές από διαφορετικές ομάδες, πρόσθεση - πολλαπλασιασμό, και λογικούς τελεστές όπως OR,XOR. Αναλυτικότερα, Οι τελεστές αυτοί, που λειτουργούν σε 16-bit λέξεις, είναι οι εξής: Δυαδικός τελεστής XOR modulo Μετά από οκτώ γύρους έρχεται ο τελικός μισός γύρος. Η συνολική δομή του IDEA ακολουθεί το σύστημα Lai-Massey. Η XOR χρησιμοποιείται για την αφαίρεση και την πρόσθεση. Ο IDEA χρησιμοποιεί μια λειτουργία μισού γύρου. Για να λειτουργήσει με 16 bit (που σημαίνει τέσσερις εισόδους αντί για δύο για το μέγεθος μπλοκ 64 bit), ο IDEA χρησιμοποιεί το σύστημα Lai-Massey δύο φορές παράλληλα. Για να εξασφαλιστεί επαρκής διάχυση, δύο από τα υπομπλόκ αντιμετατίθενται μετά από κάθε γύρο. 24

26 1.8 NEW DES Στην κρυπτογραφία, ο NewDES [5] είναι ένας αλγόριθμος συμμετρικού κλειδιού κρυπτογράφησης μπλοκ. Δημιουργήθηκε το 1984 από τον Robert Scott ως μια πιθανή αντικατάσταση DES. Παρά το όνομά του, δεν προέρχεται από τον DES και έχει μια εντελώς διαφορετική δομή. Ο αλγόριθμος αναθεωρήθηκε με ένα τροποποιημένο βασικό πρόγραμμα το 1996 για να αντιμετωπίσει μια επίθεση. Αυτή η έκδοση μερικές φορές αναφέρεται ως NewDES-96. Το 2004, ο Scott δημοσιεύσε μερικές παρατηρήσεις σχετικά με τον προβληματισμό σχετικά με τα κίνητρα πίσω από το σχεδιασμό του NewDES και τι θα μπορούσε να κάνει διαφορετικά, έτσι ώστε να καταστεί η κρυπτογράφηση πιο α- σφαλή. Ο NewDES, σε αντίθεση με τον DES, δεν έχει μεταθέσεων ψηφίων, γεγονός που το καθιστά εύκολο να εφαρμοστεί στο λογισμικό. Ολες οι λειτουργίες εκτελούνται σε ολόκληρα τα bytes. Είναι ένας αλγόριθμος, αποτελούμενος από 17 γύρους εκτέλεσης σε ένα μπλοκ δεδομένων 64-bit και κάνει χρήση ενός κλειδιού 120-bit. Σε κάθε γύρο, το δευτερεύον κλειδί περνάει από XOR με 1-byte υπομπλόκ των δεδομένων, στη συνέχεια τροφοδοτείται μέσω ενός S-box, η έξοδος του ο- ποίου υπόκειται σε XOR με ένα άλλο υπο-μπλοκ δεδομένων. Συνολικά, 8 XOR λειτουργίες εκτελούνται σε κάθε γύρο. Κάθε σετ από δύο γύρους χρησιμοποιεί επτά δευτερεύοντα κλειδιά 1-byte, τα οποία προέρχονται από τη διάσπαση σε 56 bits του κλειδιού σε bytes. Το κλειδί στη συνέχεια περιστρέφεται 56 bits για χρήση στους επόμενες δύο γύρους. 25

27 1.9 SERPENT Ο Serpent [6] είναι ένας αλγόριθμος συμμετρικού κλειδιού κρυπτογράφησης μπλοκ που ήταν φιναλίστ στο διαγωνισμό Ad v anced Encryption Standard (AES), όπου κατέλαβε την δεύτερη θέση στο Rijndael. Ο Serpent σχεδιάστηκε από τους Ross Anderson, Eli Biham, Lars Knudsen. Ο Serpent έχει μέγεθος μπλοκ των 128 bits και υποστηρίζει μέγεθος κλειδιού 128, 192 ή 256 bits. Η κρυπτογράφηση είναι ένα 32 γύρων υποκατάστασηςμετάθεσης που λειτουργούν σε ένα μπλοκ τεσσάρων λέξεων 32-bit. Κάθε γύρος ισχύει μία από τις οκτώ 4-bit σε 4-bit S-box 32 φορές παράλληλα. Ο Serpent έχει σχεδιαστεί έτσι ώστε όλες οι λειτουργίες να μπορούν να εκτελεστούν παράλληλα, χρησιμοποιώντας 32 bit. Αυτό μεγιστοποιεί τον παραλληλισμό, επίσης επιτρέπει τη χρήση της εκτεταμένης εργασίας κρυπτανάλυσης που πραγματοποιείται στον DES. Ο αλγόριθμος Serpent cipher είναι δημόσιος και δεν έχει κατοχυρωθεί με δίπλωμα ευρεσιτεχνίας. Δεν υπάρχουν περιορισμοί ή επιβαρύνσεις σχετικά με τη χρήση του. Ως αποτέλεσμα, ο καθένας είναι ελεύθερος να ενσωματώσει τον Serpent στο λογισμικό (ή υλικό υλοποιήσεις) του χωρίς να πληρώνουν τέλη αδείας. Ο αλγόριθμος Serpent περιλαμβάνει 32 κύκλους μετασχηματισμών. Στον αλγόριθμο προσδιορίζεται μία αρχική και μία τελική μετάθεση, οι οποίες διευκολύνουν εναλλακτικούς τρόπους λειτουργίας. Σε καθέναν από τους 32 κύκλους περιλαμβάνονται τρία επιμέρους επίπεδα μετασχηματισμών: η πράξη XOR με το υποκλειδί, 32 παράλληλες εφαρμογές ενός από τα 8 S-boxes και ένας γραμμικός μετασχηματισμός. 26

28 2 ΜΕΡΙΚΩΣ ΚΑΙ ΠΛΗΡΩΣ ΔΙΑΧΡΟΝΙ- ΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 2.1 Εισαγωγή Σε αυτό το κεφάλαιο θα γίνει ανάλυση των γνωστών τεχνικών που διέπουν τις μερικώς και πλήρως διαχρονικές δομές δεδομένων. Η ανάλυση θα γίνει βάση της εργασίας [20]. Οι κοινές δομές δεδομένων είναι εφήμερες, με την λογική ότι μια αλλαγή στην δομή καταστρέφει την παλιά εκδοχή, αφήνοντας μόνο την νέα εκδοχή διαθέσιμη προς χρήση. Σε αντίθεση, μια διαχρονική δομή επιτρέπει την πρόσβαση σε οποιαδήποτε εκδοχή, παλιά ή καινούρια, οποιαδήποτε στιγμή. Η μερικώς διαχρονική σημαίνει πως κάθε λειτουργία ενημέρωσης εφαρμόζεται στην νεότερη εκδοχή. Ο Overmars[23] μελέτησε τρεις απλούς αλλά γενικούς τρόπους απόκτησης μερικής διαχρονικότητας. Μια μέθοδος είναι η ρητή αποθήκευση κάθε έκδοσης, αντιγράφοντας ολόκληρη την εφήμερη δομή μετά από κάθε ενημέρωση. Αυτό έχει ως κόστος Ω(n) χρόνο και χώρο ανά ενημέρωση. Μια εναλλακτική μέθοδος είναι να μην γίνει η αποθήκευση καμίας έκδοσης αλλά αντιθέτως να γίνει αποθήκευση ολόκληρης της αλληλουχίας ενημερώσεων, ανακατασκευάζοντας έτσι την υφιστάμενη έκδοση από το μηδέν, κάθε φορά που πραγματοποιείται πρόσβαση. Αν η αποθήκευση μιας ενημέρωσης χρειάζεται Ο(1) χώρο, τότε αυτή η μέθοδος χρησιμοποιεί μόνο Ο(m) χώρο, αλλά η πρόσβαση στην έκδοση i χρειάζεται Ω(i) χρόνο ακόμα και μια ενημέρωση χρειάζεται Ο(1) χρόνο. Μια υβριδική μέθοδος είναι η αποθήκευση ολόκληρης της αλληλουχίας ενημερώσεων και επιπροσθέτως, κάθε k- th έκδοση, για κάποια επιθυμητή κατάλληλη τιμή του k. Η πρόσβαση στην έκδοση Ι προϋποθέτει την ανακατασκευή της από έκδοση k Li/k J, εκτελώντας την κατάλληλη αλληλουχία ενημερώσεων. Αυτή η μέθοδος έχει μια ανταλλαγή χρόνου η οποία εξαρτάται από την k και από τους χρόνους τρεξίματος της εφήμερης πρόσβασης και διεργασιών ανανέωσης. Δυστυχώς οποιαδήποτε επιλογή του k προκαλεί ένα φούσκωμα είτε στον χώρο αποθήκευσης, είτε στον χρόνο πρόσβασης μέσω του παράγοντα m, εάν κάποιος κάνει αιτιολογημένες υποθέσεις σχετικά με την 27

29 αποδοτικότητα των εφήμερων διεργασιών. Ο τρίτος τρόπος προσέγγισης του O- vermars [23] είναι να χρησιμοποιήσει τις δυναμικές τεχνικές των Bentley, Saxe [9] οι οποίες εφαρμόζονται στα λεγόμενα «αποσυντιθέμενα» προβλήματα εύρεσης. Δεδομένου πως μια εφήμερη δομή δεδομένων αντιπροσωπεύει ένα σετ αντικειμένων, στο οποίο η μόνη διεργασία ανανέωσης είναι η εισαγωγή, η μετατροπή σε μια διαχρονική δομή προκαλεί φούσκωμα μέσω ενός λογαριθμικού παράγοντα, τόσο στον χρόνο πρόσβασης όσο και στην χρήση χώρου, αν βέβαια κάποιος κάνει αιτιολογημένες υποθέσεις σχετικά με την αποδοτικότητα των εφήμερων διεργασιών. Αν επιτρέπονται και οι διαγραφές, τότε το «φούσκωμα» είναι πολύ πιο μεγάλο. Αναζητούν (οι συγγραφείς) πιο αποτελεσματικές τεχνικές. Ιδανικά, θα επιθυμούσαν ο χώρος αποθήκευσης που χρησιμοποιείται από την διαχρονική δομή να είναι Ο(1) ανά βήμα ανανέωσης και ο χρόνος ανά διεργασία να αυξάνεται μόνο από ένα αδιάκοπο παράγοντα με το πέρασμα του χρόνου, στην εφήμερη δομή. Ενας λόγος που τα αποτελέσματα του Overmars είναι τόσο φτωχά είναι το γεγονός πως υποθέτει πολύ λίγα πράγματα σχετικά με το βαθύτερη εφήμερη δομή. 28

30 2.2 FAT NODE Η πρώτη ιδέα [20] ήταν να καταγράψουν όλες τις αλλαγές που γινόντουσαν στα πεδία κόμβων, στα ίδια τα πεδία κόμβων, χωρίς να σβήσουν τις παλιές τιμές των πεδίων. Αυτό προϋποθέτει πως εκείνοι θα επιτρέψουν τους κόμβους να μετατραπούν σε αυθαιρέτως παχιούς, π.χ. για να κρατήσουν ένα αυθαίρετο νούμερο τιμών σε κάθε πεδίο. Για μεγαλύτερη ακρίβεια, κάθε κόμβος θα περιέχει τις ίδιες πληροφορίες και πεδία δείκτη όπως και ένας εφήμερος κόμβος (που περιέχει αυθεντικές τιμές πεδίου), παράλληλα με χώρο για ένα αυθαίρετο νούμερο επιπλέων τιμών πεδίου. Κάθε επιπλέον πεδίο τιμής έχει ένα συσχετιζόμενο πεδίο ονόματος και σφραγίδα έκδοσης. Η σφραγίδα έκδοσης υποδεικνύει πως η έκδοση στην ο- ποία το όνομα πεδίου άλλαξε ώστε να έχει μια συγκεκριμένη τιμή. Επιπροσθέτως κάθε παχύς κόμβος έχει την δική του σφραγίδα έκδοσης, η οποία υποδεικνύει την έκδοση στην οποία ο κόμβος δημιουργήθηκε. Αναπαριστούν εφήμερα βήματα ανανέωσης στις παχιές κομβικές δομές όπως παρακάτω: Θεωρήστε ως Ι την διεργασία ανανέωσης. Οταν ένα εφήμερο βήμα ανανέωσης δημιουργεί ένα καινούριο κόμβο, εκείνοι δημιουργούν έναν ανταποκρινόμενο παχύ κόμβο, με σφραγίδα έκδοσης i, ο οποίος περιέχει τις κατάλληλες αρχικές τιμές των πληροφοριών και πεδία δείκτη. Οταν ένα εφήμερο βήμα ανανέωσης αλλάζει ένα πεδίο τιμής σε ένα κόμβο, τότε προσθέτουν την αντίστοιχη νέα τιμή στο αντίστοιχο παχύ κόμβο, μαζί με το όνομα του πεδίου που αλλάζει και μια σφραγίδα έκδοσης του i. Για κάθε πεδίο σε κόμβο, αποθηκεύουν μόνο μια τιμή ανά έκδοση. Οταν αποθηκεύουν ένα πεδίο τιμής, αν υπάρχει ήδη μία τιμή στο ίδιο πεδίο, με την ίδια σφραγίδα έκδοσης, τότε αντικαταστούν την παλιά τιμή. Τα αρχικά πεδία τιμής θεωρούνται πως έχουν την σφραγίδα έκδοσης στον κόμβο που τα περιέχει. (Οι υποθέσεις τους σχετικά με τις λειτουργίες των συνδεδεμένων δομών δεδομένων δεν αποκλείουν την πιθανότητα μιας μοναδικής διεργασίας ανανέωσης σε μία εφήμερη δομή να αλλάξει το ίδιο πεδίο σε ένα κόμβο, παραπάνω από μία φορά. Αν αυτό δεν είναι επιτρεπτό, δεν χρειάζεται να εξεταστεί στην διαχρονική δομή για δύο πεδία τιμών με την ίδια σφραγίδα έκδοσης.) Η διαχρονική δομή που βγαίνει ως αποτέλεσμα, έχει όλες τις εκδόσεις της 29

31 εφήμερης δομής ενσωματωμένες σε αυτή. Πλοηγούνται μέσα από τις διαχρονικές δομές όπως ακολουθεί. Οταν ένα εφήμερο βήμα πρόσβασης που έχει εφαρμοστεί στην έκδοση i, προσχωρεί το πεδίο f ενός κόμβου, τότε εκείνοι βάζουν την τιμή στο αντίστοιχο παχύ κόμβο του οποίου το όνομα πεδίου είναι f, επιλέγοντας ανάμεσα από πολλές τέτοιες τιμές, εκείνη με την μέγιστη σφραγίδα έκδοσης που δεν είναι μεγαλύτερη όμως του i. Χρειάζονται επίσης την βοηθητική δομή δεδομένων ώστε να αποθηκεύσουν δείκτες πρόσβασης για τις διάφορες εκδόσεις. Αυτή η δομή αποτελείται από μια παράταξη δεικτών για κάθε όνομα δείκτη πρόσβασης. Μετά την διεργασία ανανέωσης i, αποθηκεύουν τις τρέχουσες τιμές των δεικτών πρόσβασης στις i-οστής θέσεις εκείνων των παρατάξεων πρόσβασης. Με αυτή την δομή, η εισαγωγή πρόσβασης σε οποιαδήποτε έκδοσης χρειάζεται Ο(1) χρόνο. Ο μοναδική σκοπιμότητα των κόμβων να έχουν σφραγίδες έκδοσης, είναι να είναι σίγουρο πως κάθε κόμβος θα περιέχει μόνο μια τιμή ανά πεδίο ονόματος, ανά έκδοση. Αυτές οι σφραγίδες δεν χρειάζονται αν υπάρχει κάποιος άλλος μηχανισμός, ο οποίος θα παρακολουθεί την ώρα της διεργασίας ανανέωσης i, τις νεότερες τιμές πεδίου κόμβων που δημιουργήθηκαν κατά την διάρκεια της ενημέρωσης i. Με σκοπό να πλοηγηθούν ανάμεσα στην δομή, αρκεί να θεωρήσουν κάθε αρχικό πεδίο τιμής σε ένα κόμβο, πως είναι σαν να έχει μηδενική σφραγίδα έκδοσης. Στο σχήμα 6 φαίνεται ένα παράδειγμα αυτής της τεχνικής. Η μέθοδος του παχύ κόμβου εφαρμόζεται σε οποιαδήποτε συνδεδεμένη χρονικά δομή και χρησιμοποιεί μόνο Ο(1) χώρο ανά εφήμερο βήμα ανανέωσης στην χειρότερη περίπτωση, αλλά έχει δύο μειονεκτήματα. Πρώτον, οι παχείς κόμβοι πρέπει να εκπροσωπούνται από συνδεδεμένες συλλογές κόμβων συγκεκριμένου μεγέθους. Αυτό δεν προκαλεί κάποια θεμελιακή δυσκολία αλλά περιπλέκει την εκτέλεση. Δεύτερον, η δράση επιλογής ποιου δείκτη να ακολουθήσει σε έναν παχύ κόμβο, την ώρα που αναπαριστά ένα βήμα πρόσβασης, χρειάζεται πολλά περισσότερα από συνεχή χρόνο, Αν οι τιμές ενός πεδίου σε ένα παχύ κόμβο ταξινομηθούν ανά σφραγίδα έκδοσης και αποθηκευθούν σε ένα δυαδικό δέντρο αναζήτησης, αναπαριστώντας μία εφήμερη πρόσβαση ή ανανέωση, τότε το βήμα χρειάζεται Ο(logm) χρόνο. Αυτό σημαίνει πως υπάρχει ένας λογαριθμικός παράγοντας φουσκώματος στους χρόνους διεργασιών πρόσβασης και ανανέωσης πάνω από τους χρόνους τους στην δομή. 30

32 Σχήμα 6: Παράδειγμα τεχνικής παχύ κόμβου Αν και οι παχείς κόμβοι χρειάζονται κατά γενική ομολογία να είναι διαθέσιμοι να κρατούν/περιέχουν πολλούς αυθαίρετους δείκτες, αυτό δεν είναι αληθές για την εφαρμογή δυαδικού δέντρου που συζητήθηκε πιο πάνω αν η εισαγωγή είναι η μοναδική διεργασία ανανέωσης. Σε αυτή την περίπτωση κάθε παχύς κόμβος χρειάζεται μόνο να περιέχει ένα αντικείμενο και δύο δείκτες, έναν αριστερό δείκτη και έναν δεξί δείκτη, ο καθένας με σφραγίδα έκδοσης. 31

33 2.3 PATH COPYING Η αντιγραφή μονοπατιού κάνει ένα αντίγραφο όλων των κόμβων στο μονοπάτι το οποίο περιέχει τον κόμβο πουθέλουμε να κάνουμε ένθεση ή διαγραφή. Στη συνέχεια πρέπει να γίνει αλλαγή προς τα πίσω στη δομή δεδομένων: όλοι οι κόμβοι που δείχνουν στην παλιά έκδοση κόμβων πρέπει να τροποποιηθούν ώστε να οδηγούν στο νέο κόμβο αντ άυτού. Αυτές οι τροποποιήσεις προκαλούν περισσότερες αλλαγές προς τα πίσω, και ούτω καθεξής, μέχρι να φτάσουμε στη ρίζα. Διατηρείται σε πίνακας οι σειρά από ρίζες βάση της σφραγίδας χρόνου. Στο σχήμα φαίνεται η λειτουργία της τεχνικής αυτής. Σχήμα 7: Παράδειγμα τεχνικής αντιγραφής μονοπατιού Η πολυπλοκότητα της αντιγραφής μνοπατιού για m τροποποιήσεις, αυτή κοστίζει Ο (log m) χρόνο αναζήτησης. Ο Χρόνος Τροποποίησης και ο χώρος οριοθετείται από το μέγεθος της δομής, δεδομένου ότι μία και μόνο τροποποίηση μπορεί να προκαλέσει ολόκληρη τη δομή πρέπει να αντιγραφτεί. Αυτό είναι Ο (m) για μία ενημερωμένη έκδοσης, και ως εκ τούτου έτσι Ο (n n) χρόνος προεπεξεργασίας. 32

34 2.4 NODE COPYING Εξαλείφουν τα μειονεκτήματα των παχεών κόμβων με την δεύτερη τους ιδέα, την αντιγραφή κόμβων. Επιτρέπουν στους κόμβους στην διαχρονική δομή να περιέχουν μόνο ένα καθορισμένο νούμερο τιμών πεδίου. Οταν τους τελειώνει ο χώρος σε ένα κόμβο, τότε δημιουργούν ένα νέο αντίγραφο του κόμβου, ο οποίος περιέχει μόνο την νεότερη τιμή σε κάθε πεδίο. Πρέπει επίσης να αποθηκεύσουν δείκτες στο νέο αντίγραφο σε όλους τους προκατόχους του αντιγραμμένου κόμβου, στην νεότερη έκδοση. Εάν δεν υπάρχει χώρος σε ένα προκάτοχο για έναν τέτοιο δείκτη, τότε πρέπει να αντιγραφεί και ο προκάτοχος. Παρόλα αυτά αν υποθέσουν πως η βαθύτερη εφήμερη δομή έχει κόμβους συνεχώς bounded in-degree και επιτρέψουν επιπλέον επαρκή χώρο σε κάθε κόμβο της διαχρονικής δομής, τότε μπορούν να τους αντλήσουν ένα Ο(1) δεσμό στην ποσότητα κόμβων που αντιγράφηκαν και στον χρόνο που χρειάστηκε ανά βήμα ανανέωσης. Για να αναπτύξουν τις λεπτομέρειες αυτής της ιδέας, θα χρησιμοποιήσουν την ακόλουθη ετυμολογία. Θα αποκαλούν ένα κόμβο της βαθύτερης εφήμερης δομής, ως εφήμερο κόμβο και ένα κόμβο της διαχρονικής δομής, διαχρονικό κόμβο. Αν χ είναι ο εφήμερος κόμβος που υπάρχει στην έκδοση i της εφήμερης δομής, τότε η έκδοση i του χ είναι χ μαζί με όλες τις τιμές πεδίου στην έκδοση i της δομής. Λόγω αυτού, θεωρούν πως ένας εφήμερος κόμβος περνάει από διάφορες εκδόσεις καθώς τα πεδία του αλλάζουν. Θα δηλώσουν πως χ ένας διαχρονικός κόμβος που αντιστοιχεί σε έναν εφήμερο κόμβο χ. Στην μέθοδο αντιγραφής κόμβων, την οποία θα περιγράψουν, κάθε διαχρονικός κόμβος περιέχει μόνο μια έκδοση κάθε πεδίου πληροφορίας αλλά μπορεί να περιέχει πολλαπλές εκδόσεις δεικτών πεδίου. (Άλλες παραλλαγές της μεθόδου, που επιτρέπουν πολλαπλές εκδόσεις πεδίων πληροφοριών, διατυπώνονται εύκολα. Ας είναι το d το νούμερο πεδίων δεικτών σε ένα εφήμερο κόμβο και ας είναι το p το μέγιστο νούμερο προκατόχων ενός εφήμερου κόμβου σε οποιαδήποτε έκδοση. Υποθέτουν πως το π είναι συνεχές. Κάθε διαχρονικός κόμβος θα περιέχει d + p + e + 1 πεδία δείκτη, οπού το e είναι επαρκώς μεγάλη συνεχής, ώστε να επιλεχθεί αργότερα. Από αυτά τα πεδία, τα d είναι τα ίδια όπως τα πεδία δείκτη σε 33

35 ένα εφήμερο κόμβο και περιέχουν αυθεντικούς δείκτες, τα p είναι για τους δείκτες προκατόχους, τα e για τους επιπλέον δείκτες και ένα είναι για ένα αντίγραφο δείκτη. Κάθε διαχρονικός κόμβος έχει τα ίδια πεδία πληροφοριών όπως ένας ε- φήμερος κόμβος, αλλά επίσης έχει μία σφραγίδα έκδοσης για τον ίδιο τον κόμβο και ένα πεδίο ονόματος καθώς και μία σφραγίδα έκδοσης για κάθε επιπλέον δείκτη. Οι αυθεντικοί δείκτες σε ένα κόμβο, θεωρείται ότι έχουν σφραγίδες έκδοσης ίσες με αυτές του κόμβου. Η ανταπόκριση ανάμεσα στην εφήμερη δομή και στην διαχρονική δομή είναι όπως ακολουθεί. Κάθε εφήμερος κόμβος αντιστοιχεί σε ένα σετ επίμονων κόμβων, που ονομάζονται οικογένεια. Τα μέλη αυτής της οικογένειας δημιουργούν μια λίστα, μονά συνδεδεμένα, συνδεδεμένη μέσω του αντιγράφου δεικτών σε α- ύξουσα σειρά ανά σφραγίδα έκδοσης, π.χ., το νεότερο μέλος της οικογένειας είναι τελευταία στην λίστα. Αποκαλούν αυτό το τελευταίο μέλος ζωντανό και τα υπόλοιπα μέλη της οικογένειας νεκρά. Κάθε έκδοση του εφήμερο κόμβου αντιστοιχεί σε ένα μέλος της οικογένειας, αν και διάφορες εκδόσεις του εφήμερο κόμβου μπορούν να αντιστοιχούν στο ίδιο μέλος της οικογένειας. Οι ζωντανοί κόμβοι και τα νεότερα πεδία τιμών τους εκπροσωπούν την νεότερη έκδοση της εφήμερης δομής. Αποκαλούν ζωντανό δείκτη, ένα δείκτη σε μία διαχρονική δομή που εκπροσωπεί ένα δείκτη στην νεότερη έκδοση της εφήμερης δομής. Για να διευκολυνθεί η κομβική αντιγραφή, κάθε ζωντανός δείκτης στην διαχρονική δομή έχει έναν αντίστοιχο αντίστροφο δείκτη, π.χ., εάν ο ζωντανός κόμβος χ περιέχει ένα ζωντανό δείκτη σε ένα ζωντανό κόμβο f, τότε η f περιέχει ένα δείκτη στο χ, αποθηκευμένο σε ένα από τα δικά του p πεδία προκατόχων. Οπως και στην μέθοδο του παχύ κόμβου, χρησιμοποιούν παρατάξεις πρόσβασης, μία για κάθε όνομα δείκτη πρόσβασης, ώστε να αποθηκεύσουν τις διάφορες εκδόσεις των δεικτών πρόσβασης. Ετσι λοιπόν, μπορούν να έχουν πρόσβαση σε ένα κόμβο καταχώρησης σε οποιαδήποτε έκδοση σε Ο(1) χρόνο. Η πλοήγηση ανάμεσα στην διαχρονική δομή είναι ακριβώς ίδια όπως και στην μέθοδο του παχύ κόμβου: για να αναπαραστήσουν ένα βήμα εφήμερης πρόσβασης που εφαρμόζεται στην έκδοση και ακολουθεί τον δείκτη σε ένα πεδίο f ενός εφήμερο κόμβου χ, ακολουθούν τον δείκτη με όνομα πεδίου f στον αντίστοιχο διαχρονικό κόμβο, επιλέγοντας ανάμεσα από διάφορους τέτοιους δείκτες, αυτόν με 34

36 την μέγιστη σφραγίδα έκδοσης που όμως δεν είναι μεγαλύτερη από i. Η αναπαράσταση ενός βήματος εφήμερης πρόσβασης σε μία διαχρονική δομή, χρειάζεται Ο(1) χρόνο. Οταν αναπαριστούν μία διεργασία εφήμερης ενημέρωσης, διατηρούν ένα σετ S κόμβων οι οποίοι έχουν αντιγραφεί. Θεωρείστε την διεργασία ενημέρωσης ως i. Ξεκινούν την αναπαράσταση αυτής της διεργασίας, προετοιμάζοντας το S να είναι άδειο. Αναπαριστούν τα βήματα εφήμερης πρόσβασης όπως περιγράφηκε πιο πάνω. Οταν το εφήμερο βήμα ενημέρωσης δημιουργήσει ένα νέο κόμβο, τότε δημιουργούν ένα αντίστοιχο, καινούριο και συνεχιζόμενο κόμβο με μία σφραγίδα έκδοσης του i και όλους τους αυθεντικούς δείκτες, μηδενικούς. Οταν το εφήμερο βήμα ενημέρωσης αλλάξει ένα πεδίο πληροφορίας σε ένα εφήμερο κόμβο χ, τότε ελέγχουν τον αντίστοιχο διαχρονικό κόμβο Χ. Εάν το χ έχει σφραγίδα έκδοσης i, αλλάζουν απλώς το κατάλληλο πεδίο στο 2. Εάν Χ έχει σφραγίδα έκδοσης μικρότερη του i, αλλά έχει ένα αντίγραφο του c(x)(το οποίο πρέπει να έχει σφραγίδα έκδοσης του i), αλλάζουν το κατάλληλο πεδίο στο c(x). Εάν το Χ έχει σφραγίδα έκδοσης μικρότερης του i αλλά δεν έχει αντίγραφο, τότε δημιουργούν ένα αντίγραφο c(x) του Χ. με την σφραγίδα έκδοσης i, κάνουν το αντίγραφο δείκτη του χ να δείχνει σε εκείνο και το γεμίζουν με τις πιο πρόσφατες τιμές των πεδίων πληροφοριών του χ, τα οποία, εξαιρώντας την νέα τιμή του αλλαγμένου πεδίου, μπορεί να αποκτηθεί από 2. Επίσης προσθέτουν στο c(x), δείκτες που αντιστοιχούν στις πιο πρόσφατες τιμές των πεδίων δείκτη του χ. Αυτό προϋποθέτει την ενημέρωση των αντίστροφων δεικτών και γίνεται όπως ακολουθεί: Υποθέτοντας ότι το Χ περιέχει ένα δείκτη σε ένα κόμβο y ως την πιο πρόσφατη έκδοση του πεδίου f. Αποθηκεύουν σε αυθεντικό πεδίο δείκτη f ενός κόμβου c(x) έναν δείκτη στο y ή στο αντίγραφο c(y) του y εάν το y έχει αντιγραφεί. Διαγράφουν τον δείκτη στο χ σε ένα από τα προκατεχόμενα πεδία του y και αποθηκεύουν έναν δείκτη στο c(x) στο προκατεχόμενο πεδίο του y ή του c(y), όπως είναι απαραίτητο. Μόλις το c(x) έχει όλα του τα αρχικά πεδία δεικτών συμπληρωμένα, προσθέτουν χ στο σετ των S των αντιγραμμένων κόμβων. Η αναπαράσταση ενός βήματος εφήμερης ανανέωσης που αλλάζει ένα πεδίο δείκτη είναι πάνω κάτω σαν την αναπαράσταση ενός βήματος που αλλάζει ένα πεδίο πληροφοριών. Εάν το χ είναι εφήμερος κόμβος, στον οποίο 35

37 η αλλαγή γίνεται, εξετάζουν το αντίστοιχο διαχρονικό κόμβο χ, Εάν το χ έχει σφραγίδα έκδοσης μικρότερη του i αλλά έχει ένα αντίγραφο c(x), τότε αλλάζουν το κατάλληλο αυθεντικό πεδίο δείκτη στο c(x). Εάν το χ έχει σφραγίδα έκδοσης μικρότερη του i, αλλά δεν έχει αντίγραφο, ελέγχουν εάν το x έχει χώρο για έναν επιπλέον δείκτη. Εάν ναι, τότε αποθηκεύουν τον κατάλληλο νέο δείκτη στο x, μαζί με το κατάλληλο όνομα πεδίου και μία σφραγίδα έκδοσης του i. Εάν όχι, δημιουργούν ένα νέο αντίγραφο του c(x) του x, το συμπληρώνουν όπως περιγράφθηκε πιο πάνω και προσθέτουν χ στο S. Κατά την διάρκεια της αναπαράστασης, οποιαδήποτε στιγμή εγκαθιστούν έναν δείκτη σε ένα διαχρονικό κόμβο χ, σιγουρεύονται ότι δείχνει προς ένα ζωντανό κόμβο. Πιο συγκεκριμένα, ένα το δείκτης δείχνει το y αλλά το y έχει ένα αντίγραφο c(y), τοποθετούν μέσα στο χ ένα δείκτη στο c(y) αντί για y. Επίσης, οποιαδήποτε στιγμή γίνεται η εγκατάσταση ενός δείκτη, ενημερώνουν τους αντίστροφους δείκτες κατάλληλα. Μετά την αναπαράσταση όλων των βημάτων της διεργασίας ενημέρωσης, επεξεργάζονται το σετ S ώστε να κάνουν τους ζωντανούς δείκτες να δείχνουν προς τους ζωντανούς κόμβους. Αυτή η επεξεργασία αποτελείται από την επανάληψη του ακόλουθου βήματος, μέχρι το S να αδειάσει. Ενημερώστε τους δείκτες. Α- φαιρέστε κάθε κόμβο y από το S. Για κάθε κόμβο χ που υποδεικνύεται από ένα προκάτοχο δείκτη στο y, βρείτε στο χ το ζωντανό δείκτη στο y. Εάν αυτός ο δείκτης έχει σφραγίδα έκδοσης μικρότερη του i, προσθέστε μία έκδοση i δείκτη από το χ στο c(y), αντιγράφοντας στο όπως περιγράφθηκε παραπάνω εάν δεν υπάρχει χώρος για αυτόν τον δείκτη στο χ. Εάν το χ αντιγραφεί, προσθέστε χ στο S. Οταν εγκαταστείτε δείκτες, ενημερώστε τους αντίστροφους δείκτες κατάλληλα. Για να ολοκληρώσουν την διεργασία ενημέρωσης, αποθηκεύουν τις νεότερες τιμές των δεικτών πρόσβασης στις i θέσεις των διατάξεων πρόσβασης. Τότε είναι έτοιμοι να ξεκινήσουν την επόμενη διεργασία. 36

38 2.5 Πλήρης Διαχρονικότητα Σε αυτή την ενότητα θα ασχοληθούν με τοπρόβλημα της πλήρης διαχρονικότητας, την μετατροπή της εφήμερης δομής σε πλήρως διαχρονική. Με την προσέγγιση του παχύ κόμβου θα μετατρέψουν μία εφήμερη συνδεδεμένη δομή σε πλήρως διαχρονική με κόστος χώρου, στην χειρότερη περίπτωση, Ο(1) ανά βήμα ανανέωσης και ένα κόστος χρόνου Ο(log m) στην χειρότερη περίπτωση, ανά βήμα πρόσβασης ή ανανέωσης. Με μία παραλλαγή της μεθόδου αντιγραφής κόμβου η οποία ονομάζεται διαχωρισμός κόμβου, μπορούν να μετατρέψουν μία εφήμερη συνδεδεμένη δομή συνεχούς φραγμένων εισερχομένων δεικτών, σε πλήρως διαχρονική με κόστος χρόνου απόσβεσης και χώρου Ο(1) και στην χειρότερη περίπτωση Ο(1) κόστος χρόνου ανά βήμα πρόσβασης. Το πρώτο πρόβλημα που αντιμετωπίζουν με την πλήρως διαχρονική δομή είναι πως ενώ οι διάφορες εκδόσεις μίας μερικά διαχρονικής δομής έχουν μία φυσική γραμμική διάταξη, οι εκδόσεις μίας πλήρως διαχρονικής δομής είναι μόνο μερικώς διατεταγμένες. Η μερική διάταξη καθορίζεται από ένα ριζωμένο δέντρο έκδοσης, του οποίου οι κόμβοι είναι εκδόσεις (0 μέχρι m), με έκδοση i και μητρική έκδοση j εάν η έκδοση j αποκτάται μέσω της ανανέωσης της έκδοσης i. Η έκδοση 0 είναι η ρίζα του δέντρου έκδοσης. Η αλληλουχία ανανεώσεων οι οποίες προκαλούν την έκδοση i, αντιστοιχεί με το μονοπάτι του δέντρου έκδοσης από την ρίζα στο i. Δυστυχώς, η έλλειψη μίας γραμμικής διάταξης στις εκδόσεις, κάνει προβληματική την πλοήγηση σε μία πλήρως διαχρονική δομή μέσω αναπαράστασης. Για να εξαλείψουν αυτή την δυσκολία, θα επιβάλλουν μία συνολική διάταξη στις εκδόσεις που συμβαδίζουν με την μερική διάταξη η οποία ορίζεται από το δέντρο έκδοσης. Θα αναπαραστήσουν αυτή την συνολική διάταξη μέσω μίας λίστας εκδόσεων, σε κατάλληλη σειρά. Αυτό το αποκαλούν λίστα έκδοσης. Οταν μία καινούρια έκδοση δημιουργείται, εισάγουν Ι στην λίστα έκδοσης αμέσως μετά τον «γονέα» της (στο δέντρο έκδοσης). Η λίστα που δημιουργείται μέσω του αποτελέσματος, καθορίζει μία προσειρά στο δέντρο έκδοσης, καθώς μπορεί εύκολα να αποδειχθεί μέσω επαγωγής. Αυτό υποδηλώνει πως η λίστα έκδοσης έχει την ακόλουθη καίρια ιδιότητα: για οποιαδήποτε έκδοση i, οι απόγονοι του i στο δέντρο έκδοσης εμφανίζονται δια- 37

39 δοχικά στη λίστα έκδοσης, ξεκινώντας με το i. Θα αναφερθούν στην κατεύθυνση προς την αρχή (front) της λίστας έκδοσης από ένα δεδομένο αντικείμενο ως προς τα αριστερά (leftward) και την κατεύθυνση προς το τέλος (back) της λίστας ως προς τα δεξιά (leftward). Επιπρόσθετα ως προς την διεξαγωγή εισαγωγών στην λίστα έκδοσης, χρειάζονται να είναι ικανοί να προσδιορίσουν, με δεδομένες δύο εκδόσεις i και j, εάν το i προηγείται ή ακολουθεί το j στην λίστα έκδοσης. Το πρόβλημα με την διάταξη λίστας, έχει αναλυθεί στις εξής εργασίες [10, 14, 18, 19, 25]. Εχοντας ασχοληθεί με ένα προκαταρκτικό τρόπο σχετικά με το θέμα της πλοήγησης, θα εξετάσουν πώς να χρησιμοποιούνται οι παχείς κόμβοι για την μετατροπή μίας συνδεδεμένης δομής σε πλήρως διαχρονική. Ουσιαστικά, κάθε παχύς κόμβος περιέχει τα ίδια πεδία όπως και ένας εφήμερος κόμβος (που αποθηκεύει αυθεντικές τιμές πεδίου), καθώς επίσης, χώρο και ένα αυθαίρετο νούμερο επιπλέων τιμών πεδίου, καθένα με ένα όνομα πεδίου και μία σφραγίδα έκδοσης, καθώς και χώρο για την σφραγίδα έκδοσης και τον ίδιο τον κόμβο. Η πλοήγηση μέσα στην διαχρονική δομή είναι ίδια όπως και στην περίπτωση μίας μερικώς διαχρονικής, ε- κτός από το γεγονός πως οι εκδόσεις που συγκρίνονται σε σχέση με την θέση τους στην λίστα έκδοσης, αντί να συγκρίνονται σε σχέση με τις αριθμητικές τιμές τους. Για αυτό, για να βρουν την τιμή που αντιστοιχεί σε αυτό, στο πεδίο f στην έκδοση Ι ενός εφήμερου κόμβου x, βρίσκουν στον παχύ κόμβο x που αντιστοιχεί την x τιμή πεδίου f του οποίου η σφραγίδα έκδοσης είναι δεξιότερα στην λίστα έκδοσης αλλά όχι δεξιά της i. Η ενημέρωση διαφέρει ελάχιστα από αυτό που γίνεται στην περίπτωση μίας μερικώς διαχρονικής δομής, διότι η εισαγωγή νέων εκδόσεων στην μέση της έκδοσης, το κάνει γενικότερα απαραίτητο να γίνει αποθήκευση δύο ενημερωμένων τιμών πεδίου ανά βήμα ανανέωσης, αντί για ένα. Ξεκινούν την διεργασία ενημέρωσης i προσθέτοντας i στην λίστα έκδοσης όπως περιγράφθηκε πιο πάνω. Οταν ένα εφήμερο βήμα ανανέωσης δημιουργεί έναν νέο εφήμερο κόμβο, δημιουργούν ένα αντίστοιχο νέο παχύ κόμβο με σφραγίδα έκδοσης i, συμπληρώνοντας τα αρχικά πεδία του κατάλληλα. Υποθέστε πως ένα εφήμερο βήμα ενημέρωσης αλλάζει το πεδίο f ενός εφήμερου κόμβου x. Το i+ δηλώνει την έκδοση μετά το i στην λίστα έκδοσης, εάν βέβαια, υπάρχει τέτοια έκδοση. Για να αναπαραστήσουν το βήμα ενημέρωσης, εντοπίζουν στο παχύ κόμβο x που αντιστοιχεί στις x τιμές 38

40 v 1 και v 2 του πεδίου f, ώστε το v 1 να έχει δεξιότερη σφραγίδα έκδοσης και όχι δεξιά του i και το v 2 να έχει αριστερότερη σφραγίδα έκδοσης δεξιά του i (στην λίστα έκδοσης). Ας είναι το i 1 και το i 2 να είναι οι σφραγίδες έκδοσης του v 1 και του v 2 αντίστοιχα. Υπάρχουν δύο περιπτώσεις: 1. Εάν i 1 = i, αντικαθιστούν το v 1, με την κατάλληλη νέα τιμή του πεδίου f. Εάν επιπρόσθετα το i είναι η σφραγίδα έκδοσης του κόμβου x, το v 1 είναι μηδενικός δείκτης και το i+ υπάρχει, αποθηκεύουν στο x έναν μηδενικό δείκτη με όνομα πεδίου f και σφραγίδα έκδοσης i+, εκτός και αν το x περιέχει ήδη έναν τέτοιο μηδενικό δείκτη. 2. Εάν i 1 < i, προσθέτουν την κατάλληλη νέα τιμή πεδίου f στον κόμβο x, με ένα όνομα πεδίου f και σφραγίδα έκδοσης i. Επιπρόσθετα εάν i 1 < i και i+ < i 2 (ή εάν το i+ υπάρχει αλλά δεν υπάρχει το i 2 ), προσθέτουν x σε ένα νέο αντίγραφο του v 1, με όνομα πεδίου f και σφραγίδα έκδοσης i+. Αυτό εγγυάται πως η νέα τιμή πεδίου f θα χρησιμοποιηθεί μόνο στην έκδοση i και πως η τιμή v 1, θα χρησιμοποιείται στις εκδόσεις από i+ και άνω αλλά όχι περιέχοντας την i 2, στην λίστα έκδοσης. Στο τέλος της διεργασίας ενημέρωσης, αποθηκεύουν τις τρέχουσες τιμές των δεικτών πρόσβασης στις i-οστής θέσεις των παρατάξεων πρόσβασης. (Οι τρέχουσες τιμές των δεικτών πρόσβασης είναι εκείνες των γονεικών του ι στο δέντρο έκδοσης, όπως τροποποιήθηκε κατά την διάρκεια της διεργασίας ενημέρωσης. Ας είναι το v μία τιμή σε ένα πεδίο f έχοντας σφραγίδα έκδοσης i σε ένα παχύ κόμβο x. Ορίζουν το έγκυρο διάστημα του v να είναι το διάστημα των εκδόσεων στην λίστα έκδοσης από το i μέχρι και πιο πάνω αλλά χωρίς να περιέχει την επόμενη σφραγίδα έκδοσης μιας τιμής πεδίου f στο x, ή πιο πάνω και περιέχοντας την τελευταία έκδοση από την λίστα έκδοσης, εάν δεν υπάρχει τέτοια επόμενη σφραγίδα έκδοσης. Τα έγκυρα διαστήματα των τιμών ενός πεδίου f σε ένα παχύ κόμβο x, διχοτομούν το διάστημα των εκδόσεων, από την σφραγίδα έκδοσης x μέχρι και την τελευταία έκδοση. Η ορθότητα της μεθόδου του παχύ κόμβου μπορεί εύκολα να καθιερωθεί χρησιμοποιώντας μία απόδειξη μέσω επαγωγής στον αριθμό βημάτων 39

41 ενημέρωσης, ώστε να δείξει πως η κατάλληλη αντιστοιχία ανάμεσα στην εφήμερη δομή και στην διαχρονική δομή, διατηρείται. Η μέθοδος του παχύ κόμβου παρέχει ολική διαχρονικότητα με την ίδια ασυμπτωματική αποδοτικότητα όπως και παρέχει μερική διαχρονικότητα. Ουσιαστικά, το κόστος χώρου ανά βήμα ενημέρωσης, στην χειρότερη περίπτωση, είναι Ο(1) και στην χειρότερη περίπτωση, το κόστος χρόνου ανά βήμα ανανέωσης ή πρόσβασης είναι Ο(log m), προϋποθέτοντας πως κάθε σετ τιμών πεδίου σε ένα παχύ κόμβο είναι αποθηκευμένο σε ένα δέντρο αναζήτησης, που ορίζεται από την σφραγίδα έκδοσης. Ενα πιο ακριβές όριο είναι Ο(log h) χρόνος ανά πρόσβαση η βήμα ε- νημέρωσης, οπού η είναι ο μεγαλύτερος αριθμός αλλαγών που γίνονται σε έναν εφήμερο κόμβο. Οπως και στην περίπτωση της μερικής διαχρονικότητας, η μέθοδος του παχύ κόμβου εφαρμόζεται ακόμα και αν τους εισερχόμενους δείκτες των εφήμερων κόμβων δεν είναι δεσμευμένα από μια συνεχή. Βελτιώνουν πάνω στην μέθοδο του παχύ κόμβου, χρησιμοποιώντας μία παραλλαγή της αντιγραφής κόμβου. Θα αποκαλέσουν την παραλλαγή αυτή, διαχωρισμό κόμβου, εφόσον μοιάζει με την μέθοδο του διαχωρισμού κόμβου που χρησιμοποιήθηκε για να πραγματοποιηθούν εισαγωγές στα Β-δέντρα. Η βασική διαφορά ανάμεσα στον διαχωρισμό κόμβου και στην αντιγραφή κόμβου, είναι πως ο πρώτος, όταν ένας κόμβος υπερχειλίζει, ένα νέο αντίγραφο δημιουργείται και χονδρικά, περίπου οι μισοί επιπλέον δείκτες μετακινούνται από το παλιό αντίγραφο στο καινούριο, αφήνοντας έτσι χώρο στα παλιά και στα νέα αντίγραφα για μέλλουσες ενημερώσεις, εξίσου. Η αποδοτική εκτέλεση του διαχωρισμού κόμβου είναι πιο περίπλοκη από την αντιγραφή κόμβου, κυρίως επειδή η σωστή συντήρηση των αντίστροφων δεικτών, χρειάζεται φροντίδα. Επίσης, οι δείκτες πρόσβασης για παλιές εκδόσεις, πρέπει κάποιες φορές να αλλαχθούν. Αυτό απαιτεί την συντήρηση των αντίστροφων δεικτών για δείκτες πρόσβασης καθώς επίσης και για τους δείκτες κόμβου προς κόμβο. 40

42 3 Προηγούμενες Εργασίες 3.1 Order Preserving Encryption for Numeric Data Η κρυπτογράφηση είναι μια καθιερωμένη τεχνολογία για την προστασία των ευαίσθητων δεδομένων. Ωστόσο, όταν κρυπτογραφούνται τα δεδομένα δεν μπορούν πλέον να διασταυρωθούν εύκολα πέρα από ακριβείς αντιστοιχίες. Στην εργασία [7] παρουσιάζουν ένα σύστημα κρυπτογράφησης που επιτρέπει κάθε λειτουργία σύγκρισης να γίνεται άμεσα στα κρυπτογραφημένα δεδομένα. Τα δεδομένα που έρχονται από μια σειρά αναζήτησης είναι ακριβή και δεν υπάρχουν εσφαλμένα αρχεία. Το σχέδιο που δίνεται έχει σχεδιαστεί για να εφαρμοστεί σε περιβάλλοντα που ο επιτιθέμενος μπορεί να αποκτήσει πρόσβαση σε μια κρυπτογραφημένη βάση, αλλά δεν έχει πληροφορίες για τον προηγούμενο τομέα, όπως η κατανομή των τιμών και δεν μπορεί να κρυπτογραφήσει ή να αποκρυπτογραφήσει αυθαίρετες τιμές της επιλογής του. Η κρυπτογράφηση είναι ισχυρή κατά την εκτίμηση της πραγματικής αξίας σε τέτοια περιβάλλοντα. Η βασική ιδέα του OPES είναι να λάβει σαν είσοδο προβλέπεται διανομή στόχου από ένα χρήστη και μεταμορφώσει τις απλού κειμένου τιμές κατά τέτοιο τρόπο ώστε η μετατροπή διατηρεί την τάξη, ενώ τα μετασχηματισμένες τιμές ακολουθούν την κατανομή στόχου. Για να κατανοήσουμε τη διαίσθηση πίσω από τον αλγόριθμο OPES, εξετάστε το ακόλουθο σχήμα κρυπτογράφησης: Δημιουργούν P μοναδικές τιμών από μίαν καθορισμένο από το χρήστη διανομή στόχου και τους ταξινομούν σε έναν πίνακα Τ. Η κρυπτογραφημένη τιμή c i της p i Στη συνέχεια δίνεται από c i = T [i]. Δηλαδή, η i τιμή απλού κειμένου στην ταξινομημένη λίστα P τιμών απλού κειμένου είναι κρυπτογραφημένη σε αριθμό i στην ταξινομημένη λίστα P τιμών που λαμβάνονται από την κατανομή στόχου. Η αποκρυπτογράφηση των c i απαιτεί μια αναζήτηση εντός ενός αντίστροφου χάρτη. Εδώ Τ είναι το κλειδί κρυπτογράφησης που πρέπει να κρατηθεί μυστικό. Σαφώς, αυτό το καθεστώς δεν αποκαλύπτει οποιαδήποτε πληροφορία σχετικά με τις αρχικές τιμές, εκτός από τη διάταξη, δεδομένου ότι οι κρυπτογραφημένες τιμές παρήχθησαν αποκλειστικά από την καθορισμένη από τον χρήστη διανομή 41

43 στόχου, χωρίς να χρησιμοποιούν οποιαδήποτε πληροφορία από την αρχική κατανομή. Ακόμα και αν ένας αντίπαλος έχει όλες τις κρυπτογραφημένες τιμές, δεν μπορεί να συναγάγει το Τ από αυτές τις τιμές. Με την κατάλληλη επιλογή διανομής στόχου, ο αντίπαλος μπορεί να αναγκαστεί να κάνει μεγάλα λάθη εκτίμησης. Αυτό το απλό σύστημα, ενώ διδακτικό, έχει τις ακόλουθες αδυναμίες για να μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση μεγάλων βάσεων δεδομένων: Το μέγεθος του κλειδιού κρυπτογράφησης είναι δύο φορές τόσο μεγάλο όσο ο αριθμός των μοναδικών τιμών στη βάση δεδομένων. Οι ενημερώσεις είναι προβληματικές. Κατά την προσθήκη μιας νέας τιμής, όπου p i < p < p i + 1 θα πρέπει να επανακρυπτογραφήσουν όλα τα p i, j > i Ο Opes έχει σχεδιαστεί έτσι ώστε το αποτέλεσμα της κρυπτογράφησης είναι στατιστικά δυσδιάκριτο απο εκείνο που λαμβάνεται χρησιμοποιώντας το ανωτέρω σχήμα, παρέχοντας έτσι το ίδιο επίπεδο ασφάλειας, ενώ αφαιρούν τις ελλείψεις του. Οταν κρυπτογραφούν μια βάση δεδομένων P, ο OPES κάνει χρήση όλων των plaintext τιμών που υπάρχουν στο p, και χρησιμοποιεί μια βάση δεδομένων των τιμών του δείγματος από την κατανομή-στόχου. Μόνο η κρυπτογραφημένη βάση δεδομένων C είναι αποθηκευμένο στο δίσκο. Ταυτόχρονα, ο OPES δημιουργεί επίσης κάποιες βοηθητικές πληροφορίες Κ, η οποίες χρησιμοποιούν το σύστημα της βάσης δεδομένων για την αποκρυπτογράφηση κωδικοποιημένων τιμών ή την κρυπτογράφηση νέες τιμών. Ετσι το Κ εξυπηρετεί τη λειτουργία του κλειδιού κρυπτογράφησης. Αυτές οι βοηθητικές πληροφορίες διατηρούνται κρυπτογραφημένες χρησιμοποιώντας συμβατικές τεχνικές κρυπτογράφησης. Ο OPES λειτουργεί σε τρία στάδια: Μοντέλο : η είσοδος και η κατανομή στόχου μοντελοποιούνται ως κομμάτια γραμμικού sp-line. Ισοπέδωση : η plaintext database P μετατρέπεται σε μια επίπεδη βάση δεδομένων F όπου οι τιμές στην F είναι ομοιόμορφα κατανεμημένες. Μετασχηματισμός : Η επίπεδη βάση δεδομένων F μετασχηματίζεται στην 42

44 κρυπτογραφημένη βάση δεδομένων C όπου οι τιμές στο C είναι κατανεμημένες με βάση την κατανομή στόχου. Σημειώνουν ότι, p i < p j => f i < f j => c i < c j Μοντελοποίηση των κατανεμητών Οι τεχνικές την μοντελοποίηση κατανομών δεδομένων έχουν μελετηθεί εκτενώς στη βιβλιογραφία των βάσεων δεδομένων, στο πλαίσιο της εκτίμησης του κόστους των διαφορετικών σχεδίων εκτέλεσης αναζήτησης. Οπως αναφέρθηκε, υπάρχουν δύο μεγάλες κατηγορίες τεχνικών : ιστόγραμμα με βάση ότι η σύλληψη των στατιστικών πληροφοριών σχετικά με την διανομή μέσω των μετρητών για ένα συγκεκριμένο αριθμό κάδων, καθώς και για τις παραμέτρους ενός δεδομένου τύπου συνάρτησης. Πειραματίστηκαν με διάφορες τεχνικές ιστογράμματος που βασίζονται, συμπεριλαμβανομένων των ίσο-βάθους, ίσο-πλάτους, και οι κυματοειδείς μέθοδοι, αλλα διαπίστωσαν ότι οι πεπλατυσμένες τιμές που ελήφθησαν δεν ήταν ομοιόμορφα κατανεμημένες, εκτός εάν ο επιλεγμένος αριθμός κάδων είναι υπερβολικά μεγάλος. Η κύρια πηγή του προβλήματος ήταν η παραδοχή ότι η κατανομή είναι ομοιόμορφη σε κάθε κάδο. Η παραμετρία είναι κατάλληλη για διανομές κλειστής μορφής, αλλά οδηγεί σε κακές εκτιμήσεις για τις παράτυπες κατανομές, η οποία αναμένουν να είναι ο κανόνας στην εφαρμογή τους. Αυτοί ως εκ τούτου, κατέφυγαν σε ένα συνδυασμό των παραμετρικών τεχνικών ιστογράμματος. Πρωτα κατακερματίζουν τις τιμές δεδομένων σε κάδους και στη συνέχεια το μοντέλο της κατανομής σε κάθε κάδο ως γραμμική spline. Το spline για έναν κάδο [p i, p h ) είναι απλά η γραμμή που συνδέει τις πυκνότητες στα δύο τελικά σημεία του κάδου. Ισοπέδωση Η γενική ιδέα της Ισοπέδωσης είναι να αντιστοιχίστεί ένας plaintext κάδος Β σε έναν κάδο B f στο πεπλατυσμένο χώρο κατά τέτοιο τρόπο ώστε το μήκος του B f να είναι ανάλογο με τον αριθμό των τιμών που υπάρχουν στο B. Ετσι, οι πυκνοί plaintext κάδοι θα τεντωθούν και οι αραιοί κάδοι θα συμπιεστούν. Οι τιμές μέσα σε ένα κάδο χαρτογραφούνται κατά τέτοιο τρόπο ώστε η πυκνότητα να είναι ομοιόμορφη σε επίπεδους κάδους Δεδομένου ότι οι πυκνότητες είναι ομοιόμορφες 43

45 στο inter-bucket και intra-bucket, οι τιμές στην πεπλατυσμένη βάση δεδομένων θα πρέπει να κατανέμονται ομοιόμορφα. Ορίζουμε την επόμενη λειτουργία χαρτογράφησης που επιτυγχάνει αυτούς τους στόχους. Μετασχηματίσμος Το στάδιο μετασχηματισμού είναι σχεδόν μια κατοπτρική εικόνα του σταδίου Ισοπέδωσης. Λαμβάνοντας υπόψη ένα ομοιόμορφα κατανεμημένο σύνολο ισοπεδωμένων τιμών, θέλουν να τους αντιστοιχίσουν στην κατανομή-στόχου. Ενας ισοδύναμος τρόπος σκέψης για το πρόβλημα είναι ότι θέλουμε να ισοπεδώσουμε την κατανομή-στόχου σε μια ομοιόμορφη κατανομή, διασφαλίζοντας παράλληλα ότι η διανομή λαμβάνεται έτσι «τυπικά» με την ομοιόμορφη κατανομή και με την ισοπέδωση της plaintext διανομής. Εχουμε ήδη στη διάθεσή τους κάδους για την plaintext κατανομή. Στάδιο 1. Bucketize τη κατανομή - στόχου, ανεξάρτητα από την plaintext κατανομή. Στάδιο 2. Στη συνέχεια αλλάζουν την κλίμακα της κατανομής στόχου με τέτοιο τρόπο ώστε το πλάτος της ομοιόμορφης κατανομής που παράγεται από την ισοπέδωση της κλίμακας κατανομής - στόχου γίνεται ίσο με το πλάτος της ομοιόμορφης κατανομής που παράγεται από την ισοπέδωση της plaintext κατανομής. Στάδιο 3. Θα αναφέρονται στο εξής με την διαβαθμισμένη κατανομή - στόχου ως η κρυπτογραφημένη κατανομή. Επεκτάσεις, ένας IEEE-754 ακρίβειας αριθμός κινητής υποδιαστολής εκπροσωπείται σε 32 bits. Η ερμηνεία των θετικών τιμών κινητής υποδιαστολής απλά ως ακέραιοι 32-bit διατηρεί την τάξη. Ετσι, ο opes μπορεί να χρησιμοποιηθεί άμεσα για την κρυπτογράφηση θετικών τιμών κινητής υποδιαστολής. Αρνητικές τιμές κινητής υποδιαστολής, ωστόσο, έχουν μια αντίστροφη σειρά, όταν ερμηνεύονται ως ακέραιοι. Παρ όλα αυτά, η σειρά τους μπορεί να διατηρηθεί με την αφαίρεση αρνητικών τιμών από τη μεγαλύτερη αρνητική. Η μονάδα ερωτημάτων κάνει αυτή την προσαρμογή στις εισερχόμενες σταθερές του ερωτήματος και η προσαρ- 44

46 μογή αναιρείται πριν επιστρέψει τα αποτελέσματα του ερωτήματος. Ενα παρόμοιο σύστημα χρησιμοποιείται για την κρυπτογράφηση τιμών κινητής υποδιαστολής διπλής ακρίβειας 64-bit Ενας αντίπαλος μπορεί να χρησιμοποιήσει τα αντίγραφα για να μαντέψει τη διανομή ενός τομέα, ιδιαίτερα αν η κατανομή είναι εξαιρετικά ασύμμετρη. Ομοίως, εάν ο αριθμός των διακριτών τιμών σε έναν τομέα είναι μικρός (π.χ., ημέρα του μήνα), μπορεί να χρησιμοποιηθεί για να μαντέψει τον τομέα. Η λύση για τα δύο αυτά προβλήματα είναι να χρησιμοποιήσετε ένα homophonic σύστημα στο οποίο μια plaintext τιμή αντιστοιχίζεται σε ένα φάσμα κρυπτογραφημένων τιμών. Η βασική ιδέα είναι να τροποποιήσει την Ισοπέδωση (στάδιο 1), ως ακολούθως. Πρώτον, κατά τον υπολογισμό των παραγόντων κλίμακας για κάθε κάδο χρησιμοποιώντας το περιορισμό ότι ο κάδος πρέπει να αντιστοιχίζεται σε ένα χώρο ανάλογο με τον αριθμό των σημείων στο κάδο, συμπεριλαμβάνουν τα αντίγραφα του αριθμού των σημείων. Ετσι, οι περιοχές όπου τα αντίγραφα είναι διαδεδομένα θα απλώνεται αναλογικά, και γειτονικές τιμές plaintext σε αυτές τις περιοχές θα πρέπει να αντιστοιχίζονται με ισοπέδωμένες τιμές που έχουν σχετικά μεγάλη απόσταση μεταξύ τους. Εστω ότι χρησιμοποιώντας τον τρέχοντα αλγόριθμο, μια plaintext τιμή p χαρτογραφείται σε μια τιμή f στον επίπεδο χώρο, και το p + 1 χαρτογραφείται σε f. Οταν κρυπτογράφούν το p, μπορούν τώρα να επιλέξουν τυχαία μια τιμή από το διάστημα [f, f ). Ετσι, οι κρυπτογραφημένες τιμές του p θα διαχέονται ομοιόμορφα στο διάστημα [f, f ). Σε συνδυασμό με την ομοιομορφία intra-bucket που δημιουργούνται από τις γραμμικές splines και την ομοιομορφία μεταξύ κάδου από τους παράγοντες κλίμακας, αυτό θα έχει ως αποτέλεσμα την ομοιόμορφη ισοπεδωμένη κατανομή είναι ομοιόμορφη ακόμη και αν η plaintext διανομή είχε μια ασύμμετρη κατανομή των αντιγράφων. Αυτή είναι η μόνη αλλαγή στον αλγόριθμο, έχοντας κρυμμένα τα διπλότυπα στο στάδιο ισοπεδώσης, καμία αλλαγή δεν είναι απαραίτητη στο στάδιο του μετασχηματισμού. Σύνοψιζοντας, με τη δραματική αύξηση στην ποσότητα των δεδομένων που συλλέγονται και αποθηκεύονται σε βάσεις δεδομένων, έχει γίνει ζωτικής σημασίας η ανάπτυξη αποτελεσματικών τεχνικών για την προστασία των ευαίσθητων δεδομένων από κακή χρήση. Οι μηχανισμοί ελέγχου πρόσβασης που χρησιμο- 45

47 ποιούνται συμβατικά από τα συστήματα βάσεων δεδομένων γίνονται αβοήθητα, αν ένας εισβολέας μπορεί να πάρει τη μη εξουσιοδοτημένη πρόσβαση στα αρχεία της βάσης δεδομένων. Η κρυπτογράφηση μπορεί να χρησιμοποιηθεί για να παρέχει ένα επιπλέον επίπεδο ασφάλειας. Δυστυχώς, η χρήση τυποποιημένων τεχνικών κρυπτογράφησης για το σκοπό αυτό έχει ως αποτέλεσμα την υποβάθμιση της α- πόδοσης του συστήματος βάσης δεδομένων. Η κύρια πηγή του προβλήματος είναι ότι οι συνήθεις τεχνικές δεν διατηρούν την τάξη και, επομένως, οι δείκτες της βάσης δεδομένων, όπως ένα Β-δέντρο δεν μπορεί πλέον να χρησιμοποιηθεί για την απάντηση ερωτημάτων εύρους. 46

48 3.2 Partially Persistent Data Structures of Bound Degree with Constant Update Time Σε αυτή την έρευνα [12] μελετάνε το πρόβλημα της δημιουργίας διαχρονικά φραγμένων βάσεων δεδομένων. Η μέθοδος αντιγραφής κόμβων Driscoll et al παρατείνεται ώστε ενημερώσεις να μπορούν να εκτελεστούν σε σταθερό χρόνο χειρότερης περίπτωσης με το μοντέλο μηχανήματος δείκτη. Το αποτέλεσμα παρουσιάζεται με την χρήση ενός δυναμικού παιχνιδιού στρατηγικής δυο παιχτών με βότσαλα από τους Dietz, Raman σε γραφήματα. Σε αυτή την έρευνα περιγράφουν μια μέθοδο δημιουργίας μερικώς διαχρονικών βάσεων δεδομένων. Μια μερικώς διαχρονική βάση δεδομένων είναι μια βάση δεδομένων στην οποία παλιότερες εκδόσεις της βάσης έχουν αποθηκευτεί και μπορεί πάντα να επιθεωρηθούν. Ωστόσο μόνο οι ποιο καινούργιες εκδόσεις μπορούν να τροποποιηθούν. Οι δομές δεδομένων θα περιγράφουν στο μοντέλο μηχανής δείκτη. Πχ. Αποτελούνται από τα αρχεία με ένα σταθερό αριθμό πεδίων το καθένα περιέχει ένα κομμάτι δεδομένων ή ένα δείκτη προς ένα άλλο αρχείο. Οι δομές δεδομένων μπορούν να προβληθούν ως γραφήματα με φραγμένους εξερχόμενους δείκτες. Στα παρακάτω, ο d υποδηλώνει τους φραγμένους εξερχόμενους δείκτες. Η κύρια υπόθεση είναι ότι οι δομές έχουν φραγμένους και τους εισερχόμενους δείκτες. Εστω ότι ο β τους υποδηλώνει. Δεν ικανοποιούν αυτές τις προϋποθέσεις όλες οι δομές δεδομένων άλλα μπορούν να μετατραπούν για να πληρούν αυτές : Αντικαθιστούν τους κόμβους από συγκλίνοντα δυαδικά ισορροπημένα δέντρα, έτσι ώστε όλα τα πρωτότυπα δείκτες που δείχνουν σε έναν κόμβο τώρα, αντί να δείχνουν τα φύλλα στο δέντρο που υποκαθίσταται στη δομή δεδομένων αντί του κόμβου και να αποθηκεύουν τις αρχικές πληροφορίες του κόμβου στην ρίζα του δέντρου. Η υπόθεση μπορεί τώρα να ικανοποιηθεί αφήνοντας το πολύ ένα σταθερό αριθμό δεικτών να δείχνει στο ίδιο φύλλο. Το μειονέκτημα αυτής της προσέγγισης είναι ότι ο χρόνος για να αποκτήσει πρόσβαση σε ένα κόμβο αυξάνεται από Ο(1) σε Ο(log b v ) όπου b v είναι το αρχικό όριο των φραγμένων εισερχομένων δεικτών του v. Οι κύριοι κανόνες του παιχνιδιού είναι ότι ο παίχτης I μπορεί να προσθέσει 47

49 ένα βότσαλο σε ένα αυθαίρετο κόμβο και ο παίχτης D μπορεί να αφαιρέσει όλα τα βότσαλα από ένα κόμβο παρέχεται τοποθετώντας ένα βότσαλο σε όλους τους προηγούμενους κόμβους. Ο στόχος του παιχνιδιού είναι να βρεθεί μια στρατηγική για τον παίκτη D που μπορεί να εγγυηθεί ότι ο αριθμός των βότσαλων σε όλους τους κόμβους να οριοθετείται από μια σταθερά Μ. Σε αυτή την έρευνα βελτιώνουν το όριο σε Μ = d + 2b με μια απλή διαφοροποίηση της πρωτότυπης στρατηγικής. Στην στατική περίπτωση (όπου το γράφημα δεν αλλάζει) παίρνουμε Μ = d + b. Το παιχνίδι των Dietz, Raman παίζεται σε ένα κατευθυνόμενο γράφημα G = ( V, E ) με φραγμένους εισερχόμενους και εξερχόμενους δείκτες. Χωρίς βλάβη της γενικότητας δεν επιτρέπουν την ύπαρξη του βρόχων και πολλαπλές ακμές. Σε κάθε κόμβο μια σειρά από βότσαλα σχετίζεται συμβολίζεται με Pv. Το δυναμικό παιχνίδι γραφημάτων είναι ένα παιχνίδι που οι δυο παίχτες Ι και D εναλλάσσονται για να παίξουν. Οι κινήσεις που μπορούν να πραγματοποιήσουν είναι οι εξής : Παίχτης Ι : να προσθέτει ένα βότσαλο σε ένα αυθαίρετο κόμβο v του γραφήματος ή καταργήσει μια υπάρχουσα ακμή (v,u) και να δημιουργήσει μια νέα ακμή (v,w) χωρίς να παραβιάσει τον περιορισμό των εισερχομένων δεικτών για w και τοποθετεί ένα βότσαλο στον κόμβο v. Παίχτης D: να μην κάνει τίποτα ή αφαιρέσει όλα τα βότσαλα από έναν κόμβο v και τοποθετήσει ένα νέο βότσαλο σε όλους τους προκατόχους του v. Στην ακόλουθη Zero(v) εκτελεί αυτή τη λειτουργία. Ο στόχος του παιχνιδιού είναι να δείξει ότι υπάρχει μια σταθερά Μ και μια στρατηγική για τον παίκτη Ι, έτσι ώστε ό, τι παίκτης που έχει το μέγιστο αριθμό των βότσαλων σε κάθε κόμβο, μετά την κίνηση του παίκτη D οριοθετείται από Μ. Κατά τη στατική έκδοση του παιχνιδιού ο παίκτης Ι μπορεί να κάνει μόνο τις κινήσεις του 1ου τύπου. Η ύπαρξη στρατηγικής για τον παίκτη D παρουσιάστηκε 48

50 στο 1, αλλά η δεδομένη στρατηγική δεν θα μπορούσε να εφαρμοστεί αποτελεσματικά (π.χ. ο κόμβος v στο (d) δεν θα μπορούσε να βρίσκεται σε χρόνο Ο(1). Θεώρημα 2 (Dietz, Raman) Μια στρατηγική για τον παίχτη D υπάρχει που δημιουργεί M =O(b+d). Περιγράφουν τώρα τη νέα τους στρατηγική για τον παίκτη D. Ξεκινάνε με μερικούς ορισμούς. Εχουν συνδέσει τις ακόλουθες συμπληρωματικές πληροφορίες με το γράφημα 8. Οι άκρες είναι είτε μαύρες ή άσπρες. Οι κόμβοι έχουν το πολύ μια εισερχόμενη λευκή άκρη. Δεν υπάρχουν λευκοί κύκλοι. Οι κόμβοι είναι είτε μαύροι είτε άσπροι. τουλάχιστον μια εισερχόμενη λευκή άκρη. Κόμβοι που είναι άσπροι έχουν Οι ορισμοί δίνουν με φυσικό τρόπο μια αύξηση σε ένα μέρος των κόμβων σε συνιστώσες: δύο κόμβους που συνδέονται με μια λευκή άκρη ανήκουν στην ίδια συνιστώσα. Φαίνεται εύκολα ότι μια συνιστώσα είναι ένα δέντρο με ρίζα από λευκές άκρες με μια μαύρη ρίζα και όλους τους άλλους κόμβους λευκούς. Ενας ενιαίος μαύρος κόμβος χωρίς παρακείμενη λευκή άκρη είναι επίσης μια συνιστώσα. Ονομάζουμε αυτό ένα απλό μέρος. Το σχήμα 8 είναι ένα παράδειγμα ενός γραφήματος με δύο απλές συνιστώσες και ένα μη απλό. Σχήμα 8: Το αποτέλεσμα της εκτέλεσης μιας λειτουργίας Break. Οι αριθμοί είναι ο αριθμός των βότσαλων στους κόμβους. Η επίδραση της εκτέλεσης Break σε μια συνιστώσα είναι ότι η συνιστώσα διασπάται σε απλούστερες συνιστώσες και ότι η ρίζα της αρχικής συνιστώσας ε- πισυνάπτεται στη συνιστώσα από ενός από τους προκατόχους της (αν υπάρχει). Ενα παράδειγμα της εφαρμογής της λειτουργίας Break φαίνεται στο σχήμα 8. Μια κρίσιμη ιδιότητα της Break είναι ότι όλοι οι κόμβοι στη συνιστώσα αλλάζουν χρώμα 49

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

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

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

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

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

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

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Block ciphers και ψευδοτυχαίες

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

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

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

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Block ciphers και ψευδοτυχαίες

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

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

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

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

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Κρυπτογραφία Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ 1 / 26

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

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

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

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

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

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

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

UP class. & DES και AES

UP class. & DES και AES Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σημειώσεις Διαλέξεων UP class & DES και AES Επιμέλεια σημειώσεων: Ιωάννης Νέμπαρης Μάριος Κουβαράς Διδάσκοντες: Στάθης Ζάχος

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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 χρησιμοποιειται για να ανιχνευσει τυχον αλλαγες στο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασφάλεια Πληροφοριακών Συστημάτων. Συμμετρική Κρυπτογραφία ΙΙ. Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης. Ασφάλεια Πληροφοριακών Συστημάτων Συμμετρική Κρυπτογραφία ΙΙ Τμήμα Μηχ. Πληροφορικής ΤΕΙ Κρήτης Συμμετρική Κρυπτογραφία ΙΙ 1 Συμβατική κρυπτογραφία Συμμετρική Κρυπτογραφία ΙΙ 2 Triple DES Χρειαζόταν αντικαταστάτης του DES Θεωρητικές επιθέσεις

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

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

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

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

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

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

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων 1 2.1 Τύποι Δεδομένων Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές, στις οποίες περιλαμβάνονται αριθμοί,

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

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

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

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

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

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

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

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

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7

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

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

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

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

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

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

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

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

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

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,

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

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers Κρυπτογραφία Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers Αλγόριθμοι τμήματος Τμήμα (μπλοκ) αρχικού μηνύματος μήκους n encrypt decrypt Τμήμα (μπλοκ) κρυπτογράμματος μήκους n 2 Σχηματική αναπαράσταση Plaintext

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ουρές Προτεραιότητας Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρά Προτεραιότητας Το πρόβλημα Έχουμε αντικείμενα με κλειδιά και θέλουμε ανά πάσα στιγμή

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

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

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

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

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

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 Αριθμητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση 3 Πρόσθεση στη μορφή συμπληρώματος ως προς δύο

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

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

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

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

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9 Πρόλογος 1 Μαθηµατικό υπόβαθρο 7 1 Μαθηµατικό υπόβαθρο 9 1.1 Η αριθµητική υπολοίπων.............. 10 1.2 Η πολυωνυµική αριθµητική............ 14 1.3 Θεωρία πεπερασµένων οµάδων και σωµάτων.... 17 1.4 Πράξεις

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών

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

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Tutorial B-Trees, B+Trees Μπαριτάκης Παύλος 2018-2019 Ιδιότητες B-trees Χρήση για μείωση των προσπελάσεων στον δίσκο Επέκταση των Binary Search Trees

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

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

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

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