Point-to-point κρυπτογράφηση και πιστοποίηση δεδομένων σε κινητές συσκευές Android

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

Download "Point-to-point κρυπτογράφηση και πιστοποίηση δεδομένων σε κινητές συσκευές Android"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεταπτυχιακό πρόγραμμα σπουδών: ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Κόνδης Βλάσιος Μηχανικός Η/Υ και Πληροφορικής. Μεταπτυχιακή Εργασία: Point-to-point κρυπτογράφηση και πιστοποίηση δεδομένων σε κινητές συσκευές Android Πάτρα, Ιούλιος 2017

2 2

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

4 4

5 Ευχαριστίες Ολοκληρώνοντας το προπτυχιακό ταξίδι μου στον κόσμο της πληροφορικής, είχα την άμεση ευκαιρία αξιοποίησης και εμπλουτισμού των γνώσεών μου σε μεγάλη εταιρεία τηλεπικοινωνιακών συστημάτων της χώρας μας. Στην απόφαση μου να εκκινήσω ένα νέο ταξίδι προς την μεταπτυχιακή εκπαίδευση, είχα την αυτονόητη ελπίδα της στήριξης και καλοπροαίρετης γονικής πίεσης. Στην πορεία, στάθηκα ακόμα πιο τυχερός. Στα μισά του δρόμου, βρήκα το άλλο μου μισό. Μαριτίνα, μου έδωσες θάρρος, κουράγιο και ώθηση προς τον τερματισμό του ταξιδιού αυτού. Ευχαριστώ λοιπόν την καλή μου τύχη και τους καθηγητές μου όλους. Ιδιαίτερο ευχαριστώ στον ξεχωριστό ακαδημαϊκό και άνθρωπο, κ.αθανάσιο Τσακαλίδη. Τα πληροφοριακά, μα κυρίως τα μαθήματα ζωής είναι ανεκτίμητα. Ως άλλες, πρωτότυπες δομές δεδομένων, χαράκτηκαν ανεξίτηλα στη νεανική μνήμη. Επίσης ευγνωμοσύνη στους συνεπιβλέποντες καθηγητές κύριο Σταματίου Ιωάννη και κύριο Μακρή Χρήστο. 5

6 Περιεχόμενα Ευχαριστίες... 5 Περιεχόμενα... 6 Περιεχόμενα σχημάτων-εικόνων... 8 Περίληψη... 9 Point-to-point κρυπτογράφηση και πιστοποίηση δεδομένων σε κινητές συσκευές Android... 9 Abstract Point-to-point encryption and verification of data in Android mobile devices Εισαγωγή Ορισμοί Στόχοι Κρυπτογραφίας Ιστορική Αναδρομή Πρώτη Περίοδος Κρυπτογραφίας (1900 π.χ μ.χ.) Αλγόριθμοι κρυπτογραφίας Αλγόριθμοι συμμετρικού κλειδιού Συμμετρικοί μπλοκ αλγόριθμοι (block ciphers) Αλγόριθμος Data Encryption Standard (DES) Aλγόριθμος Advanced Encryption Standard (AES) Αλγόριθμοι Δημοσίου Κλειδιού (Public Key Algorithms) Aλγόριθμος Diffie-Hellman Αλγόριθμος El-Gamal Αλγόριθμος RSA (Rivest Shamir - Adleman) Λογισμικό Android Εισαγωγή Αρχιτεκτονική Ιστορικό εκδόσεων Δυνατότητες κινητών συσκευών Android Ασφάλεια Εφαρμογή σε Android Σύγκριση του Android με άλλα λειτουργικά συστήματα Ανάπτυξη εφαρμογής εξομοίωσης Android Studio Σύντομη Περιγραφή πρωτόκολλου Bluetooth Αλγόριθμος ανταλλαγής κλειδιού Diffie και Hellman Αλγόριθμος AES Προγραμματιστική υλοποίηση MainActivity DeviceListActivity

7 BluetoothChatService BluetoothChatFragment Σημείωση Έλεγχος υλοποίησης Εγκατάσταση Εφαρμογής Μελλοντικά βήματα Υπερσύνδεσμοι (links)

8 Περιεχόμενα σχημάτων-εικόνων Εικόνα 1: Ένα τυπικό σύστημα κρυπτογράφησης - αποκρυπτογράφησης Εικόνα 2: Μοντέλο Τυπικού Κρυπτοσυστήματος Εικόνα 3: Η Σπαρτιατική Σκυτάλη, μια πρώιμη συσκευή για την κρυπτογράφηση Εικόνα 4: Ο Δίσκος της Φαιστού Εικόνα 5: Η μηχανή Enigma (Αίνιγμα) χρησιμοποιήθηκε ευρέως στη Γερμανία Εικόνα 6: Η Κρυπτό-μηχανή SIGABA Εικόνα 7: Διμερής επικοινωνία με κρυπτογραφία συμμετρικού κλειδιού Εικόνα 8: Σχηματική απεικόνιση αλγορίθμου Feistel Cipher Εικόνα 9: Key Agreement between two parties Εικόνα 10: Εncrypted data using key Exchange Εικόνα 11: - Τεχνικές ψηφιακής υπογραφής RSA Εικόνα 12: Αρχιτεκτονική του Android Εικόνα 13: AES κρυπτογράφηση και αποκρυπτογράφηση Εικόνα 14: Κύκλος ζωής ενός activity μιας εφαρμογής Android

9 Περίληψη Point-to-point κρυπτογράφηση και πιστοποίηση δεδομένων σε κινητές συσκευές Android O όρος κρυπτογραφία, χρησιμοποιείται για να περιγράψει την μελέτη, ανάπτυξη και χρήση τεχνικών κρυπτογράφησης και αποκρυπτογράφησης με σκοπό την απόκρυψη του περιεχομένου των μηνυμάτων. Πρόκειται για τον έναν από τους δύο κλάδους της κρυπτολογίας (ο άλλος είναι η κρυπτανάλυση), η οποία ασχολείται με τη μελέτη της ασφαλούς επικοινωνίας. Σήμερα η κρυπτολογία θεωρείται ένα διεπιστημονικό γνωστικό πεδίο. Μπορεί να μελετηθεί ως κλάδος των εφαρμοσμένων μαθηματικών, της θεωρητικής πληροφορικής ή της επιστήμης του ηλεκτρονικού μηχανικού. Κρυπτογράφηση (encryption) ονομάζεται η διαδικασία μετασχηματισμού ενός μηνύματος σε μία ακατανόητη μορφή με τη χρήση κάποιου κρυπτογραφικού αλγορίθμου ούτως ώστε να μην μπορεί να διαβαστεί από κανέναν άλλον εκτός του νόμιμου παραλήπτη. Η αντίστροφη διαδικασία όπου από το κρυπτογραφημένο κείμενο παράγεται το αρχικό μήνυμα ονομάζεται αποκρυπτογράφηση (decryption). Ανάμεσα στις διάφορες υπάρχουσες μεθόδους κρυπτογράφησης, πολύ βασικές είναι οι επονομαζόμενες «τεχνικές δημοσίου κλειδιού». Αυτές, βασίζονται κάθε φορά σε έναν αλγόριθμο συμφωνίας κλειδιού (key agreement algorithm). Οι αλγόριθμοι αυτής της κατηγορίας, έχουν μια βασική προϋπόθεση: Σε περίπτωση εξασφαλισμένης ασφαλούς επικοινωνίας μεταξύ δύο πλευρών Α και Β, το κλειδί Κ το οποίο θα χρησιμοποιηθεί είναι γνωστό. Το ερώτημα το οποίο γεννάται, είναι: Πώς θα μοιραστούν οι πλευρές το κλειδί αυτό, στην περίπτωση που δεν έχουν συμφωνήσει ακόμη και η επικοινωνία τους γίνεται πάνω από μία μη ασφαλή οδό (π.χ. τηλεφωνική γραμμή), η οποία παρακολουθείται από έναν τρίτο, έστω C. H λύση στο πρόβλημα αυτό δόθηκε από τους Diffie και Hellman. Οι ανωτέρω, εισήγαγαν έναν αλγόριθμο που επιτρέπει στους Α και Β να συμφωνήσουν σε ένα μυστικό κλειδί, το οποίο ο κακόβουλος C δεν θα μπορέσει να εντοπίσει. Με βάση αυτόν τον αλγόριθμο, αναπτύχθηκε η εφαρμογή της συγκεκριμένης εργασίας. 9

10 Ζούμε σε μια εποχή γεμάτη συσκευές που γίνονται ολοένα και πιο έξυπνες. Με κάθε τους νέα έκδοση ανά μερικούς μήνες, πλησιάζουν σε λειτουργικότητα τις ευφυείς δυνατότητες των ιδιοκτητών τους. Για τους σκοπούς της έξυπνης λειτουργίας τους, διαχειρίζονται ολοένα μεγαλύτερο όγκο, πολλές φορές προσωπικών στοιχείων και πληροφοριών. Ως επακόλουθο, τίθεται το ζήτημα προστασίας της ιδιωτικότητας. Έτσι, προκύπτει η ανάγκη για κρυπτογράφηση των ευαίσθητων προσωπικών δεδομένων. Η ανάγκη αυτή είναι (ή τουλάχιστον θα έπρεπε να είναι) εκ των ουκ άνευ για τους συνειδητοποιημένους χρήστες έξυπνων συσκευών. Σύμφωνα με έρευνες (έτους 2017), τα δύο τρίτα του παγκόσμιου πληθυσμού που κατέχουν ήδη κάποια έξυπνη συσκευή, προτιμούν την πλατφόρμα του Android, ενώ επίσης η πλειοψηφία (90% [1] ) των αγοραστών, επιλέγουν επίσης Android. Αυτός είναι και ο λόγος που η συγκεκριμένη εργασία, επικεντρώνεται στο συγκεκριμένο λειτουργικό σύστημα. Για το πρακτικό μέρος της εργασίας, δημιουργήθηκε μια απλή εφαρμογή αποστολής και λήψης μνημάτων. Για τον σκοπό αυτό, βάση υπήρξε ένα εκ των επισήμων παραδειγμάτων του Android Studio (επίσημη βιβλιοθήκη λογισμικού) το οποίο παρέχει όλες τις λειτουργίες που είναι αναγκαίες για τους σκοπούς της τελικής υλοποίησης. Η εφαρμογή λειτουργεί μέσω ενός ευπαθούς σε επιθέσεις, ευρέως διαδεδομένου πρωτοκόλλου, του Bluetooth. Η ευπάθειά του, γίνεται προσπάθεια να επιλυθεί με την χρήση κρυπτογραφικών τεχνικών. Η τελική εφαρμογή σχεδιάστηκε στο ολοκληρωμένο περιβάλλον ανάπτυξης κώδικα Android Studio με έκδοση Ελέγχθηκε επιτυχώς τόσο σε εξομοιωτή λογισμικού όσο και σε φυσικές έξυπνες συσκευές (Android smartphones και tablets). Σε μελλοντικά σχέδια είναι η συντήρηση, βελτίωση και η επέκταση της ιδέας σε αντίστοιχες εφαρμογές για ανταγωνιστικές πλατφόρμες (Windows, iοs). 10

11 Abstract Point-to-point encryption and verification of data in Android mobile devices. The term cryptography is used to describe the study, developing and use of techniques for encrypting and decrypting messages. The upper purpose is to hide the content of messages. This is one out of two branches of cryptology. The other one is cryptanalysis, which is about studying safe communication. Today, cryptology is considered an interdisciplinary field of knowledge. It can be studied, as part of applied mathematics, theoretical informatics or electronic engineering science. Encryption is the process of transforming a message to an incomprehensible form. This is accomplished by using a cryptographic algorithm so as the message cannot be read by anyone but the legal recipient. The opposite procedure, where the original message is retrieved from the encrypted text is called decryption. Between the various existing methods of encryption, of great importance are the ones called public key techniques. These, are each time based on an agreement key algorithm. Such algorithms have in common a basic precondition: In case of secured safe communication between two sides A and B, the K key to be used is known. The emerging question is this: How can the two sides share this key, in case there is not a mutual agreement and the communication is established through an insecure route (e.g. wire line phone network) which is spied by a third party, let it be C. The solution to this problem was given by Diffie and Hellman. They introduced an algorithm which allows users A and B to agree upon a secret key which will not de discoverable by malicious user C. Based on this algorithm, the application of this study was developed. We live in an era full of ever evolving devices towards smarter applications and usages. As a result, the issue of protected private life emerges. Thus, emerges the necessity of encrypting sensitive private data which is of crucial important for conscious users of smart devices. According to researches (2017), two thirds of global population who already possess a smart device, prefer the Android platform. Moreover, the majority (90%) of buyers also choose Android. This is why the particular study is focusing on this specific operating system. 11

12 For the practical part of this study, there was developed a simple application of sending and receiving messages. This is based on one of the official examples of Android Studio which offers all functionalities necessary for the purposes of final utilization. The application operates through a vulnerable, popular protocol, the Bluetooth. There is an effort to face its vulnerability by using cryptographic techniques. The final application is developed in Android Studio It is successfully tested both in emulator and in physical smart devices. Future plans, include maintenance, improving and extension of this idea in similar application for competitive platforms (Windows, ios). 12

13 Εισαγωγή Κρυπτογραφία Η λέξη κρυπτογραφία (αγγλ.: cryptography) προέρχεται από τα συνθετικά «κρυπτός» + «γράφω». Πρόκειται για ένα διεπιστημονικό γνωστικό πεδίο που ασχολείται με τη μελέτη, την ανάπτυξη και τη χρήση τεχνικών κρυπτογράφησης και αποκρυπτογράφησης με σκοπό την απόκρυψη του περιεχομένου των μηνυμάτων. Η κρυπτογραφία μαζί με την κρυπτανάλυση είναι οι δύο κλάδοι της κρυπτολογίας. Το κοινό αντικείμενο, είναι η μελέτη της ασφαλούς επικοινωνίας. Σήμερα η κρυπτολογία αποτελεί ένα διεπιστημονικό γνωστικό πεδίο, το οποίο μπορεί να θεωρηθεί ως κλάδος των εφαρμοσμένων μαθηματικών, της θεωρητικής πληροφορικής ή της επιστήμης του ηλεκτρονικού μηχανικού. Παρεμφερείς κλάδοι είναι, αντιστοίχως, η στεγανογραφία και η στεγανοανάλυση (Menezes et al, 1996). Η σημασία της κρυπτολογίας είναι τεράστια στους τομείς της ασφάλειας των υπολογιστικών συστημάτων και των τηλεπικοινωνιών. Ο κύριος στόχος της είναι να παρέχει μηχανισμούς ώστε δύο ή περισσότερα άκρα επικοινωνίας (π.χ. άνθρωποι, προγράμματα υπολογιστών κλπ.) να ανταλλάσσουν μηνύματα, χωρίς κανένας τρίτος να είναι ικανός να διαβάζει την περιεχόμενη πληροφορία εκτός από τα δύο επικοινωνούντα άκρα (Bauer, 2013). Ιστορικά, η κρυπτογραφία χρησιμοποιήθηκε για τη μετατροπή της πληροφορίας μηνυμάτων από μια κανονική, κατανοητή μορφή σε έναν «γρίφο» που χωρίς τη γνώση του κρυφού μετασχηματισμού θα παρέμενε ακατανόητος. Κύριο χαρακτηριστικό των παλαιότερων μορφών κρυπτογράφησης ήταν ότι η επεξεργασία γινόταν πάνω στη γλωσσική δομή του μηνύματος. Στις νεότερες μορφές, η κρυπτογραφία χρησιμοποιεί το αριθμητικό ισοδύναμο, ενώ η έμφαση έχει μεταφερθεί σε διάφορα πεδία των μαθηματικών, όπως διακριτά μαθηματικά, θεωρία αριθμών, θεωρία πληροφορίας, υπολογιστική πολυπλοκότητα, στατιστική και συνδυαστική ανάλυση. Η κρυπτογραφία παρέχει τέσσερις βασικές λειτουργίες («αντικειμενικοί σκοποί») (Qi et al., 2008): 13

14 Εμπιστευτικότητα: Η πληροφορία προς μετάδοση είναι προσβάσιμη μόνο στα εξουσιοδοτημένα μέλη. Η πληροφορία είναι ακατανόητη σε κάποιον τρίτο. Ακεραιότητα: Η πληροφορία μπορεί να αλλοιωθεί μόνο από τα εξουσιοδοτημένα μέλη και δεν μπορεί να αλλοιώνεται χωρίς την ανίχνευση της αλλοίωσης. Μη απάρνηση: Ο αποστολέας ή ο παραλήπτης της πληροφορίας δεν μπορεί να αρνηθεί την αυθεντικότητα της μετάδοσης ή της δημιουργίας της. Πιστοποίηση: Ο αποστολέας και ο παραλήπτης μπορούν να εξακριβώνουν τις ταυτότητές τους καθώς και την πηγή και τον προορισμό της πληροφορίας με διαβεβαίωση ότι οι ταυτότητές τους δεν είναι πλαστές. Ορισμοί Κρυπτογράφηση (encryption) ονομάζεται η διαδικασία μετασχηματισμού ενός μηνύματος σε μία ακατανόητη μορφή με τη χρήση κάποιου κρυπτογραφικού αλγορίθμου ούτως ώστε να μην μπορεί να διαβαστεί από κανέναν εκτός του νόμιμου παραλήπτη. Η αντίστροφη διαδικασία όπου από το κρυπτογραφημένο κείμενο παράγεται το αρχικό μήνυμα ονομάζεται αποκρυπτογράφηση (decryption). Κρυπτογραφικός αλγόριθμος (cipher) είναι η μέθοδος μετασχηματισμού δεδομένων σε μία μορφή που να μην επιτρέπει την αποκάλυψη των περιεχομένων τους από μη εξουσιοδοτημένα μέρη. Κατά κανόνα ο κρυπτογραφικός αλγόριθμος είναι μία πολύπλοκη μαθηματική συνάρτηση. Αρχικό κείμενο (plaintext) είναι το μήνυμα το οποίο αποτελεί την είσοδο σε μία διεργασία κρυπτογράφησης. Κλειδί (key) είναι ένας αριθμός αρκετών bit που χρησιμοποιείται ως είσοδος στη συνάρτηση κρυπτογράφησης. Κρυπτογραφημένο κείμενο (ciphertext) είναι το αποτέλεσμα της εφαρμογής ενός κρυπτογραφικού αλγορίθμου πάνω στο αρχικό κείμενο. Κρυπτανάλυση (cryptanalysis) είναι η επιστήμη που ασχολείται με το "σπάσιμο" κάποιας κρυπτογραφικής τεχνικής ούτως ώστε χωρίς να είναι γνωστό το κλειδί της κρυπτογράφησης, το αρχικό κείμενο να μπορεί να αποκωδικοποιηθεί. 14

15 Η διαδικασία της κρυπτογράφησης και της αποκρυπτογράφησης φαίνεται στο παρακάτω σχήμα (Εικόνα 1: Ένα τυπικό σύστημα κρυπτογράφησης - αποκρυπτογράφησης. Εικόνα 1: Ένα τυπικό σύστημα κρυπτογράφησης - αποκρυπτογράφησης. Όπως προαναφέρθηκε, η κρυπτογράφηση και αποκρυπτογράφηση ενός μηνύματος γίνεται με τη βοήθεια κάθε φορά ενός αλγορίθμου κρυπτογράφησης (cipher) και ενός κλειδιού κρυπτογράφησης (key). Συνήθως ο αλγόριθμος κρυπτογράφησης είναι γνωστός, οπότε η εμπιστευτικότητα του κρυπτογραφημένου μηνύματος που μεταδίδεται βασίζεται ως επί το πλείστον στη μυστικότητα του κλειδιού κρυπτογράφησης. Το μέγεθος του κλειδιού κρυπτογράφησης μετριέται σε αριθμό bits. Γενικά ισχύει ο εξής κανόνας: Όσο μεγαλύτερο είναι το κλειδί κρυπτογράφησης, τόσο δυσκολότερα μπορεί να αποκρυπτογραφηθεί το κρυπτογραφημένο μήνυμα από επίδοξους εισβολείς. Ωστόσο, το πρόσφατο παράδειγμα παραβίασης κλειδιού 1024 bits [2], μας υπενθυμίζει τον γενικό κανόνα της πληροφορικής: Ότι κλειδώνει, ξεκλειδώνει. Γενικά, ισχύει ότι διαφορετικοί αλγόριθμοι κρυπτογράφησης απαιτούν διαφορετικά μήκη κλειδιών για να πετύχουν το ίδιο επίπεδο ανθεκτικότητας κρυπτογράφησης. Στόχοι Κρυπτογραφίας Ο αντικειμενικός στόχος της κρυπτογραφίας είναι να δώσει τη δυνατότητα σε δύο πρόσωπα, έστω τον Κώστα και τη Βασιλική, να επικοινωνήσουν μέσα από ένα μη ασφαλές κανάλι με τέτοιο τρόπο ώστε ένα τρίτο πρόσωπο, μη εξουσιοδοτημένο (ένας αντίπαλος), 15

16 να μην μπορεί να παρεμβληθεί στην επικοινωνία ή να κατανοήσει το περιεχόμενο των μηνυμάτων. Ένα κρυπτοσύστημα (σύνολο διαδικασιών κρυπτογράφησης - αποκρυπτογράφησης) αποτελείται από μία πεντάδα στοιχείων (P,C,k,E,D): Το P είναι ο χώρος όλων των δυνατών μηνυμάτων ή αλλιώς ανοικτών κειμένων. Το C είναι ο χώρος όλων των δυνατών κρυπτογραφημένων μηνυμάτων ή αλλιώς κρυπτοκειμένων. Το k είναι ο χώρος όλων των δυνατών κλειδιών ή αλλιώς κλειδοχώρος. Το Ε είναι ο κρυπτογραφικός μετασχηματισμός ή κρυπτογραφική συνάρτηση. Η D είναι η αντίστροφη συνάρτηση ή μετασχηματισμός αποκρυπτογράφησης. Η συνάρτηση κρυπτογράφησης Ε δέχεται δύο παραμέτρους, μέσα από τον χώρο P και τον χώρο k και παράγει μία ακολουθία που ανήκει στον χώρο C. Η συνάρτηση αποκρυπτογράφησης D δέχεται 2 παραμέτρους, τον χώρο C και τον χώρο k και παράγει μια ακολουθία που ανήκει στον χώρο P. Το συνολικό σύστημα λειτουργεί με τον ακόλουθο τρόπο : Ο αποστολέας επιλέγει ένα κλειδί μήκους n από τον χώρο κλειδιών με τυχαίο τρόπο. Τα n στοιχεία του Κ είναι στοιχεία από ένα πεπερασμένο αλφάβητο. Αποστέλλει το κλειδί στον παραλήπτη μέσα από ένα ασφαλές κανάλι. Ο αποστολέας δημιουργεί ένα μήνυμα από τον χώρο μηνυμάτων. Η συνάρτηση κρυπτογράφησης παίρνει τις δύο εισόδους (κλειδί και μήνυμα) και παράγει μια κρυπτακολουθία συμβόλων (έναν γρίφο). Στην συνέχεια η ακολουθία αυτή αποστέλλεται διαμέσου ενός μη ασφαλούς καναλιού. Η συνάρτηση αποκρυπτογράφησης παίρνει ως όρισμα τις δύο τιμές (κλειδί και γρίφο) και παράγει την ισοδύναμη ακολουθία μηνύματος. 16

17 Ο αντίπαλος παρακολουθεί την επικοινωνία, ενημερώνεται για την κρυπτακολουθία αλλά δεν έχει γνώση για το κλειδί που χρησιμοποιήθηκε και δεν μπορεί να αναδημιουργήσει το μήνυμα. Αν ο αντίπαλος επιλέξει να παρακολουθεί όλα τα μηνύματα θα προσανατολιστεί στην εξεύρεση του κλειδιού. Αν ο αντίπαλος ενδιαφέρεται μόνο για το υπάρχον μήνυμα θα παράγει μια εκτίμηση για την πληροφορία του μηνύματος. Εικόνα 2: Μοντέλο Τυπικού Κρυπτοσυστήματος Οι κυριότεροι στόχοι της Κρυπτογραφίας είναι οι εξής: H Μυστικότητα της Πληροφορίας (Confidentiality) εξασφαλίζει ότι το περιεχόμενο της πληροφορίας είναι διαθέσιμο μόνο στον νόμιμο κάτοχο αυτής και μυστικό σε κάθε άλλον εκτός αυτού. Για την επίτευξη του στόχου αυτού μπορούν να χρησιμοποιηθούν είτε φυσικά μέσα είτε μαθηματικοί αλγόριθμοι οι οποίοι καθιστούν τα δεδομένα μη αναγνώσιμα. Η Ακεραιότητα της Πληροφορίας (Integrity) αναφέρεται στη αλλοίωση των δεδομένων. Για να διακρίνει κάποιος την αλλοίωση της πληροφορίας θα πρέπει να διαθέτει μέσα ώστε να μπορεί να εξετάσει την αποκοπή, αντικατάσταση ή εισαγωγή δεδομένων. Η Πιστοποίηση της Προέλευσης και Αυθεντικότητας της Πληροφορίας (Authentication) έχει δύο διαστάσεις. Η πρώτη αναφέρεται στα άκρα της 17

18 επικοινωνίας (entity authentication) : οι δύο οντότητες που επικοινωνούν θα πρέπει να αναγνωρίζει η μία την άλλη. Σαν δεύτερη προϋπόθεση ορίζεται η αναγνώριση της προέλευσης της πληροφορίας (data origin authentication). Είναι αναγκαίο να πιστοποιείται η προέλευση των δεδομένων, το περιεχόμενό τους, ο χρόνος καθώς η ημερομηνία αποστολής τους. Η Απαγόρευση Άρνησης της Αποστολής της Πληροφορίας (non-repudiation) από μία οντότητα είναι απολύτως σημαντική για ένα ασφαλές δίκτυο. Σαν παράδειγμα μπορούμε να αναφέρουμε την περίπτωση μιας οντότητας η οποία εξουσιοδοτεί μια άλλη οντότητα στο να έχει πρόσβαση σε μία πληροφορία και στην συνέχεια να υποστηρίξει πως ουδέποτε είχε παραχωρήσει τέτοια δικαιοδοσία. Στην περίπτωση αυτή κρίνεται αναγκαία η ύπαρξη μιας απολύτως εμπιστευόμενης τρίτης οντότητας (trusted third party) ώστε να δοθεί μία λύση. Συνεπώς ο πρωταρχικός στόχος της Κρυπτογραφίας είναι να συνδυάσει επιτυχώς τα ανωτέρω θεμελιώδη αιτήματα σε επίπεδο θεωρίας αλλά κυρίως σε πρακτικό επίπεδο. Ιστορική Αναδρομή Πρώτη Περίοδος Κρυπτογραφίας (1900 π.χ μ.χ.) Κατά τη διάρκεια αυτής της περιόδου αναπτύχθηκε μεγάλο πλήθος μεθόδων και αλγορίθμων κρυπτογράφησης, που βασίζονταν κυρίως σε απλές αντικαταστάσεις γραμμάτων. Όλες αυτές οι μέθοδοι δεν απαιτούσαν εξειδικευμένες γνώσεις και πολύπλοκες συσκευές, αλλά στηρίζονταν στην ευφυΐα και την ευρηματικότητα των δημιουργών τους. Όλα αυτά τα συστήματα έχουν στις μέρες μας κρυπταναλυθεί και έχει αποδειχθεί ότι, εάν είναι γνωστό ένα μεγάλο κομμάτι του κρυπτογραφημένου μηνύματος, τότε το αρχικό κείμενο μπορεί σχετικά εύκολα να επανακτηθεί. Όπως προκύπτει από μία μικρή σφηνοειδή επιγραφή, που ανακαλύφθηκε στις όχθες του ποταμού Τίγρη, οι πολιτισμοί που αναπτύχθηκαν στη Μεσοποταμία 18

19 ασχολήθηκαν με την κρυπτογραφία ήδη από το 1500 π.χ. Η επιγραφή αυτή περιγράφει μία μέθοδο κατασκευής σμάλτων για αγγειοπλαστική και θεωρείται ως το αρχαιότερο κρυπτογραφημένο κείμενο (με βάση τον Kahn). Επίσης, ως το αρχαιότερο βιβλίο κρυπτοκωδικών στον κόσμο, θεωρείται μία σφηνοειδής επιγραφή στα Σούσα της Περσίας η οποία περιλαμβάνει τους αριθμούς 1 έως 8 και 32 έως 35, τοποθετημένους τον ένα κάτω από τον άλλο, ενώ απέναντι τους βρίσκονται τα αντίστοιχα για τον καθένα σφηνοειδή σύμβολα. Η πρώτη στρατιωτική χρήση της κρυπτογραφίας αποδίδεται στους Σπαρτιάτες. Γύρω στον πέμπτο π.χ. αιώνα εφηύραν την «σκυτάλη», την πρώτη κρυπτογραφική συσκευή, στην οποία χρησιμοποίησαν για την κρυπτογράφηση τη μέθοδο της μετάθεσης. Όπως αναφέρει ο Πλούταρχος, η «Σπαρτιατική Σκυτάλη» (εικόνα 1), ήταν μια ξύλινη ράβδος, ορισμένης διαμέτρου, γύρω από την οποία ήταν τυλιγμένη ελικοειδώς μια λωρίδα περγαμηνής. Το κείμενο ήταν γραμμένο σε στήλες, ένα γράμμα σε κάθε έλικα, όταν δε ξετύλιγαν τη λωρίδα, το κείμενο ήταν ακατάληπτο εξαιτίας της αναδιάταξης των γραμμάτων. Το «κλειδί» ήταν η διάμετρος της σκυτάλης. Εικόνα 3: Η Σπαρτιατική Σκυτάλη, μια πρώιμη συσκευή για την κρυπτογράφηση. Στην αρχαιότητα χρησιμοποιήθηκαν κυρίως συστήματα, τα οποία βασίζονταν στη στεγανογραφία και όχι τόσο στην κρυπτογραφία. Οι Έλληνες συγγραφείς δεν αναφέρουν αν και πότε χρησιμοποιήθηκαν συστήματα γραπτής αντικατάστασης γραμμάτων, αλλά τα 19

20 βρίσκουμε στους Ρωμαίους, κυρίως την εποχή του Ιουλίου Καίσαρα. Ο Ιούλιος Καίσαρας έγραφε στον Κικέρωνα και σε άλλους φίλους του, αντικαθιστώντας τα γράμματα του κειμένου, με γράμματα, που βρίσκονται τρεις θέσεις μετά, στο λατινικό αλφάβητο. Έτσι, σήμερα, το σύστημα κρυπτογράφησης που στηρίζεται στην αντικατάσταση των γραμμάτων του αλφαβήτου με άλλα που βρίσκονται σε καθορισμένο αριθμό θέσης πριν ή μετά, λέγεται κρυπτοσύστημα αντικατάστασης του Καίσαρα. Ο Καίσαρας χρησιμοποίησε και άλλα, πιο πολύπλοκα συστήματα κρυπτογράφησης, για τα οποία έγραψε ένα βιβλίο ο Valerius Probus, το οποίο δυστυχώς δεν διασώθηκε, αλλά αν και χαμένο, θεωρείται το πρώτο βιβλίο κρυπτολογίας. Το σύστημα αντικατάστασης του Καίσαρα, χρησιμοποιήθηκε ευρύτατα και στους επόμενους αιώνες. Στη διάρκεια του Μεσαίωνα, η κρυπτολογία ήταν κάτι το απαγορευμένο και αποτελούσε μια μορφή αποκρυφισμού και μαύρης μαγείας, κάτι που συνετέλεσε στην καθυστέρηση της ανάπτυξής της. Η εξέλιξη, τόσο της κρυπτολογίας, όσο και των μαθηματικών, συνεχίζεται στον Αραβικό κόσμο. Στο γνωστό μυθιστόρημα «Χίλιες και μία νύχτες» κυριαρχούν οι λέξεις-αινίγματα, οι γρίφοι, τα λογοπαίγνια και οι αναγραμματισμοί. Έτσι, εμφανίστηκαν βιβλία που περιείχαν κρυπταλφάβητα, όπως το αλφάβητο «Dawoudi» που πήρε το όνομα του από τον βασιλιά Δαυίδ. Οι Άραβες είναι οι πρώτοι που επινόησαν αλλά και χρησιμοποίησαν μεθόδους κρυπτανάλυσης. Το κυριότερο εργαλείο στην κρυπτανάλυση, η χρησιμοποίηση των συχνοτήτων των γραμμάτων κειμένου, σε συνδυασμό με τις συχνότητες εμφάνισης στα κείμενα των γραμμάτων της γλώσσας, επινοήθηκε από αυτούς γύρω στον 14ο αιώνα. Η κρυπτογραφία, λόγω των στρατιωτικών εξελίξεων, σημείωσε σημαντική ανάπτυξη στους επόμενους αιώνες. Ο Ιταλός Giovanni Batista Porta, το 1563, δημοσίευσε το περίφημο για την κρυπτολογία βιβλίο «De furtivis literarum notis». Με το βιβλίο αυτό, έγιναν γνωστά τα πολυαλφαβητικά συστήματα κρυπτογράφησης και τα διγραφικά κρυπτογραφήματα, στα οποία, δύο γράμματα αντικαθίστανται από ένα. Σημαντικός εκπρόσωπος εκείνης της εποχής είναι και ο Γάλλος Vigenere, του οποίου ο πίνακας πολυαλφαβητικής αντικατάστασης, χρησιμοποιείται ακόμη και σήμερα. Ο C.Wheatstone, γνωστός από τις μελέτες του στον ηλεκτρισμό, παρουσίασε την πρώτη μηχανική κρυπτοσυσκευή, η οποία αποτέλεσε τη βάση για την ανάπτυξη των κρυπτομηχανών της δεύτερης ιστορικής περιόδου της κρυπτογραφίας. Η μεγαλύτερη 20

21 αποκρυπτογράφηση ήταν αυτή των αιγυπτιακών ιερογλυφικών τα οποία, επί αιώνες, παρέμεναν μυστήριο και οι αρχαιολόγοι μόνο εικασίες μπορούσαν να διατυπώσουν για τη σημασία τους. Ωστόσο, χάρη σε μία κρυπταναλυτική εργασία, τα ιερογλυφικά εν τέλει αναλύθηκαν και έκτοτε οι αρχαιολόγοι είναι σε θέση να διαβάζουν ιστορικές επιγραφές. Τα αρχαιότερα ιερογλυφικά χρονολογούνται περίπου στο 3000 π.χ. Τα σύμβολα των ιερογλυφικών ήταν υπερβολικά πολύπλοκα για την καταγραφή των συναλλαγών εκείνης της εποχής. Έτσι, παράλληλα με αυτά, αναπτύχθηκε για καθημερινή χρήση η ιερατική γραφή, που ήταν μία συλλογή συμβόλων, τα οποία ήταν εύκολα τόσο στο γράψιμο όσο και στην ανάγνωση. Τον δέκατο έβδομο αιώνα αναθερμάνθηκε το ενδιαφέρον για την αποκρυπτογράφηση των ιερογλυφικών. Έτσι το 1652 ο Γερμανός Ιησουΐτης Αθανάσιος Κίρχερ εξέδωσε ένα λεξικό ερμηνείας τους, με τίτλο «Oedipus Aegyptiacus». Με βάση αυτό προσπάθησε να ερμηνεύσει τις αιγυπτιακές γραφές, αλλά η προσπάθεια του αυτή ήταν κατά γενική ομολογία αποτυχημένη. Για παράδειγμα, το όνομα του Φαραώ Απρίη, το ερμήνευσε σαν «τα ευεργετήματα του θεϊκού Όσιρι εξασφαλίζονται μέσω των ιερών τελετών της αλυσίδας των πνευμάτων, ώστε να επιδαψιλεύσουν τα δώρα του Νείλου». Παρόλα αυτά, η προσπάθεια του άνοιξε τον δρόμο προς τη σωστή ερμηνεία των ιερογλυφικών, που προχώρησε χάρη στην ανακάλυψη της «Στήλης της Ροζέτας». Ήταν μια πέτρινη στήλη που βρήκαν τα στρατεύματα του Ναπολέοντα στην Αίγυπτο και είχε χαραγμένο πάνω της το ίδιο κείμενο τρεις φορές. Μια με ιερογλυφικά, μια στα ελληνικά και μια σε ιερατική γραφή. Δύο μεγάλοι αποκρυπτογράφοι της εποχής, ο Γιάνγκ και ο Σαμπολιόν, μοιράστηκαν τη δόξα της ερμηνείας τους. Οι προϊστορικοί πληθυσμοί χρησιμοποίησαν τρεις γραφές μέχρι να επινοήσουν αλφάβητο, γύρω στο 850 π.χ. Χρονολογικά, οι γραφές αυτές κατατάσσονται ως εξής π.χ. : Εικονογραφική (Ιερογλυφική) γραφή π.χ.: Γραμμική γραφή Α π.χ.: Γραμμική Γραφή Β Η Κρητική εικονογραφική ή ιερογλυφική γραφή, δεν μας έχει αποκαλύψει τον κώδικα της, γνωρίζουμε ωστόσο ότι δεν πρόκειται για γραφή που χρησιμοποιεί εικόνες ως σημεία, 21

22 αλλά για φωνητική γραφή, η οποία εξαντλείται σε περίπου διακόσιους σφραγιδόλιθους. Συνυπήρχε με τη γραμμική γραφή Α, τόσο χρονικά όσο και τοπικά, όπως προκύπτει από τις ανασκαφές στο ανάκτορο των Μαλίων της Κρήτης. Εμφανίζεται στον Δίσκο της Φαιστού (εικόνα 4), που ανακαλύφθηκε το 1908 στη νότια Κρήτη και σε άλλα αντικείμενα όπως σφραγίδες και πέλεκεις. Ο δίσκος της Φαιστού είναι μια κυκλική πινακίδα, που χρονολογείται γύρω στο 1700 π.χ. και φέρει γραφή με τη μορφή δύο σπειρών. Τα σύμβολα δεν είναι χειροποίητα, αλλά έχουν χαραχθεί με τη βοήθεια μίας ποικιλίας σφραγίδων, καθιστώντας τον Δίσκο ως το αρχαιότερο δείγμα στοιχειοθεσίας. Δεν υπάρχει άλλο ανάλογο εύρημα και έτσι η αποκρυπτογράφηση στηρίζεται σε πολύ περιορισμένες πληροφορίες. Μέχρι σήμερα δεν έχει αποκρυπτογραφηθεί και παραμένει η πιο μυστηριώδης αρχαία ευρωπαϊκή γραφή. Εικόνα 4: Ο Δίσκος της Φαιστού. Οι πρώτες επιγραφές με Γραμμική γραφή ανακαλύφθηκαν από τον Άρθουρ Έβανς (Sir Arthur Evans), τον μεγάλο Άγγλο αρχαιολόγο, που ανέσκαψε συστηματικά την Κνωσό το Ο ίδιος ονόμασε αυτή τη γραφή γραμμική, επειδή τα γράμματα της είναι γραμμές (ένα γραμμικό σχήμα) και όχι σφήνες, όπως στη σφηνοειδή γραφή ή εικόνες 22

23 όντων, όπως στην αιγυπτιακή ιερατική. Η γραμμική γραφή Α είναι μάλλον η γραφή των Μινωϊτών (από το μυθικό Μίνωα, βασιλιά της Κνωσού), των κατοίκων της αρχαίας Κρήτης. Από αυτήν ίσως να προήλθε το σημερινό ελληνικό αλφάβητο. Τα γράμματα της γραμμικής γραφής χαράζονταν με αιχμηρό αντικείμενο πάνω σε πήλινες πλάκες, οι οποίες κατόπιν ξεραίνονταν σε φούρνους. Οι περισσότερες από τις επιγραφές με γραμμική γραφή Α (περίπου 1500) είναι λογιστικές και περιέχουν εικόνες ή συντομογραφίες των εμπορεύσιμων προϊόντων σε συνδυασμό με αριθμούς για υπόδειξη της ποσότητας ή οφειλής. Ο Έβανς κατέγραψε εκατόν τριάντα πέντε σύμβολά της. Χρησιμοποιήθηκε κυρίως στην Κρήτη, αν και ορισμένα πρόσφατα ευρήματα καταδεικνύουν ότι μπορεί να αποτέλεσε μέσο γραφής και αλλού, αφού επιγραφές με γραμμική Α έχουν βρεθεί στην Κνωσό και Φαιστό της Κρήτης, αλλά και στη Μήλο και τη Θήρα. Πλάκες με επιγραφές σε γραμμική Α, εκτίθενται στο Μουσείο Ηρακλείου. Παρά την πρόοδο που έχει σημειωθεί, η γραμμική γραφή Α δεν έχει αποκρυπτογραφηθεί ακόμη. Ο Evans έδωσε και την ονομασία στη Γραμμική Γραφή Β, επειδή αναγνώρισε ότι πρόκειται για συγγενική γραφή με τη γραμμική Α, πιο πρόσφατη ωστόσο και εξελιγμένη. Με βάση όσα γνωρίζουμε σήμερα, η γραφή αυτή υϊοθετήθηκε αποκλειστικά για λογιστικούς σκοπούς. Πινακίδες χαραγμένες με τη γραμμική γραφή Β βρέθηκαν στην Κνωσό, στα Χανιά αλλά και στην Πύλο, τις Μυκήνες, τη Θήβα και την Τίρυνθα. Σήμερα αποτελούν ένα σύνολο τεμαχίων. Τα σχήματα των πινακίδων της γραφής αυτής ποικίλουν, επικρατούν όμως οι φυλλοειδείς και «σελιδόσχημες», οι οποίες διαφέρουν ως προς τις διαστάσεις, ανάλογα με τις προτιμήσεις του κάθε γραφέα. Έπλαθαν πηλό σε σχήμα κυλίνδρου, τον τοποθετούσαν σε λεία επιφάνεια και την πίεζαν μέχρι να γίνει επίπεδη, επιμήκης και συμπαγής πινακίδα, σαφώς διαφοροποιημένη σε δύο επιφάνειες: μία επίπεδη λειασμένη, που επρόκειτο να αποτελέσει την κύρια γραφική επιφάνεια και μία κυρτή, που συνήθως έμενε άγραφη. Πολλές φορές, όταν τα κείμενα απαιτούσαν περισσότερες από μία πινακίδες, έχουμε τις αποκαλούμενες «ομάδες» ή «πολύπτυχα» πινακίδων, οι οποίες εμφανίζουν κοινά χαρακτηριστικά και ως προς την αποξήρανση και το μίγμα του πηλού και κυρίως, ως προς το γραφικό χαρακτήρα του ίδιου του γραφέα. Τα πολύπτυχα αυτά φυλάσσονταν σε αρχειοφυλάκια και ταξινομούνταν κατά θέματα σε ξύλινα κιβώτια. Για να γνωρίζει ο ενδιαφερόμενος το περιεχόμενο των καλαθιών, κυρίως, χρησιμοποιούσαν 23

24 ετικέτες: ένα σφαιρίδιο πηλού, εντυπωμένο στην πρόσθια πλευρά, στο οποίο καταγράφονταν συνοπτικές πληροφορίες. Συστηματικά, με τη γραφή αυτή, με την οποία είχε πραγματικό πάθος, ασχολήθηκε ο Άγγλος αρχιτέκτονας και ερασιτέχνης αρχαιολόγος Μ. Βέντρις. Ήταν ο πρώτος που κατάλαβε ότι επρόκειτο για κάποιο είδος ελληνικής γραφής, αλλά η άποψη του αυτή δεν έγινε δεκτή αρχικά από τους ειδικούς. Στη συνέχεια, όμως, αρκετοί προσχώρησαν στην άποψή του. Ένας από αυτούς ήταν ο κρυπταναλυτής Τζον Τσάντγουικ, ο οποίος, στη διάρκεια του δευτέρου Παγκοσμίου πολέμου, είχε εργασθεί στην ανάλυση της γερμανικής κρυπτομηχανής Enigma. Προσπάθησε να μεταφέρει την πείρα του στην κρυπτανάλυση της Γραμμικής Β, αλλά χωρίς επιτυχία μέχρι τότε. Όμως, ο συνδυασμός των ικανοτήτων των δύο επιστημόνων έφερε το πολυπόθητο αποτέλεσμα. Το 1953 κατέγραψαν τα συμπεράσματά τους στο μνημειώδες έργο «Μαρτυρίες για την ελληνική διάλεκτο στα μυκηναϊκά αρχεία», που έγινε το πιο διάσημο άρθρο κρυπτανάλυσης. Η αποκρυπτογράφηση της Γραμμικής Β απέδειξε ότι επρόκειτο για ελληνική γλώσσα, ότι οι Μινωΐτες της Κρήτης μιλούσαν ελληνικά και ότι η δεσπόζουσα δύναμη εκείνη την εποχή ήταν οι Μυκήνες. Η αποκρυπτογράφηση της Γραμμικής Β θεωρήθηκε επίτευγμα ανάλογο της κατάκτησης του Έβερεστ, που συνέβη την ίδια ακριβώς εποχή. Για αυτό και έγινε γνωστή σαν το «Έβερεστ της Ελληνικής αρχαιολογίας». Η δεύτερη περίοδος της κρυπτογραφίας όπως προαναφέρθηκε τοποθετείται στις αρχές του εικοστού αιώνα και φτάνει μέχρι το Καλύπτει, επομένως, τους δύο παγκόσμιους πολέμους. Λόγω της εξαιρετικά μεγάλης ανάγκης που υπήρξε για ασφάλεια κατά τη μετάδοση ζωτικών πληροφοριών μεταξύ των στρατευμάτων των χωρών, αναπτύχθηκε η κρυπτογραφία τόσο όσο δεν είχε αναπτυχθεί τα προηγούμενα τρεις χιλιάδες χρόνια. Τα κρυπτοσυστήματα αυτής της περιόδου αρχίζουν να γίνονται πολύπλοκα και να αποτελούνται από μηχανικές και ηλεκτρομηχανικές κατασκευές, οι οποίες ονομάζονται «κρυπτομηχανές». Η κρυπτανάλυσή τους, απαιτεί μεγάλο αριθμό προσωπικού, το οποίο εργαζόταν επί μεγάλο χρονικό διάστημα ενώ ταυτόχρονα γίνεται εξαιρετικά αισθητή η ανάγκη για μεγάλη υπολογιστική ισχύ. Παρά την πολυπλοκότητα που αποκτούν τα συστήματα κρυπτογράφησης κατά τη διάρκεια αυτής της περιόδου η κρυπτανάλυση τους είναι συνήθως επιτυχημένη. Οι Γερμανοί έκαναν εκτενή χρήση (σε διάφορες παραλλαγές) ενός συστήματος γνωστού ως Enigma (Εικόνα 5). 24

25 Εικόνα 5: Η μηχανή Enigma (Αίνιγμα) χρησιμοποιήθηκε ευρέως στη Γερμανία. Ο Marian Rejewski, στην Πολωνία, προσπάθησε και, τελικά, παραβίασε την πρώτη μορφή του γερμανικού στρατιωτικού συστήματος Enigma (που χρησιμοποιούσε μια ηλεκτρομηχανική κρυπτογραφική συσκευή) χρησιμοποιώντας θεωρητικά μαθηματικά το Ήταν η μεγαλύτερη σημαντική ανακάλυψη στην κρυπτολογική ανάλυση της εποχής. Οι Πολωνοί συνέχισαν να αποκρυπτογραφούν τα μηνύματα που βασίζονταν στην κρυπτογράφηση με την Enigma μέχρι το Τότε, ο γερμανικός στρατός έκανε ορισμένες σημαντικές αλλαγές και οι Πολωνοί δεν μπόρεσαν να τις παρακολουθήσουν, επειδή η αποκρυπτογράφηση απαιτούσε περισσότερους πόρους από όσους μπορούσαν να διαθέσουν. Έτσι, εκείνο το καλοκαίρι μεταβίβασαν τη γνώση τους, μαζί με μερικές 25

26 μηχανές που είχαν κατασκευάσει, στους Βρετανούς και τους Γάλλους. Ο Rejewski και οι μαθηματικοί και κρυπτογράφοι του, όπως ο Biuro Szyfrow, κατέληξαν σε συνεργασία με τους Βρετανούς και τους Γάλλους μετά από αυτή την εξέλιξη. Η συνεργασία αυτή συνεχίστηκε από τον Άλαν Τούρινγκ (Alan Turing), τον Γκόρντον Ουέλτσμαν (Gordon Welchman) και από πολλούς άλλους στο Μπλέτσλεϊ Παρκ (Bletchley Park). Εκεί εδραζόταν το κέντρο της Βρετανικής Υπηρεσίας αποκρυπτογράφησης. Η συνεργασία αυτή οδήγησε σε συνεχείς αποκρυπτογραφήσεις των διαφόρων παραλλαγών της μηχανής Enigma, με τη βοήθεια και ενός υπολογιστή, που κατασκεύασαν οι Βρετανοί επιστήμονες, ο οποίος ονομάσθηκε Colossus και, δυστυχώς, καταστράφηκε με το τέλος του Πολέμου. Οι κρυπτογράφοι του αμερικανικού ναυτικού (σε συνεργασία με Βρετανούς και Ολλανδούς κρυπτογράφους μετά από το 1940) έσπασαν αρκετά κρυπτοσυστήματα του Ιαπωνικού ναυτικού. Το σπάσιμο ενός από αυτά, του JN-25, οδήγησε στην αμερικανική νίκη στη Ναυμαχία του Μιντγουέι καθώς και στην εξόντωση του Αρχηγού του Ιαπωνικού Στόλου Ιζορόκου Γιαμαμότο. Το Ιαπωνικό Υπουργείο Εξωτερικών χρησιμοποίησε ένα τοπικά αναπτυγμένο κρυπτογραφικό σύστημα, (που καλείται Purple) και χρησιμοποίησε, επίσης, διάφορες παρόμοιες μηχανές για τις συνδέσεις μερικών ιαπωνικών πρεσβειών. Μία από αυτές αποκλήθηκε "Μηχανή-Μ" από τις ΗΠΑ, ενώ μια άλλη αναφέρθηκε ως «Red» (Κόκκινη). Μια ομάδα του αμερικανικού στρατού, η αποκαλούμενη SIS, κατάφερε να σπάσει το ασφαλέστερο ιαπωνικό διπλωματικό σύστημα κρυπτογράφησης. Επρόκειτο για μια ηλεκτρομηχανική συσκευή, η οποία αποκλήθηκε "Purple" από τους Αμερικανούς. Αυτό συνέβη πριν καν ακόμη αρχίσει ο Β Παγκόσμιος Πόλεμος. Οι Αμερικανοί αναφέρονται στο αποτέλεσμα της κρυπτανάλυσης, ειδικότερα της μηχανής Purple, αποκαλώντας το ως Magic (Μαγεία). Οι συμμαχικές κρυπτομηχανές που χρησιμοποιήθηκαν στον δεύτερο παγκόσμιο πόλεμο περιλάμβαναν το βρετανικό TypeX και το αμερικανικό SIGABA (Εικόνα 6). Οι δύο αυτές συσκευές ήταν ηλεκτρομηχανικά σχέδια παρόμοια στο πνεύμα με την Enigma, με σημαντικές εν τούτοις βελτιώσεις. Κανένα δεν έγινε γνωστό ότι παραβιάστηκε κατά τη διάρκεια του πολέμου. Τα στρατεύματα στο πεδίο μάχης χρησιμοποίησαν το M-209 και τη λιγότερη ασφαλή οικογένεια κρυπτομηχανών M-94. Οι Βρετανοί πράκτορες της Υπηρεσίας "SOE" χρησιμοποίησαν αρχικά ένα τύπο κρυπτογραφίας που βασιζόταν σε 26

27 ποιήματα (τα απομνημονευμένα ποιήματα ήταν τα κλειδιά). Οι Γερμανοί, ώρες πριν την Απόβαση της Νορμανδίας συνέλαβαν ένα μήνυμα - ποίημα του Πολ Βερλέν, για το οποίο, χωρίς να το έχουν αποκρυπτογραφήσει, ήταν βέβαιοι πως προανήγγειλε την απόβαση. Η Γερμανική ηγεσία δεν έλαβε υπόψη της αυτή την προειδοποίηση. Οι Πολωνοί είχαν προετοιμαστεί για την εμπόλεμη περίοδο κατασκευάζοντας την κρυπτομηχανή LCD Lacida, η οποία κρατήθηκε μυστική ακόμη και από τον Rejewski. Όταν τον Ιούλιο του 1941 ελέγχθηκε από τον Rejewski η ασφάλειά της, του χρειάστηκαν μερικές μόνον ώρες για να την "σπάσει" και έτσι αναγκάστηκαν να την αλλάξουν βιαστικά. Τα μηνύματα που εστάλησαν με Lacida δεν ήταν συγκρίσιμα με αυτά της Enigma. Όμως η παρεμπόδιση θα μπορούσε να έχει σημάνει το τέλος της κρίσιμης κρυπταναλυτικής Πολωνικής προσπάθειας. Εικόνα 6: Η Κρυπτό-μηχανή SIGABA Η τρίτη Περίοδος Κρυπτογραφίας (1950 μ.χ. - σήμερα) χαρακτηρίζεται από την έξαρση της ανάπτυξης στους επιστημονικούς κλάδους των μαθηματικών, της μικροηλεκτρονικής και των υπολογιστικών συστημάτων. Η εποχή της σύγχρονης κρυπτογραφίας αρχίζει ουσιαστικά με τον Claude Shannon, ο οποίος θεωρείται αναμφισβήτητα ο πατέρας των μαθηματικών συστημάτων κρυπτογραφίας. Το 1949 δημοσίευσε το έγγραφο «Θεωρία επικοινωνίας των συστημάτων μυστικότητας» 27

28 (Communication Theory of Secrecy Systems) στο τεχνικό περιοδικό Bell System. Λίγο αργότερα, κυκλοφόρησε το βιβλίο του, «Μαθηματική Θεωρία της Επικοινωνίας» (Mathematical Theory of Communication), μαζί με τον Warren Weaver. Αυτά τα κείμενα, εκτός από τις άλλες εργασίες του επάνω στη θεωρία δεδομένων και επικοινωνίας, καθιέρωσαν μια στερεά θεωρητική βάση για την κρυπτογραφία και την κρυπτανάλυση. Εκείνη την εποχή η κρυπτογραφία εξαφανίζεται και φυλάσσεται από τις μυστικές υπηρεσίες κυβερνητικών επικοινωνιών όπως η NSA( εθνική υπηρεσία ασφαλείας των Ηνωμένων Πολιτειών Αμερικής). Πολύ λίγες εξελίξεις δημοσιοποιήθηκαν ξανά μέχρι τα μέσα της δεκαετίας του '70, όταν όλα άλλαξαν. Στα μέσα της δεκαετίας του '70 έγιναν δύο σημαντικές δημόσιες (δηλαδή μημυστικές) πρόοδοι. Πρώτα ήταν η δημοσίευση του σχεδίου προτύπου κρυπτογράφησης DES (Data Encryption Standard) στον ομοσπονδιακό κατάλογο της Αμερικής στις 17 Μαρτίου Το προτεινόμενο DES υποβλήθηκε από την ΙΒΜ ως απάντηση στην πρόσκληση του Εθνικού Γραφείου των Προτύπων (τώρα γνωστό ως NIST). Ήταν η απαρχή της προσπάθειας να αναπτυχθούν ασφαλείς ηλεκτρονικές εγκαταστάσεις επικοινωνίας για επιχειρήσεις όπως τράπεζες και άλλες μεγάλες οικονομικές οργανώσεις. Μετά από τις συμβουλές και την τροποποίηση από την NSA, αυτό το πρότυπο υιοθετήθηκε και δημοσιεύθηκε ως ένα ομοσπονδιακά τυποποιημένο πρότυπο επεξεργασίας πληροφοριών το 1977 (αυτήν την περίοδο αναφέρεται σαν FIPS 46-3). Ο DES ήταν ο πρώτος δημόσια προσιτός αλγόριθμος κρυπτογράφησης που εγκρίνεται από μια εθνική αντιπροσωπεία όπως η NSA. Η ελέυθερη διάθεση των προδιαγραφών του υποκίνησε μια έκρηξη δημόσιου και ακαδημαϊκού ενδιαφέροντος για τα συστήματα κρυπτογραφίας. Ο DES αντικαταστάθηκε επίσημα από τον AES το Ο DES και οι ασφαλέστερες παραλλαγές του όπως ο 3DES ή TDES χρησιμοποιούνται ακόμα σήμερα, ενσωματωμένοι σε πολλά εθνικά και οργανωτικά πρότυπα. Εντούτοις, το βασικό μέγεθος κλειδιού κρυπτογράφησης των 56-bit έχει αποδειχθεί ότι είναι ανεπαρκές να αντισταθεί στις κακόβουλες επιθέσεις. Μια τέτοια επίθεση πέτυχε να σπάσει τον DES σε πενήντα έξι ώρες (το άρθρο που αναφέρεται ως το σπάσιμο του DES δημοσιεύτηκε από τον O'Reilly and Associates). Είναι εμφανές λοιπόν, ότι η χρήση απλής κρυπτογράφησης με τον DES είναι πλέον χωρίς αμφιβολία επισφαλής για χρήση στα μοντέρνα σχέδια των κρυπτογραφικών συστημάτων. Επίσης, όλα τα μηνύματα που έχουν αποσταλεί από το 28

29 1976 με τη χρήση DES, διατρέχουν σοβαρό κίνδυνο αποκρυπτογράφησης. Ανεξάρτητα από την έμφυτη ποιότητά του, το βασικό μέγεθος του DES (56-bit) ήταν πιθανά πάρα πολύ μικρό ακόμη και το 1976, πράγμα που είχε επισημάνει ο Whitfield Diffie. Υπήρξε επίσης η υποψία ότι κυβερνητικές οργανώσεις είχαν ακόμα και τότε ικανοποιητική υπολογιστική δύναμη ώστε να σπάσουν μηνύματα που είχαν κρυπτογραφηθεί με τον DES. Αλγόριθμοι κρυπτογραφίας Αλγόριθμοι συμμετρικού κλειδιού Ας θεωρήσουμε ένα μοντέλο κρυπτογράφησης το οποίο αποτελείται από τις μαθηματικές συναρτήσεις κρυπτογράφησης και αποκρυπτογράφησης { Ee : e K} και { Dd : d K}, αντίστοιχα, όπου Κ είναι ένα σύνολο κλειδιών. Το μοντέλο αυτό λέγεται ότι είναι συμμετρικού κλειδιού, όταν εξασφαλίζεται η εξής προϋπόθεση: για κάθε ζεύγος κλειδιών ( e, d ) μπορεί κάποιος να δημιουργήσει το κλειδί αποκρυπτογράφησης d από το κλειδί κρυπτογράφησης e με μαθηματικούς υπολογισμούς και το αντίστροφο. Είναι σύνηθες σε πολλά κρυπτογραφικά συστήματα συμμετρικού κλειδιού το κλειδί e να συμπίπτει με το κλειδί d για καθαρά πρακτικούς λόγους. Στο διάγραμμα της παρακάτω εικόνας απεικονίζεται διμερής επικοινωνία με κρυπτογραφία συμμετρικού κλειδιού. Γίνεται κατανοητό ότι η ασφάλεια ενός συμμετρικού αλγορίθμου βασίζεται στο κλειδί. Οι συμμέτοχοι σε ένα σύστημα συμμετρικού κλειδιού είναι αναγκαίο να συμφωνήσουν στο πως θα ανταλλάξουν με σίγουρο και ασφαλή τρόπο το κλειδί πριν αρχίσει η ασφαλής επικοινωνία μεταξύ τους. Το πρόβλημα αυτό είναι θεμελιώδες και ονομάζεται πρόβλημα διανομής κλειδιού (key distribution problem). Σε περίπτωση που το κλειδί γίνει γνωστό με οποιονδήποτε τρόπο σε κάποιον εξωτερικό παράγοντα τότε αυτός είναι ικανός να αποκρυπτογραφεί και να κρυπτογραφεί μηνύματα, γεγονός το οποίο είναι απευκταίο. Σύμφωνα με τα παραπάνω η κρυπτογραφία συμμετρικού κλειδιού είθισται να λέγεται και μυστικού κλειδιού (secretkey cryptography) (Jain, 2007). 29

30 Εικόνα 7: Διμερής επικοινωνία με κρυπτογραφία συμμετρικού κλειδιού Οι αλγόριθμοι συμμετρικού κλειδιού χωρίζονται σε δύο κατηγορίες ανάλογα με την μεταχείριση της πληροφορίας προς κρυπτογράφηση : τους αλγόριθμους που χειρίζονται μπλοκ δυαδικών ψηφίων ( block ciphers) τους αλγόριθμους που χειρίζονται ξεχωριστά κάθε δυαδικό ψηφίο της πληροφορίας ( stream ciphers) Συμμετρικοί μπλοκ αλγόριθμοι (block ciphers) 30

31 Ενας συμμετρικός μπλοκ αλγόριθμος χωρίζει τα μη κρυπτογραφημένα δεδομένα (plaintext) σε μπλοκ δυαδικών ψηφίων συγκεκριμένου μήκους t (block size) και κρυπτογραφεί ξεχωριστά το κάθε ένα από αυτά με τη χρήση ενός μυστικού κλειδιού. Το αποτέλεσμα είναι ένα μπλοκ κρυπτογραφημένων δεδομένων (ciphertext) το οποίο έχει το ίδιο μήκος με το αρχικό. To σύνολο των κρυπτογραφημένων μπλοκ αποτελεί το κρυπτογραφημένο μήνυμα. Το μεγαλύτερο ποσοστό των αλγορίθμων αυτών είναι επαναλαμβανόμενοι καθώς χειρίζονται αλυσιδωτά τα μπλοκ δεδομένων. Ο αριθμός των επαναλήψεων ενός τέτοιου αλγορίθμου εξαρτάται από το επίπεδο της ασφάλειας που θέλει κάποιος να επιτύχει. Όπως είναι φυσικό ένας αυξημένος αριθμός επαναλήψεων αυξάνει σημαντικά την ασφάλεια αλλά έχει αρνητικές συνέπειες στην απόδοσή του καθώς αυξάνεται ο υπολογιστικός χρόνος. Επίσης πολύ σημαντικό στοιχείο είναι και το μέγεθος των μπλοκ δεδομένων (block size). Οι περισσότεροι από τους αλγόριθμους χρησιμοποιούν μεγέθη πάνω από 8 bytes (64 bits). Ένας αλγόριθμος του οποίου το μέγεθος μπλοκ (block size) είναι πολύ μικρό είναι σίγουρο ότι είναι ευάλωτος σε επιθέσεις βασισμένες σε στατιστική ανάλυση (ανάλυση της συχνότητας εμφάνισης συγκεκριμένων συστοιχιών bits (bit patterns) μέσα στα δεδομένα). Εντούτοις το να διαλέξει κάποιος ένα μεγάλο μέγεθος μπλοκ αυξάνει σημαντικά τον υπολογιστικό φόρτο του αλγορίθμου. Είδαμε παραπάνω ότι οι κυριότεροι συμμετρικοί μπλοκ αλγόριθμοι είναι ο DES (Data Encryption Standard), o Triple-DES και ο ΑΕS (Advanced Encryption Standard). Αλγόριθμος Data Encryption Standard (DES) Όπως προαναφέρθηκε, ο αλγόριθμος DES είναι ο πιο χαρακτηριστικός συμμετρικός μπλοκ αλγόριθμος και έχει εξελιχθεί τα τελευταία είκοσι χρόνια. Χρησιμοποιεί μπλοκ των 64 bits και κλειδί των 56 bits. H είσοδος (input) στον αλγόριθμο είναι μπλοκ των 64 bits μη κρυπτογραφημένου κειμένου (plaintext). Μετά από 16 επαναλήψεις (συνδυασμούς μεταθέσεων και αντικαταστάσεων) δίνει έξοδο (output) ένα μπλοκ ίδιου μεγέθους με κρυπτογραφημένα δεδομένα (ciphertext). Αν το μέγεθος του μη 31

32 κρυπτογραφημένου κειμένου (plaintext) δεν είναι ακέραιο πολλαπλάσιο του μεγέθους του μπλοκ (64 bits) τότε χρησιμοποιείται μια διαδικασία συμπλήρωσης (padding) με bits ώστε να προκύψει plaintext πολλαπλάσιου μεγέθους των 64 bits. Οι πιο γνωστοί μέθοδοι συμπλήρωσης είναι ο PKCS #5, o PKCS#7, o ISO Padding και ο X9.23Padding (Biryukov et al., 2011). Η λειτουργία του DES στηρίζεται στους λεγόμενους αλγόριθμους του Feistel, οι οποίοι ονομάζονται και τύπου DES (Εικόνα 8). Εικόνα 8: Σχηματική απεικόνιση αλγορίθμου Feistel Cipher. Μια παραλλαγή του DES είναι ο Triple-DES αλγόριθμος, ο οποίος χρησιμοποιεί το ίδιο μέγεθος μπλοκ με τον DES (64 bits) εφαρμόζοντας τον DES τρεις φορές διαδοχικά, με τρία διαφορετικά κλειδιά των 56 bits (K1, K2, K3). H αποκρυπτογράφηση γίνεται με 32

33 την αντίστροφη διαδικασία, εφαρμόζοντας δηλαδή πρώτα το κλειδί Κ3, μετά το Κ2 και τέλος το Κ1. Συνεπώς η κρυπτογραφική δύναμη του Triple-DES είναι τριπλάσια από αυτή του DES (56*3=168 bits). Ο αλγόριθμος Triple-DES ανήκει στους αποδεκτούς αλγορίθμους της κυβέρνησης των Η.Π.Α. (US Approved Algorithms List), ενώ ο DES αφαιρέθηκε από την ανωτέρω λίστα το Aλγόριθμος Advanced Encryption Standard (AES) O αλγόριθμος AES αναπτύχθηκε το 2000 και προστέθηκε στη λίστα αποδεκτών αλγορίθμων των Η.Π.Α. Ο ΑES είναι γρηγορότερος από τον DES και υποστηρίζει μεγαλύτερα μεγέθη κλειδιών. Ο τρόπος με τον οποίο κάνει την κρυπτογράφηση είναι παρόμοιος με αυτόν του DES με τις εξής όμως διαφορές: το μέγεθος του μπλοκ του AES είναι 128 bits και υποστηρίζει τρία μεγέθη κλειδιών (128, 192 και 256 bits). Καθίσταται έτσι, υπολογιστικά δυνατότερος από τον DES (Heron, 2009). Όπως έχει αναφερθεί προηγουμένως, όταν κάποιος θέλει να κρυπτογραφήσει δεδομένα με μέγεθος κλειδιού που δεν είναι πολλαπλάσιο του μεγέθους του μπλοκ δεδομένων τότε χρησιμοποιείται μια διαδικασία συμπλήρωσης (padding) με bits ώστε να προκύψει plaintext πολλαπλάσιου μεγέθους του block size που χρησιμοποιεί ο αλγόριθμος. Στην συνέχεια υπάρχουν δύο δυνατότητες: Είτε θα κρυπτογραφηθεί κάθε μπλοκ ανεξάρτητα από τα άλλα, είτε θα ακολουθηθεί μία πιο πολύπλοκη μέθοδος, σύμφωνα με την οποία η κρυπτογράφηση κάθε μπλοκ εξαρτάται από κάποιες παραμέτρους που προέκυψαν από την κρυπτογράφηση των προηγούμενων μπλοκ. Αυτές οι διαδικασίες ονομάζονται τρόποι λειτουργίας (modes of operation). Eίναι αναγκαίο η σχετική επιλογή να γίνεται με γνώμονα την μέγιστη ασφάλεια και την ελαχιστοποίηση του υπολογιστικού φόρτου του αλγορίθμου. Σύμφωνα με την λίστα των αποδεκτών τρόπων λειτουργίας (Αpproved Modes of Operation) oι αλγόριθμοι DES και Triple-DES έχουν επτά αποδεκτούς τρόπους, ενώ ο AES έχει πέντε (Singh et al., 2011). Oι κυριότεροι τρόποι 33

34 λειτουργίας, οι οποίοι εφαρμόζονται αποκλειστικά σε όλες τις πρακτικές εφαρμογές είναι ο ECB (Electronic Code Book) και ο CBC (Cipher Block Chaining Mode). Αλγόριθμοι Δημοσίου Κλειδιού (Public Key Algorithms) Oι κυριότεροι αλγόριθμοι που χρησιμοποιούνται στην κρυπτογραφία δημοσίου κλειδιού είναι ο αλγόριθμος Diffie-Hellman, o RSA και ο El-Gamal. Aλγόριθμος Diffie-Hellman Oι τεχνολογίες κρυπτογράφησης δημοσίου κλειδιού βασίζονται στον αλγόριθμο συμφωνίας κλειδιού (key agreement algorithm) που εισήγαγαν την δεκαετία του 1970 οι Diffie και Hellman (Rewagad, 2013). Είναι γνωστό ότι αλγόριθμοι όπως ο AES και ο Triple-DES έχουν ως προϋπόθεση ότι, σε περίπτωση ασφαλούς επικοινωνίας μεταξύ δύο πλευρών Α και Β, το κλειδί Κ το οποίο θα χρησιμοποιηθεί είναι γνωστό. Το ερώτημα το οποίο προκύπτει είναι το πως θα μοιραστούν οι πλευρές το κλειδί αυτό, στην περίπτωση που δεν έχουν συμφωνήσει ακόμη και η επικοινωνία τους γίνεται πάνω από μία μη ασφαλή γραμμή (πχ. τηλεφωνική γραμμή), η οποία παρακολουθείται από έναν τρίτο C. H λύση στο πρόβλημα αυτό δόθηκε από τους Diffie και Hellman, oι οποίοι εισήγαγαν έναν αλγόριθμο που επιτρέπει στους Α και Β να συμφωνήσουν σε ένα μυστικό κλειδί, το οποίο ο κακόβουλος C δεν θα μπορέσει να εντοπίσει. Η επιτυχία του αλγορίθμου στηρίζεται στις εξής δύο διαπιστώσεις : δοθέντων τεσσάρων οποιωνδήποτε ακεραίων αριθμών a, b, x and p ισχύει : (x a ) b mod p = (x b ) a mod p δοθέντος ενός μεγάλου πρώτου αριθμού p (p>1024) και ενός άλλου πρώτου αριθμού x, το πρόβλημα του Διακριτού Λογαρίθμου (Discrete Logarithm) είναι αδύνατο να λυθεί (είναι αδύνατο, δηλαδή, να βρεθεί ο αριθμός α, ο οποίος ικανοποιεί την σχέση W = x a mod p, δοθέντων W, x και p). 34

35 Εικόνα 9: Key Agreement between two parties Στην συνέχεια θα αναλύσουμε σε βήματα την συμφωνία κλειδιού μεταξύ του Α και του Β, λαμβάνοντας υπόψη τις παραπάνω διαπιστώσεις: στους Α και Β είναι γνωστοί οι παράμετροι του λογαρίθμου: ένας μεγάλος πρώτος αριθμός p (p>1024) και ένας πρώτος αριθμός x. ο Α δημιουργεί έναν αριθμό α και στέλνει στον Β το αποτέλεσμα της σχέσης x α mod p (το οποίο είναι το δημόσιο κλειδί του Α). ο Β δημιουργεί έναν αριθμό b και στέλνει στον A το αποτέλεσμα της σχέσης x b mod p (το οποίο είναι το δημόσιο κλειδί του Β). Στη συνέχεια και οι δύο δημιουργούν το κοινό μυστικό κλειδί K = x αb mod p (Πιο συγκεκριμένα ο Α ξέρει το a και το x b mod p και υπολογίζει το κλειδί ως Κ = (x b ) α mod p. Αντίστοιχα δημιουργεί το κλειδί και ο Β ). Ο κακόβουλος C γνωρίζει τα x b mod p και x α mod p αλλά δεν μπορεί να υπολογίσει το κλειδί K = x αb mod p. 35

36 Εφόσον οι πλευρές έχουν συμφωνήσει σε ένα κοινό μυστικό κλειδί, μπορούν να επιλέξουν με ποιον αλγόριθμο θα γίνει η επικοινωνία μεταξύ τους, όπως ο AES ή ο Triple- DES. Ο αλγόριθμος Diffie-Hellman, που μόλις περιγράφηκε, αποτελεί την βάση για κάθε κρυπτογραφημένη επικοινωνία που γίνεται μέσω του διαδικτύου σήμερα καθιστώντας τον θεμελιώδη για την επιστήμη της Κρυπτογραφίας. Είναι αυτός που προτιμήθηκε για εφαρμογή στην υλοποίηση της εφαρμογής Android στο πρακτικό μέρος της συγκεκριμένης εργασίας. Αλγόριθμος El-Gamal O αλγόριθμος El-Gamal παρουσιάζει πολλές ομοιότητες με αυτόν των Diffie- Hellman. Χρησιμοποιείται ευρέως, καθώς είναι ο προτιμούμενος αλγόριθμος για την κρυπτογράφηση με κλειδιά στο πρωτόκολλο Οpen PGP (RFC 2440). Στην συνέχεια θα αναλύσουμε σε βήματα τον αλγόριθμο για την επικοινωνία μεταξύ του Α και του Β (Li et al.,2012): στους Α και Β είναι γνωστοί οι παράμετροι του λογαρίθμου: Ένας μεγάλος πρώτος αριθμός p (p>1024) και ένας πρώτος αριθμός x. ο Α δημιουργεί έναν τυχαίο αριθμό α, ο οποίος είναι το ιδιωτικό του κλειδί. ο Α υπολογίζει την τιμή x α mod p, η οποία είναι το δημόσιο κλειδί του και το διανέμει στο δίκτυο. ο Β θέλει να στείλει ένα κρυπτογραφημένο μήνυμα στον Α. Αρχικά δημιουργεί έναν τυχαίο αριθμό b. Υπολογίζει το κοινό μυστικό κλειδί K = (x α ) b mod p και κρυπτογραφεί το μήνυμα με το κλειδί K με την βοήθεια ενός αλγορίθμου (π.χ. τον AES). Στην συνέχεια στέλνει το κρυπτογραφημένο μήνυμα μαζί με το αποτέλεσμα της σχέσης x b mod p. 36

37 ο Α λαμβάνει το αρχείο, διαβάζει το αποτέλεσμα της σχέσης xb mod p και υπολογίζει το κοινό μυστικό κλειδί K = (xa)b mod p. Τέλος ο Α αποκρυπτογραφεί το μήνυμα. Αλγόριθμος RSA (Rivest Shamir - Adleman) O αλγόριθμος RSA δόθηκε στη δημοσιότητα το 1977 από τους Rivest, Shamir και Adleman. Είναι ο πιο διαδεδομένος αλγόριθμος που χρησιμοποιείται σε κρυπτογραφικές τεχνικές, οι οποίες έχουν εφαρμογή σε μία μεγάλη ποικιλία από προϊόντα. Χρησιμοποιείται ευρέως σε εφαρμογές λογισμικού και σε λειτουργικά συστήματα γνωστών εταιρειών όπως της Microsoft, της Sun, της Apple και της Νοvell. Όσον αφορά το hardware, συναντούμε τον RSA σε «έξυπνες» κάρτες καθώς και σε κάρτες δικτύου Ethernet. Πολλά πρωτόκολλα που παρέχουν ασφαλή επικοινωνία στο διαδίκτυο έχουν τον αλγόριθμο RSA σαν βάση της αρχιτεκτονικής τους (τα κυριότερα είναι το SSL (Secure Socket Layer), το S/MIME (Secure/Multipurpose Internet Mail Extensions), το S/WAN, το ΙPSec (IP Security), το ΤLS (Transport Layer Security) ). To χαρακτηριστικό, όμως, που επικυρώνει την σημαντικότητα του αλγορίθμου αυτού και διασφαλίζει την συνεχή εξέλιξή του στο μέλλον είναι το γεγονός ότι αποτελεί αντικείμενο ενδελεχούς μελέτης από διεθνείς οργανισμούς και επιχειρήσεις, καθώς και από εργαστήρια και πανεπιστήμια σε όλο τον κόσμο. Ας θεωρήσουμε ένα μοντέλο κρυπτογράφησης το οποίο αποτελείται από τις μαθηματικές συναρτήσεις κρυπτογράφησης και αποκρυπτογράφησης { Ee : e K} και { Dd : d K}, αντίστοιχα, όπου Κ είναι ένα σύνολο κλειδιών. Η λειτουργία του αλγορίθμου στηρίζεται στο γεγονός ότι, για δεδομένο ζεύγος συναρτήσεων (Ee, Dd ) και για συγκεκριμένο κρυπτογραφημένο μήνυμα c (ciphertext), είναι υπολογιστικώς αδύνατο να δημιουργήσουμε το αρχικό μήνυμα m (plaintext) τέτοιο ώστε Ee (m)=c. Είναι λοιπόν αδύνατο, γνωρίζοντας το κλειδί κρυπτογράφησης e, να δημιουργήσουμε το κλειδί αποκρυπτογράφησης d. 37

38 Η μαθηματική «καρδιά» του αλγορίθμου είναι σχετικά απλή στην κατανόηση. Αρχικά δημιουργούμε δύο μεγάλους πρώτους αριθμούς p και q και υπολογίζουμε τις σχέσεις : n=p*q, όπου το n ονομάζεται modulus και e*d=1 mod (p-1) (q-1), όπου το e ονομάζεται δημόσιος εκθέτης (public exponent) και το d ιδιωτικός εκθέτης (private exponent). Τότε, δεδομένου ενός μηνύματος m, οι διεργασίες της κρυπτογράφησης και αποκρυπτογράφησης έχουν, αντίστοιχα, τις εξής μορφές: c = m e mod n m = c d mod n, όπου c είναι το κρυπτογραφημένο μήνυμα (ciphertext). To δημόσιο κλειδί είναι το ζεύγος (n, e) και το ιδιωτικό κλειδί το ζεύγος (n, d). Μετά την δημιουργία τους, οι παράγοντες p και q θα ήταν καλό είτε να κρατούνται μυστικοί μαζί με το ιδιωτικό κλειδί, είτε να καταστρέφονται. Η λειτουργικότητα του αλγόριθμου RSA στηρίζεται στο γεγονός ότι είναι πολύ δύσκολο να δημιουργήσει κάποιος πολύ μεγάλους αριθμούς. Αυτό το χαρακτηριστικό εγγυάται σε μεγάλο βαθμό την ασφάλεια του αλγορίθμου, καθώς είναι πάρα πολύ δύσκολο να δημιουργήσει κάποιος τον ιδιωτικό εκθέτη d, γνωρίζοντας το ζεύγος του δημοσίου κλειδιού (n, e). Ο αλγόριθμος RSA χρησιμοποιείται σε εφαρμογές που εξασφαλίζουν μυστικότητα των δεδομένων (data privacy) και πιστοποιούν την προέλευσή τους (data authentication). O RSA, για να εξασφαλίσει την μυστικότητα των δεδομένων, συνδυάζεται με αλγορίθμους συμμετρικού κλειδιού, όπως ο DES και δημιουργεί έναν «ψηφιακό φάκελο». Ας υποθέσουμε μία διμερή επικοινωνία μεταξύ των πλευρών Α και Β, όπου ο Α θέλει να στείλει ένα κρυπτογραφημένο μήνυμα στον Β. 38

39 Εικόνα 10: Εncrypted data using key Exchange Αρχικά ο Α κρυπτογραφεί το μήνυμα με τον αλγόριθμο DES, χρησιμοποιώντας ένα τυχαίο DES κλειδί. Στην συνέχεια κρυπτογραφεί το DES κλειδί με το δημόσιο κλειδί του Β και το στέλνει στον Β μαζί με το κρυπτογραφημένο κείμενο. Με τον τρόπο αυτό δημιουργείται και στέλνεται στον Β ένας ψηφιακός RSA φάκελος. Μόλις ληφθεί ο ψηφιακός αυτός φάκελος, ο Β αποκρυπτογραφεί το DES κλειδί με το ιδιωτικό του κλειδί και στην συνέχεια το χρησιμοποιεί για να αποκρυπτογραφήσει το μήνυμα. Παρατηρούμε συνεπώς ότι η τεχνική αυτή συνδυάζει την πολύ υψηλή ταχύτητα του αλγορίθμου DES και το χαρακτηριστικό της διαχείρισης των κλειδιών που προσφέρει ο αλγόριθμος RSA. Τα κρυπτοσυστήματα δημοσίου κλειδιού με την χρήση του αλγορίθμου RSA βοηθούν σημαντικά στον παράγοντα authentication (πιστοποίηση, δηλαδή της προέλευσης των δεδομένων και της ταυτότητας του αποστολέα). Αυτό είναι εφικτό λόγω του γεγονότος ότι σε κάθε μία οντότητα αντιστοιχεί ένα μυστικό, ιδιωτικό κλειδί, στο οποίο δεν έχει πρόσβαση κανένας παρά μόνο ο κάτοχός του. Στην επόμενη εικόνα, παρουσιάζεται η επικοινωνία δύο πλευρών, όπου εξετάζεται ο παράγοντας authentication με την χρήση ψηφιακής υπογραφής. 39

40 Εικόνα 11: - Τεχνικές ψηφιακής υπογραφής RSA Υποθέτουμε ότι ο Α θέλει να στείλει ένα υπογεγραμμένο μήνυμα στον Β. Αρχικά ο Α εφαρμόζει μία hash συνάρτηση (συνάρτηση κατατεμαχισμού) στο μήνυμα που θέλει να στείλει, δημιουργώντας μία «περίληψη» του μηνύματος, η οποία ονομάζεται message digest. To message digest είναι μοναδικό για κάθε μήνυμα και αποτελεί το «ψηφιακό αποτύπωμά» του. Στην συνέχεια κρυπτογραφεί το message digest με το ιδιωτικό του κλειδί RSA και δημιουργεί την ψηφιακή υπογραφή του μηνύματος, την οποία στέλνει στον Β μαζί με το αρχικό μήνυμα. Όταν ο Β παραλάβει τα δεδομένα, αποκρυπτογραφεί πρώτα την υπογραφή με το δημόσιο κλειδί του Α για να πάρει το message digest του μηνύματος. Αυτό 40

41 που έχει να κάνει στην συνέχεια είναι να εφαρμόσει την ίδια hash function στο αρχικό μήνυμα και να εξετάσει την ομοιότητα των δύο message digest που έχουν προκύψει. Αν είναι απολύτως όμοια μεταξύ τους, τότε έχει επικυρώσει την ψηφιακή υπογραφή και μπορεί να είναι απολύτως σίγουρος ότι το μήνυμα έχει αποσταλεί από τον Α. Στην αντίθετη περίπτωση πρέπει να απορρίψει το μήνυμα διότι αποδεικνύεται ότι είτε ο αποστολέας δεν είναι ο Α, είτε τα δεδομένα έχουν υποστεί αλλοίωση μετά την αποστολή τους. Η περίπτωση που περιγράφηκε πιο πάνω δεν εξασφαλίζει την μυστικότητα του μηνύματος που αποστέλλει ο Α. Στην περίπτωση που αυτός ήθελε να προστατεύσει το μήνυμα από την ανάγνωσή του από τρίτους, θα έπρεπε να το κρυπτογραφήσει με το ιδιωτικό κλειδί του Β. Τότε το μήνυμα δεν θα είναι εφικτό να το διαβάσει κάποιος κακόβουλος παρά μόνο ο Β, αφού βέβαια το αποκρυπτογραφήσει πρώτα με το ιδιωτικό του κλειδί. Ένα σημείο τα οποίο θα πρέπει να προσεχθεί είναι ο δημόσιος εκθέτης e. Σε πρακτικές εφαρμογές όπως αυτές που περιεγράφηκαν, είναι πιο αποτελεσματικό η τιμή του να είναι αρκετά μικρή. Αυτό βοηθά στο να γίνεται η επικύρωση μιας υπογραφής πολύ πιο γρήγορα από την δημιουργία της, εφόσον η υπογραφή ενός μηνύματος γίνεται μία φορά μόνο ενώ η επικύρωσή του πάρα πολλές φορές. Για να έχουμε μία ακόμη πιο ολοκληρωμένη εικόνα για τον παράγοντα authentication σε σχέση με τον αλγόριθμο RSA και κατά συνέπεια με τις ψηφιακές υπογραφές, θα πρέπει να επισημανθεί και ο ρόλος του ψηφιακού πιστοποιητικού. Τα ψηφιακά πιστοποιητικά είναι υπογεγραμμένα αρχεία, τα οποία συνδέουν ένα δημόσιο κλειδί με μία οντότητα. Η χρησιμότητά τους είναι σημαντική καθώς αποτρέπουν κάποιον κακόβουλο από το να υιοθετήσει παράνομα την ταυτότητα κάποιου άλλου. Η παρουσία, συνεπώς, του πιστοποιητικού σε μία επικοινωνία βοηθά τους συμμετέχοντες σε αυτή, στο να ελέγχουν την εγκυρότητα των δημόσιων κλειδιών που χρησιμοποιούν. Τα ψηφιακά πιστοποιητικά είναι ένας ολόκληρος ξεχωριστός κλάδος της επιστήμης της κρυπτογραφίας. 41

42 Λογισμικό Android Εισαγωγή Το Android είναι ένα λειτουργικό σύστημα. Κατασκευάστηκε από την Google και αργότερα από την Open Handset Alliance η οποία είναι μια κοινοπραξία εταιριών λογισμικού, κατασκευής hardware και τηλεπικοινωνιών. Βασίζεται στο Linux και εφαρμόζεται σε φορητές συσκευές, όπως κινητά τηλέφωνα, tablets κ.α. Οι εφαρμογές σε Android, οι οποίες γράφονται σε μια προσαρμοσμένη έκδοση της JAVA και μπορεί κάνεις να κατεβάσει από το online κατάστημα Google Play της Google, αυξάνονται με εκθετικό βαθμό χρόνο με το χρόνο εξυπηρετώντας τους χρήστες τόσο για ψυχαγωγικούς όσο και για πρακτικούς σκοπούς. Ως εκ τούτου, ένα τεράστιο πλήθος επιστημόνων και προγραμματιστών ασχολείται με τον συγκεκριμένο τομέα (Developers, 2011). Αρχιτεκτονική Το Android αποτελείται από ορισμένες συνιστώσες λογισμικού οι οποίες συνθέτουν ένα ενιαίο και ολοκληρωμένο σύστημα. Είναι μια στοίβα λογισμικού η οποία αποτελείται από το λειτουργικό σύστημα, τις υπηρεσίες διασύνδεσης με τις εφαρμογές (middleware) και τέλος από τις κύριες (core) εφαρμογές. Μεταξύ αυτών, ενός client, μιας εφαρμογής διαχείρισης SMS, ενός ημερολογίου, ενός browser, μίας εφαρμογής διαχείρισης επαφών και άλλες οι οποίες έρχονται δεμένες με την υπόλοιπη στοιβάδα λογισμικού του Android (Brahler et al., 2010). Παρακάτω απεικονίζεται η αρχιτεκτονική του λογισμικού Android. 42

43 Εικόνα 12: Αρχιτεκτονική του Android. Παρατηρούμε ότι η αρχιτεκτονική του λειτουργικού συστήματος αποτελείται από 5 βασικά επίπεδα, (α) τον πυρήνα Linux (Linux Kernel), (β) τις εγγενείς και τις προηγμένες βιβλιοθήκες (Libraries), (γ) την εικονική μηχανή Dalvik (Dalvik VM), (δ) τον χρόνο εκτέλεσης (Android Runtime) και (ε) το πλαίσιο εφαρμογής (Application Framework). Αναλύοντας μερικά κομμάτια τις αρχιτεκτονικής του Android, αξίζει να σημειωθεί ότι το πλαίσιο της εφαρμογής (application framework) επιτρέπει την επαναχρησιμοποίηση και αντικατάσταση των διαφόρων components (Song et al., 2010). Επίσης η εικονική μηχανή Dalvik χρησιμοποιείται για τις κινητές συσκευές και ο integrated browser είναι βασισμένος στην open source μηχανή WebKit. Τέλος, παρόλο που το Android είναι χτισμένο πάνω στο πυρήνα του Linux δεν είναι Linux. Ο πυρήνας δρα σαν abstraction layer (αφαιρετικό επίπεδο) μεταξύ του hardware και του υπόλοιπου software stack. Οι βιβλιοθήκες του Android περιλαμβάνουν ένα σετ από C/C++ βιβλιοθήκες που χρησιμοποιούνται από διάφορα components του συστήματος. Αυτές διατίθενται στους προγραμματιστές μέσω του Android application framework. Μερικές από τις βιβλιοθήκες είναι οι παρακάτω: 43

44 System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices. Media Libraries - based on PacketVideo's OpenCORE; The libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications. LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view. SGL - the underlying 2D graphics engine. 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D Software rasterizer FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications Ιστορικό εκδόσεων Το 2007 κυκλοφόρησε η πρώτη έκδοση του λογισμικού Android, με το Android beta. Ένα χρόνο αργότερα, κυκλοφόρησε η πρώτη εμπορική έκδοση, το Android 1.0. Το Android είναι υπό συνεχή ανάπτυξη από την Google και την Open Handset Alliance (OHA). Έχουν γίνει μια σειρά από ενημερώσεις στην λειτουργία του συστήματος από την αρχική κυκλοφορία του. Η πιο πρόσφατη έκδοση είναι το Android 7.0x Nougat. 44

45 Έκδοση Ονομασία Ημερομηνία 1.6 Donut 15 Σεπτεμβρίου Eclair 26 Οκτωβρίου Froyo 20 Μαΐου Gingerbread 9 Φεβρουαρίου Honeycomb 15 Ιουλίου Ice Cream Sandwich 16 Δεκεμβρίου Jelly Bean 9 Ιουλίου Jelly Bean 13 Νοεμβρίου Jelly Bean 24 Ιουλίου KitKat 31 Οκτωβρίου Lollipop 3 Νοεμβρίου Lollipop 9 Μαρτίου Marshmallow 5 Οκτωβρίου x Nougat 22 Αυγούστου 2016 Παρατηρούμε ότι οι ενημερώσεις και οι νέες εκδόσεις σχεδιάζονται και υλοποιούνται κάθε χρόνο και σε πολλές περιπτώσεις, περισσότερες από μία φορά το χρόνο. Σκοπός των ενημερώσεων είναι να διορθωθούν οι δυσλειτουργίες που έχουν εντοπισθεί μέχρι εκείνη τη στιγμή όπως επίσης να προστεθούν και επιπλέον λειτουργίες. Όσο η τεχνολογία προχωράει με εκθετικό ρυθμό, εμφανίζονται νέα προβλήματα και νέες προκλήσεις συνεχώς. Επίσης, ο ανταγωνισμός με το λογισμικό της Apple, το ios, προσδίδει ένα επιπλέον κίνητρο στους κατασκευαστές Android. Σκοπός τους είναι να σχεδιάσουν εκδόσεις με μεγαλύτερη ταχύτητα σε συνδυασμό με μικρότερο υπολογιστικό κόστος και υπολογιστικούς πόρους. 45

46 Η ερευνητική κοινότητα ασχολείται με το συγκεκριμένο ζήτημα τόσο σε θεωρητικό όσο και σε πρακτικό επίπεδο (Mosa, et al., 2012, Shabtai et al., 2009, Gibler et al., 2012, Obiodu 2012). Συνεπώς, όσο θα επιλύονται προβλήματα τεχνολογιών και όσο θα εμφανίζονται προβλήματα και προκλήσεις στον τεχνολογικό κόσμο, τόσο θα σχεδιάζονται νέες εκδόσεις και ενημερώσεις του λογισμικού Android. Διότι, βέλτιστη έκδοση, δε θα υπάρξει ποτέ όσο η τεχνολογία συνεχίζει να βαδίζει με τους σημερινούς ταχείς ρυθμούς. Δυνατότητες κινητών συσκευών Android Τα κινητά στα οποία εγκαθίσταται το Android είναι συνήθως αρκετά ισχυρά από άποψη υλικού (επεξεργαστή, μνήμη κλπ). Ο συνδυασμός πολύ υψηλής απόδοσης hardware, προσδίδει στις κινητές συσκευές Android πολλές δυνατότητες (Developers, 2011). Παρακάτω ακολουθεί μια λίστα με μερικές από τις δυνατότητες αυτές: Υποστήριξη για οθόνες αφής. Ενσωματωμένο Internet Browser βασισμένο στην μηχανή Webkit. Γραφικά 3D βασισμένα στην βιβλιοθήκη OpenGL ES με επιτάχυνση υλικού (hardware acceleration). Σχεσιακή βάση δεδομένων SQLite. Υποστήριξη για τηλεφωνικά δίκτυα GSM, 3G και 4G εφόσον τα υποστηρίζει και η συσκευή στην οποία έχει εγκατασταθεί το Android. Επικοινωνία δεδομένων μέσω Bluetooth και WiFi εφόσον τα υποστηρίζει και η συσκευή (Bluetooth χρησιμοποιήσαμε στην εφαρμογή που αναπτύχθηκε στα πλαίσια της συγκεκριμένης εργασίας). Υποστήριξη για Camera, GPS, αισθητήρα επιτάχυνσης (accelerometer) και μαγνητόμετρο (compass) εφόσον τα υποστηρίζει και η συσκευή στην οποία έχει εγκατασταθεί το Android. 46

47 Υποστήριξη για εικόνα (JPG, PNG, GIF), ήχο (AMR, AAC, MP3) και βίντεο (MPEG4, H264). Αυξημένη ασφάλεια, μιας και κάθε εφαρμογή τρέχει κάτω από δικό της ξεχωριστό Linux UserID, έτσι ώστε να μην παρεμβαίνει η μια εφαρμογή στην άλλη. Ασφάλεια Η ασφάλεια του Android δεν πρέπει να λαμβάνεται ως δεδομένη. Ο χρήστης δεν θα πρέπει να θεωρεί ότι αν ανοίξει ένα από τη συσκευή του είναι λιγότερο επικίνδυνο από το να το άνοιγε στον υπολογιστή του (Enck, 2009). Οι δυνητικοί κίνδυνοι που διατρέχουν οι χρήστες μιας Android συσκευής, μπορεί να διαφέρουν σημαντικά σε σχέση με αυτούς που καλούμαστε να αντιμετωπίσουμε ως χρήστες desktop ή laptop. Ωστόσο, δεν παύει να είναι εξίσου σοβαροί και να χρήζουν σημαντικής προσοχής για την ορθή αντιμετώπισή τους. Όπως και στους Η/Υ, έτσι και στις συσκευές Android, υπάρχουν ιοί. Ο ιός Android είναι ένας όρος, ο οποίος χρησιμοποιείται για να περιγράφει τις κακόβουλες εφαρμογές που έχουν τη δυνατότητα να επηρεάζουν τις Android συσκευές. Ειδικοί ασφαλείας αποκάλυψαν πρόσφατα πως οι περισσότεροι ιοί στοχεύουν το πορτοφόλι των χρηστών, πράγμα που σημαίνει πως μπορούν εύκολα να διεισδύσουν στον προσωπικό υπολογιστή του χρήστη και να αποκτήσουν πρόσβαση στα απόρρητα προσωπικά στοιχεία της πιστωτικής κάρτας, τα στοιχεία σύνδεσης, τους κωδικούς, κι άλλες προσωπικά αναγνωρίσιμες πληροφορίες. Τα κρούσματα επιθέσεων σε Android συσκευές, αυξάνονται ολοένα και περισσότερο, με αποτέλεσμα οι χρήστες να είναι μονίμως εκτεθειμένοι σε κακόβουλες επιθέσεις. Για την προστασία των χρηστών από τους κινδύνους που διατρέχουν, η ESET προχώρησε στην έκδοση μίας σειράς χρήσιμων οδηγιών, με στόχο την προστασία των χρηστών, οι οποίες είναι: Όλες οι εφαρμογές πρέπει να εγκαθίστανται από το Google Play ή από γνωστά app stores. Η ασφάλεια του Android δεν πρέπει να λαμβάνεται ως δεδομένη. 47

48 Προτιμάτε να έχετε εγκατεστημένη πάντοτε την τελευταία έκδοση της πλατφόρμας Android. Οι πιο πρόσφατες ενημερώσεις διαφυλάσσουν και την καλύτερη προστασία της συσκευής. Το κλείδωμα της συσκευής αποτελεί μία βασική και απαραίτητη ενέργεια, που δυστυχώς πολλές φορές δεν εφαρμόζεται. Πολύτιμα προσωπικά δεδομένα δεν θα πρέπει να βρίσκονται στη συσκευή. Κλείδωμα χρειάζονται και πολλές εφαρμογές, λόγω των πληροφοριών που περιέχουν, όπως το Dropbox που προαναφέρθηκε. Προσοχή στα δικαιώματα των εφαρμογών. Προϊόντα και εφαρμογές ασφάλειας είναι πλέον απαραίτητα και για τις φορητές συσκευές, λόγω της γρήγορης εξέλιξης που εμφανίζει το malware για Android. Εφαρμογή σε Android Μια εφαρμογή στο Android έχει ένα εκτελέσιμο αρχείο που περιέχει την λογική του προγράμματος χρησιμοποιώντας είτε τοπικά αρχεία εικόνων, είτε κείμενο που θα ανακτηθεί από το δίκτυο κλπ. Δεν υπάρχει ένα εκτελέσιμο αρχείο, αλλά ως εφαρμογή εννοούμε μία ομάδα αρχείων τα οποία αντιπροσωπεύουν τα Activities της εφαρμογής. Κάθε εφαρμογή αποτελείται από ένα σύνολο αρχείων και φακέλων δομημένα σε μορφή project, τα οποία αφού γίνουν compiled μέσω του Android SDK μας δίνουν το αρχείο.apk. Το αρχείο αυτό αποτελεί την εφαρμογή και μπορούμε να την εγκαταστήσουμε στις συσκευές μας. Επίσης, όλες οι εφαρμογές πρέπει να έχουν ένα μοναδικό όνομα πακέτου (package name) το οποίο χρησιμοποιείται από το λειτουργικό σύστημα για αναγνώριση της εφαρμογής. 48

49 Σύγκριση του Android με άλλα λειτουργικά συστήματα Ο ανταγωνισμός των λειτουργικών συστημάτων στα κινητά δε περιορίζεται μόνο στα ευρέως γνωστά Android και ios, αλλά υπάρχουν και άλλα συστήματα όπως τα Windows Phone(Mobile 10 πλέον από το 2015) και το BB10, Firefox OS, Ubuntu Touch, Tizen, SailfishOS κτλ. Αναφορικά με τα Windows Phone, έχουν το θετικό ότι είναι πολύ ελαφριά, δηλαδή απαιτούν λίγους υπολογιστικούς πόρους (Grønli, 2014). Από κει και έπειτα, παρουσιάζουν αρκετά αρνητικά στοιχεία τα οποία δε τα αφήνουν να προσεγγίσουν σε δημοφιλία και χρήση το Android και το ios. Το σημαντικότερο πρόβλημα είναι η έλλειψη εφαρμογών, κάτι που δε συναντάμε στα άλλα δύο συστήματα. Συγκρίνοντας το Android με τα Windows Phone θα δούμε ότι όχι μόνο είναι φτωχά σε εφαρμογές και παιχνίδια αλλά πολλές φορές είναι τελείως αδύνατο να χρησιμοποιήσεις μία υπηρεσία καθώς δεν υπάρχουν ούτε εναλλακτικές λύσεις. Άλλο βασικό πρόβλημα είναι οι ευκολίες καθημερινής χρήσης που δυστυχώς στα Windows Phone άργησαν να εμφανιστούν και ακόμα και σήμερα, έχουν περισορισμένες επιλογές παραμετροποίησης. Η επάνω μπάρα είναι καθαρά ενημερωτική ενώ τα λεγόμενα power toggle δεν υπήρχαν μέχρι πρόσφατα πουθενά για την εύκολη διαχείριση των δικτύων. Τέλος, τα widget του Android είναι πάρα πολύ χρήσιμα και εξυπηρετούν ποικίλους πρακτικούς σκοπούς (Grønli, 2014). Τα πλακίδια (tiles) των Windows Phone και Windows Mobile, έχουν μια παρόμοια λειτουργικότητα. Ωστόσο, η χαώδης διαφορά στον αριθμό των διαθέσιμων εφαρμογών (app gap), οδήγησε την αγορά φορητών συσκευών σε έναν δυαδικό ανταγωνισμό, μεταξύ Android και ios. Αναφορικά με το ios, το μεγάλο μειονέκτημα του είναι η δυσκολία στο να επιτευχθεί το ξεκλείδωμα του συστήματος αρχείων της συσκευής ώστε να μπορεί ο χρήστης να παραμετροποιεί τη συσκευή του όπως επιθυμεί ή να εγκαθιστά εφαρμογές μέσω καταστημάτων πέραν του Apple App Store (γνωστό και ως φαινόμενο του Jailbreak). Ένα άλλο μεγάλο αρνητικό που είχε το ios μέχρι πρόσφατα ήταν ο συγχρονισμός της 49

50 συσκευής με τον υπολογιστή μέσω itunes και μόνο (Barea, 2013). Ενώ το Android επιτρέπει συγχρονισμό των επαφών και των εφαρμογών μέσω ενός Gmail λογαριασμού μέσω WiFi και μέσω Mobile Internet, η Apple έδινε τη δυνατότητα για συγχρονισμό μόνο μέσω itunes και μόνο μέσω ενός Η/Υ. Όσον αφορά την ανά περιόδους ενημέρωση λογισμικού αξίζει να αναφέρουμε ότι και οι τρεις μεγάλες εταιρείες ενημερώνουν τακτικά τις εκδόσεις τους για φορητές συσλευές (Android, Apple, Windows Phone). Οι εταιρίες φροντίζουν απ την μία να βγάζουν μεγάλες αναβαθμίσεις με επανασχεδιασμό και νέες ενέργειες και απ την άλλη μικρότερες με διορθώσεις σφαλμάτων. Η Apple έχει ένα μικρό προβάδισμα καθώς κάθε χρόνο αφήνει πίσω της μια συσκευή όσο αφορά τις αναβαθμίσεις. Τα καταφέρνει καλύτερα απ το Android που είναι στο έλεος των εκάστοτε εταιριών με αποτέλεσμα οι πελάτες να μπορεί να περιμένουν μεγάλο διάστημα για τις αναμενόμενες και απαράιτητες πολλές φορές αναβαθμίσεις. Γενικά, αυτό που κάνει το Android να ξεχωρίζει είναι ο open source χαρακτήρας του και το γεγονός ότι δίνεται η δυνατότητα στον καθένα ενδιαφερόμενο να ασχοληθεί μαζί του φτιάχνοντας εφαρμογές, ROM, kernel, theme και ότι άλλο θέλει. Ανάπτυξη εφαρμογής εξομοίωσης Για το πειραματικό στάδιο της εργασίας, δημιουργήθηκε μια απλή εφαρμογή αποστολής και λήψης μνημάτων βασισμένη σε ένα εκ των επισήμων παραδειγμάτων εξοικείωσης κώδικα, του Android Studio το οποίο παρέχει όλες τις λειτουργίες που είναι αναγκαίες για τους λόγους της τελικής υλοποίησης. Η εφαρμογή λειτουργεί μέσω ενός ευπαθούς σε επιθέσεις πρωτοκόλλου, του Bluetooth, τα προβλήματα του οποίου προσπαθεί να επιλύσει με την χρήση κρυπτογραφικών τεχνικών. Η τελική εφαρμογή σχεδιάστηκε στο ολοκληρωμένο περιβάλλον ανάπτυξης κώδικα Android Studio με έκδοση Η ανάλυση της πειραματικής διαδικασίας καθώς και τον τμημάτων αυτής, γίνεται στη συνέχεια του κεφαλαίου. 50

51 Android Studio Το Android Studio ανήκει στην κατηγορία των ολοκληρωμένων περιβαλλόντων ανάπτυξης κώδικα και εφαρμογών με αποκλειστικό προϊόν την πλατφόρμα Android. Είναι διαθέσιμο στο κοινό δωρεάν υπό την άδεια Apache License 2.0 για όλα τα λειτουργικά συστήματα Windows, Mac OS X και Linux. Αναλυτικότερα, με βάση το λογισμικό JetBrains IntelliJ της IDEA, το Android Studio έχει σχεδιαστεί ώστε να προσφέρει αρκετά χαρακτηριστικά αυτού όπως: Ισχυρή Επεξεργασία Κώδικα (Powerful Code Editing) Έξυπνο σύστημα αυτοσυμπλήρωσης κώδικα, σε βάθος(root) πλοήγηση μεταξύ των αρχείων του project, προχωρημένη και ασφαλή επεξεργασία (π.χ. μετονομασία ενός αρχείου και εφαρμογή του νέου ονόματος σε όλα τα μέρη του κώδικά μας που αναφέρεται αυτόματα) και προεπισκόπηση πόρων. Ανάλυση κώδικα κατά την επεξεργασία (On-the-fly Code Analysis) Ο συντάκτης επισημαίνει προειδοποιήσεις και σφάλματα στον κώδικα αμέσως καθώς γίνεται η πληκτρολόγηση και επιτρέπει να εφαρμοστεί μια προτεινόμενη γρήγορη λύση αυτόματα. Σύστημα Proguard Το αποτέλεσμα του παραπάνω συστήματος, είναι ένα μικρότερου μεγέθους αρχείο.apk που είναι πιο δύσκολο να αντιστραφεί μηχανικά (reverse engineered) οπότε και καλύπτεται η ευπάθεια υποκλοπής του κώδικα. Δυνατότητα ψηφιακής υπογραφής Το Android απαιτεί ότι όλες οι εφαρμογές να είναι ψηφιακά υπογεγραμμένες με ένα πιστοποιητικό για να μπορέσουν να εγκατασταθούν. Το Android χρησιμοποιεί αυτό το πιστοποιητικό για την ταυτοποίηση του συγγραφέα/προγραμματιστή μιας εφαρμογής, χωρίς να χρειάζεται να υπογραφεί από κάποια αρχή έκδοσης πιστοποιητικών. Οι Android εφαρμογές χρησιμοποιούν συχνά αυτό-υπογεγραμμένα πιστοποιητικά όπου ο προγραμματιστής της εφαρμογής κατέχει το ιδιωτικό κλειδί του πιστοποιητικού. 51

52 Σύντομη Περιγραφή πρωτόκολλου Bluetooth Στις μέρες όλες οι συσκευές κινητής τηλεφωνίας είναι εξοπλισμένες με τον μηχανισμό του Bluetooth καθώς έχει αποτελέσει ένα καθολικής χρήσης σύστημα ασύρματης επικοινωνίας. Το Bluetooth δημιουργήθηκε αρχικά από την εταιρία Ericsson το Αρχικά είχε δημιουργηθεί ως τεχνολογία αντικατάστασης των καλωδιώσεων για να συνδέσει ασύρματα συσκευές όπως κινητά τηλέφωνα, ακουστικά και φορητούς υπολογιστές. Η όλη τεχνολογία βασίζεται στις προδιαγραφές Bluetooth, ένα ανοιχτό παγκόσμιο πρότυπο κείμενο, που ορίζει το πλήρες σύστημα από τη μονάδα RF (radio frequency ή ραδιο-συχνότητα) ως και το στρώμα εφαρμογής. Αναλυτικότερα, το Bluetooth είναι προϊόν βασισμένο στην τεχνολογία των ραδιοκυμάτων (RF). Λειτουργεί στα 2.4 Ghz όπως και πολλές άλλες ασύρματες τεχνολογίες και κυρίως στα χαμηλά κανάλια αυτής της συχνότητας. Είναι μικρού βεληνεκούς (αν και στις τελευταίες εκδόσεις η απόσταση εμβέλειας αγγίζει εκατοντάδες μέτρα) και επιτρέπει την σύνδεση κινητών συσκευών χωρίς την χρήση καλωδίων, δηλαδή με ασύρματη ζεύξη. Το Bluetooth σχεδιάστηκε με βάση τρεις κύριους στόχους : μικρό μέγεθος ελάχιστη κατανάλωση ρεύματος χαμηλή τιμή Το βεληνεκές του Bluetooth εξαρτάται από την ισχύ των ραδιοκυμάτων. Οι περισσότερες συσκευές στις μέρες μας χρησιμοποιούν ισχύ δεύτερης κλάσης που σημαίνει 4dBm ονομαστικής ισχύς εξόδου, παρέχοντας ένα βεληνεκές περίπου 10 μέτρων σε ένα φυσικό περιβάλλον χωρίς εμπόδια και παρεμβολές. Όταν χρειαζόμαστε μεγαλύτερο βεληνεκές μπορούμε να χρησιμοποιήσουμε πιο ισχυρά ραδιοκύματα όπως π.χ αυτά της πρώτης κλάσης. Η μεγαλύτερη κατανάλωση ηλεκτρικής ενέργειας δεν είναι πρόβλημα αν η συσκευή μας είναι κάποιος σταθερός εξοπλισμός. Σε περιπτώσεις όμως κινητών συσκευών όπως τα κινητά τηλέφωνα, όπου η κατανάλωση ηλεκτρικής ενέργειας είναι σημαντικός παράγοντας, η χρησιμοποίηση πρώτης κλάσης ραδιοκυμάτων είναι απαγορευτική. 52

53 Αλγόριθμος ανταλλαγής κλειδιού Diffie και Hellman Ένας από τους πρώτους αλγόριθμους συμφωνίας δημοσίου κλειδιού (key agreement), προτάθηκε το 1976 από τους Diffie και Hellman. Η λογική του, έρχεται σε αντίθεση με άλλους γνωστούς αλγορίθμους όπως ο AES οι οποίοι έχουν προϋπόθεση ότι κάθε πλευρά της επικοινωνίας θα χρησιμοποιεί ένα γνωστό κλειδί Κάθε μία από τις δύο πλευρές που θέλουν να επικοινωνήσουν χρησιμοποιεί και υπολογίζει το δικό της ιδιωτικό και δημόσιο κλειδί, όπου το τελευταίο το αποστέλλει και αντίστοιχα το λαμβάνει από την άλλη πλευρά. Ο απώτερος σκοπός είναι η δημιουργία ενός συμμετρικού καθολικού κλειδιού που δεν μπορεί να υπολογιστεί από κάποιον τρίτο. Ας υποθέσουμε ότι δύο πλευρές Α και Β θέλουν να επικοινωνήσουν. Τα βήματα που θα πρέπει να ακολουθήσουν ώστε να έχουν συμφωνία κλειδιού, βάσει του σχήματος Diffie και Hellman είναι τα παρακάτω: 53

54 Shared Secret AB Shared Secret AB Diffie-Hellman Engine Diffie-Hellman Engine Private Value Public Key Public Key Private Value 1. Αρχικά ορίζονται και στις δύο πλευρές οι παράμετροι του αλγορίθμου. a. Ένας μεγάλος πρώτος αριθμός p, p > b. Ένας πρώτος αριθμός x, 1 x p H πλευρά Α δημιουργεί ένα αριθμό α τον οποίο και αποστέλλει στην πλευρά Β. Έπειτα ο B υπολογίζει την τιμή x a modp, η οποία αποτελεί το δημόσιο κλειδί της πλευράς Α. 3. H πλευρά Β δημιουργεί ένα αριθμό b τον οποίο και αποστέλλει στην πλευρά Α. Έπειτα ο Α υπολογίζει την τιμή x b modp, η οποία αποτελεί το δημόσιο κλειδί της πλευράς Β. 4. Και οι δύο πλευρές υπολογίζουν το συμμετρικό μυστικό ιδιωτικό κλειδί ως k = x ab modp. Καθώς η πλευρά Α γνωρίζει το α και το x b modp, μπορεί να υπολογίσει την τιμή k = (x b ) a modp, ενώ η πλευρά B γνωρίζει το b και το x a modp, άρα μπορεί να υπολογίσει την τιμή k = (x α ) b modp. Η ασφάλεια, του παραπάνω αλγορίθμου, βασίζεται στο ότι ένας κακόβουλος παρατηρητής της επικοινωνίας Γ, θα γνωρίζει τα x α modp και x b modp, αλλά δεν θα μπορεί να υπολογίσει την τιμή του ιδιωτικού κλειδιού k = x ab modp. Σε συνέχεια της παραπάνω διαδικασίας ανταλλαγής κλειδιού, οι δύο πλευρές μπορούν να επιλέξουν τον αλγόριθμο της επικοινωνία τους όπως AES, Triple-DES κ.α. 54

55 Οι πρώτες εκδόσεις του μηχανισμού ανταλλαγής κλειδιού Diffie και Hellman, ήταν ευάλωτες σε επιθέσεις τύπου «Man In The Middle (άνθρωπος στο κέντρο)». Σε αυτού του είδους την επίθεση, ο κακόβουλος παρατηρητής Γ παρεμβάλλεται στην επικοινωνία των Α και Β και κατά την διαδικασία της ανταλλαγής των εκάστοτε δημοσίων κλειδιών, αντικαθιστά αυτά με δικές του τιμές. Ως συνέπεια της παραπάνω επίθεσης, οι Γ και Α συμφωνούν για ένα μυστικό κλειδί, ενώ και οι Γ και Β συμφωνούν για ένα άλλο κλειδί. Έτσι ο Γ μπορούσε να διαβάσει τα μηνύματα που μεταδίδουν ο Α στον Β και πιθανώς να τα τροποποιήσει πριν τα προωθήσει. Το 1992 αναπτύχθηκε μία ανανεωμένη έκδοση από τους Diffie, Van Oorschot και Wiener η οποία υποστήριζε την πιστοποίηση της ταυτότητας των δύο πλευρών και είχε σαν σκοπό να καταπολεμήσει την επίθεση Man In The Middle. Τα μηνύματα ανταλλάσσονται υπογεγραμμένα με τα ιδιωτικά κλειδιά των πλευρών Α και Β, ενώ χρησιμοποιούνται και πιστοποιητικά για την απόκτηση των σωστών δημοσίων κλειδιών. Έτσι, ακόμα και αν ο Γ είναι σε θέση να παρακολουθεί την επικοινωνία των δύο πλευρών, δεν είναι σε θέση να την επηρεάσει. Αλγόριθμος AES O AES αποτελεί ένα συμμετρικό αλγόριθμο κρυπτογράφησης ο οποίος λειτουργεί σε τμήματα (blocks) από δυαδικά ψηφία. Τα τμήματα δεδομένων έχουν μήκος 128 δυαδικών ψηφίων ενώ το πρωτόκολλο υποστηρίζει κλειδιά μήκους 128, 192 και 256 δυαδικών ψηφίων. Αποτελείται από έναν αριθμό επαναληπτικών γύρων, οι οποίοι εξαρτώνται από το μήκος του κλειδιού. Συγκεκριμένα ανάλογα με το μήκος κλειδιού και το μέγεθός του, ισχύει αναλυτικά ότι κλειδί των: 128 bit αντιστοιχεί σε 10 γύρους 192 bit αντιστοιχεί σε 12 γύρους 256 bit αντιστοιχεί σε 14 γύρους Σε κάθε γύρο συμβαίνουν συνοπτικά τέσσερις ανεξάρτητες διαδικασίες αντικατάσταση ψηφιολέξης (byte) 55

56 αντιμετάθεση αριθμητικές πράξεις λογική πράξη XOR με το κλειδί της διαδικασίας Αναλυτικότερα, η οποιαδήποτε είσοδος στον αλγόριθμο αποτελεί ένα τμήμα (block) μεγέθους 128 δυαδικών ψηφίων. Το τμήμα αυτό αντιστοιχίζεται σε έναν πίνακα κατάστασης, ο οποίος μεταβάλλεται ανάλογα με το γύρο του αλγορίθμου. Μετά το τέλος και του τελευταίου γύρου, η κατάσταση αντιγράφεται σε έναν πίνακα εξόδου. Παρόμοια, και το κλειδί απεικονίζεται σαν τετραγωνικός πίνακας αποτελούμενος από ψηφιολέξεις (bytes). Στη συνέχεια, το κλειδί επεκτείνεται σε έναν πίνακα w. Ο πίνακας w έχει σε σύνολο 44 θέσεις που η κάθε μια αποτελείται από τέσσερις ψηφιολέξεις. Η αρίθμηση των ψηφιολέξεων γίνεται ανά στήλες. Σε κάθε γύρο, χρησιμοποιούνται τέσσερις διαφορετικές λέξεις από τον πίνακα w, ως κλειδί του γύρου. Σε κάθε επιμέρους γύρο συμβαίνουν τέσσερις διαφορετικές λειτουργίες, οι οποίες διακρίνονται στην συνέχεια: Αντικατάσταση ψηφιολέξης Η λειτουργία αυτή επιτυγχάνεται με την χρήση S-box (κουτί κρυπτογράφησης). Ολίσθηση γραμμών Μια απλή αντιμετάθεση. Ανάμειξη στηλών Αντικατάσταση του τετραγωνικού πίνακα 4x4 του προηγούμενου βήματος, με έναν πίνακα αντίστοιχου μεγέθους, ο οποίος είναι σταθερός. Ο πολλαπλασιασμός ακολουθεί τους κανόνες του πολλαπλασιασμού πινάκων με την διαφορά ότι αντί για πρόσθεση των στοιχείων έχουμε την λογική πράξη XOR (exclusive OR (ή το «ένα» ή το «άλλο»). Πρόσθεση του κλειδιού του γύρου Μια απλή λογική πράξη XOR μεταξύ του πίνακα κατάστασης, αφού έχει υποστεί τις παραπάνω αλλαγές και του πίνακα του κλειδιού του εκάστοτε γύρου. Η δομή του αλγορίθμου είναι αρκετά απλή. Αρχικά ο αλγόριθμος προσθέτει το αρχικό κλειδί, ενώ στην συνέχεια εκτελούνται οι προαναφερθείσες λειτουργίες, με την σειρά 56

57 που αναφέρθηκαν. Να σημειωθεί ότι στον τελευταίο γύρο, συμβαίνουν μόνο τρεις λειτουργίες, καθώς δεν έχουμε ανάμειξη στηλών. Όπως φαίνεται από το παρακάτω σχήμα, ο αλγόριθμος αρχίζει και τελειώνει, με την πρόσθεση του κλειδιού. Κατά την αποκρυπτογράφηση χρησιμοποιεί τα τμήματα του κλειδιού με αντίθετη σειρά. Παρόμοια είναι και η διαδικασία κρυπτογράφησης, γεγονός που οφείλεται στην δομή του AES. Το γεγονός της αντιστρεψιμότητας των βασικών λειτουργιών του αλγορίθμου, συντελεί στην επιβεβαίωση ότι η διαδικασία αποκρυπτογράφησης υπολογίζει το αρχικό μήνυμα. Η κατάσταση είναι η ίδια, τόσο για την κρυπτογράφηση, όσο και για την αποκρυπτογράφηση. Εικόνα 13: AES κρυπτογράφηση και αποκρυπτογράφηση. Προγραμματιστική υλοποίηση Για την προγραμματιστική υλοποίηση γίνεται επέκταση του κώδικα του Bluetooth Messenger ο οποίος δίνεται όπως προαναφέρθηκε στα παραδείγματα κώδικα από την ίδια την Google. Πρωτού όμως προχωρήσουμε στην ανάλυση της προγραμματιστικής λογικής της εφαρμογής, για λόγους πληρότητας της εργασίας, θα κάνουμε μια σύντομη περιγραφή μιας εφαρμογής του λειτουργικού συστήματος Android καθώς και τον βασικών στοιχείων αυτής. 57

58 Τα δομικά στοιχεία μιας εφαρμογής Android μπορούμε να τα διακρίνουμε σε τέσσερις κατηγορίες, στα Activities (ενέργειες), στα Services (υπηρεσίες), στους Content Providers (παρόχους περιεχομένου) και τέλος στους Broadcast Receivers (αποδέκτες εκπομπών). Τα Activities είναι το σημαντικότερο στοιχείο μιας εφαρμογής. Κάθε Activity αποτελεί ένα παράθυρο της εφαρμογής, ουσιαστικά μία διαφορετική οθόνη, είναι αυτό που φαίνεται στον χρήστη. To πρώτο Activity το οποίο και βλέπει ο χρήστης είναι το Main Activity από το οποίο θα έχει πρόσβαση και σε όλα τα πιθανά υπόλοιπα. Ουσιαστικά πολλαπλά Activities μαζί μπορούν να συνδέονται μεταξύ τους. Όταν ο χρήστης καλέσει μια νέα οθόνη ουσιαστικά καλείται και ένα νέο Activity, δηλαδή έχουμε μια μορφή στοίβας. Δεν είναι όμως απαραίτητο όλα τα Activities να είναι αποθηκευμένα στην στοίβα. Ο κύκλος "ζωής" ενός Activity διακρίνεται στην συνέχεια. 58

59 Εικόνα 14: Κύκλος ζωής ενός activity μιας εφαρμογής Android. 59

60 Ο σχεδιασμός της βάσης του κώδικα ο οποίος μας ενδιαφέρει βασίζεται στην βιβλιοθήκη του android.bluetooth που παρέχεται από το API του SDK και αποτελείται από διαφορετικές κλάσεις, οι οποίες και διακρίνονται στην συνέχεια. MainActivity Αποτελεί την κεντρική εργασία που τρέχει κατά την εκκίνηση της εφαρμογής στο περιβάλλον του λειτουργικού συστήματος. Δημιουργεί τα βασικά αντικείμενα της εφαρμογής καθώς και αρχικοποιεί το γραφικό περιβάλλον της διεπαφής της συγκεκριμένης εφαρμογής. Ένα Activity ουσιαστικά αποτελεί μια σελίδα στην εφαρμογή. Οι μέθοδοι της κλάσης διακρίνονται στον ακόλουθο πίνακα. DeviceListActivity Αποτελεί ένα επιπλέον Activity της εφαρμογής. Ουσιαστικά αποτελεί την εργασία που έρχεται στο προσκήνιο όταν ο χρήστης επιθυμεί να συνδεθεί με μία νέα συσκευή και να αρχικοποίησει μια αντίστοιχη ζεύξη εντός του πρωτοκόλλου Bluetooth. Η κλάση κατά την έξοδό της επιστρέφει στην κλάση πατέρα της την MAC διεύθυνση της συσκευής που είναι διαθέσιμη προς σύνδεση. Οι μέθοδοι της κλάσης διακρίνονται στον ακόλουθο πίνακα. 60

61 BluetoothChatService Αποτελεί το Activity το οποίο τρέχει εφόσον γίνει επιθυμία για ζεύξη μεταξύ δύο συσκευών. Αρχικοποιεί την σύνδεση εντός του πρωτοκόλλου και περιλαμβάνει όλες της μεθόδους για την αρχικοποίηση ενός socket(καναλιού) επικοινωνίας σε χαμηλό επίπεδο. Επιπλέον το socket της εγγραφής περιλαμβάνει και όλες τις χαμηλού επιπέδου συναρτήσεις για ανάγνωση και εγγραφή εντός του socket επικοινωνίας. Οι μέθοδοι της κλάσης διακρίνονται στον ακόλουθο πίνακα. 61

62 BluetoothChatFragment Αποτελεί το Activity το οποίο σε υψηλό επίπεδο αναλαμβάνει την επικοινωνία των δύο μερών της ζεύξης. Περιλαμβάνει όλες τις μεθόδους που πραγματοποιούν την αποστολή και λήψη μνημάτων ως προς τον χρήστη καθώς και την κρυπτογράφηση και αποκρυπτογράφηση αυτών. Οι μέθοδοι της κλάσης διακρίνονται στον ακόλουθο πίνακα. Σημείωση Μια διεπαφή χρήστη για κάθε Android εφαρμογή είναι γραμμένη σε XML και διαθέτει διάφορα Views (προβολές) και Viewgroups (ομάδες προβολών). Views είναι τα στοιχεία τα οποία αποτελούν το γραφικό περιβάλλον και προσφέρουν δυνατότητα αλληλεπίδρασης με την εφαρμογή στον χρήστη. Παραδείγματα view είναι το button, το textview, το checkbox κτλπ. Viewgroups είναι σύνολα από views τα οποία επίσης υποδεικνύουν το πώς είναι δομημένα τα Views μέσα στο συγκεκριμένο group. Παραδείγματα viewgroup είναι το RelativeLayout που επιτρέπει την τοποθέτηση των views οπουδήποτε στο viewgroup (στο πάνω/κάτω μέρος του group, δεξιά/αριστερά από ένα άλλο view, πάνω/κάτω από ένα άλλο view κλπ.) και το LinearLayout που επιτρέπει την τοποθέτηση views στην σειρά (το ένα δίπλα στο άλλο ή το ένα πάνω από το άλλο) κλπ.. Επίσης αξίζει να αναφερθεί πως 62

63 μέσα σε ένα Viewgroup μπορούν να υπάρχουν πέρα από Views και Viewgroups. Για παράδειγμα μέσα σε ένα LinearLayout μπορεί να υπάρχει ένα button και ένα RelativeLayout. Έλεγχος υλοποίησης Ο έλεγχος της υλοποίησης της εφαρμογής γίνεται(έγινε) επιτυχώς σε συσκευές με έκδοση του λειτουργικού Android KitKat και έκδοσης του πυρήνα Linux Η τελική εφαρμογή υποστηρίζει πλήρως τη συγκεκριμένη έκδοση του λειτουργικού συστήματος καθώς και το σύνολο των βιβλιοθηκών του API αυτής. Αναλυτικότερα, η τελική εφαρμογή είναι βασισμένη στο SDK API με έκδοση και υποστηρίζει εκδόσεις του λειτουργικού έως και την έκδοση 6.02 Marshmallow. Εγκατάσταση Εφαρμογής Για την εγκατάσταση της εφαρμογής στην τελική συσκευή ελέγχου ο χρήστης πρέπει να έχει επιλεγμένη την επιλογή "Unknown Sources" από το menu των ρυθμίσεων της συσκευής κάτω από την κατηγορία "Security". 63

64 Κατά την εκκίνηση της εφαρμογής, η οποία μπορεί να γίνει όπως οποιαδήποτε εφαρμογή από τον launcher της συσκευής, γίνεται έλεγχος της διαθεσιμότητας της διεπαφής Bluetooth του τηλεφώνου στην εφαρμογή. Η εφαρμογή έχει δικαιώματα χρήσης της συγκεκριμένης διεπαφής καθώς και επιπλέον την δυνατότητα να κάνει ζεύξη συσκευών μέσω αυτής. Στην περίπτωση όπου η διεπαφή είναι διαθέσιμη αλλά εκτός λειτουργίας, εμφανίζεται το παρακάτω μήνυμα στην οθόνη του χρήστη όπου καλείται να επιλέξει την έναρξη της λειτουργίας της διεπαφής. 64

65 Εφόσον ο χρήστης επιλέξει να ανοίξει, δηλαδή να αποκτήσει πρόσβαση σε αυτή, την διεπαφή, τότε από το αριστερό menu, επιλέγει στην λειτουργία της συσκευής το πρόγραμμα της ανταλλαγής μηνυμάτων. Οι αντίστοιχες επιλογές που έχει ο χρήστης είναι είτε να συνδεθεί σε μια υπάρχουσα σύνδεση είτε να αρχικοποιήσει μια καινούργια. Αναλυτικότερα, στις επιλογές σύνδεσης μπορεί να επιλέξει επιπλέον το εάν η σύνδεση του θα είναι ασφαλής ή όχι. 65

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

67 67

68 Έπειτα από την επιτυχή σύνδεση και ζεύξη με την αντίστοιχη συσκευή επικοινωνίας, ο κάθε χρήστης είναι σε θέση να αποστείλει και να διαβάσει αντίστοιχα τα μηνύματα του εκάστοτε άλλου χρήστη. Πρωτού συμβεί αυτό, στο παρασκήνιο της εφαρμογής, οι δύο πλευρές της επικοινωνίας με την χρήση της μεθόδου Diffie και Hellman θα προχωρήσουν στην αναμενόμενη ανταλλαγή κλειδιού. Έπειτα ο εκάστοτε χρήστης πληκτρολογεί το μήνυμα που θέλει να αποστείλει και αυτό θα κρυπτογραφηθεί με τον αλγόριθμο AES με κλειδί κρυπτογράφησης το προηγούμενο κλειδί ανταλλαγής και στην συνέχεια θα αποσταλεί. Το μήνυμα λήψης θα αποκρυπτογραφηθεί και θα εμφανιστεί στην οθόνη του χρήστη. Για λόγους ταυτοποίησης στην οθόνη του χρήστη εμφανίζεται τόσο το αποκρυπτογραφημένο μήνυμα όσο και το μήνυμα λήψης. 68

69 Μελλοντικά βήματα 69

ΤΙΤΛΟΣ ΕΡΕΥΝΗΤΙΚΗΣ ΕΚΘΕΣΗΣ ΚΩΔΙΚΕΣ. Υπόθεμα: «ΚΡΥΠΤΟΓΡΑΦΙΑ»

ΤΙΤΛΟΣ ΕΡΕΥΝΗΤΙΚΗΣ ΕΚΘΕΣΗΣ ΚΩΔΙΚΕΣ. Υπόθεμα: «ΚΡΥΠΤΟΓΡΑΦΙΑ» ΤΙΤΛΟΣ ΕΡΕΥΝΗΤΙΚΗΣ ΕΚΘΕΣΗΣ ΚΩΔΙΚΕΣ Υπόθεμα: «ΚΡΥΠΤΟΓΡΑΦΙΑ» ΤΑ ΜΕΛΗ ΤΗΣ ΟΜΑΔΑΣ ΦΩΤΕΙΝΟΥ ΑΝΔΡΙΑΝΑ ΣΟΦΟΛΟΓΗ ΑΡΕΤΗ ΣΠΑΡΤΑΛΗΣ ΝΙΚΟΣ ΜΕΜΟΣ ΝΙΚΟΣ Επιβλέπουσα καθηγήτρια: Καλλιόπη Μαγδαληνού, ΠΕ19 1 ΛΙΓΑ ΛΟΓΙΑ

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

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

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

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

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

Η ΘΕΩΡΙΑ ΤΩΝ ΑΡΙΘΜΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ 2 ο ΓΕΛ ΗΡΑΚΛΕΙΟΥ ΑΤΤΙΚΗΣ Β ΤΑΞΗ ΤΜΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΣΧΟΛΙΚΟ ΕΤΟΣ: 2012-2013 Η ΘΕΩΡΙΑ ΤΩΝ ΑΡΙΘΜΩΝ ΚΡΥΠΤΟΓΡΑΦΙΑ ΠΑΝΑΚΙΑ ΑΝΤΩΝΙΑ ΣΠΙΡΤΟΥ ΜΑΡΙΑ ΧΑΤΖΗΧΡΥΣΟΥ ΔΗΜΗΤΡΑ ΘΕΩΡΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Θεωρία Αριθμών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ. Εισαγωγή. Γρηγοράκης Στέλιος Δημητρίου Αφροδίτη Ιβανόβ Τόνι Κωσταντουράκης Γρηγόρης Τσιμινικάκη Ελένη

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

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

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

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

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

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ. Σκοπός: η δημιουργία ασφαλούς επικοινωνίας. «κρυπτός» + «γράφω» τρόπος απόκρυψης περιεχομένου των μηνυμάτων

ΚΡΥΠΤΟΓΡΑΦΙΑ. Σκοπός: η δημιουργία ασφαλούς επικοινωνίας. «κρυπτός» + «γράφω» τρόπος απόκρυψης περιεχομένου των μηνυμάτων ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΡΥΠΤΟΓΡΑΦΙΑ «κρυπτός» + «γράφω» τρόπος απόκρυψης περιεχομένου των μηνυμάτων Σκοπός: η δημιουργία ασφαλούς επικοινωνίας Click to edit Master subtitle style ΔΙΑΔΙΚΑΣΙΑ ΚΡΥΠΤΟΓΡΑΦΗΣΗΣ - ΑΠΟΚΡΥΠΤΟΓΡΑΦΗΣΗΣ

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

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

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ Παράρτηµα Χανίων Τµήµα Ηλεκτρονικής Θέµα: «Μελέτη Αλγορίθµων Κρυπτογράφησης και Υλοποίηση του DES και Triple-DES σε FPGA µε τη χρήση της Γλώσσας Περιγραφής Υλικού

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

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

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

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

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

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

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

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου 2013-2014 Project Ορισμοί Ιστορία Η αποκρυπτογράφηση στις μέρες μας Κρυπτογράφηση Αποκρυπτογράφηση Αποκρυπτογραφημένο-Κρυπτογραφημένο

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΤΕΥΘΥΝΣΗ ΜΑΘΗΜΑΤΙΚΟΥ Κρυπτογραφία και Ελλειπτικές Καμπύλες ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΤΣΑΚΤΣΗΡΑ ΔΗΜΗΤΡΙΟΥ Επιβλέπων : Παπαϊωάννου

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

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

Ασφάλεια Πληροφοριακών Συστημάτων Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Θεοδωρακοπούλου Ανδριάνα atheodorak@outlook.com Βαθμολόγηση Ασκήσεις Εργαστηρίου: 40% Τελική Εξέταση: 60% Ρήτρα: Βαθμός τελικής εξέτασης > 3.5 ΠΡΟΣΟΧΗ στις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

κρυπτογραφία κρυπτογραφία κρυπτολογίας κρυπτανάλυση στεγανογραφία στεγανοανάλυση

κρυπτογραφία κρυπτογραφία κρυπτολογίας κρυπτανάλυση στεγανογραφία στεγανοανάλυση Κρυπτογραφία - Cryptography ΠΕΡΙΛΗΨΗ Σε αυτό το τετράμηνο το θέμα μας ήταν η κρυπτογραφία. Η ομάδα μας ανέλαβε να περιγράψει συνοπτικά το αντικείμενο της κρυπτογραφίας και τις εφαρμογές της και πιο αναλυτικά

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

Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ

Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΑ ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΚΑΙ ΟΙ ΧΡΗΣΙΜΟΤΗΤΑ ΤΟΥΣ ΧΑΤΖΗΣΤΕΦΑΝΟΥ ΣΤΥΛΙΑΝΟΣ ΧΑΝΙΑ ΜΑΙΟΣ 2013 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΜΠΑΡΜΟΥΝΑΚΗΣ ΙΩΑΝΝΗΣ

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

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

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

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

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

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

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

Πρώτοι αριθμοί και κρυπτογραφικός αλγόριθμος RSA. Άριστος Χαραλάμπους, Δημήτρης Χαραλάμπους, Νικόλας Παρασκευάς

Πρώτοι αριθμοί και κρυπτογραφικός αλγόριθμος RSA. Άριστος Χαραλάμπους, Δημήτρης Χαραλάμπους, Νικόλας Παρασκευάς Πρώτοι αριθμοί και κρυπτογραφικός αλγόριθμος RSA Άριστος Χαραλάμπους, Δημήτρης Χαραλάμπους, Νικόλας Παρασκευάς Πρώτοι Αριθμοί Πρώτος αριθμός ονομάζεται ένας φυσικός αριθμός (δηλ. θετικός ακέραιος) μεγαλύτερος

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

Χρήση. Αποκρυπτογράφηση

Χρήση. Αποκρυπτογράφηση Εύρεση Ανακαλύφθηκε στις αρχές του εικοστού αιώνα στην Κνωσό από τον Άρθουρ Έβανς, που την ονόμασε έτσι επειδή χρησιμοποιούσε γραμμικούς χαρακτήρες (και όχι εικονιστικούς, όπως η μινωική ιερογλυφική γραφή)

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

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη του αλγορίθµου κρυπτογράφησης Advanced Encryption Standard (AES) και υλοποίησή του µέσω λογισµικού. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Νικολάου ανδουλάκη Επιβλέπων :

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

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

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

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

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

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

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

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

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

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

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

Ασφάλεια Πληροφοριακών Συστημάτων Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Lab 1 Κλασική Κρυπτογραφία ΤΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Fysarakis Konstantinos, PhD kfysarakis@staff.teicrete.gr Γενικές Πληροφορίες Βαθμολόγηση

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

Τεχνολογικό Εκπαιδευτικό Ίδρυµα Κρήτης

Τεχνολογικό Εκπαιδευτικό Ίδρυµα Κρήτης Τεχνολογικό Εκπαιδευτικό Ίδρυµα Κρήτης Σχολή Τεχνολογικών Εφαρµογών Τµήµα Εφαρµοσµένης Πληροφορικής & Πολυµέσων Πτυχιακή Εργασία Τίτλος: Κρυπτογράφηση και Υδατογράφηση 2D εικόνας Ευφροσύνη Αλεξοπούλου(ΑΜ:2002)

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

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

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

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

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

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

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

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα Ενότητα 5: ΚΡΥΠΤΟΓΡΑΦΗΣΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος

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

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

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

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

Μελέτη Πρωτοκόλλων Κρυπτογραφίας

Μελέτη Πρωτοκόλλων Κρυπτογραφίας AΕΙ ΠΕΙΡΑΙΑ T.T. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ T.Τ. ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Μελέτη Πρωτοκόλλων Κρυπτογραφίας Άννα Ελένη Κ. Γεωργοπούλου Εισηγητής: Δρ Παναγιώτης

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

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

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

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

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

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

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

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

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

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

Συμμετρικοί Αλγόριθμοι Κρυπτογράφησης Δεδομένων Η περίπτωση του Αλγόριθμου AES

Συμμετρικοί Αλγόριθμοι Κρυπτογράφησης Δεδομένων Η περίπτωση του Αλγόριθμου AES Ειδική Επιστημονική Εργασία Συμμετρικοί Αλγόριθμοι Κρυπτογράφησης Δεδομένων Η περίπτωση του Αλγόριθμου AES Λυκούδης Κων/νος Πτυχιούχος Τμήματος Φυσικής Πανεπιστημίου Πατρών Πανεπιστήμιο Πατρών, 2/11/2012

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

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

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

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

ΟΙ ΓΡΑΦΕΣ ΣΤΟ ΠΡΟΙΣΤΟΡΙΚΟ ΑΙΓΑΙΟ Όταν οι μαθητές δημιουργούν

ΟΙ ΓΡΑΦΕΣ ΣΤΟ ΠΡΟΙΣΤΟΡΙΚΟ ΑΙΓΑΙΟ Όταν οι μαθητές δημιουργούν ΟΙ ΓΡΑΦΕΣ ΣΤΟ ΠΡΟΙΣΤΟΡΙΚΟ ΑΙΓΑΙΟ Όταν οι μαθητές δημιουργούν ΜΑΘΗΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΣΤΟ ΜΑΘΗΜΑ ΤΗΣ ΙΣΤΟΡΙΑΣ Στο πλαίσιο του μαθήματος της Αρχαίας Ελληνικής Ιστορίας στην Α τάξη Γυμνασίου, οι μαθητές μας

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

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

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

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

Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας

Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας Δραστηριότητες σχετικά με κρυπτογραφία και ελέγχους ισοτιμίας Δραστηριότητα 6: Κωδικοί και κρυπτογραφία Το αντικείμενο της δραστηριότητας αυτής είναι η κατανόηση από την πλευρά των μαθητών μερικών στοιχειωδών

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 1 Εισαγωγικά Βασικές

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

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

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

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

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

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

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

Freedom of Speech. Κρυπτογραφία και ασφαλής ανταλλαγή πληροφοριών στο Internet

Freedom of Speech. Κρυπτογραφία και ασφαλής ανταλλαγή πληροφοριών στο Internet Freedom of Speech Κρυπτογραφία και ασφαλής ανταλλαγή πληροφοριών στο Internet Freedom of Speech Ποιός ; & Γιατί ; Τι είναι Ιστορικά Στόχοι Είδη Μοντέρνων Αλγορίθμων Μοντέλα Εμπιστοσύνης 14/03/2012 Freedom

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Εισαγωγή Άρης Παγουρτζής Στάθης Ζάχος Σχολή ΗΜΜΥ ΕΜΠ Διοικητικά του μαθήματος Διδάσκοντες Στάθης Ζάχος Άρης Παγουρτζής Πέτρος Ποτίκας (2017-18) Βοηθοί διδασκαλίας Παναγιώτης Γροντάς

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

27/3/2012 ΕΣΠΟΙΝΑ ΛΕΒΕΝΤΕΛΗ ΜΑΡΙΑ ΠΑΠΑ ΟΠΟΥΛΟΥ ΓΕΩΡΓΙΟΣ ΙΟΝΥΣΑΤΟΣ ΗΜΗΤΡΗΣ ΑΜΙΓΟΣ ΦΩΤΗΣ ΝΤΙΜΕΡΗΣ ΑΛΕΞΑΝ ΡΟΣ ΓΚΟΒΙΛΑΣ ΑΓΓΕΛΟΣ ΧΑΤΣΗΣ

27/3/2012 ΕΣΠΟΙΝΑ ΛΕΒΕΝΤΕΛΗ ΜΑΡΙΑ ΠΑΠΑ ΟΠΟΥΛΟΥ ΓΕΩΡΓΙΟΣ ΙΟΝΥΣΑΤΟΣ ΗΜΗΤΡΗΣ ΑΜΙΓΟΣ ΦΩΤΗΣ ΝΤΙΜΕΡΗΣ ΑΛΕΞΑΝ ΡΟΣ ΓΚΟΒΙΛΑΣ ΑΓΓΕΛΟΣ ΧΑΤΣΗΣ ΕΛΕΝΗ ΜΑΝΟΥΣΟΥ ΕΛΕΥΘΕΡΙΑ ΚΟΝΤΟΓΕΩΡΓΑΚΟΥ ΑΓΓΕΛΟΣ ΑΝΑΣΤΑΣΗΣ ΜΕΡΑΝ ΑΛΤΑΦ ΚΩΣΤΑΣ ΓΕΩΡΓΙΟΥ ΝΙΚΟΣ ΚΑΡΑΤΖΑΚΗΣ ΧΡΗΣΤΟΣ ΙΑΚΟΓΙΑΝΝΗΣ ΙΑΣΟΝΑΣ ΑΒΡΑΜΟΠΟΥΛΟΣ ΕΣΠΟΙΝΑ ΛΕΒΕΝΤΕΛΗ ΜΑΡΙΑ ΠΑΠΑ ΟΠΟΥΛΟΥ ΓΕΩΡΓΙΟΣ ΙΟΝΥΣΑΤΟΣ ΗΜΗΤΡΗΣ

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

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

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

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

Μαθηματικά και Κρυπτογραφία

Μαθηματικά και Κρυπτογραφία 1 Μαθηματικά και Κρυπτογραφία 2 ΠΕΡΙΕΧΟΜΕΝΑ ΚΡΥΠΤΟΓΡΑΦΙΑ ΑΝΑ ΤΟΥΣ ΑΙΩΝΕΣ...5 ΕΙΣΑΓΩΓΗ...6 Η ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΤΗΝ ΑΡΧΑΙΟΤΗΤΑ...9 Η ΣΠΑΡΤΙΑΤΙΚΗ ΣΚΥΤΑΛΗ...10 ΔΙΣΚΟΣ ΤΗΣ ΦΑΙΣΤΟΥ...11 Η ΓΡΑΜΜΙΚΗ ΓΡΑΦΗ...11 ΜΥΣΤΙΚΟΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

4ο ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Β ΛΥΚΕΙΟΥ ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΤΕΓΑΝΟΓΡΑΦΙΑ

4ο ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Β ΛΥΚΕΙΟΥ ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΤΕΓΑΝΟΓΡΑΦΙΑ 4ο ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Β ΛΥΚΕΙΟΥ ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΤΕΓΑΝΟΓΡΑΦΙΑ ΚΡΥΠΤΟΓΡΑΦΙΑ ΠΕΡΙΕΧΟΜΕΝΑ ΣΕΛ. 1. ΟΡΙΣΜΟΣ ΤΗΣ ΕΝΝΟΙΑΣ «ΚΡΥΠΤΟΓΡΑΦΙΑ».. 4 1.1. ΣΤΟΧΟΙ ΚΡΥΠΤΟΓΡΑΦΙΑΣ.. 4 1.2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία PROJECT Β ΛΥΚΕΙΟΥ 4 Ο ΓΕΛ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ

Κρυπτογραφία PROJECT Β ΛΥΚΕΙΟΥ 4 Ο ΓΕΛ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ Κρυπτογραφία PROJECT Β ΛΥΚΕΙΟΥ 4 Ο ΓΕΛ ΑΛΙΜΟΥ ΜΑΚΡΥΓΙΑΝΝΕΙΟ Γενικά για την κρυπτογραφία Με τον όρο κρυπτογραφία εννοούμε τη μελέτη μαθηματικών τεχνικών που στοχεύουν στην εξασφάλιση θεμάτων που άπτονται

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΠΙΣΤΟΠΟΙΗΣΗΣ - ΚΡΥΠΤΟΓΡΑΦΙΑ - ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΣΥΣΤΗΜΑΤΑ ΠΙΣΤΟΠΟΙΗΣΗΣ - ΚΡΥΠΤΟΓΡΑΦΙΑ - ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ ΜΥΤΙΛΗΝΑΚΗΣ ΘΕΟΔΩΡΟΣ Α.Μ 2012 ΙΟΥΝΙΟΣ 2013 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΧΑΤΖΗΣ

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

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

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

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

Διατμηματικό Μεταπτυχιακό Πρόγραμμα Ηλεκτρονική και Επεξεργασία της Πληροφορίας

Διατμηματικό Μεταπτυχιακό Πρόγραμμα Ηλεκτρονική και Επεξεργασία της Πληροφορίας Ειδική Επιστημονική Εργασία Συμμετρικοί Αλγόριθμοι Κρυπτογράφησης Δεδομένων Οι περιπτώσεις των αλγορίθμων DES και TDEA Φλωκατούλα Δώρα, Μηχανικός Η/Υ & Πληροφορικής Επιβλέπων : Μπακάλης Δημήτριος, Επίκουρος

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