Συγκριτική αξιολόγηςη ςυμβατικήσ κρυπτογραφίασ και κρυπτογραφίασ ελλειπτικών καμπυλών ςε κινητέσ ςυςκευέσ

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

Download "Συγκριτική αξιολόγηςη ςυμβατικήσ κρυπτογραφίασ και κρυπτογραφίασ ελλειπτικών καμπυλών ςε κινητέσ ςυςκευέσ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ Τμήμα Μηχανικών Πληρουοριακών & Επικοινωνιακών Συστημάτων Συγκριτική αξιολόγηςη ςυμβατικήσ κρυπτογραφίασ και κρυπτογραφίασ ελλειπτικών καμπυλών ςε κινητέσ ςυςκευέσ Διπλωματική Εργαςία ΔΕΜΕΡΣΖΗ ΣΕΦΑΝΟ Επιβλζποντεσ: ΚΩΝΣΑΝΣΙΝΟΤ ΕΛΙΑΒΕΣ ΚΑΜΠΟΤΡΑΚΗ ΓΕΩΡΓΙΟ Καρλόβαςι 2008

2 Ευχαριςτίεσ 2 Ευχαριςτύεσ Θα ικελα να ευχαριςτιςω τθν κ. Ε. Κωνςταντίνου, επιβλζπουςα τθσ διπλωματικισ μου εργαςίασ για τθ βοικειά τθσ, τθν άμεςθ ανταπόκριςθ τθσ ςε κάκε μου ερϊτθμα και τθν υπομονι που ζδειξε όλο αυτό το διάςτθμα. Επιπλζον ευχαριςτϊ τθν κ. Γ. Καμπουράκθ για τθ πολφ καλι ςυνεργαςία που είχαμε ςε αυτι και ςε παλαιότερεσ εργαςίεσ οι οποίεσ αποτζλεςαν τθ βάςθ για τθν παροφςα εργαςία.

3 Περίλθψθ 3 Περύληψη Πριν περίπου ζναν χρόνο (Μάιοσ 2007) ςτθν εργαςία εξαμινου για το μάκθμα «Αςφάλεια αςφρματων επικοινωνιϊν» παρουςιάςτθκε μια ολοκλθρωμζνθ λφςθ που υλοποιοφςε μια μορφι αςφαλοφσ wiki ςε κινθτζσ ςυςκευζσ [2]. Η λφςθ αυτι αποτελοφνταν από μια εφαρμογι wiki server και μια εφαρμογι wiki client που υλοποιοφςαν το πρωτόκολλο επικοινωνίασ που είχε δθμιουργθκεί για το ςκοπό αυτό. Το πρωτόκολλο αυτό βαςίηονταν ςε αυκεντικοποίθςθ με χριςθ RSA [4][6] για τθν ανταλλαγι μυςτικϊν κλειδιϊν. Σκοπόσ τθσ παροφςασ εργαςίασ, ιταν αρχικά θ βελτίωςθ τθσ τότε υλοποίθςθσ, ειςάγοντασ αντί του RSA, τεχνικζσ κρυπτογράφθςθσ βαςιςμζνεσ ςτισ ελλειπτικζσ καμπφλεσ. Με τθν ολοκλιρωςθ αυτοφ του ςκοποφ διαπιςτϊκθκε ότι τα αποτελζςματα δεν ιταν τα αναμενόμενα. Η ανταλλαγι κλειδιοφ με κρυπτογραφία ελλειπτικϊν καμπυλϊν αφξθςε αιςκθτά το χρόνο αυκεντικοποίθςθσ. Για το λόγο αυτό ξεκίνθςε μία μελζτθ για τθν εφρεςθ των αιτιϊν αυτϊν των αποτελεςμάτων. Η μελζτθ αυτι κατζλθξε ςτθ δθμιουργία αρκετϊν εφαρμογϊν που υλοποιοφςαν διάφορεσ τεχνικζσ κρυπτογράφθςθσ ςε κινθτζσ ςυςκευζσ. Στα κεφάλαια που ακολουκοφν γίνεται μια ςφγκριςθ διάφορων τεχνικϊν ανταλλαγισ μυςτικϊν κλειδιϊν μζςω κινθτϊν ςυςκευϊν. Από τθ μελζτθ των αποτελεςμάτων δίνεται απάντθςθ ςτο «γιατί θ ανταλλαγι κλειδιοφ με RSA είναι πιο γριγορθ από τθν αντίςτοιχθ των ελλειπτικϊν καμπυλϊν ςτθν εφαρμογι wiki» και τζλοσ προτείνεται θ βζλτιςτθ μζκοδοσ ανταλλαγισ κλειδιϊν ςε διάφορεσ περιπτϊςεισ.

4 <Πίνακασ περιεχομζνων 4 Πύνακασ περιεχομϋνων Ευχαριςτίεσ... 2 Περίλθψθ... 3 Πίνακασ περιεχομζνων Ειςαγωγι Βαςικζσ Ζννοιεσ... 8 Κρυπτογραφία... 8 Σφςτθμα Mobile Wiki... 9 Δομι Κεφάλαια Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ Ειςαγωγι Ομάδεσ, δακτφλιοι, ςϊματα Το πεπεραςμζνο ςϊμα F p Το πεπεραςμζνο ςϊμα F2m Ελλειπτικζσ καμπφλεσ ςε πεπεραςμζνα ςϊματα Ελλειπτικζσ καμπφλεσ ςτο Fp Ελλειπτικζσ καμπφλεσ ςτο F2m Οριςμοί και βαςικά αποτελζςματα Πεδίο οριςμοφ των παραμζτρων για τθ κρυπτογραφία ελλειπτικϊν καμπυλϊν (ECC). 19 Πρωτόκολλα ελλειπτικϊν καμπυλϊν: ECDH Το πρόβλθμα του διακριτοφ λογαρίκμου Η βιβλιοκικθ Bouncy Castle Οριςμόσ μεγάλου ακζραιου Δθμιουργία τυχαίου αρικμοφ Οριςμόσ ελλειπτικισ καμπφλθσ ςτο F2m Οριςμόσ ελλειπτικισ καμπφλθσ ςτο Fp Οριςμόσ ςθμείου ελλειπτικισ καμπφλθσ Πολλαπλαςιαςμόσ ςθμείου ελλειπτικισ καμπφλθσ με ακζραιο Δθμιουργία ηεφγουσ κλειδιϊν Ελλειπτικϊν Καμπυλϊν Δθμιουργία κοινοφ μυςτικοφ με χριςθ ECDH Υλοποίθςθ hash function SHA Δθμιουργία ηεφγουσ κλειδιϊν RSA... 27

5 <Πίνακασ περιεχομζνων 5 Κρυπτογράφθςθ με RSA Αποκρυπτογράφθςθ με RSA Δθμιουργία παραμζτρων Diffie Hellman Δθμιουργία ηεφγουσ κλειδιϊν Diffie Hellman Δθμιουργία κοινοφ μυςτικοφ με χριςθ Diffie Hellman Μζτρθςθ χρόνου Μζκοδοσ Μετριςεισ Γενικά Μζτρθςθ χρόνου Πρϊτθ και δεφτερθ αυκεντικοποίθςθ, διαφορά χρόνου και χριςθ μνιμθσ ECC Mobile Wiki Γενικά ECC Certificate generator ECC Smartphone Project Γενικά Περιγραφι Εφαρμογισ Πρωτόκολλο αυκεντικοποίθςθσ Χρόνοι αυκεντικοποίθςθσ RSA Mobile Wiki Γενικά RSA Certificate Generator RSA Smartphone Project Γενικά Πρωτόκολλο αυκεντικοποίθςθσ Χρόνοι αυκεντικοποίθςθσ Σφγκριςθ RSA και ECDH Ειςαγωγι Πρϊτθ εκτζλεςθ Δεφτερθ εκτζλεςθ Διαφορά Χριςθ μνιμθσ Συμπεράςματα Τοπικι εφαρμογι RSA Γενικά Μζτρθςθ Χρόνου... 49

6 <Πίνακασ περιεχομζνων 6 Πρϊτθ εκτζλεςθ Δεφτερθ Εκτζλεςθ Διαφορά Χριςθ μνιμθσ Συμπεράςματα Τοπικι Εφαρμογι Diffie Hellman Diffie Hellman certificate generator Local DH Μζτρθςθ χρόνων Τοπικι Εφαρμογι EC Diffie Hellman Γενικά Μζτρθςθ Χρόνων Σφγκριςθ DH ECDH Ειςαγωγι Πρϊτθ εκτζλεςθ Δεφτερθ εκτζλεςθ Διαφορά Χριςθ μνιμθσ Συμπεράςματα Συγκεντρωτικι ανάλυςθ RSA DH ECDH Ειςαγωγι Πρϊτθ εκτζλεςθ Δεφτερθ εκτζλεςθ Διαφορά Χριςθ μνιμθσ Συμπεράςματα Βιβλιογραφία Παράρτθμα Κϊδικασ EC SP Project Form Form Form Form Funk.cs Crypt.cs RSA SP Project Form1.cs... 97

7 <Πίνακασ περιεχομζνων Funk.cs Crypt.cs RSA Local Project Form1.cs Crypt.cs DH Local Test Form1.cs Crypt.cs ECC Local Test Form1.cs Crypt.cs ECC Cert Generator Form1.cs Funk.cs RSA Cert Generator Form.cs DH cert generator Form1.cs Wiki Server Wiki.cs Crypt.cs

8 1. Ειςαγωγι Βαςικζσ Ζννοιεσ 8 1. Ειςαγωγό Βαςικϋσ Έννοιεσ Στο παρόν κεφάλαιο παρουςιάηονται οι βαςικζσ ζννοιεσ κακϊσ και μια παλιότερθ εργαςία πάνω ςτα οποία ςτθρίχκθκε θ παροφςα εργαςία. Επιπλζον γίνεται αναφορά ςτθ δομι και τα περιεχόμενα των κεφαλαίων τθσ εργαςίασ. Κρυπτογραφύα Η λζξθ κρυπτογραφία προζρχεται από τα ςυνκετικά "κρυπτόσ" + "γράφω" και είναι ζνασ επιςτθμονικόσ κλάδοσ που αςχολείται με τθν μελζτθ, τθν ανάπτυξθ και τθν χριςθ τεχνικϊν κρυπτογράφθςθσ και αποκρυπτογράφθςθσ με ςκοπό τθν απόκρυψθ του περιεχομζνου των μθνυμάτων. Η κρυπτογραφία είναι ζνασ κλάδοσ τθσ επιςτιμθσ τθσ κρυπτολογίασ, θ οποία αςχολείται με τθν μελζτθ τθσ αςφαλοφσ επικοινωνίασ. Ο κφριοσ ςτόχοσ τθσ είναι να παρζχει μθχανιςμοφσ για δφο ι περιςςότερα μζλθ να επικοινωνιςουν χωρίσ κάποιοσ άλλοσ να είναι ικανόσ να διαβάηει τθν πλθροφορία εκτόσ από τα μζλθ. Η λζξθ κρυπτολογία αποτελείται από τθν ελλθνικι λζξθ "κρυπτόσ" και τθν λζξθ "λόγοσ" και χωρίηεται ςε δφο κλάδουσ: τθν Κρυπτογραφία και τθν Κρυπτανάλυςθ [6]. Ιςτορικά θ κρυπτογραφία χρθςιμοποιικθκε για τθν κρυπτογράφθςθ μθνυμάτων δθλαδι μετατροπι τθσ πλθροφορίασ από μια κανονικι κατανοθτι μορφι ςε ζναν γρίφο, που χωρίσ τθν γνϊςθ του κρυφοφ μεταςχθματιςμοφ κα παρζμενε ακατανόθτοσ. Κφριο χαρακτθριςτικό των παλαιότερων μορφϊν κρυπτογράφθςθσ ιταν ότι θ επεξεργαςία γινόταν πάνω ςτθν γλωςςικι δομι. Στισ νεότερεσ μορφζσ θ κρυπτογραφία κάνει χριςθ του αρικμθτικοφ ιςοδφναμου, θ ζμφαςθ ζχει μεταφερκεί ςε διάφορα πεδία των μακθματικϊν, όπωσ διακριτά μακθματικά, κεωρία αρικμϊν, κεωρία πλθροφορίασ, υπολογιςτικι πολυπλοκότθτα, ςτατιςτικι και ςυνδυαςτικι ανάλυςθ. Η κρυπτογραφία παρζχει 4 βαςικζσ λειτουργίεσ (αντικειμενικοί ςκοποί): Εμπιςτευτικότητα: Η πλθροφορία προσ μετάδοςθ είναι προςβάςιμθ μόνο ςτα εξουςιοδοτθμζνα μζλθ. Η πλθροφορία είναι ακατανόθτθ ςε κάποιον τρίτο. Ακεραιότητα: Η πλθροφορία μπορεί να αλλοιωκεί μόνο από τα εξουςιοδοτθμζνα μζλθ και δεν μπορεί να αλλοιϊνεται χωρίσ τθν ανίχνευςθ τθσ αλλοίωςθσ. Μη απάρνηςη: Ο αποςτολζασ ι ο παραλιπτθσ τθσ πλθροφορίασ δεν μπορεί να αρνθκεί τθν αυκεντικότθτα τθσ μετάδοςθσ ι τθσ δθμιουργίασ τθσ. Πιςτοποίηςη: Οι αποςτολζασ και παραλιπτθσ μποροφν να εξακριβϊνουν τισ ταυτότθτζσ τουσ κακϊσ και τθν πθγι και τον προοριςμό τθσ πλθροφορίασ με διαβεβαίωςθ ότι οι ταυτότθτζσ τουσ δεν είναι πλαςτζσ.

9 1. Ειςαγωγι Βαςικζσ Ζννοιεσ 9 Μερικζσ βαςικζσ ζννοιεσ ςτθν κρυπτογραφία που χρθςιμοποιοφνται ςτθν παροφςα εργαςία εξθγοφνται παρακάτω: Κρυπτογράφθςθ (encryption) ονομάηεται θ διαδικαςία μεταςχθματιςμοφ ενόσ μθνφματοσ ςε μία ακατανόθτθ μορφι με τθν χριςθ κάποιου κρυπτογραφικοφ αλγορίκμου οφτωσ ϊςτε να μθν μπορεί να διαβαςτεί από κανζναν εκτόσ του νόμιμου παραλιπτθ. Η αντίςτροφθ διαδικαςία όπου από το κρυπτογραφθμζνο κείμενο παράγεται το αρχικό μινυμα ονομάηεται αποκρυπτογράφθςθ (decryption). Κρυπτογραφικόσ αλγόρικμοσ (cipher) είναι θ μζκοδοσ μεταςχθματιςμοφ δεδομζνων ςε μία μορφι που να μθν επιτρζπει τθν αποκάλυψθ των περιεχομζνων τουσ από μθ εξουςιοδοτθμζνα μζρθ. Κατά κανόνα ο κρυπτογραφικόσ αλγόρικμοσ είναι μία πολφπλοκθ μακθματικι ςυνάρτθςθ. Αρχικό κείμενο (plaintext) είναι το μινυμα το οποίο αποτελεί τθν είςοδο ςε μία διεργαςία κρυπτογράφθςθσ. Κλειδί (key) είναι ζνασ αρικμόσ αρκετϊν bit που χρθςιμοποιείται ωσ είςοδοσ ςτθν ςυνάρτθςθ κρυπτογράφθςθσ. Κρυπτογραφθμζνο κείμενο (ciphertext) είναι το αποτζλεςμα τθσ εφαρμογισ ενόσ κρυπτογραφικοφ αλγόρικμου πάνω ςτο αρχικό κείμενο. Κρυπτανάλυςθ (cryptanalysis) είναι μία επιςτιμθ που αςχολείται με το "ςπάςιμο" κάποιασ κρυπτογραφικισ τεχνικισ οφτωσ ϊςτε χωρίσ να είναι γνωςτό το κλειδί τθσ κρυπτογράφθςθσ, το αρχικό κείμενο να μπορεί να αποκωδικοποιθκεί. Σύςτημα Mobile Wiki 'Wiki' (προφζρεται ουίκι) είναι ζνασ τφποσ δικτυακισ βάςθσ δεδομζνων που επιτρζπει ςε οποιονδιποτε να δθμιουργιςει και να επεξεργαςτεί το περιεχόμενό τθσ μζςω κάποιου περιβάλλοντοσ χριςθσ (user interface). Το όνομα προζρχεται από τθν αργκό του διαδικτφου και ςυγκεκριμζνα είναι ςυντόμευςθ του όρου WikiWikiWeb. «Wikiwiki» είναι μια χαβανζηικθ λζξθ που ςθμαίνει «γριγορα». Σε ζνα wiki, διάφορα άτομα μποροφν να γράφουν μαηί. Αν ζνα άτομο κάνει κάποιο λάκοσ, το επόμενο μπορεί να το διορκϊςει. Μπορεί επίςθσ να προςκζςει κάτι νζο ςτθν ςελίδα, πράγμα που επιτρζπει τθν ςυνεχι βελτίωςθ και ενθμζρωςθ. Επίςθσ ςτα wiki μπορεί να γίνεται ςυηιτθςθ. Ο ςκοπόσ και οι κανόνεσ είναι διαφορετικοί ςε διάφορα wiki. Για παράδειγμα ςκοπόσ πολλϊν είναι να γραφοφν άρκρα που ςχθματίηουν μια εγκυκλοπαίδεια. Ο ςκοπόσ δθμιουργεί και κανόνεσ. Το πρϊτο wiki ξεκίνθςε ςτισ 25 Μαρτίου 1995 από τον Ward Cunningham, και είχε αρκετοφσ χριςτεσ οι οποίοι αργότερα δθμιοφργθςαν τα δικά τουσ wiki.

10 1. Ειςαγωγι Βαςικζσ Ζννοιεσ 10 Παρακάτω γίνεται μια ςφντομθ αναφορά ςτο μοντζλο mobile wiki που είχε παρουςιαςτεί το Μάιο 2007 ςε εργαςία εξαμινου και πάνω ςτο ςυγκεκριμζνο μοντζλο βαςίςτθκε ζνα κομμάτι τθσ παροφςασ εργαςίασ. Πρόκειται για ζνα ολοκλθρωμζνο ςφςτθμα (server client πρωτόκολλο επικοινωνίασ) που υλοποιεί μια μορφι wiki και είναι προςαρμοςμζνο για λειτουργία ςε κινθτζσ ςυςκευζσ *3+. Στο πρωτόκολλο γίνεται χριςθ ςυμμετρικισ κρυπτογράφθςθσ κακϊσ και αςφμμετρθσ ανάλογα με τθν περίπτωςθ. Όπου ςυναντάμε ςυμμετρικι κρυπτογράφθςθ γίνεται χριςθ του αλγορίκμου AES με μικοσ κλειδιοφ 256 bits. Όπου ςυναντάμε αςφμμετρθ γίνεται χριςθ του αλγορίκμου RSA με μικοσ κλειδιοφ 1024 bits. Το πρωτόκολλο δεν αςχολείται κακόλου με τον τρόπο που ο server λαμβάνει ι παράγει τα private και public keys του. Αντικζτωσ κεωρεί Εικόνα 1: Αρχικό πρωτόκολλο mobile wiki αναγκαία τθ μετάδοςθ του public key του server ςτον client ςε μορφι X.509 base-64 encoded πιςτοποιθτικοφ (αςχζτωσ τρόπου που αυτι θ μετάδοςθ γίνεται). Η ςυγκεκριμζνθ μορφι πιςτοποιθτικοφ μπορεί να εξαχκεί εφκολα από λειτουργικά ςυςτιματα desktop και είναι ςε μορφι απλοφ κειμζνου γεγονόσ που τθν κακιςτά μεταφζρςιμθ ςτισ διάφορεσ πλατφόρμεσ κινθτϊν. Το πρωτόκολλο φροντίηει για τθν αυκεντικοποίθςθ του client ςτο server αλλά όχι το αντίςτροφο. Θεωροφμε πωσ θ αυκεντικοποίθςθ του server ςτον client δεν προφυλάςει από επικζςεισ ςοβαρισ μορφισ (μόνο dos attacks είναι εφικτζσ) και επομζνωσ είναι περιττι. Αν ο client επικυμεί να αυκεντικοποιθκεί ςτον server ςε πρϊτθ φάςθ ακολουκείται θ εξισ διαδικαςία: (α) ο client παράγει ζνα τυχαίο session key που λειτουργεί ςαν το ςυμμετρικό κλειδί κρυπτογράφθςθσ, (β) εν ςυνεχεία ο client το κρυπτογραφεί με το public key του server το οποίο το ανακτά από το πιςτοποιθτικό του, (γ) o server ανακτά το κρυπτογραφθμζνο session key, (δ) ο server αποκρυπτογραφεί το session key με το δικό του private key, (ε) ο client κρυπτογραφεί τα credentials του με το session key και τα αποςτζλλει ςτο server (ςτ) ο server ανακτά τα κρυπτογραφθμζνα credentials του χριςτθ (η) ο server τα αποκρυπτογραφεί με βάςθ το session key που είχε λάβει προθγουμζνωσ. Μζχρι αυτό το ςθμείο το πρωτόκολλο αυτό είναι αρκετά ελαφρφ και απλό, ωςτόςο ζχει τθν αδυναμία ότι είναι εξαιρετικά αδφναμο ςε επικζςεισ τφπου man in the middle - replay attacks. Με άλλα λόγια αν μια εχκρικι οντότθτα, προςποιοφμενθ τον client αποφαςίςει να ςυλλάβει πακζτα που περιζχουν το κρυπτογραφθμζνο session key και τα κρυπτογραφθμζνα credentials του client και εν ςυνεχεία τα αποςτείλει τότε ο server κα αυκεντικοποιιςει αυτι τθν οντότθτα και όχι τον πελάτθ. Θζλουμε να βεβαιωκοφμε ότι ο client ζχει πραγματικά το session key με άλλα λόγια να κάνουμε key confirmation (ςτθ μθ κρυπτογραφθμζνθ μορφι του).

11 1. Ειςαγωγι Βαςικζσ Ζννοιεσ 11 Για να το επιτφχουμε αυτό ειςάγουμε ωσ extra βιματα ςτο πρωτόκολλο μια διαδικαςία challenge-response. Ζτςι λοιπόν ζχουμε (θ) ο server παράγει ζνα τυχαίο αρικμό και τον αποςτζλλει ςτον client, (κ) ο client καλείται να το κρυπτογραφιςει με το session key του, (ι) ο server ανακτά τον κρυπτογραφθμζνο τυχαίο αρικμό και τον αποκρυπτογραφεί με το session key (κ) αν το αποτζλεςμα είναι το ίδιο τότε αποςτζλλει μινυμα επιτυχίασ διαφορετικά μινυμα αποτυχίασ. Η εικόνα 1 απεικονίηεται ςυνοπτικά θ παραπάνω διαδικαςία. Στθν παροφςα εργαςία γίνεται απόπειρα βελτίωςθσ του παραπάνω πρωτοκόλλου με τθν ειςαγωγι τεχνικϊν κρυπτογράφθςθσ ελλειπτικϊν καμπυλϊν ςτθ κζςθ του RSA. Επιπλζον οι καινοφριεσ υλοποιιςεισ γίνονται ςε πλατφόρμα windows mobile smartphone (κινθτό τθλζφωνο) αντί για windows mobile pda που βαςίηονταν οι παλιζσ. Πρακτικά κάτι τζτοιο ςθμαίνει ότι γίνεται μεγάλθ μείωςθ υπολογιςτικϊν πόρων και διακζςιμθσ μνιμθσ (RAM). Πιο ςυγκεκριμζνα θ πλατφόρμα που γίνονται οι δοκιμζσ είναι ζνα κινθτό τθλζφωνο με λειτουργικό ςφςτθμα windows mobile smartphone με 180MHz επεξεργαςτι και 24MB RAM από τα οποία τα 20 είναι μονίμωσ δεςμευμζνα από το λειτουργικό. Για προφανείσ λόγουσ το μοντζλο που περιγράφθκε παραπάνω ξαναγράφτθκε από τθν αρχι ϊςτε να μπορεί να τρζξει ςε περιβάλλον κινθτοφ τθλεφϊνου ϊςτε να γίνει ςωςτά θ ςφγκριςθ. Επιπλζον, το κομμάτι challenge response που περιγράφθκε ςτθν προθγοφμενθ παράγραφο παραλιφκθκε από τθν υλοποίθςθ μια που ςτθν παροφςα δεν μασ αφορά. Μια πρϊτθ πρόβλεψθ είναι ότι θ κρυπτογραφία ελλειπτικϊν καμπυλϊν λόγω του ότι χρθςιμοποιεί πολφ μικρότερου μικουσ κλειδί από τον RSA κα ζχει καλφτερεσ επιδόςεισ από άποψθ χρόνου και χριςθσ μνιμθσ. Στο επόμενο κεφάλαιο παρουςιάηονται το μακθματικό υπόβακρο και μερικά βαςικά χαρακτθριςτικά των ελλειπτικϊν καμπυλϊν. Δομό Κεφϊλαια Η παροφςα εργαςία είναι δομθμζνθ ωσ εξισ. Αρχικά γίνεται μια ςφντομθ μακθματικι ειςαγωγι και παρουςίαςθ τθσ κεωρίασ των ελλειπτικϊν καμπυλϊν και του πρωτοκόλλου ECDH το οποίο εφαρμόςτθκε ςτθν παροφςα εργαςία. Ακολουκεί θ παρουςίαςθ τθσ βιβλιοκικθσ Bouncy Castle θ οποία χρθςιμοποιικθκε για τθν υλοποίθςθ των εφαρμογϊν. Παρατίκενται κομμάτια κϊδικα και επεξιγθςθσ βαςικϊν κομματιϊν τθσ υλοποίθςθσ. Στθ ςυνζχεια παρουςιάηεται θ μζκοδοσ με τθν οποία ζγιναν οι μετριςεισ ςτα κεφάλαια που ακολουκοφν. Το κεφάλαιο τθσ μεκόδου είναι πολφ ςθμαντικό για τθν κατανόθςθ του υπόλοιπου τθσ εργαςίασ. Στα επόμενα κεφάλαια παρουςιάηονται οι εφαρμογζσ που δθμιουργικθκαν, οι αλγόρικμοι που υλοποιοφν κακϊσ και οι μετριςεισ που ζγιναν και τα ςυμπεράςματα που βγικαν από αυτζσ. Κάποια κεφάλαια είναι ςυγκριτικά μεταξφ δφο ι περιςςότερων μεκόδων. Τζλοσ υπάρχει ζνα κεφάλαιο ςυγκεντρωτικϊν ςυμπεραςμάτων ςτο οποίο προτείνονται ςυγκεκριμζνεσ μζκοδοι ανταλλαγισ κλειδιϊν ςε διάφορα ςενάρια υλοποιιςεων. Ακολουκεί ςε παράρτθμα ο κϊδικασ όλων των εφαρμογϊν που υλοποιικθκαν.

12 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ Μαθηματικό υπόβαθρο Ελλειπτικϋσ καμπύλεσ Ειςαγωγό Το 1985, οι Victor Miller και N. Koblitz [7], πρότειναν, ανεξάρτθτα, ζνα κρυπτοςφςτθμα δθμοςίου κλειδιοφ ανάλογο με αυτό του El Gamal, ςτο οποίο θ ομάδα Z p αντικακίςτατο από ζνα ςφνολο ςθμείων μιασ ελλειπτικισ καμπφλθσ οριςμζνθσ πάνω ςε ζνα πεπεραςμζνο ςϊμα. Το κφριο πλεονζκτθμα του κρυπτοςυςτιματοσ ελλειπτικϊν καμπυλϊν (ECC) ςυγκριτικά με τα ανταγωνιςτικά RSA και DSA, είναι ότι ο καλφτεροσ αλγόρικμοσ επίλυςθσ του υποκείμενου μακθματικοφ προβλιματοσ του ECC (το πρόβλθμα του διακριτοφ λογαρίκμου ελλειπτικϊν καμπυλϊν, ECDLP) «τρζχει» ςε πλιρθ εκκετικό χρόνο (εκκετικι πολυπλοκότθτα). Αντίκετα, οι καλφτεροι αλγόρικμοι επίλυςθσ των μακθματικϊν προβλθμάτων ςτα οποία βαςίηονται τα κρυπτοςυςτιματα RSA και DSA (το πρόβλθμα παραγοντοποίθςθσ ακεραίου, το πρόβλθμα του διακριτοφ λογαρίκμου, αντίςτοιχα) ζχουν υπόεκκετικι πολυπλοκότθτα. Αυτό ςθμαίνει μποροφν να χρθςιμοποιθκοφν ςθμαντικά μικρότερου μεγζκουσ παράμετροι ςτο κρυπτοςφςτθμα ECC ςυγκριτικά με τα RSA και DSA, διατθρϊντασ ιςοδφναμο επίπεδο αςφάλειασ. Ζνα τυπικό παράδειγμα του μεγζκουσ (ςε bits) των χρθςιμοποιοφμενων κλειδιϊν ςτα παραπάνω ςυςτιματα, με ςυγκρίςιμα επίπεδα αςφάλειασ (ζναντι των γνωςτϊν επικζςεων), είναι το ότι ζνα 160-bit κλειδί ςτο ECC είναι ιςοδφναμο με κλειδιά μεγζκουσ 1024-bits ςτα κρυπτοςφςτθμα RSA και DSA [1]. Η απουςία μιασ υπόεκκετικισ επίκεςθσ ςτο ECC δίνει τθν δυνατότθτα τθσ μείωςθσ τθσ υπολογιςτικισ ιςχφοσ, αποκθκευτικοφ χϊρου, διακζςιμου εφρουσ ηϊνθσ, και θλεκτρικισ ενζργειασ. Τα πλεονεκτιματα αυτά είναι ιδιαίτερα ςθμαντικά ςε εφαρμογζσ εκτελοφμενεσ ςε ςυςκευζσ περιοριςμζνων δυνατοτιτων όπωσ ζξυπνεσ κάρτεσ, κινθτά τθλζφωνα, pagers. Από πρακτικισ άποψθσ, θ επίδοςθ του ECC εξαρτάται ςθμαντικά από τθν αποδοτικότθτα των υπολογιςμϊν ςε πεπεραςμζνα ςϊματα και των γριγορων αλγορίκμων για τον γριγορων αλγορίκμων για τον πολλαπλαςιαςμό ελλειπτικϊν τιμϊν(elliptic scalar multiplications). Επιπρόςκετα τθσ πλθκϊρασ γνωςτϊν αλγορίκμων για τζτοιου είδουσ υπολογιςμοφσ, θ αποδοτικότθτα του ECC μπορεί να βελτιωκεί περαιτζρω επιλζγοντασ ςυγκεκριμζνα υποκείμενα πεπεραςμζνα ςϊματα και/ι ελλειπτικζσ καμπφλεσ. Παραδείγματα πεπεραςμζνων ςωμάτων είναι τα F 2 m (για υλοποιιςεισ ςε hardware και λογιςμικό), και F p, όπου ο p είναι ζνασ ειδικόσ πρϊτοσ αρικμόσ (Mersenne πρϊτοσ ι γενικευμζνοσ Mersenne πρϊτοσ). Παραδείγματα οικογενειϊν καμπυλϊν που προςφζρουν τζτοια υπολογιςτικά πλεονεκτιματα (για τον υπολογιςμό του πολλαπλαςιαςμοφ μιασ βακμωτθσ τιμισ) περιλαμβάνουν τισ καμπφλεσ του Koblitz ςτο ςϊμα F 2 m. Κατά ςυνζπεια, θ γριγορθ υλοποίθςθ μιασ εφαρμογισ αςφάλειασ βαςιςμζνθ ςτο ECC προχποκζτει πλθκϊρα επιλογϊν, κάκε μια από τισ οποίεσ μπορεί να ζχει ςθμαντικό αντίκτυπο ςτθν ςυνολικι απόδοςθ του ςυςτιματοσ.

13 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 13 Ομϊδεσ, δακτύλιοι, ςώματα Σε αυτι τθν ενότθτα παρουςιάηονται οι οριςμοί τθσ ομάδασ και του πεπεραςμζνου ςϊματοσ. Αυτζσ οι μακθματικζσ δομζσ είναι κεμελιϊδεισ για τθν δθμιουργία ενόσ κρυπτοςυςτιματοσ ελλειπτικϊν καμπυλϊν. ΟΡΙΜΟ (Διμελήσ πράξη): Διμελήσ πράξη * ςε ζνα ςφνολο S είναι ζνασ κανόνασ, με τον οποίο ςε κάκε διατεταγμζνο ηεφγοσ (a, b) αντιςτοιχίηεται κάποιο ςτοιχείο το S. ΟΡΙΜΟ (Ομάδα): Ομάδα G, είναι ζνα ςφνολο G, μαηί με μία διμελι πράξθ * ςτο G τζτοια, ϊςτε να ικανοποιεί τα ακόλουκα αξιϊματα: G 1 : Η διμελισ πράξθ * είναι προςεταιριςτικι G 2 : Υπάρχει ζνα ςτοιχείο e ςτο G τζτοιο, ϊςτε e x = x e = x για κάκε x G. (ταυτοτικό ςτοιχείο) G 3 : Για κάκε α ςτο G, υπάρχει ζνα ςτοιχείο α ςτο G με τθν ιδιότθτα a a = a a = e. (Το α λζγεται αντίςτροφο του α ωσ προσ τθν πράξθ *.) θμείωςθ: Συχνά ςτθ βιβλιογραφία ςυναντάμε άλλο ζνα αξίωμα για τθν ομάδα, ότι το G είναι κλειςτό ωσ προσ τθν πράξθ *, δθλαδι (a b) G για κάκε a, b G. Εδϊ το παραπάνω είναι άμεςθ ςυνζπεια του οριςμοφ τθσ διμελοφσ πράξθσ [5]. ΟΡΙΜΟ (Αβελιανή ομάδα): Μια ομάδα G ονομάηεται αβελιανή αν θ διμελισ τθσ πράξθ * είναι αντιμετακετικι. ΟΡΙΜΟ (Δακτύλιοσ): Ζνασ δακτφλιοσ R, +, είναι ζνα ςφνολο R μαηί με δφο διμελείσ πράξεισ + και, τισ οποίεσ αποκαλοφμε πρόςκεςθ και πολλαπλαςιαςμό, οριςμζνεσ ςτο R ζτςι, ϊςτε να ικανοποιοφνται τα ακόλουκα αξιϊματα: R 1 : R, + είναι μία αβελιανι ομάδα. R 2 : Ο πολλαπλαςιαςμόσ είναι προςετεριςτικόσ. R 3 : Για κάκε a, b, c R, ιςχφουν ο αριςτερόσ επιμεριςτικόσ νόμοσ, a(b+c) = (ab) + (ac), και ο δεξιόσ επιμεριςτικόσ νόμοσ (a+b)c = (ac) + (bc)

14 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 14 ΟΡΙΜΟ (Αντιμεταθετικόσ δακτύλιοσ, μοναδιαίο ςτοιχείο): Ζνασ δακτφλιοσ, ςτον οποίο ο πολλαπλαςιαςμόσ είναι αντιμετακετικι πράξθ, ονομάηεται αντιμεταθετικόσ δακτφλιοσ. Ζνασ δακτφλιοσ με ταυτοτικό ςτοιχείο 1, για το οποίο 1 a = 1 a = a για κάκε a R, ονομάηεται δακτφλιοσ με μοναδιαίο ςτοιχείο. ΟΡΙΜΟ (Σώμα) : Ζςτω R αντιμετακετικόσ δακτφλιοσ με μοναδιαίο ςτοιχείο το 1. Αν για κάκε α R υπάρχει α R τζτοιο, ϊςτε a a = a a = 1 τότε ο R ονομάηεται ςώμα. ΟΡΙΜΟ (Πεπεραςμζνο Σώμα) : Ζνα ςϊμα που περιζχει πεπεραςμζνο αρικμό ςτοιχείων ονομάηεται πεπεραςμζνο ςώμα. Η τάξθ ενόσ πεπεραςμζνου ςϊματοσ είναι ο αρικμόσ των ςτοιχείων του ςϊματοσ. Ζνα κεμελιϊδεσ αποτζλεςμα τθσ κεωρίασ των πεπεραςμζνων ςωμάτων, προςδιορίηει τθν φπαρξθ πεπεραςμζνων ςωμάτων: υπάρχει ζνα πεπεραςμζνο ςϊμα τάξθσ q, εάν και μόνο το q είναι δφναμθ πρϊτου αρικμοφ. Επιπρόςκετα, εάν το q είναι δφναμθ πρϊτου αρικμοφ, τότε υπάρχει μόνο ζνα πεπεραςμζνο ςϊμα τάξεωσ q. Το ςϊμα αυτό δθλϊνεται ωσ F q ι GF(q). Υπάρχουν, ωςτόςο, πολλοί τρόποι αναπαράςταςθσ των ςτοιχείων του F q, και κάποιεσ από αυτζσ ενδζχεται να οδθγοφν ςε πιο αποδοτικζσ υλοποιιςεισ τθσ αρικμθτικισ των ςωμάτων ςε hardware ι λογιςμικό. Εάν q=pm, όπου p πρϊτοσ και m κετικόσ ακζραιοσ, τότε ο p καλείτε χαρακτθριςτικι του F q και το m βακμόσ επζκταςθσ του F q. Τα περιςςότερα πρότυπα που προςδιορίηουν το ECC, περιορίηουν τθν τάξθ του υποκείμενου πεπεραςμζνου ςϊματοσ ςε ζνα περιττό πρϊτο (q=p) δφναμθ του 2 (q=2m). Το πεπεραςμϋνο ςώμα F p Ζςτω p ζνασ πρϊτοσ αρικμόσ. Το πεπεραςμζνο ςϊμα F p, ονομάηεται πρϊτο ςϊμα, αποτελοφμενο από το ςφνολο των ακεραίων με τισ ακόλουκεσ αρικμθτικζσ πράξεισ [1]: 0, 1, 2,, p-1 πρόςκεςθ: Εάν a, b F p, τότε a + b = r, όπου r είναι το υπόλοιπο τθσ διαίρεςθσ του a + b με το p και 0 r p-1. Η πράξθ αυτι καλείτε πρόςκεςθ κατά modulo p. πολλαπλαςιαςμόσ: Εάν a, b F p, τότε a b = s, όπου s είναι το υπόλοιπο τθσ διαίρεςθσ του a b με το p και 0 s p-1. Η πράξθ αυτι καλείτε πολλαπλαςιαςμόσ κατά modulo p.

15 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 15 Υπάρχουν οριςμζνοι πρϊτοι αρικμοί p για τουσ οποίουσ θ modular μείωςθ (reduction) μπορεί να υπολογιςτεί πολφ αποδοτικά. Για παράδειγμα, ζςτω p είναι ο πρϊτοσ Για τθν μείωςθ ενόσ κετικοφ ακεραίου n < p 2, γράφουμε και ζπειτα όπου n = 5 j =0 A j 2 64j n T + S 1 + S 2 + S 3 (mod p), T = A A A 0 S 1 = A A 3 S 2 = A A S 3 = A A A 5 Συνεπϊσ, θ ακζραια μείωςθ κατά p μπορεί να αντικαταςτεί με τρεισ προςκζςεισ (mod p), οι οποίεσ είναι πολφ πιο γριγορεσ. Ο πρϊτοσ αρικμόσ p είναι ζνα παράδειγμα μιασ οικογζνειασ πρϊτων που καλοφνται γενικευμζνοι Mersene πρώτοι. Το πεπεραςμϋνο ςώμα F 2 m Το πεπεραςμζνο ςϊμα F 2 m, καλείτε δυαδικό πεπεραςμζνο ςϊμα, μπορεί να κεωρθκεί ωσ το διανυςματικό διάςτθμα τθσ διάςταςθσ m ςτο F 2 m. Δθλαδι, υπάρχει ζνα ςφνολο m ςτοιχείων a 0, a 0,, a m 1 ςτο F 2 m, τζτοια ϊςτε κάκε a F 2 m να μποροφν να γραφοφν μοναδικά ςτθν μορφι m 1 a = a i a i, όπου α i 0,1 i=0 Το ςφνολο a 0, a 1,, a m 1 ονομάηεται βάςθ του F 2 m ςτο F 2. Μποροφμε πλζον να αναπαραςτιςουμε το a ωσ ζνα δυαδικό διάνυςμα a 0, a 1,, a m 1. Ελλειπτικϋσ καμπύλεσ ςε πεπεραςμϋνα ςώματα Σε αυτι τθν ενότθτα γίνεται μια ςφντομθ ειςαγωγι ςτθν κεωρία των ελλειπτικϊν καμπφλων οριςμζνεσ ςε πεπεραςμζνα ςϊματα. Επιπρόςκετεσ πλθροφορίεσ για τισ ελλειπτικζσ

16 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 16 καμπφλεσ και τισ εφαρμογζσ αυτϊν ςτθν κρυπτογραφία μπορεί κανείσ να αναηθτιςει ςτα ςυγγράμματα των Blake και λοιπϊν ( Elliptic Curves in Cryptography ), Menezes ( Elliptic Curve Public Key Cryptosystems ), και ςτο κεφάλαιο 6 του βιβλίου του Koblitz ( A Course in Number Theory and Cryptography ). Υπάρχουν αρκετοί τρόποι οριςμοφ των εξιςϊςεων των ελλειπτικϊν καμπυλϊν, εξαρτϊμενεσ από το εάν το ςϊμα είναι ζνα πεπεραςμζνο πρϊτο ςϊμα ι πεπεραςμζνο ςϊμα με χαρακτθριςτικι 2. Οι εξιςϊςεισ του Weierstass για τα πεπεραςμζνα ςϊματα F p και F 2 m περιγράφονται ςτισ επόμενεσ δυο ενότθτεσ. Ελλειπτικϋσ καμπύλεσ ςτο F p Ζςτω p > 3 ζνασ περιττόσ πρϊτοσ αρικμόσ και a, b F p ικανοποιοφν τθν εξίςωςθ 4a b 2 0(modp). Τότε, μια ελλειπτικι καμπφλθ E(F p ) ςτο F p οριςμζνθ από τισ παραμζτρουσ a, b F p ςυνίςταται από το ςφνολο των λφςεων ι ςθμείων P = (x, y) για x, y F p τθσ εξίςωςθσ y 2 = x 3 + ax + b μαηί με ζνα ειδικό ςθμείο O, το λεγόμενο ςθμείο ςτο άπειρο (point at infinity). Για ζνα δεδομζνο ςθμείο P = (x p, y p ), το x p καλείται ςυντεταγμζνθ x του P, ενϊ το y p y ςυντεταγμζνθ του P [1][3]. Η πράξθ τθσ πρόςκεςθσ + μπορεί να οριςτεί ςτο ςφνολο E(F p ) ϊςτε θ E F p, + να ςχθματίηει μια αβελιανι ομάδα με το O να λειτουργεί ωσ το ουδζτερο ςτοιχείο. Αυτι θ αλγεβρικι ομάδα χρθςιμοποιείτε για τθν δθμιουργία κρυπτοςυςτθμάτων ελλειπτικϊν καμπυλϊν. Η πράξθ τθσ πρόςκεςθσ ςτο E F p ορίηεται ωσ εξισ [1]: 1. P + O = O + P = P για κάκε P E(F p ) 2. Εάν P = (x, y) E(F p ), τότε x, y + x, y = O. (Το ςθμείο (x, y) E(F p ) ςυμβολίηεται ωσ P, και καλείται ωσ αρνθτικό του Ρ.) 3. Ζςτω P = (x 1, y 1 ) E(F p ) και Q = (x 2, y 2 ) E(F p ) με P ±Q. Τότε P + Q = (x 3, y 3 ), όπου x 3 = λ 2 x 1 x 2 y 3 = λ x 1 x 3 y 1 λ = y 2 y 1 x 2 x 1 4. Ζςτω P = (x 1, y 1 ) E(F p ). Τότε P + P = 2P = (x 3, y 3 ), όπου x 3 = λ 2 2x 1 y 3 = λ x 1 x 3 y 1

17 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 17 λ = 3x a 2y 1 Η πράξθ αυτι καλείται διπλαςιαςμόσ ενόσ ςθμείου. Σθμειϊνεται ότι θ πρόςκεςθ δυο διαφορετικϊν ςθμείων ελλειπτικισ καμπφλθσ ςτο E(F p ) απαιτεί τισ ακόλουκεσ αρικμθτικζσ πράξεισ ςτο F p : μια αναςτροφι, δυο πολλαπλαςιαςμοφσ, ζνα τετραγωνιςμό, και ζξι προςκζςεισ. Αναλόγωσ, ο διπλαςιαςμόσ ενόσ ςθμείου ελλειπτικισ καμπφλθσ ςτο E(F p ) απαιτεί μια αναςτροφι, δυο πολλαπλαςιαςμοφσ, δυο υψϊςεισ ςτθν δφναμθ 2 και οκτϊ προςκζςεισ. Αφοφ θ αναςτροφι ςτο F p είναι, γενικά, μια δαπανθρι πράξθ, υλοποιείται μια εναλλακτικι μζκοδοσ υπολογιςμοφ του ακροίςματοσ δυο ςθμείων ελλειπτικισ καμπφλθσ χρθςιμοποιϊντασ projective ςυντεταγμζνεσ. Σε αυτι τθν περίπτωςθ, θ αναςτροφι αντικακίςταται με περιςςότερουσ πολλαπλαςιαςμοφσ και άλλεσ λιγότερο δαπανθρζσ πράξεισ. Ελλειπτικϋσ καμπύλεσ ςτο F 2 m Η (υπζρ-ιδιάηουςα) ελλειπτικι καμπφλθ E F 2 m ςτο F 2 m, που ορίηεται από τισ παραμζτρουσ α και b όπου a, b F 2 m και b 0, αποτελείται από το ςφνολο των ςθμείων P = (x, y) για κάκε x, y F 2 m τζτοια ϊςτε να επαλθκεφουν τθν εξίςωςθ: y 2 + xy = x 3 + ax 2 + b μαηί με ζνα ειδικό ςθμείο O, το λεγόμενο ςθμείο ςτο άπειρο (point at infinity). Όπωσ και ςτθ περίπτωςθ των ελλειπτικϊν καμπυλϊν ςτο F p, το ςφνολο των ςθμείων πάνω ςτθν E(F 2 m ) μπορεί να εφοδιαςτεί με ζνα ςφνολο από αβελιανζσ πράξεισ. Η πράξθ τθσ πρόςκεςθσ ςτο E(F 2 m ) ορίηεται ωσ εξισ: 1. P + O = O + P = P για κάκε P E(F 2 m ) 2. Εάν P = (x, y) E(F 2 m ), τότε x, y + x, y = O. (Το ςθμείο (x, y) E(F 2 m ) ςυμβολίηεται ωσ P, και καλείται ωσ αρνθτικό του Ρ.) 3. Ζςτω P = x 1, y 1 E(F 2 m ) και Q = x 2, y 2 E(F 2 m ) με P ±Q. Τότε P + Q = x 3, y 3, όπου x 3 = λ 2 + λ + x 1 + x 2 + a y 3 = λ x 1 + x 3 + x 3 + y 1 λ = y 1 + y 2 x 1 + x 2

18 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ Ζςτω P = x 1, y 1 E(F 2 m ). Τότε P + P = 2P = x 3, y 3, όπου x 3 = λ 2 + λ + a y 3 = λ x 1 + x 3 + x 3 + y 1 λ = x 1 + x1 y 1 Σθμειϊνεται ότι θ πρόςκεςθ δυο διαφορετικϊν ςθμείων ελλειπτικισ καμπφλθσ ςτο E(F 2 m ) απαιτεί τισ ακόλουκεσ αρικμθτικζσ πράξεισ ςτο F 2 m : μια αναςτροφι, δυο πολλαπλαςιαςμοφσ, ζνα τετραγωνιςμό, και οχτϊ προςκζςεισ. Αναλόγωσ, ο διπλαςιαςμόσ ενόσ ςθμείου ελλειπτικισ καμπφλθσ ςτο E(F 2 m ) απαιτεί μια αναςτροφι, δυο πολλαπλαςιαςμοφσ, ζνα τετραγωνιςμό και ζξι προςκζςεισ. Στισ περιπτϊςεισ όπου ο υπολογιςμόσ τθσ αναςτροφισ είναι ςχετικά δαπανθρόσ ςε υπολογιςτικό χρόνο ςυγκρινόμενοσ με τον πολλαπλαςιαςμό γίνεται ο υπολογιςμόσ με χριςθ projective ςυντεταγμζνων. Οριςμού και βαςικϊ αποτελϋςματα Βακμωτόσ πολλαπλαςιαςμόσ. Η κφρια πράξθ των κρυπτοςυςτθμάτων τα οποία βαςίηονται ςτο ECC είναι ο βακμωτόσ πολλαπλαςιαςμόσ (πράξθ ανάλογθ τθσ εκκετοποίθςθσ ςε πολλαπλαςιαςτικζσ ομάδεσ). Δοκζντοσ ενόσ ακεραίου k και ενόσ ςθμείου P E(F q ), ο ελλειπτικόσ βακμωτόσ πολλαπλαςιαςμόσ kp είναι το αποτζλεςμα τθσ πρόςκεςθσ του P ςτον εαυτό του k φορζσ [1]. Βακμόσ (order). Ο βακμόσ ενόσ ςθμείου P πάνω ςε μια ελλειπτικι καμπφλθ είναι ο μικρότεροσ κετικόσ ακζραιοσ r τζτοιοσ ϊςτε rp = O. Εάν k και l είναι ακζραιοι, τότε kp = lp αν και μόνο αν k l(mod r) [1]. Βακμόσ καμπφλθσ(curve order). Το πλικοσ των ςθμείων τθσ E(F q ), το οποίο ςυμβολίηεται ωσ #E(F q ), το λζμε βακμό καμπφλθσ. Μπορεί να υπολογιςτεί από τον αλγόρικμο του Schoof και ο χρόνοσ υπολογιςμοφ του είναι πολυωνυμικόσ. Αυτόσ ο αλγόρικμοσ απαιτείται για τθ δθμιουργία ενόσ κρυπτοςυςτιματοσ ελλειπτικϊν καμπυλϊν βαςιςμζνο ςε τυχαίεσ καμπφλεσ. Σε αυτι τθ περίπτωςθ, επιλζγουμε τισ παραμζτρουσ α και b τζτοιεσ ϊςτε θ τελικι ελλειπτικι καμπφλθ να διαιρείται με κάποιον μεγάλο πρϊτο αρικμό [1]. Basic facts. Ζςτω E μια ελλειπτικι καμπφλθ ςτο E(F q ). Ιςχφει: Το κεϊρθμα του Hasse λζει ότι #E(F q ) = q + 1 t, όπου t 2 q. Αυτό ςθμαίνει ότι το πλικοσ των αρικμϊν τθσ E(F q ) είναι περίπου ίςο με q. Εάν q είναι δφναμθ του 2 τότε το #E(F q ) είναι ηυγόσ αρικμόσ. Πιο ςυγκεκριμζνα:

19 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 19 #E(F q ) = 0(mod4) εάν Tr α = 0, #E(F q ) = 2(mod4) εάν Tr α = 1 E(F q ) είναι ζνα αβελιανό ςφνολο τάξθσ 1 ι 2. Αυτό ςθμαίνει ότι θ E F q είναι ιςόμορφθ με το Z n1 Z n2, όπου το n2 διαιρεί το n2 και το q 1. Εάν q είναι δφναμθ του 2 και το P = x, y E(F q ) είναι ζνα ςθμείο μονισ τάξθσ, τότε το ίχνοσ τθσ ςυντεταγμζνθσ όλων των πολλαπλάςιων του P είναι ίςο με το ίχνοσ τθσ παραμζτρου α. Αυτό ςθμαίνει ότι Tr(x κp)) = Tr(a) για κάκε ακζραιο κ. Αυτό το αποτζλεςμα είναι θ βάςθ ενόσ αποτελεςματικοφ αλγόρικμου για μία ςυμπαγι αναπαράςταςθ των ςθμείων τθσ ελλειπτικισ καμπφλθσ πάνω ςτο F 2 m. Η μζκοδοσ του Knudsen για τον υπολογιςμό των ελλειπτικϊν βακμωτϊν πολλαπλαςιαςμϊν βαςίηεται επίςθσ ςτο ςυγκεκριμζνο αποτζλεςμα. Πεδύο οριςμού των παραμϋτρων για τη κρυπτογραφύα ελλειπτικών καμπυλών (ECC) Η λειτουργία των κρυπτογραφικϊν ςχθμάτων δθμοςίου κλειδιοφ ςχετίηεται με αρικμθτικζσ πράξεισ πάνω ςε μία ελλειπτικι καμπφλθ, ςε ζνα περαςμζνο πεδίο το οποίο ορίηεται από το πεδίο οριςμοφ των παραμζτρων τθσ ελλειπτικισ καμπφλθσ. Σε αυτι τθν ενότθτα περιγράφονται οι παράμετροι των ελλειπτικϊν καμπυλϊν ςτα πεπεραςμζνα πεδία F q και F 2 m. Τα πεδία οριςμοφ των παραμζτρων πάνω ςτο F q είναι septuple: T = (q, FR, a, b, G, n, h) και αποτελοφνται από ζναν αρικμό q ο οποίοσ ορίηει μία πρϊτθ δφναμθ ( q = p ι q = 2 m ), ζναν δείκτθ FR (Field Representation-Απεικόνιςθ Πεδίου) μιασ μεκόδου θ οποία χρθςιμοποιείται για τθν αναπαράςταςθ ςτοιχείων του πεδίου q F q, δφο ςτοιχεία a και b F q τα οποία ορίηουν τθν εξίςωςθ τθσ ελλειπτικισ καμπφλθσ E ςτο F q (π.χ. y 2 = x 3 + ax + b ςτθ περίπτωςθ όπου p > 3 και y 2 + xy = x 3 + ax 2 + b όταν p = 2 ), ζνα βαςικό ςθμείο G=(x G, y G) ςτο E(F q ), ζναν πρϊτο αρικμό n ο οποίοσ είναι ο βακμόσ του G και τζλοσ από ζναν αρικμό h ο οποίοσ είναι ο ςυν-παράγοντασ h = #E(F q )/n. Ζχουν προτακεί αρκετοί αλγόρικμοι για τθν δθμιουργία και τον ζλεγχο των πεδίων οριςμοφ των παραμζτρων των ελλειπτικϊν καμπυλϊν. Από τθ ςτιγμι που θ κφρια παράμετροσ αςφαλείασ είναι θ n, το μζγεκοσ του κλειδιοφ τθσ ECC ορίηεται να είναι ίςο με το μζγεκοσ (ςε bits) του n. Για παράδειγμα οι καμπφλεσ NIST ορίηονται από παραμζτρουσ οι οποίεσ αποφεφγουν όλεσ τισ γνωςτζσ επικζςεισ. Το επίπεδο αςφαλείασ που παρζχεται από αυτζσ τισ καμπφλεσ είναι τουλάχιςτον όςο είναι το επίπεδο αςφαλείασ που προςφζρουν τα ςυμμετρικά κρυπτογραφιματα με μζγεκοσ κλειδιοφ από 80 ζωσ 256 bits. Στον παρακάτω πίνακα ςυγκρίνουμε μεγζκθ κλειδιϊν διαφόρων κρυπτοςυςτθμάτων με όμοιο επίπεδο αςφαλείασ (όςον αφορά τισ γνωςτζσ επικζςεισ).

20 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 20 Μζγεκοσ κλειδιοφ ςε ςυμμετρικά κρυπτοςυςτιματα Αλγόρικμοσ ςφγκριςθσ Μζγεκοσ κλειδιοφ ςε ECC για αντίςτοιχθ αςφάλεια DSA/RSA μζγεκοσ κλειδιοφ για αντίςτοιχθ αςφάλεια 80 SKIPJACK Triple DES bit AES bit AES bit AES Πρωτόκολλα ελλειπτικών καμπυλών: ECDH ECDH. Η βαςικι ιδζα εδϊ είναι να παραχκεί μια κοινι μυςτικι τιμι από ζνα ιδιωτικό κλειδί, το οποίο ανικει ςτθν οντότθτα Α, και από ζνα δθμόςιο κλειδί, το οποίο ανικει ςτθν οντότθτα Β, ζτςι ϊςτε αν και οι δφο οντότθτεσ να εκτελζςουν ςυγχρόνωσ τθν ίδια διαδικαςία με είςοδο τθσ τα αντίςτοιχα κλειδιά, να ανακτιςουν τθ κοινι μυςτικι τιμι. Υποκζτουμε ότι θ οντότθτα Α ζχει πεδίο οριςμοφ D = (q, FR, a, b, G, n, h) και ζνα ιδιωτικό κλειδί d A. Επίςθσ υποκζτουμε ότι θ οντότθτα Β ζχει δθμόςιο κλειδί Q B ςυςχετιςμζνο με το D. Το δθμόςιο κλειδί Q B πρζπει να είναι τουλάχιςτον μερικά ελεγμζνο [1]. Η οντότθτα Α χρθςιμοποιεί τθ παρακάτω διαδικαςία για να υπολογίςει μια κοινι μυςτικι τιμι με το Β. 1. Υπολόγιςε P= d A Q B=(x p, y p) 2. Ζλεγξε ότι P O. 3. Η κοινι μυςτικι τιμι είναι θ z = x p. Εάν το βιμα 1 υπολογιςτεί ωσ P= hd A Q B=(x p, y p) τότε το αποκαλοφμε πρωτεφον παράγοντα ελλειπτικισ καμπφλθσ Diffie Hellman. Η ενςωμάτωςθ του (ςυν)παράγοντα h μζςα ςτον υπολογιςμό τθσ κοινισ μυςτικισ τιμισ είναι για να παρζχει αποτελεςματικι αντίςταςθ ςε επικζςεισ όπωσ μικρϊν υποςυνόλων επικζςεων(small subgroup attacks).

21 2. Μακθματικό υπόβακρο Ελλειπτικζσ καμπφλεσ 21 Το πρόβλημα του διακριτού λογαρύθμου Η αςφάλεια του ECC βαςίηεται ςτο φαινομενικά δφςκολο πρόβλθμα του διακριτοφ λογάρικμου των ελλειπτικϊν καμπυλϊν(elliptic Curve Discrete Logarithm Problem ECDLP): δοκζντοσ μιασ ελλειπτικισ καμπφλθσ E(F q ), ενόσ ςθμείου P E(F q ) τάξθσ n και ενόσ ςθμείου Q E(F q ), επζλεξε ζναν αρικμό k, 0 k n 1, τζτοιον ϊςτε Q = kp, αρκεί να υπάρχει ζνασ τζτοιοσ αρικμόσ. Ο αλγόρικμοσ των Pohlig και Hellman μειϊνει το πρόβλθμα του υπολογιςμοφ του l ςτο πρόβλθμα του υπολογιςμοφ του l modulo για κάκε ζναν πρϊτο παράγοντα του n. Επομζνωσ το n πρζπει να επιλεγεί να είναι πρϊτοσ ζτςι ϊςτε να αποκτιςει το μζγιςτο βακμό αςφάλειασ. Στθ πράξθ πρζπει να επιλζξουμε μία ελλειπτικι καμπφλθ E(F q ) τζτοια ϊςτε #E(F q ) = h n όπου n είναι πρϊτοσ και h είναι μικρόσ ακζραιοσ αρικμόσ. Ο πιο αποτελεςματικόσ γενικόσ αλγόρικμοσ γνωςτόσ μζχρι ςιμερα είναι θ μζκοδοσ Pollard rho και οι πρόςφατεσ τροποποιιςεισ τθσ από τουσ Gallant, Lambert, Vanstone, Wiener και Zuccherato, οι οποίεσ απαιτοφν πn / 2 πράξεισ ελλειπτικισ ομάδασ. Ο Van Oorschot και ο Wiener ζδειξαν ότι θ μζκοδοσ Pollard rho μπορεί να εκτελεςτεί παράλλθλα και ότι ο αναμενόμενοσ χρόνοσ εκτζλεςθσ αυτοφ του αλγόρικμου, χρθςιμοποιϊντασ r επεξεργαςτζσ, είναι περίπου πn / 2r πράξεισ ομάδασ. Αυτόσ ο χρόνοσ εκτζλεςθσ είναι εκκετικόσ ςτο n. Αν και δεν είναι γνωςτοί γενικοί υπο-εκκετικοί αλγόρικμοι οι οποίοι να λφνουν το πρόβλθμα του ECDLP, υπάρχουν γριγοροι αλγόρικμοι οι οποίοι λφνουν αυτό το πρόβλθμα για ςυγκεκριμζνεσ ελλειπτικζσ καμπφλεσ [1].

22 3. Η βιβλιοκικθ Bouncy Castle Η βιβλιοθόκη Bouncy Castle Μεγάλο μζροσ των υλοποιιςεων τθσ εργαςίασ που κα παρουςιαςτοφν παρακάτω βαςίςτθκε ςτθν ανοιχτοφ κϊδικα βιβλιοκικθ Bouncy Castle ( H Bouncy Castle αυτι τθ ςτιγμι παρζχεται δωρεάν για τισ γλϊςςεσ προγραμματιςμοφ C# και java. Παρζχει πλθκϊρα κλάςεων και αντικείμενων για τθν υλοποίθςθ κρυπτογραφικϊν αλγορίκμων, γεννθτόρων τυχαίων αρικμϊν, πρωτοκόλλων αςφαλοφσ επικοινωνίασ (openssh) και πολλά άλλα εργαλεία για τθ δθμιουργία εφαρμογϊν κρυπτογραφίασ και αςφάλειασ. Οι δυνατότθτζσ τθσ είναι πάρα πολλζσ και ςτο ςφνολό τουσ δεν αποτελοφν αντικείμενο τθσ παροφςασ εργαςίασ. Στισ επόμενεσ παραγράφουσ κα γίνει μια μικρι παρουςίαςθ των μεκόδων τθσ βιβλιοκικθσ που χρθςιμοποιικθκαν ςτθν εργαςία. Ο κϊδικασ που παρουςιάηεται είναι ςε γλϊςςα C#.net και είναι παρόμοιοσ με αυτόν που γράφτθκε για τισ εφαρμογζσ. Σε πολλζσ περιπτϊςεισ ζχει υποςτεί κάποιεσ μικρζσ αλλαγζσ για να είναι πιο εφκολοσ ςτθν κατανόθςθ. Οριςμόσ μεγϊλου ακϋραιου Ζνασ μεγάλοσ ακζραιοσ ορίηεται με τθ μορφι BigInteger. Η ςφνταξθ για τον οριςμό ενόσ μεγάλου ακεραίου φαίνεται παρακάτω. Στο παράδειγμα ορίηουμε τον μεγάλο ακζραιο sect163r2b ωσ τιμι "20a601907b8c953ca1481eb10512f78744a3205fd". Σαν πρϊτο όριςμα μπαίνει θ τιμι και ςαν δεφτερο θ βάςθ. Στθν περίπτωςθ που το δεφτερο όριςμα δεν δοκεί το ςφςτθμα αντιλαμβάνεται αυτόματα τθ βάςθ ωσ δεκαδικι. BigInteger sect163r2b = new BigInteger ( "20a601907b8c953ca1481eb10512f78744a3205fd", 16); Δημιουργύα τυχαύου αριθμού Για τθ δθμιουργία τυχαίου αρικμοφ ςτθ Bouncy Castle γίνεται χριςθ του τφπου SecureRandom. Η δθμιουργία του είναι απλι και φαίνεται ςτο παρακάτω παράδειγμα: SecureRandom rnd = new SecureRandom();

23 3. Η βιβλιοκικθ Bouncy Castle 23 Οριςμόσ ελλειπτικόσ καμπύλησ ςτο F 2 m Για να οριςτεί μια ελλειπτικι καμπφλθ ςτο F 2 m με χριςθ τθσ Bouncy Castle πρζπει να δοκοφν τα ορίςματα m, k 1, k 2, k 3, a και b. Τα ορίςματα m, k 1, k 2 και k 3 είναι τφπου απλοφ ακεραίου int, ενϊ τα a και b τφπου BigInteger. Ζνα παράδειγμα οριςμοφ μιασ ελλειπτικισ καμπφλθσ ςτο F 2 m φαίνεται παρακάτω. int m = 163; int k1 = 3; int k2 = 6; int k3 = 7; BigInteger a = BigInteger.One; BigInteger b = new BigInteger( "20a601907b8c953ca1481eb10512f78744a3205fd", 16); curve1 = new F2mCurve(m, k1, k2, k3, a, b); Οριςμόσ ελλειπτικόσ καμπύλησ ςτο F p Για να οριςτεί μια ελλειπτικι καμπφλθ ςτο F p με χριςθ τθσ Bouncy Castle πρζπει να δοκοφν τα ορίςματα q, a και b. Είναι όλα ορίςματα τφπου BigInteger και δθμιουργοφνται με τον τρόπο που περιγραφικζ ςε προθγοφμενθ παράγραφο. Ζνα παράδειγμα οριςμοφ μιασ ελλειπτικισ καμπφλθσ ςτο F p φαίνεται παρακάτω. BigInteger q = new BigInteger( " "); BigInteger a = new BigInteger( " "); BigInteger b = new BigInteger( "b4050a850c04b3abf b0b7d7bfd8ba270b ffb4", 16); curve2 = new FpCurve(q, a, b);

24 3. Η βιβλιοκικθ Bouncy Castle 24 Οριςμόσ ςημεύου ελλειπτικόσ καμπύλησ Για τθ δθμιουργία ςθμείου ελλειπτικισ καμπφλθσ είναι προαπαιτοφμενοσ ο οριςμόσ μιασ ελλειπτικισ καμπφλθσ με τον τρόπο που παρουςιάςτθκε ςτισ προθγοφμενεσ παραγράφουσ. Η βαςικι εντολι δθμιουργίασ ςθμείου είναι θ : pointecc = curve1.createpoint(x, y, false); Όπου pointecc το όνομα του ςθμείου, curve1 θ καμπφλθ ςτθν οποία ανικει το ςθμείο, x και y οι ςυντεταγμζνεσ του ςθμείου και ςαν τρίτο όριςμα μια Boolean μεταβλθτι που ορίηει αν το ςθμείο κα αποκθκευτεί με ςυμπιεςμζνθ μορφι ι όχι. Ζνα ολοκλθρωμζνο παράδειγμα οριςμοφ ςθμείου ελλειπτικισ καμπφλθσ φαίνεται παρακάτω. BigInteger x = new BigInteger( " "); BigInteger y = new BigInteger( " "); ECPoint pointecc; pointecc = curve1.createpoint(x, y, false); Πολλαπλαςιαςμόσ ςημεύου ελλειπτικόσ καμπύλησ με ακϋραιο Όταν ζχουμε μία ελλειπτικι καμπφλθ και ζνα ςθμείο οριςμζνο πάνω ςε αυτι τότε ζχουμε τθ δυνατότθτα να πολλαπλαςιάςουμε το ςθμείο αυτό με ζναν ακζραιο. Ζςτω το ςθμείο pointecc που ορίςαμε ςτο παραπάνω παράδειγμα. Ο πολλαπλαςιαςμόσ γίνεται με τθν εντολι: ECPoint pointecc1 = pointecc.multiply(k); Όπου k ζνασ ακζραιοσ τφπου BigInteger και pointecc1 το νζο ςθμείο που παράγεται μετά τον πολλαπλαςιαςμό.

25 3. Η βιβλιοκικθ Bouncy Castle 25 Δημιουργύα ζεύγουσ κλειδιών Ελλειπτικών Καμπυλών Για να υλοποιιςουμε κρυπτογραφία ελλειπτικϊν καμπυλϊν πρζπει να ζχουμε ςτθ διάκεςι μασ κάποια ηεφγθ κλειδιϊν. Η Bouncy Castle προςφζρει ςυναρτιςεισ για τθ δθμιουργία παραμζτρων και κλειδιϊν. Αρχικά πρζπει να οριςτεί θ ελλειπτικι καμπφλθ. Στο παράδειγμα χρθςιμοποιικθκε θ καμπφλθ secp256r1 από το πρότυπο ANS.1 X9.62. ecp = SecNamedCurves.GetByName("secp256r1"); Ζπειτα ορίηονται οι παράμετροι τθσ καμπφλθσ με τον τφπο ECDomainParameters. domainpar = new ECDomainParameters(ecp.Curve, ecp.g, ecp.n, ecp.h, ecp.getseed()); ορίηονται οι παράμετροι του γεννιτορα ηεφγουσ κλειδιϊν ειςάγοντασ τισ παραμζτρουσ τθσ καμπφλθσ που δθμιουργικθκαν παραπάνω και ζναν τυχαίο αρικμό. ECKeyGenerationParameters keygenpar = new ECKeyGenerationParameters( domainpar, rand); Ορίηεται ο γεννιτορασ κλειδιϊν ECKeyPairGenerator pairgen = new ECKeyPairGenerator(); Γίνεται αρχικοποίθςθ με ειςαγωγι των παραμζτρων γεννιτορα που δθμιουργικθκαν ςτο παραπάνω βιμα pairgen.init(keygenpar); Και τζλοσ εκτελείται ο γεννιτορασ και παράγεται το ηεφγοσ κλειδιϊν AsymmetricCipherKeyPair keypair = pairgen.generatekeypair(); Ακολουκεί ολοκλθρωμζνο το παράδειγμα δθμιουργίασ ηεφγουσ κλειδιϊν ECDH ecp = SecNamedCurves.GetByName("secp256r1"); domainpar = new ECDomainParameters(ecp.Curve, ecp.g, ecp.n, ecp.h, ecp.getseed()); ECKeyGenerationParameters keygenpar = new ECKeyGenerationParameters( domainpar, rand); ECKeyPairGenerator pairgen = new ECKeyPairGenerator();

26 3. Η βιβλιοκικθ Bouncy Castle 26 pairgen.init(keygenpar); AsymmetricCipherKeyPair keypair = pairgen.generatekeypair(); ECPrivateKeyParameters privkeypar = (ECPrivateKeyParameters)keyPair.Private; ECPublicKeyParameters pubkeypar = (ECPublicKeyParameters)keyPair.Public; Δημιουργύα κοινού μυςτικού με χρόςη ECDH Μετά τον οριςμό των παραπάνω υπάρχει πλζον θ δυνατότθτα να υλοποιθκεί ο αλγόρικμοσ δθμιουργίασ κοινοφ μυςτικοφ ECDH. Ουςιαςτικά απαιτοφνται οι δθμόςιεσ παράμετροι που είναι οι ςυντεταγμζνεσ ενόσ ςθμείου πάνω ςε μια προςυμφωνθμζνθ καμπφλθ, και θ ιδιωτικι παράμετροσ που είναι ζνασ ακζραιοσ αρικμόσ. Το μόνο που πρζπει να γίνει είναι ο πολλαπλαςιαςμόσ του ςθμείου με τον μυςτικό ακζραιο αρικμό με τον τρόπου που παρουςιάςτθκε ςτθν προθγοφμενθ παράγραφο. Ζνα ολοκλθρωμζνο παράδειγμα δθμιουργίασ κοινοφ μυςτικοφ φαίνεται ςτο παρακάτω παράδειγμα: ECPoint pointecc; pointecc = curve1.createpoint(new BigInteger(pubKeyQx), new BigInteger(pubKeyQy), false); BigInteger key1 = pointecc.multiply(new BigInteger(privKeyD)).X.ToBigInteger(); Όπου pubkeyqx και pubkeyqy οι ςυντεταγμζνεσ του ςθμείου ςε μορφι string (λόγω ανάκτθςισ τουσ από αρχείο κειμζνου) και privkeyd ο μυςτικόσ ακζραιοσ επίςθσ ςε μορφι String. Στθν τελευταία εντολι του παραδείγματοσ φαίνεται ότι από το ςθμείο που παράγεται αποκθκεφεται μόνο θ ςυντεταγμζνθ x. Το παράδειγμα χρθςιμοποιεί αυτζσ τισ μορφζσ γιατί με τον ίδιο τρόπο χρθςιμοποιοφνται και ςτθν υλοποίθςθ των εφαρμογϊν. Υλοπούηςη hash function SHA256 Μετά τθν δθμιουργία κοινοφ μυςτικοφ είναι αναγκαία θ είςοδοσ τισ τιμισ αυτισ ςε κάποια hash function για τθν παραγωγι ςυγκεκριμζνου μικουσ μυςτικοφ κλειδιοφ που κα

27 3. Η βιβλιοκικθ Bouncy Castle 27 χρθςιμοποιθκεί ςτθν ςυμμετρικι κρυπτογράφθςθ. Η bouncy Castle προςφζρει ςυναρτιςεισ για τθ δθμιουργία hash function. Αρχικά ορίηουμε μια «μθχανι» μορφισ Sha256Digest. Με τθν εντολι Sha256Digest sh = new Sha256Digest(); Στθ ςυνζχεια ειςάγουμε το byte array που κα χρθςιμεφει ωσ είςοδοσ. Το δεφτερο και τρίτο όριςμα τθσ ςυνάρτθςθσ ορίηουνε από ποιο ςθμείο κα ξεκινιςει θ είςοδοσ και που κα τελειϊςει. Στθν περίπτωςι μασ χρθςιμοποιοφμε ολόκλθρο το byte array οπότε τα ορίςματα είναι 0 και bytetohash.length που δθλϊνει το μικοσ του array. sh.blockupdate(bytetohash, 0, bytetohash.length); και τζλοσ εκτελοφμε τθν πράξθ και παίρνουμε τθν ζξοδο πάλι ςε μορφι byte array. sh.dofinal(byteoutput, 0); Μία ολοκλθρωμζνθ υλοποίθςθ φαίνεται ςτο παρκζτο παράδειγμα: Sha256Digest sh = new Sha256Digest(); sh.blockupdate(bytetohash, 0, bytetohash.length); byte[] byteoutput = new byte[sh.getdigestsize()]; sh.dofinal(byteoutput, 0); Δημιουργύα ζεύγουσ κλειδιών RSA Για να υλοποιθκεί ο αλγόρικμοσ RSA είναι απαραίτθτθ θ δθμιουργία κλειδιϊν RSA. Η Bouncy castle διακζτει ςυναρτιςεισ για το ςκοπό αυτό. Αρχικά πρζπει να οριςτοφν οι παράμετροι του γεννιτορα κλειδιϊν τφπου RsaKeyGenerationParameters, ειςάγοντασ ζναν ςτακερό αρικμό, ζναν τυχαίο αρικμό, το μικοσ των κλειδιϊν ςε bit και μια ςτακερά αςφάλειασ που αντιπροςωπεφει τον αρικμό των ελζγχων που κα γίνουν. RsaKeyGenerationParameters keypar = new RsaKeyGenerationParameters( BigInteger.ValueOf(65537), new SecureRandom(), bitl, 80); Μετά το βιμα αυτό πρζπει να οριςτεί ο γεννιτορασ τφπου RsaKeyPairGenerator. RsaKeyPairGenerator keypair = new RsaKeyPairGenerator();

28 3. Η βιβλιοκικθ Bouncy Castle 28 Αρχικοποιείται ο γεννιτορασ με τθν ειςαγωγι των παραμζτρων που δθμιουργικθκαν ςε προθγοφμενο βιμα: keypair.init(keypar); και τζλοσ εκτελείται ο γεννιτορασ και αποκθκεφει το ηεφγοσ ςε αντικείμενο τφπου AsymmetricCipherKeyPair. AsymmetricCipherKeyPair askeypair = keypair.generatekeypair(); Ολόκλθρο το παράδειγμα φαίνεται παρακάτω: RsaKeyGenerationParameters keypar = new RsaKeyGenerationParameters( BigInteger.ValueOf(65537), new SecureRandom(), bitl, 80); RsaKeyPairGenerator keypair = new RsaKeyPairGenerator(); keypair.init(keypar); AsymmetricCipherKeyPair askeypair = keypair.generatekeypair(); pubkey = (RsaKeyParameters)asKeyPair.Public; privkey = (RsaPrivateCrtKeyParameters)asKeyPair.Private; Κρυπτογρϊφηςη με RSA Η Bouncy Castle παρζχει ςυνάρτθςθσ για τθν υλοποίθςθ «μθχανισ» RSA για τθν εκτζλεςθ κρυπτογράφθςθσ και αποκρυπτογράφθςθσ. Στθν περίπτωςθ τθσ κρυπτογράφθςθσ πρζπει πρϊτα να οριςτεί το δθμόςιο κλειδί με τθν εντολι: RsaKeyParameters pubkey = new RsaKeyParameters(false, mod, pubexp); Τα ορίςματα που δζχεται είναι μια Boolean μεταβλθτι θ οποία ορίηει το αν πρόκειται για ιδιωτικό κλειδί (ςτθν περίπτωςι μασ false) και άλλεσ δφο παραμζτρουσ τφπου BigInteger που αποτελοφν τισ δθμόςιεσ παραμζτρουσ του RSA. Στθ ςυνζχεια ορίηεται θ «μθχανι» RSA τφπου IAsymmetricBlockCipher με τθν εντολι: IAsymmetricBlockCipher rsaengenc = new RsaEngine(); Γίνεται αρχικοποίθςθ ειςάγοντασ το κλειδί και μια μεταβλθτι τφπου Boolean που ορίηει αν αλγόρικμοσ κα χρθςιμοποιθκεί για κρυπτογράφθςθ (ςτθν περίπτωςι μασ true) rsaengenc.init(true, pubkey);

29 3. Η βιβλιοκικθ Bouncy Castle 29 και τζλοσ εκτελοφμε τον αλγόρικμο δίνοντασ ωσ ορίςματα το byte array που χρθςιμεφει ωσ είςοδοσ και άλλα δφο ορίςματα τφπου Integer που ορίηουν τθν αρχι και το τζλοσ του κομματιοφ του byte array που κα χρθςιμοποιθκοφν ωσ είςοδοσ. byte[] enckey = rsaengenc.processblock(key, 0, key.length); Παρακάτω παρουςιάηεται ζνα ολοκλθρωμζνο παράδειγμα κρυπτογράφθςθσ RSA. RsaKeyParameters pubkey = new RsaKeyParameters(false, mod, pubexp); IAsymmetricBlockCipher rsaengenc = new RsaEngine(); rsaengenc.init(true, pubkey); byte[] enckey = rsaengenc.processblock(key, 0, key.length); Αποκρυπτογρϊφηςη με RSA Η Bouncy Castle παρζχει ςυνάρτθςθσ για τθν υλοποίθςθ «μθχανισ» RSA για τθν εκτζλεςθ κρυπτογράφθςθσ και αποκρυπτογράφθςθσ. Στθν περίπτωςθ τθσ απόκρυπτογράφθςθσ πρζπει πρϊτα να οριςτεί το ιδιωτικό κλειδί με τθν εντολι: RsaPrivateCrtKeyParameters privkey = new RsaPrivateCrtKeyParameters( mod, pubexp, privexp, p, q, pexp, qexp, crtcoef); Τα ορίςματα που δζχεται είναι παράμετροι τφπου BigInteger που αποτελοφν τισ ιδιωτικζσ παραμζτρουσ του RSA. Στθ ςυνζχεια ορίηεται θ «μθχανι» RSA τφπου IAsymmetricBlockCipher με τθν εντολι: IAsymmetricBlockCipher rsaengenc = new RsaEngine(); Γίνεται αρχικοποίθςθ ειςάγοντασ το κλειδί και μια μεταβλθτι τφπου Boolean που ορίηει αν αλγόρικμοσ κα χρθςιμοποιθκεί για κρυπτογράφθςθ (ςτθν περίπτωςι μασ false) rsaengdec.init(false, privkey); και τζλοσ εκτελοφμε τον αλγόρικμο δίνοντασ ωσ ορίςματα το byte array που χρθςιμεφει ωσ είςοδοσ και άλλα δφο ορίςματα τφπου Integer που ορίηουν τθν αρχι και το τζλοσ του κομματιοφ του byte array που κα χρθςιμοποιθκοφν ωσ είςοδοσ.

30 3. Η βιβλιοκικθ Bouncy Castle 30 byte[] key = rsaengdec.processblock(bytetodec.tobytearray(), 0, bytetodec.tobytearray().length); Παρακάτω παρουςιάηεται ζνα ολοκλθρωμζνο παράδειγμα αποκρυπτογράφθςθσ RSA. RsaPrivateCrtKeyParameters privkey = new RsaPrivateCrtKeyParameters( mod, pubexp, privexp, p, q, pexp, qexp, crtcoef); IAsymmetricBlockCipher rsaengdec = new RsaEngine(); rsaengdec.init(false, privkey); byte[] key = rsaengdec.processblock(bytetodec.tobytearray(), 0, bytetodec.tobytearray().length); Δημιουργύα παραμϋτρων Diffie Hellman Η Bouncy Castle προςφζρει ςυναρτιςεισ για τθ δθμιουργία παραμζτρων Diffie Hellman. Οι παράμετροι Diffie Hellman ορίηονται ωσ τφποσ DHParameters με τθ εντολι: private static DHParameters dhp; Για να καταςκευάςουμε παραμζτρουσ ορίηουμε ζναν γεννιτορα παραμζτρων με τθν εντολι DHParametersGenerator dhparamgen = new DHParametersGenerator(); Τον αρχικοποιοφμε δίνοντασ ωσ ορίςματα το μικοσ των παραμζτρων ςε bit, μια ςτακερά αςφάλειασ που ορίηει το πλικοσ των ελζγχων που κα γίνουν και ζναν τυχαίο αρικμό. dhparamgen.init(bitl, 40, new SecureRandom()); Στθ ςυνζχεια δίνουμε εντολι για τθ δθμιουργία παραμζτρων dhp = dhparamgen.generateparameters(); Ζνα ολοκλθρωμζνο παράδειγμα δθμιουργίασ παραμζτρων Diffie Hellman φαίνεται παρακάτω. private static DHParameters dhp; DHParametersGenerator dhparamgen = new DHParametersGenerator(); dhparamgen.init(bitl, 40, new SecureRandom());

31 3. Η βιβλιοκικθ Bouncy Castle 31 dhp = dhparamgen.generateparameters(); Εδϊ να ςθμειωκεί ότι για μεγάλα μικθ κλειδιϊν θ διαδικαςία μπορεί να είναι πολφ χρονοβόρα. Σε ζνα ςφγχρονο μθχάνθμα θ δθμιουργία 3072 bit παραμζτρων μπορεί να διαρκζςει μζχρι και 8 ϊρεσ. Για το λόγο αυτό ο προγραμματιςτισ κα πρζπει να προβλζψει τθν αποκικευςθ των παραμζτρων ςε κάποιο αρχείο αμζςωσ μετά τθ δθμιουργία τουσ. Δημιουργύα ζεύγουσ κλειδιών Diffie Hellman Μετά τθ δθμιουργία των παραμζτρων πρζπει να δθμιουργθκεί το ηεφγοσ κλειδιϊν Diffie Hellman. Αρχικά ορίηουμε τισ παραμζτρουσ DH που δθμιουργικθκαν ςτθν προθγοφμενθ παράγραφο τφπου DHKeyGenerationParameters. DHKeyGenerationParameters keygenparam = new DHKeyGenerationParameters(new SecureRandom(), dhp); Ορίηουμε τον γεννιτορα ηεφγουσ κλειδιϊν DH τφπου DHKeyPairGenerator. DHKeyPairGenerator keypairgen = new DHKeyPairGenerator(); Αρχικοποιοφμε τον αλγόρικμο ειςάγοντασ τισ παραμζτρουσ που δθμιουργιςαμε ςε προθγοφμενο βιμα keypairgen.init(keygenparam); και τζλοσ εκτελοφμε τον γεννιτορα AsymmetricCipherKeyPair pair = keypairgen.generatekeypair(); Ακολουκεί το παράδειγμα που δείχνει ολοκλθρωμζνθ τθ διαδικαςία παραγωγισ ηεφγουσ κλειδιϊν. DHKeyGenerationParameters keygenparam = new DHKeyGenerationParameters(new SecureRandom(), dhp); DHKeyPairGenerator keypairgen = new DHKeyPairGenerator(); keypairgen.init(keygenparam); AsymmetricCipherKeyPair pair = keypairgen.generatekeypair(); privkey = (DHPrivateKeyParameters)pair.Private; pubkey = (DHPublicKeyParameters)pair.Public;

32 3. Η βιβλιοκικθ Bouncy Castle 32 Δημιουργύα κοινού μυςτικού με χρόςη Diffie Hellman Η υλοποίθςθ του αλγορίκμου Diffie Hellman με τθν Bouncy Castle είναι αρκετά απλι. Αρχικά πρζπει να οριςτεί θ «μθχανι» Diffie Hellman τφπου DHBasicAgreement. DHBasicAgreement dhagree = new DHBasicAgreement(); Στθ ςυνζχεια γίνεται θ αρχικοποίθςθ με τθν ειςαγωγι του ιδιωτικοφ κλειδιοφ dhagree.init(privkey0); και τζλοσ υπολογίηεται το κοινό μυςτικό με ειςαγωγι του δθμόςιου κλειδιοφ BigInteger secret = dhagree.calculateagreement(pubkey1); Το παρακάτω παράδειγμα υπολογίηει το κοινό μυςτικό με χριςθ του αλγόρικμου Diffie Hellman: DHBasicAgreement dhagree = new DHBasicAgreement(); dhagree.init(privkey0); BigInteger secret = dhagree.calculateagreement(pubkey1); Μϋτρηςη χρόνου Για τθ μζτρθςθ χρονικοφ διαςτιματοσ θ C# διακζτει τθν κλάςθ DateTime θ οποία παρζχει αρκετζσ ςυναρτιςεισ. Δυςτυχϊσ ςε πλατφόρμεσ Window Mobile δεν είναι δυνατι θ μζτρθςθ χρονικϊν διαςτθμάτων μικρότερων του δευτερολζπτου, για το λόγο αυτό ολεσ οι μετριςεισ είναι ςε δευτερόλεπτα. Πριν τθν εκτζλεςθ του αλγορίκμου που κζλουμε να μετριςουμε το χρόνο, αποκθκεφουμε ςε μία integer μεταβλθτι το λεπτό τθσ ϊρασ επί 60 και το δευτερόλεπτο του λεπτοφ. Παράδειγμα αν θ ϊρα είναι 5:36:12 ςτθ μεταβλθτι αποκθκεφεται θ τιμι t0 = DateTime.Now.Minute*60 + DateTime.Now.Second;

33 3. Η βιβλιοκικθ Bouncy Castle 33 Σε μια άλλθ μεταβλθτι αποκθκεφεται με τον ίδιο τρόπο θ χρονικι ςτιγμι του τζλουσ του αλγορίκμου. Αμζςωσ μετά εκτελείται θ αφαίρεςθ τθσ πρϊτθσ μεταβλθτισ από τθ δεφτερθ. Σε περίπτωςθ που θ τιμι αυτι βγει αρνθτικι τότε ςε αυτι προςκζτουμε Στο παρακάτω παράδειγμα φαίνεται θ μζτρθςθ του χρόνου εκτζλεςθσ τθσ ςυνάρτθςθσ crypt.calculate(bit) που υλοποιεί τθ δθμιουργία κοινοφ μυςτικοφ Diffie - Hellman int t0; int t1; t0 = DateTime.Now.Minute*60 + DateTime.Now.Second; byte[] bb = crypt.calculate(bit); t1 = DateTime.Now.Minute*60 + DateTime.Now.Second; int tall = t1 - t0; if (tall < 0) tall = tall;

34 4. Μζκοδοσ Μετριςεισ Μϋθοδοσ Μετρόςεισ Γενικϊ Σε αυτό το κεφάλαιο αναλφονται οι μζκοδοι μζτρθςθσ χρόνου που χρθςιμοποιικθκαν και θ φφςθ των μεγεκϊν που μετρικθκαν. Η ανάγνωςθ αυτοφ του κεφαλαίου είναι απαραίτθτθ για τθν κατανόθςθ τθσ ανάλυςθσ των μετριςεων που ακολουκεί. Μϋτρηςη χρόνου Η γλϊςςα προγραμματιςμοφ που χρθςιμοποιικθκε ςε ςυνδυαςμό με τθν πλατφόρμα Windows Mobile δεν επιτρζπουν μζτρθςθ χρόνου με μεγαλφτερθ ακρίβεια από αυτι του δευτερολζπτου. Οπότε αναγκαςτικά όλεσ οι μετριςεισ ζγιναν ςε δευτερόλεπτα. Στισ περιπτϊςεισ που το αποτζλεςμα τθσ μζτρθςθσ ιταν 0 sec, ςαν μζτρθςθ καταχωρικθκε θ τιμι 0,5 sec. Για τθν ακρίβεια των αποτελεςμάτων, για κάκε μζγεκοσ που ζπρεπε να μετρθκεί, ζγιναν πζντε μετριςεισ και ςαν αποτζλεςμα κεωρικθκε ο μζςοσ όροσ αυτϊν τον μετριςεων. Οι 5 μετριςεισ αυτζσ κακϊσ και ο μζςοσ όροσ τουσ παρακζτονται ςε πίνακεσ κάκε φορά που γίνεται παρουςίαςθ αποτελεςμάτων. Πρώτη και δεύτερη αυθεντικοπούηςη, διαφορϊ χρόνου και χρόςη μνόμησ Κατά τθν εκτζλεςθ των μετριςεων του χρόνου αυκεντικοποίθςθσ ςε όλα τα πρωτόκολλα και όλεσ τισ δοκιμζσ παρατθρικθκε το παρακάτω. Η πρϊτθ μζτρθςθ ιταν πάντα αιςκθτά μεγαλφτερθ από τθσ επόμενεσ μετριςεισ. Αναλυτικότερα, θ πρϊτθ αυκεντικοποίθςθ μετά τθν εκτζλεςθ τθσ εφαρμογισ ιταν κατά μζςω όρο 2 δευτερόλεπτα μεγαλφτερθ από τισ επόμενεσ. Μια εξιγθςθ για το παραπάνω είναι θ εξισ. Μόλισ θ εφαρμογι κλθκεί να κάνει αυκεντικοποίθςθ για πρϊτθ φορά, δεςμεφει ςτθ ςυςκευι μνιμθ ϊςτε να αποκθκεφςει τισ τιμζσ των μεταβλθτϊν που είναι απαραίτθτεσ για τθν εκτζλεςθ των αλγορίκμων κρυπτογράφθςθσ. Μόλισ ο χϊροσ αυτόσ δεςμευτεί ςτθ μνιμθ, θ εφαρμογι ςυνεχίηει με τθν εκτζλεςθ του αλγορίκμου. Η δζςμευςθ μνιμθσ είναι μια διαδικαςία που εκτελείται μία φορά μόνο. Ζτςι ςτισ επόμενεσ αυκεντικοποίθςεισ δεν είναι απαραίτθτθ θ επανάλθψθ τισ διαδικαςίασ, και ζχουμε άμεςθ εκτζλεςθ του αλγορίκμου. Αναλφοντασ τα παραπάνω προκφπτει ότι: ο κακαρόσ χρόνοσ εκτζλεςθσ του αλγορίκμου από επεξεργαςτικι άποψθ φαίνεται μετά τθν πρϊτθ μζτρθςθ. Αντίκετα ςτθν πρϊτθ μζτρθςθ φαίνεται ο χρόνοσ δζςμευςθσ μνιμθσ και επεξεργαςτικισ εκτζλεςθσ του αλγορίκμου. Ζτςι, κεωρϊντασ ότι ο χρόνοσ δζςμευςθσ μνιμθσ είναι ανάλογοσ με τθν ποςότθτα τθσ προσ

35 4. Μζκοδοσ Μετριςεισ 35 αποκικευςθ πλθροφορίασ, καταλιγουμε ςτο ςυμπζραςμα ότι θ διαφορά τθσ πρϊτθσ από τθ δεφτερθ μζτρθςθ μασ δείχνει ζμμεςα το μζγεκοσ τθσ μνιμθσ που χρθςιμοποιείται από τον αλγόρικμο. Κάκε φορά που παρακζτονται αποτελζςματα ςε πίνακεσ γίνεται διαχωριςμόσ πρϊτθσ και δεφτερθσ μζτρθςθσ ςε διαφορετικι ςτιλθ με τθν ζνδειξθ «1 θ εκτζλεςθ» και «2 θ εκτζλεςθ» αντίςτοιχα. Εδϊ να ςθμειωκεί ότι για να γίνουν 5 μετριςεισ του χρόνου τθσ πρϊτθσ εκτζλεςθσ γίνονταν επανεκκίνθςθ τθσ εφαρμογισ πριν από κάκε μζτρθςθ. Στο τζλοσ κάκε ςτιλθσ υπάρχει ο μζςοσ όροσ που όπωσ αναφζρκθκε παραπάνω κεωρείται το τελικό αποτζλεςμα ενϊ δίπλα ςτουσ μζςουσ όρουσ υπάρχει θ διαφορά τουσ. Ζνα παράδειγμα του τρόπου παρουςίαςθσ των αποτελεςμάτων ςε πίνακεσ φαίνεται ςτο παρακάτω ςχιμα. Στιλθ πρϊτθσ εκτζλεςθσ Στιλθ δεφτερθσ εκτζλεςθσ 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά ,6 sec 2,2 sec 2,4 sec Μζςοσ όροσ ςτιλθσ Διαφορά μζςων όρων Εικόνα 2: Παράδειγμα παρουςίαςθσ μετριςεων

36 5. ECC Mobile Wiki ECC Mobile Wiki Γενικϊ Στο κεφάλαιο αυτό παρουςιάηεται θ βελτιωμζνθ υλοποίθςθ του ςυςτιματοσ mobile wiki που περιγράφθκε ςε προθγοφμενο κεφάλαιο. Πιο ςυγκεκριμζνα πρόκειται για ζνα ςφςτθμα server client που βαςίηει τθ ανταλλαγι μυςτικοφ κλειδιοφ ςε κρυπτογραφία ελλειπτικϊν καμπυλϊν. Ακολουκεί πλιρθσ περιγραφι των εφαρμογϊν που υλοποιικθκαν, του πρωτοκόλλου που χρθςιμοποιικθκε κακϊσ και παράκεςθ των χρόνων αυκεντικοποίθςθσ. ECC Certificate generator Πριν προχωριςουμε ςτθν υλοποίθςθ τθσ εφαρμογισ του client είναι αναγκαία θ καταςκευι πιςτοποιθτικϊν ελλειπτικϊν καμπυλϊν. Για το λόγο αυτό υλοποιικθκε εφαρμογι για Window PC θ οποία αναλαμβάνει τθ δθμιουργία των παραμζτρων του server και του client αντίςτοιχα. Στθν εικόνα αριςτερά φαίνεται θ εφαρμογι αυτι. Ανάλογα με τθ ρφκμιςθ, Εικόνα 3: ECC Certificate Generator χρθςιμοποιεί μία από τρείσ ελλειπτικζσ καμπφλεσ από το πρότυπο ANS.1 X9.62. Οι καμπφλεσ αυτζσ είναι οι: sect163r2, secp224r1 και secp256r1 με μικοσ 163, 224 και 256 αντίςτοιχα. Η εφαρμογι παράγει για κακεμία από τισ πλευρζσ (server client): 1. Ζνα τυχαίο ςθμείο Q τθσ καμπφλθσ επιλογισ μασ. 2. Ζναν τυχαίο αρικμό d μικουσ αντίςτοιχου τθσ καμπφλθσ. Το ςθμείο Q αποτελεί το δθμόςιο ενϊ ο d το ιδιωτικό κλειδί τθσ κάκε πλευράσ. Τζλοσ τα αρχεία που δθμιουργοφνται αποκθκεφονται ςε φακζλουσ privatekey και publickey ανάλογα με το περιεχόμενό τουσ. Μετά τθ διαδικαςία δθμιουργίασ πιςτοποιθτικϊν το μόνο που πρζπει να γίνει είναι θ αντιγραφι των αρχείων αυτϊν ςτον server και τον mobile client.

37 5. ECC Mobile Wiki 37 ECC Smartphone Project Γενικϊ Το ECC SP Project είναι θ εφαρμογι του mobile client. Πρόκειται για ζναν ολοκλθρωμζνο Wiki client βαςιςμζνο ςε κρυπτογραφία ελλειπτικϊν καμπυλϊν για Windows Mobile πλατφόρμεσ. Ο ςκοπόσ του είναι να ςυνδζεται με τον wiki server να αυκεντικοποιεί τον εαυτό του ςε αυτόν και να αντλεί δεδομζνα από τθ βάςθ ι να τα μετατρζπει ανάλογα με τα δικαιϊματα του χριςτθ. Περιγραφό Εφαρμογόσ Η εφαρμογι αποτελείται από 5 φόρμεσ, μία για κάκε διεργαςία που εκτελεί. Αρχικά ο χριςτθσ ζρχεται ςε επαφι με τθ φόρμα Login όπου καλείται να ειςάγει τθν διεφκυνςθ του wiki server κακϊσ και το όνομα χριςτθ και ςυνκθματικό χριςτθ (username / password) ϊςτε να ολοκλθρωκεί ςωςτά θ διαδικαςία αυκεντικοποίθςθσ. Εικόνα 4: Φόρμα Login Μόλισ θ αυκεντικοποίθςθ ολοκλθρωκεί με επιτυχία, αυτόματα ο χριςτθσ μεταβαίνει ςτθν φόρμα αναηιτθςθσ όπου καλείται να ειςάγει το προσ αναηιτθςθ κζμα. Η εφαρμογι ςυνδζεται με τον server μζςω κρυπτογραφθμζνθσ επικοινωνίασ και εμφανίηει τα αποτελζςματα τθσ αναηιτθςθσ ςε λίςτα. Ο χριςτθσ μπορεί να επιλζξει το κζμα από τθ λίςτα για να μεταβεί ςε αυτό ι να εκτελζςει άλλθ αναηιτθςθ. Εικόνα 5: Φόρμα αναηιτθςθσ Μόλισ ο χριςτθσ επιλζξει το κζμα που τον ενδιαφζρει εμφανίηεται θ φόρμα επιλογισ ενότθτασ. Εδϊ εμφανίηονται όλεσ οι ενότθτεσ του κζματοσ ςε λίςτα. Ο χριςτθσ μπορεί να πλοθγθκεί ςτθ λίςτα και να επιλζξει τθν ενότθτα που τον ενδιαφζρει. Το περιεχόμενο τθσ ενότθτασ εμφανίηεται προσ ανάγνωςθ. Εικόνα 6: Φόρμα Επιλογισ Ενότθτασ

38 5. ECC Mobile Wiki 38 Υπάρχει θ δυνατότθτα μετάβαςθσ ςε κατάςταςθ επεξεργαςίασ (Edit Mode) εφόςον τα δικαιϊματα μετά τθν αυκεντικοποίθςθ το επιτρζπουν. Στθν κατάςταςθ επεξεργαςίασ υπάρχει θ δυνατότθτα επεξεργαςία του περιεχομζνου τθσ ενότθτασ. Εικόνα 7: Κατάςταςθ Επεξεργαςίασ (Edit Mode) Τζλοσ ζχει υλοποιθκεί και θ φόρμα μθνυμάτων όπου ο χριςτθσ ζχει τθ δυνατότθτα να δει τα ειςερχόμενα και εξερχόμενα xml μθνφματα όπωσ κυκλοφοροφν ςτο δίκτυο. Στθ φόρμα αυτι Μπορεί κάποιοσ να επιλζξει μεταξφ του τελευταίου ειςερχόμενου και του τελευταίου εξερχόμενου μθνφματοσ και να δει το περιεχόμενό του. Μζςω αυτισ τθσ φόρμασ μποροφμε να ελζγξουμε τθν ορκότθτα τθσ εφαρμογισ και του πρωτοκόλλου και να επαλθκεφουμε ότι ό,τι αναφζρκθκε κεωρθτικά λειτουργεί και ςτθν πράξθ. Εικόνα 8: Φόρμα Μθνυμάτων

39 5. ECC Mobile Wiki 39 Πρωτόκολλο αυθεντικοπούηςησ Η αυκεντικοποίθςθ γίνεται ςφμφωνα με τθν παραλλαγι του πρωτοκόλλου του mobile wiki που παρουςιάςτθκε νωρίτερα ζτςι ϊςτε να κάνει χριςθ ECDH αντί για RSA. Το πρωτόκολλο ςχθματικά φαίνεται ςτο διάγραμμα που ακολουκεί. Καταςκευι κοινοφ μυςτικοφ με χριςθ ECDH Καταςκευι κοινοφ μυςτικοφ με χριςθ ECDH Hash κοινοφ μυςτικοφ δθμιουργία 256 AES key Hash κοινοφ μυςτικοφ δθμιουργία 256 AES key Κρυπτογράφθςθ Username / Password με AES 256 Απόκρυπτογράφθςθ Username / Password με AES 256 Απόπειρα Login ςτθ βάςθ δεδομζνων Επιτυχία /Αποτυχία AES 256 AES 256 Εικόνα 9: Πρωτόκολλο ECC Mobile Wiki Αναλυτικότερα, οι server και client καταςκευάηουν με χριςθ ECDH το κοινό μυςτικό μικουσ ανάλογου με τθν καμπφλθ που ζχει επιλεγεί. Το κοινό μυςτικό ειςάγεται ςε 256 hash function και ςαν αποτζλεςμα ζχουμε ζναν 256 bit αρικμό που κα χρθςιμοποιθκεί ςασ AES key. Μετά το πζρασ τθσ παραπάνω διαδικαςίασ και οι δφο πλευρζσ διακζτουν το ςυμμετρικό κλειδί και μποροφν να επικοινωνιςουν ςυμμετρικά. Το επόμενο βιμα είναι ο client να ςτείλει τα username και password, ςυμμετρικά κρυπτογραφθμζνα, ςτον server και να γίνει απόπειρα αυκεντικοποίθςθσ ςτθ βάςθ. Αν θ αυκεντικοποίθςθ είναι επιτυχισ ο χριςτθσ μπορεί να ςυνεχίςει τθ χριςθ τθσ εφαρμογισ.

40 5. ECC Mobile Wiki 40 Χρόνοι αυθεντικοπούηςησ Χρθςιμοποιϊντασ τθ μζκοδο που αναλφκθκε νωρίτερα μετρικθκαν οι χρόνοι επιτυχοφσ αυκεντικοποίθςθσ του client ςτο server. Ζγιναν μετριςεισ με χριςθ τριϊν διαφορετικϊν ελλειπτικϊν καμπυλϊν από το πρότυπο ANS.1 X9.62. Οι καμπφλεσ αυτζσ είναι οι sect163r2, secp224r1 και secp256r1 με μικοσ 163, 224 και 256 αντίςτοιχα. Οι χρόνοι αυτοί αντιπροςωπεφουν αποπεράτωςθ τθσ παρακάτω διαδικαςίασ. Mobile Client 1. Ανάγνωςθ ιδιωτικϊν και δθμόςιων παραμζτρων για τθν καταςκευι ECDH 2. Καταςκευι κοινοφ μυςτικοφ 3. Hash 256 του κοινοφ μυςτικοφ για τθ χριςθ του ςαν 256 AES 4. Συμμετρικι κρυπτογράφθςθ username / password με 256 AES 5. Αποςτολι κρυπτογραφθμζνων username / password Server 1. Ανάγνωςθ ιδιωτικϊν και δθμόςιων παραμζτρων για τθν καταςκευι ECDH 2. Καταςκευι κοινοφ μυςτικοφ 3. Hash 256 του κοινοφ μυςτικοφ για τθ χριςθ του ςαν 256 AES 4. Λιψθ κρυπτογραφθμζνων username / password 5. Χριςθ του AES key για τθν αποκρυπτογράφθςθ των (username / password) 6. Απόπειρα login ςτθ βάςθ 7. Απάντθςθ (επιτυχία/αποτυχία) Οι χρόνοι που μετρικθκαν παρουςιάηονται αναλυτικά ςτον πίνακα που ακολουκεί. Η ανάλυςθ των μετριςεων κα γίνει αργότερα ςε παραλλθλιςμό με χρόνουσ άλλων μεκόδων. Εδϊ κυμίηουμε ότι ο χρόνοσ που παρατίκεται ςτθ ςτιλθ «διαφορά» είναι ο χρόνοσ που θ ςυςκευι χρειάηεται για να δεςμεφςει χϊρο για τισ μεταβλθτζσ ςτθ μνιμθ. Ουςιαςτικά πρόκειται για μία ζμμεςθ μζτρθςθ τθσ μνιμθσ που χρθςιμοποιεί θ υλοποίθςθ. Εφαρμογι: Αλγόρικμοσ: ECC SP Project ECDH + DSA AES θ εκτζλεςθ 163 bit 224 bit 256 bit 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 4,6 sec 2,2 sec 2,4 sec 10 sec 7,8 sec 2,2 sec 13 sec 10,6 sec 2,4 sec

41 6. RSA Mobile Wiki RSA Mobile Wiki Γενικϊ Για να γίνει ςφγκριςθ με τθ μζκοδο των ελλειπτικϊν καμπυλϊν που παρουςιάςτθκε νωρίτερα, κα ζπρεπε να υπάρχει το ίδιο πρωτόκολλο υλοποιθμζνο με τθ μζκοδο RSA [4], [6]. Η υλοποίθςθ που είχε παρουςιαςτεί ςε παλιότερθ εργαςία δεν ιταν κατάλλθλθ για ςφγκριςθ για δφο βαςικοφσ λόγουσ: 1. Η εφαρμογι ιταν για περιβάλλον Windows Mobile Pocket PC. Δθλαδι για ςυςκευζσ PDA οι οποίεσ διακζτουν πολφ ιςχυρότερουσ επεξεργαςτζσ και περιςςότερθ μνιμθ από ζνα κινθτό τθλζφωνο. 2. Η υλοποίθςθ βαςίηονταν ςε εςωτερικζσ βιβλιοκικεσ του.net οι οποίεσ παρζχουν πολφ πιο αποδοτικζσ ςυναρτιςεισ ςε ςχζςθ με τθσ αντίςτοιχεσ εξωτερικζσ που χρθςιμοποιικθκαν για τθν υλοποίθςθ των ελλειπτικϊν καμπυλϊν. Για τουσ παραπάνω λόγου το ςφςτθμα (client / server) ξαναγράφτθκε από τθν αρχι με χριςθ εξωτερικϊν βιβλιοκθκϊν ςε περιβάλλον Windows Mobile Smartphone (Ζκδοςθ για κινθτά τθλζφωνα) RSA Certificate Generator Προτοφ, προχωριςουμε ςτθν υλοποίθςθ, ιταν αναγκαία θ δθμιουργία μιασ εφαρμογισ θ οποία κα παριγαγε RSA πιςτοποιθτικά διαφόρων μθκϊν κλειδιϊν. Για το λόγο αυτό δθμιουργικθκε το RSA Certificate Generator, μια εφαρμογι για Windows PC που κάνει ακριβϊσ αυτό. Αρχικά ο χριςτθσ επιλζγει το μικοσ κλειδιοφ που επικυμεί, και θ εφαρμογι αναλαμβάνει να δθμιουργιςει τυχαίεσ παραμζτρουσ RSA για τθ δθμιουργία ηεφγουσ κλειδιϊν. Υπάρχει δυνατότθτα ελζγχου ορκότθτασ του ηεφγουσ Εικόνα 10: RSA Certificate Generator κλειδιϊν με τθν εκτζλεςθ μιασ κρυπτογράφθςθσ και αποκρυπτογράφθςθσ μιασ ςυγκεκριμζνθσ ειςόδου. Τζλοσ, ο χριςτθσ μπορεί να αποκθκεφςει τθσ παραμζτρουσ του RSA και θ εφαρμογι αναλαμβάνει αυτόματα να ταξινομιςει τισ παραμζτρουσ ςε φακζλουσ «PubKey» και «PrivKey» ανάλογα με τθ φφςθ τουσ. Αυτό που μζνει να γίνει είναι απλά θ αντιγραφι των παραμζτρων αυτόν ςε ςυγκεκριμζνουσ υποκαταλόγουσ ςτον server και τον client αντίςτοιχα.

42 6. RSA Mobile Wiki 42 RSA Smartphone Project Γενικϊ Εικόνα 11: RSA Smartphone Project. Φόρμα Login Η εφαρμογι RSA SP Project αποτελεί τον wiki mobile client του ςυςτιματοσ που περιγράφθκε παραπάνω. Η εφαρμογι είναι γραμμζνθ για περιβάλλον Windows Mobile Smartphone και ςε αντίκεςθ με το ECC SP Project (τον client για χριςθ ελλειπτικϊν καμπυλϊν) δεν αποτελεί ολοκλθρωμζνθ εφαρμογι. Η υλοποίθςθ του ζγινε κακαρά για λόγουσ μετριςεων του χρόνου αυκεντικοποίθςθσ και για το λόγο αυτό το μόνο υλοποιθμζνο κομμάτι είναι θ φόρμα του login. Όπωσ αναφζρκθκε παραπάνω θ εφαρμογι δθμιουργικθκε με χριςθ τθσ εξωτερικισ βιβλιοκικθσ BouncyCastle, που χρθςιμοποιικθκε και για τθν δθμιουργία του client των ελλειπτικϊν καμπυλϊν. Το πρωτόκολλο που ακολουκεί θ αυκεντικοποίθςθ παρουςιάηεται παρακάτω. Πρωτόκολλο αυθεντικοπούηςησ Η αυκεντικοποίθςθ γίνεται ςφμφωνα με το πρωτόκολλο του mobile wiki που παρουςιάςτθκε νωρίτερα με μόνθ διαφορά τθν παράλειψθ του challenge and response το οποίο δεν μασ αφορά ςτθν παροφςα φάςθ. Το πρωτόκολλο ςχθματικά φαίνεται ςτο διάγραμμα που ακολουκεί. Αναλυτικότερα ι φιλοςοφία είναι θ εξισ. Ο client δθμιουργεί ζνα τυχαίο AES 256 session key. Με το session key αυτό κρυπτογραφεί τα username / password. Με το RSA public key του server κρυπτογραφεί το session key. Στζλνει ςτον Server τα κρυπτογραφθμζνα username / password και το κρυπτογραφθμζνο session key. O server με τθ ςειρά του, με το private key του, αποκρυπτογραφεί το session key. Με το session key αποκρυπτογραφεί τα username / password. Χρθςιμοποιεί τα username / password για να κάνει login ςτθ βάςθ. Απαντάει Επιτυχία/Αποτυχία.

43 6. RSA Mobile Wiki 43 Καταςκευι τυχαίου Session key (AES) Κρυπτογράφθςθ session key με το public key του server Αποκρυπτογράφθςθ session key με το private key Κρυπτογράφθςθ Username / Password με session key Αποκρυπτογράφθςθ Username / Password με session key Απόπειρα Login ςτθ βάςθ δεδομζνων Επιτυχία /Αποτυχία AES 256 AES 256 Εικόνα 12: Πρωτόκολλο RSA Mobile Wiki Χρόνοι αυθεντικοπούηςησ Χρθςιμοποιϊντασ τθ μζκοδο που αναλφκθκε νωρίτερα μετρικθκαν οι χρόνοι επιτυχοφσ αυκεντικοποίθςθσ του client ςτο server. Ζγιναν μετριςεισ με χριςθ 1024, 2048 και 3096 bit RSA. Οι χρόνοι αυτοί αντιπροςωπεφουν αποπεράτωςθ τθσ παρακάτω διαδικαςίασ. Client 1. Δθμιουργία κλειδιοφ 256 AES 2. Συμμετρικι κρυπτογράφθςθ username / password 3. Ανάγνωςθ παραμζτρων RSA από αποκθκευμζνο δθμόςιο πιςτοποιθτικό. 4. Αςφμμετρθ κρυπτογράφθςθ κλειδιοφ AES με χριςθ RSA 5. Αποςτολι κρυπτογραφθμζνων (username / password) και κρυπτογραφθμζνου AES key.

44 6. RSA Mobile Wiki 44 Server 1. Ανάγνωςθ παραμζτρων RSA από αποκθκευμζνο ιδιωτικό πιςτοποιθτικό 2. Χριςθ RSA για αποκρυπτογράφθςθ του AES key. 3. Χριςθ του AES key για τθν αποκρυπτογράφθςθ των (username / password) 4. Απόπειρα login ςτθ βάςθ 5. Απάντθςθ (επιτυχία/αποτυχία) Οι χρόνοι που μετρικθκαν παρουςιάηονται αναλυτικά ςτον πίνακα που ακολουκεί. Η ανάλυςθ των μετριςεων κα γίνει ςτο επόμενο κεφάλαιο ςε ςφγκριςθ με τα αποτελζςματα τθ μεκόδου ECDH. Εδϊ κυμίηουμε ότι ο χρόνοσ που παρατίκεται ςτθ ςτιλθ «διαφορά» είναι ο χρόνοσ που θ ςυςκευι χρειάηεται για να δεςμεφςει χϊρο για τισ μεταβλθτζσ ςτθ μνιμθ. Ουςιαςτικά πρόκειται για μία ζμμεςθ μζτρθςθ τθσ μνιμθσ που χρθςιμοποιεί θ υλοποίθςθ. Εφαρμογι: Αλγόρικμοσ: RSA SP Project RSA + AES θ εκτζλεςθ 1024 bit 2048 bit 3096 bit 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 4 0, , ,5 5 0, , ,4 sec 0,7 sec 3,7 sec 4,8 sec 1 sec 3,8 sec 5,8 sec 1,8 sec 4 sec

45 7. Σφγκριςθ RSA και ECDH Σύγκριςη RSA και ECDH Ειςαγωγό Στα δφο προθγοφμενα κεφάλαια παρουςιάςκθκαν οι δφο διαφορετικζσ υλοποιιςεισ του mobile wiki κακϊσ και οι μετριςεισ που ζγιναν πάνω ςε αυτά. Στο παρϊν κεφάλαιο γίνεται ςφγκριςθ των μετριςεων αυτϊν και παρουςιάηονται τα αποτελζςματα και τα ςυμπεράςματα ςε κακζνα από τα μεγζκθ που μετρικθκαν. Αρχικά γίνεται θ ςφγκριςθ των μζςων όρων τθσ πρϊτθσ εκτζλεςθσ ζπειτα τισ δεφτερθσ και τζλοσ τθσ διαφοράσ που όπωσ αναφζραμε προθγοφμενοσ αποτελεί ζμμεςθ μζτρθςθ τθσ μνιμθσ που απαιτεί θ υλοποίθςθ. Πρώτη εκτϋλεςη Ο χρόνοσ που παρουςιάηεται παρακάτω, όπωσ ζχει προαναφερκεί, εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να δεςμεφςει χϊρο ςτθ μνιμθ και να εκτελζςει υπολογιςτικά τον αλγόρικμο. Οι μζςεσ τιμζσ των χρόνων ςτα δφο πρωτόκολλα που εξετάςτθκαν για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά πρϊτθσ εκτζλεςθσ (μζςοι όροι) ECDH Auth RSA Auth 163 / ,6 4,4 224 / ,8 256 / ,8 Για τθν καλφτερθ κατανόθςθ των αρικμϊν ακολουκεί θ γραφικι παράςταςθ του πίνακα όπου είναι ξεκάκαρθ θ υπεροχι του πρωτοκόλλου με χριςθ RSA.

46 sec 7. Σφγκριςθ RSA και ECDH 46 ECDH - RSA Authentication Πρϊτθ εκτζλεςθ ECDH RSA bit Δεύτερη εκτϋλεςη Ο χρόνοσ που παρουςιάηεται με τθ ζνδειξθ «δεφτερθ εκτζλεςθ», όπωσ ζχει προαναφερκεί, εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να εκτελζςει υπολογιςτικά τον αλγόρικμο. Με απλά λόγια είναι αποκλειςτικά και μόνο ο χρόνοσ που θ ςυςκευι χρειάηεται για να εκτελζςει τισ πράξει που απαιτεί ο αλγόρικμοσ. Τονίηεται ότι ςτον χρόνο αυτό δεν ςυμπεριλαμβάνεται ο χρόνοσ για δζςμευςθ μνιμθσ. Οι μζςεσ τιμζσ των χρόνων ςτα δφο πρωτόκολλα που εξετάςτθκαν για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά πρϊτθσ εκτζλεςθσ (μζςοι όροι) ECDH Auth RSA Auth 163 / ,2 0,7 224 / , / ,6 1,8 Για τθν καλφτερθ κατανόθςθ των αρικμϊν ακολουκεί θ γραφικι παράςταςθ του πίνακα όπου είναι ξεκάκαρθ θ υπεροχι του πρωτοκόλλου με χριςθ RSA ςε μεγαλφτερο βακμό από πριν.

47 sec 7. Σφγκριςθ RSA και ECDH 47 ECDH - RSA Authentication Δεφτερθ εκτζλεςθ ECDH RSA bit Διαφορϊ Χρόςη μνόμησ Ο χρόνοσ που παρουςιάηεται με τθ ζνδειξθ «διαφορά», ουςιαςτικά αποτελεί τθ διαφορά του χρόνου τθσ «δεφτερθσ εκτζλεςθσ» από το χρόνο τθσ «πρϊτθσ εκτζλεςθσ». Πιο ςυγκεκριμζνα εκφράηει το χρόνο που θ ςυςκευι χρειάηεται για να δεςμεφςει χϊρο ςτθ μνιμθ για τισ μεταβλθτζσ. Ουςιαςτικά αποτελεί μία ζμμεςθ μζτρθςθ τθσ μνιμθσ που απαιτεί θ υλοποίθςθ. Οι «διαφορά» ςτα δφο πρωτόκολλα που εξετάςτθκαν για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά διαφοράσ χριςθ μνιμθσ (Διαφορά μζςων όρων) ECDH Auth RSA Auth 163 / ,4 3,7 224 / ,2 3,8 256 / ,4 4 Για τθν καλφτερθ κατανόθςθ των αρικμϊν ακολουκεί θ γραφικι παράςταςθ του πίνακα. Εδϊ τα αποτελζςματα είναι τα αναμενόμενα. Ο RSA είναι πολφ πιο απαιτθτικόσ ςε μνιμθ μια που χρθςιμοποιεί μεγαλφτερα μικθ κλειδιϊν.

48 sec 7. Σφγκριςθ RSA και ECDH 48 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 ECDH - RSA Authentication Διαφορά - Χριςθ μνιμθσ bit ECDH RSA Συμπερϊςματα Όπωσ φαίνεται από τθν παραπάνω επεξεργαςία το αποτζλεςμα δεν είναι το αναμενόμενο. Αν και ο RSA χρθςιμοποιεί ςθμαντικά περιςςότερθ μνιμθ υπολογιςτικά είναι πολφ πιο γριγοροσ. Κάτι τζτοιο αρχικά φαίνεται παράδοξο, υπάρχει όμωσ λογικι εξιγθςθ. Η εξιγθςθ βαςίηεται ςτθν υλοποίθςθ του πρωτοκόλλου. Η διαδικαςία αυκεντικοποίθςθσ λαμβάνει χϊρα μεταξφ ενόσ server (ςτθν περίπτωςι μασ intel Dual Core MHz με 2 GB Ram) και ενόσ mobile client (ςτθν περίπτωςι μασ windows mobile 180MHz με 30 MB Ram). Όπωσ το πρωτόκολλο υποδεικνφει ο mobile client αναλαμβάνει μόνο τθν κρυπτογράφθςθ RSA, ενϊ το φόρτο τθσ αποκρυπτογράφθςθσ αναλαμβάνει ο Server. Μια ολοκλθρωμζνθ μελζτθ του RSA κακϊσ και εξιγθςθ ςτα φαινομενικά παράδοξα αποτελζςματα αυτοφ του κεφαλαίου δίνονται ςτο επόμενο κεφάλαιο. RSA Decryption RSA Encryption Authentication Εικόνα 13: Κρυπτογράφθςθ και αποκρυπτογράφθςθ RSA ςτο mobile Wiki

49 8. Τοπικι εφαρμογι RSA Τοπικό εφαρμογό RSA Γενικϊ Για να ζχουμε μια ςυνολικι άποψθ ςτο κζμα τθσ απόδοςθσ του RSA [4], [6], υλοποιικθκε εφαρμογι για πλατφόρμα windows mobile θ οποία αναλαμβάνει να κρυπτογραφεί και να αποκρυπτογραφεί ζνα 256 bit AES key με RSA. Εικόνα 14: RSA Local Test Η εφαρμογι είναι κακαρά τοπικι και δεν ζχει ςχζςθ με τα πρωτόκολλα mobile wiki που παρουςιάςτθκαν νωρίτερα. Στο απλοϊκό περιβάλλον που φαίνεται ςτισ εικόνεσ ο χριςτθσ απλά επιλζγει το μικοσ κλειδιοφ που επικυμεί και μία από τισ δφο επιλογζσ Encrypt Decrypt, ανάλογα με τθ λειτουργία που επικυμεί να εκτελζςει. Η εφαρμογι εκτελεί τοπικά τθ εντολι του χριςτθ και παρουςιάηει τον χρόνο που χρειάςτθκε ςτθν οκόνθ. Μετρικθκαν οι χρόνοι και θ διαφορζσ ςφμφωνα με τθ μζκοδο που χρθςιμοποιικθκε και ςτα παραπάνω κεφάλαια. Τα αποτελζςματα φαίνονται ςτθν παράγραφο που ακολουκεί. Μϋτρηςη Χρόνου Στθν παράγραφο αυτι παρουςιάηονται τα αποτελζςματα των μετριςεων για τθν κρυπτογράφθςθ και αποκρυπτογράφθςθ RSA. Οι χρόνοι που μετρικθκαν παρουςιάηονται αναλυτικά ςτουσ πίνακεσ που ακολουκοφν. Η ανάλυςθ των μετριςεων κα γίνει αναλυτικά ςτθν επόμενθ παράγραφο.

50 8. Τοπικι εφαρμογι RSA 50 Εφαρμογι: Αλγόρικμοσ: RSA Local RSA Encoding 1 θ εκτζλεςθ 1024 bit 2048 bit 3096 bit 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ , ,5 2 0,5 3 0,5 2 0,5 2 0, , ,5 3 0,5 3 0,5 Διαφορά 1,8 sec 0,6 sec 1,2 sec 2,2 sec 0,6 sec 1,6 sec 2,6 sec 0,8 sec 1,8 sec Εφαρμογι: Αλγόρικμοσ: RSA Local RSA Decoding 1 θ εκτζλεςθ 1024 bit 2048 bit 3096 bit 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 4,2 sec 2 sec 2,2 sec 17,2 s 14,6 s 2,6 sec 53,8 s 50 sec 3,8 sec Εδϊ κυμίηουμε ότι ο χρόνοσ που παρατίκεται ςτθ ςτιλθ «πρϊτθ εκτζλεςθ» εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να δεςμεφςει χϊρο ςτθ μνιμθ και να εκτελζςει υπολογιςτικά τον αλγόρικμο. Η ςτιλθ «δεφτερθ εκτζλεςθ» εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να εκτελζςει υπολογιςτικά τον αλγόρικμο και θ ςτιλθ «διαφορά» είναι ο χρόνοσ που θ ςυςκευι χρειάηεται για να δεςμεφςει χϊρο για τισ μεταβλθτζσ ςτθ μνιμθ. Ουςιαςτικά πρόκειται για μία ζμμεςθ μζτρθςθ τθσ μνιμθσ που χρθςιμοποιεί θ υλοποίθςθ.

51 sec 8. Τοπικι εφαρμογι RSA 51 Πρώτη εκτϋλεςη Ο χρόνοσ που παρουςιάηεται παρακάτω, όπωσ ζχει προαναφερκεί, εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να δεςμεφςει χϊρο ςτθ μνιμθ και να εκτελζςει υπολογιςτικά τον αλγόρικμο. Οι μζςεσ τιμζσ των χρόνων ςτθν κρυπτογράφθςθ και αποκρυπτογράφθςθ RSA για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά πρϊτθσ εκτζλεςθσ RSA Encoding Decoding (Μζςοι όροι) RSA Encoding RSA Decoding ,8 4, ,2 17, ,6 53,8 Για τθν καλφτερθ κατανόθςθ των αρικμϊν ακολουκεί θ γραφικι παράςταςθ του πίνακα ςε κανονικι και λογαρικμικι κλίμακα. Είναι φανερό ότι θ αποκρυπτογράφθςθ RSA είναι πολφ πιο αργι από τθν κρυπτογράφθςθ RSA Encoding - Decoding Πρϊτθ εκτζλεςθ Encoding Decoding bit

52 sec 8. Τοπικι εφαρμογι RSA RSA Encoding - Decoding Πρϊτθ εκτζλεςθ (Λογαρικμικι κλίμακα) 10 Encoding Decoding bit Δεύτερη Εκτϋλεςη Ο χρόνοσ που παρουςιάηεται με τθ ζνδειξθ «δεφτερθ εκτζλεςθ», εκφράηει το χρόνο που χρειάηεται θ εφαρμογι να εκτελζςει υπολογιςτικά τον αλγόρικμο. Με απλά λόγια είναι αποκλειςτικά και μόνο ο χρόνοσ που θ ςυςκευι χρειάηεται για να εκτελζςει τισ πράξεισ που απαιτεί ο αλγόρικμοσ. Τονίηεται ότι ςτον χρόνο αυτό δεν ςυμπεριλαμβάνεται ο χρόνοσ για δζςμευςθ μνιμθσ. Οι μζςεσ τιμζσ των χρόνων ςτθν κρυπτογράφθςθ και αποκρυπτογράφθςθ RSA για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά δεφτερθσ εκτζλεςθσ RSA Encoding Decoding (Μζςοι όροι) RSA Encoding RSA Decoding , ,6 14, ,8 50 Για τθν καλφτερθ κατανόθςθ των αρικμϊν ακολουκεί θ γραφικι παράςταςθ του πίνακα ςε κανονικι και λογαρικμικι κλίμακα. Τα αποτελζςματα είναι παρόμοια με αυτά ςτθν «πρϊτθ εκτζλεςθ».

53 sec sec 8. Τοπικι εφαρμογι RSA 53 RSA Encoding - Decoding Δεφτερθ εκτζλεςθ Encoding Decoding bit 100 RSA Encoding - Decoding Δεφτερθ εκτζλεςθ (Λογαρικμικι κλίμακα) 10 1 Encoding Decoding 0, bit Διαφορϊ Χρόςη μνόμησ Ο χρόνοσ που παρουςιάηεται με τθ ζνδειξθ «διαφορά», ουςιαςτικά αποτελεί τθ διαφορά του χρόνου τθσ «δεφτερθσ εκτζλεςθσ» από το χρόνο τθσ «πρϊτθσ εκτζλεςθσ». Πιο ςυγκεκριμζνα εκφράηει το χρόνο που θ ςυςκευι χρειάηεται για να δεςμεφςει χϊρο ςτθ μνιμθ για τισ μεταβλθτζσ. Ουςιαςτικά αποτελεί μία ζμμεςθ μζτρθςθ τθσ μνιμθσ που

54 sec 8. Τοπικι εφαρμογι RSA 54 απαιτεί θ υλοποίθςθ. Οι «διαφορά» ςτθν κρυπτογράφθςθ και αποκρυπτογράφθςθ RSA για διάφορα μικθ κλειδιϊν φαίνονται ςτον παρακάτω πίνακα. Συγκριτικά διαφοράσ χριςθ μνιμθσ RSA Encoding Decoding (Διαφορά μζςων όρων) RSA Encoding RSA Decoding ,2 2, ,6 2, ,8 3,8 Ακολουκεί θ γραφικι παράςταςθ του πίνακα όπου είναι φανερό ότι θ αποκρυπτογράφθςθ του RSA εκτόσ από πολφ πιο χρονοβόρα είναι και πιο απαιτθτικι ςε μνιμθ από τθν κρυπτογράφθςθ. 4 3,5 3 2,5 RSA Encoding - Decoding Διαφορά - Χριςθ μνιμθσ 2 1,5 1 0,5 0 Encoding Decoding bit Συμπερϊςματα Από τθν επεξεργαςία των αποτελεςμάτων παρατθροφμε ότι θ αποκρυπτογράφθςθ του RSA είναι υπολογιςτικά πολφ πιο χρονοβόρα από τθν κρυπτογράφθςθ. Επιςτρζφοντασ ςτο προθγοφμενο κεφάλαιο, ςτθν αρχικι υλοποίθςθ του πρωτοκόλλου ο mobile client αναλάμβανε μόνο τθν κρυπτογράφθςθ ενϊ θ αποκρυπτογράφθςθ επιφόρτιηε αποκλειςτικά

55 8. Τοπικι εφαρμογι RSA 55 τον server. Η υπολογιςτικι ιςχφσ του server είναι τζτοια ϊςτε να μθν χρειάηεται πάνω από λίγα ms για να εκτελζςει τθν αποκρυπτογράφθςθ που είναι και θ πιο χρονοβόρα διαδικαςία. Για το λόγο αυτό είχαμε και αυτοφσ τουσ μικροφσ χρόνουσ ςτθν αυκεντικοποίθςθ RSA. Το πρωτόκολλο με χριςθ του RSA είναι πιο κατάλλθλο για τθν ςυγκεκριμζνθ περίπτωςθ αλλά δεν κα μποροφςαμε να ποφμε το ίδιο αν θ αυκεντικοποίθςθ λάμβανε χϊρα ανάμεςα ςε δφο φορθτζσ ςυςκευζσ. Οι χρόνοι αποκρυπτογράφθςθσ RSA είναι απαγορευτικοί για χριςθ τθσ ςε φορθτζσ ςυςκευζσ. Σε τζτοιεσ περιπτϊςεισ οι ελλειπτικζσ καμπφλεσ με τoν ECDH ζχουνε ςθμαντικό πλεονζκτθμα. Για να μπορζςουμε να ςυγκρίνουμε πόςο πιο αποδοτικι είναι θ εφαρμογι του ECDH αποκλειςτικά ςε κινθτζσ ςυςκευζσ ςε ςχζςθ με τον RSA είμαςτε αναγκαςμζνοι να δθμιουργιςουμε μια τοπικι εφαρμογι όμοια με αυτι που παρουςιάςτθκε ςτο παρϊν κεφάλαιο, που εκτελεί δθμιουργία κοινοφ μυςτικοφ τοπικά, απαλλαγμζνθ από το πρωτόκολλο του wiki. Επιπλζων είναι για να γίνει μια ολοκλθρωμζνθ μελζτθ δθμιουργικθκε με μια τοπικι εφαρμογι που υλοποιεί τοπικά τον κλαςςικό Diffie Hellman ϊςτε να ζχουμε μια ολοκλθρωμζνθ εικόνα για τθν απόδοςθ των τεχνικϊν ανταλλαγισ κοινϊν μυςτικϊν ςε κινθτζσ ςυςκευζσ. Στα κεφάλαια που ακολουκοφν παρουςιάηονται θ τοπικι εφαρμογι Diffie Hellman και θ τοπικι εφαρμογι ECDH.

56 9. Τοπικι Εφαρμογι Diffie Hellman Τοπικό Εφαρμογό Diffie Hellman Diffie Hellman certificate generator Προτοφ, προχωριςουμε ςτθν υλοποίθςθ, ιταν αναγκαία θ δθμιουργία μιασ εφαρμογισ θ οποία κα παριγαγε πιςτοποιθτικά Difiie Hellman [4] διαφόρων μθκϊν κλειδιϊν. Για το λόγο αυτό υλοποιικθκε το DH Key Generator, μια εφαρμογι για Windows PC που κάνει Εικόνα 15: Diffie - Hellman key Generator ακριβϊσ αυτό. Αρχικά ο χριςτθσ επιλζγει το μικοσ κλειδιοφ που επικυμεί, και θ εφαρμογι αναλαμβάνει να δθμιουργιςει τυχαίεσ παραμζτρουσ DH για τθ δθμιουργία ηεφγουσ κλειδιϊν. Επειδι θ δθμιουργία παραμζτρων για μεγάλα μικθ κλειδιϊν είναι πολφ χρονοβόρα διαδικαςία, θ εφαρμογι ζχει τθ δυνατότθτα να αποκθκεφει και να ανακαλεί παραμζτρουσ. Μετά τθ δθμιουργία των παραμζτρων (ι τθν ανάκλθςθ αποκθκευμζνων παραμζτρων) ςειρά ζχει θ δθμιουργία κλειδιϊν. Τζλοσ, ο χριςτθσ μπορεί να αποκθκεφςει τα κλειδιά ςε φακζλουσ «PubKey» και «PrivKey» ανάλογα με τθ φφςθ τουσ. Αυτό που μζνει να γίνει είναι απλά θ αντιγραφι των παραμζτρων αυτόν ςε ςυγκεκριμζνουσ υποκαταλόγουσ ςτθ ςυςκευι ϊςτε να είναι αναγνϊςιμα από τθν εφαρμογι που υλοποιεί τον αλγόρικμο Diffie Hellman. Για τισ ανάγκεσ τθσ εργαςίασ δθμιουργικθκαν δφο ηεφγθ κλειδιϊν για κάκε μικοσ. Από το ιδιωτικό κλειδί του ενόσ ηεφγουσ και το δθμόςιο του δεφτερου ηεφγουσ κα δθμιουργθκεί το κοινό μυςτικό από τθν εφαρμογι που παρουςιάηεται ςτθν επόμενθ παράγραφο. Local DH Πρόκειται για μία εφαρμογι που τρζχει ςε πλατφόρμα windows mobile for Smartphone και υλοποιεί τοπικά τον αλγόρικμο του Diffie Hellman με χριςθ ενόσ ιδιωτικοφ και ενόσ δθμόςιου κλειδιοφ που δθμιουργικθκαν από τθν εφαρμογι που περιγράφθκε ςτθν προθγοφμενθ παράγραφο.

57 9. Τοπικι Εφαρμογι Diffie Hellman 57 Εικόνα 16: Local DH Test Η εφαρμογι είναι κακαρά τοπικι και δεν ζχει ςχζςθ με τα πρωτόκολλα mobile wiki που παρουςιάςτθκαν νωρίτερα. Στο απλοϊκό περιβάλλον που φαίνεται ςτθν εικόνα ο χριςτθσ απλά επιλζγει το μικοσ κλειδιοφ που επικυμεί και δίνει τθν εντολι calculate. Η εφαρμογι εκτελεί τοπικά τθ εντολι του χριςτθ και παρουςιάηει τον χρόνο που χρειάςτθκε ςτθν οκόνθ. Μετρικθκαν οι χρόνοι και θ διαφορζσ ςφμφωνα με τθ μζκοδο που χρθςιμοποιικθκε και ςτα παραπάνω κεφάλαια. Τα αποτελζςματα φαίνονται ςτθν παράγραφο που ακολουκεί. Μϋτρηςη χρόνων Στθν παράγραφο αυτι παρουςιάηονται τα αποτελζςματα των μετριςεων τοπικι δθμιουργία κοινοφ μυςτικοφ ςε κινθτι ςυςκευι με χριςθ του αλγορίκμου Diffie Hellman [4] για διάφορα μικθ κλειδιϊν. Οι χρόνοι που μετρικθκαν παρουςιάηονται αναλυτικά ςτουσ πίνακεσ που ακολουκοφν. Η ανάλυςθ των μετριςεων κα γίνει ςυγκριτικά με τισ υπόλοιπεσ μεκόδουσ ςε παρακάτω κεφάλαιο, αλλά με μια πρϊτθ ματιά οι χρόνοι φαίνονται απαγορευτικοί για χριςθ τθσ μεκόδου ςε κινθτι ςυςκευι. Εφαρμογι: Αλγόρικμοσ: DH Local Diffie hellman 1 θ εκτζλεςθ 1024 bit 2048 bit 3096 bit 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 1 θ εκτζλεςθ 2 θ εκτζλεςθ Διαφορά 9,4 sec 7,2 sec 2,2 sec 55,2 s 53 sec 2,2 sec 185,8 s 183,2 s 2,6 sec

Αςφάλεια και Προςταςία Δεδομζνων

Αςφάλεια και Προςταςία Δεδομζνων Αςφάλεια και Προςταςία Δεδομζνων Κρυπτογράφθςθ υμμετρικι και Αςφμμετρθ Κρυπτογραφία Αλγόρικμοι El Gamal Diffie - Hellman Σςιρόπουλοσ Γεώργιοσ ΣΙΡΟΠΟΤΛΟ ΓΕΩΡΓΙΟ 1 υμμετρικι Κρυπτογραφία υμμετρικι (Κλαςικι)

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

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

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

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

ΚΡΤΠΣΟΓΡΑΦΙΑ ΚΑΙ ΑΦΑΛΕΙΑ ΤΠΟΛΟΓΙΣΩΝ Δ Εξάμηνο. Αςφμμετρη Κρυπτογράφηςη (Κρυπτογραφία Δημόςιου Κλειδιοφ)

ΚΡΤΠΣΟΓΡΑΦΙΑ ΚΑΙ ΑΦΑΛΕΙΑ ΤΠΟΛΟΓΙΣΩΝ Δ Εξάμηνο. Αςφμμετρη Κρυπτογράφηςη (Κρυπτογραφία Δημόςιου Κλειδιοφ) ΚΡΤΠΣΟΓΡΑΦΙΑ ΚΑΙ ΑΦΑΛΕΙΑ ΤΠΟΛΟΓΙΣΩΝ Δ Εξάμηνο Αςφμμετρη Κρυπτογράφηςη (Κρυπτογραφία Δημόςιου Κλειδιοφ) ΔΙΑΡΘΡΩ Η ΕΝΟΣΗΣΑ Αρχζσ Κρυπτογράφθςθσ Δθμοςίου Κλειδιοφ Κρυπτογραφία Δθμοςίου Κλειδιοφ Θεωρία Αρικμών

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

ςυςτιματα γραμμικϊν εξιςϊςεων

ςυςτιματα γραμμικϊν εξιςϊςεων κεφάλαιο 7 Α ςυςτιματα γραμμικϊν εξιςϊςεων αςικζσ ζννοιεσ Γραμμικά, λζγονται τα ςυςτιματα εξιςϊςεων ςτα οποία οι άγνωςτοι εμφανίηονται ςτθν πρϊτθ δφναμθ. Σα γραμμικά ςυςτιματα με δφο εξιςϊςεισ και δφο

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

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Παράςταςη ςυμπλήρωμα ωσ προσ 1 Δρ. Χρήστος Ηλιούδης Θζματα διάλεξησ ΣΤ1 Προςθεςη αφαίρεςη ςτο ΣΤ1 2 ή ΣΤ1 Ονομάηουμε ςυμπλιρωμα ωσ προσ μειωμζνθ βάςθ R ενόσ μθ προςθμαςμζνου αρικμοφ Χ = ( Χ θ-1 Χ θ-2... Χ 0 ) R ζναν άλλον αρικμό Χ'

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

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ Κεφάλαιο 8 Η γλϊςςα Pascal Παράγραφοσ 8.2 Βαςικοί τφποι δεδομζνων Σα δεδομζνα ενόσ προγράμματοσ μπορεί να: είναι αποκθκευμζνα εςωτερικά ςτθν μνιμθ είναι αποκθκευμζνα εξωτερικά

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

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Διαχείριςθ Μνιμθσ Βαγγζλθσ Οικονόμου Διάλεξθ 8 Δείκτεσ Κάκε μεταβλθτι ςχετίηεται με μία κζςθ ςτθν κφρια μνιμθ του υπολογιςτι. Κάκε κζςθ ςτθ μνιμθ ζχει τθ δικι τθσ ξεχωριςτι διεφκυνςθ. Με άμεςθ

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

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι Παράςταςη κινητήσ υποδιαςτολήσ ςφμφωνα με το πρότυπο ΙΕΕΕ Δρ. Χρήστος Ηλιούδης το πρότυπο ΙΕΕΕ 754 ζχει χρθςιμοποιθκεί ευρζωσ ςε πραγματικοφσ υπολογιςτζσ. Το πρότυπο αυτό κακορίηει δφο βαςικζσ μορφζσ κινθτισ

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ ελιδοποίθςθ (1/10) Σόςο θ κατάτμθςθ διαμεριςμάτων ςτακεροφ μεγζκουσ όςο και θ κατάτμθςθ διαμεριςμάτων μεταβλθτοφ και άνιςου μεγζκουσ δεν κάνουν

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

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f.

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f. .. Αντίςτροφθ ςυνάρτθςθ Ζςτω θ ςυνάρτθςθ : A θ οποία είναι " ". Τότε ορίηεται μια νζα ςυνάρτθςθ, θ μζςω τθσ οποίασ το κάκε ιςχφει y. : A με Η νζα αυτι ςυνάρτθςθ λζγεται αντίςτροφθ τθσ. y y A αντιςτοιχίηεται

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

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι Λογιςμικό (Software), Πρόγραμμα (Programme ι Program), Προγραμματιςτισ (Programmer), Λειτουργικό Σφςτθμα (Operating

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

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν: Μζθοδος Simplex Η πλζον γνωςτι και περιςςότερο χρθςιμοποιουμζνθ μζκοδοσ για τθν επίλυςθ ενόσ γενικοφ προβλιματοσ γραμμικοφ προγραμματιςμοφ, είναι θ μζκοδοσ Simplex θ οποία αναπτφχκθκε από τον George Dantzig.

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V Σ ΤΑΤ Ι Σ Τ Ι Κ Η i Statisticum collegium V Στατιςτική Συμπεραςματολογία Ι Σημειακζσ Εκτιμήςεισ Διαςτήματα Εμπιςτοςφνησ Στατιςτική Συμπεραςματολογία (Statistical Inference) Το πεδίο τθσ Στατιςτικισ Συμπεραςματολογία,

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

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ Ειρινθ Φιλιοποφλου Ειςαγωγι Ο Παγκόςμιοσ Ιςτόσ (World Wide Web - WWW) ι πιο απλά Ιςτόσ (Web) είναι μία αρχιτεκτονικι για τθν προςπζλαςθ διαςυνδεδεμζνων εγγράφων

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

Θεςιακά ςυςτιματα αρίκμθςθσ

Θεςιακά ςυςτιματα αρίκμθςθσ Θεςιακά ςυςτιματα αρίκμθςθσ Δρ. Χρήστος Ηλιούδης αρικμθτικό ςφςτθμα αρίκμθςθσ (Number System) Αξία (value) παράςταςθ Οι αξίεσ (π.χ. το βάροσ μιασ ποςότθτασ μιλων) μποροφν να παραςτακοφν με πολλοφσ τρόπουσ

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

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ Οδηγός Χρήσης Εφαρμογής Ελέγχου Προσφορών Αφοφ πιςτοποιθκεί ο λογαριαςμόσ που δθμιουργιςατε ςτο πρόγραμμα ωσ Πάροχοσ Προςφορϊν, κα λάβετε ζνα e-mail με

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

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7) Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων (v.1.0.7) 1 Περίληψη Το ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ διαδικαςίασ διαχείριςθσ ςτθλών βιβλίου Εςόδων - Εξόδων.

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Ιοφνιοσ 2013 Περιεχόμενα: Ειςαγωγή... 3 1.Εθνικό Τυπογραφείο... 3 1.1. Είςοδοσ... 3 1.2. Αρχική Οθόνη... 4 1.3. Διεκπεραίωςη αίτηςησ...

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

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό Βαγγζλθσ Οικονόμου Περιεχόμενα Πλθροφορίεσ Μακιματοσ Δομθμζνοσ Προγραμματιςμόσ (Οριςμοί, Γενικζσ Ζννοιεσ) Αλγόρικμοι και Ψευδοκϊδικασ Γλϊςςα προγραμματιςμοφ C Πλθροφορίεσ

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο) Πάτρα, 2013 Περιεχόμενα: Ειςαγωγή... 4 1. Επιμελητήριο... Error! Bookmark not defined. 1.1 Διαχειριςτήσ Αιτήςεων Επιμελητηρίου...

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

τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014

τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014 τατιςτικά ςτοιχεία ιςτότοπου Κ.Ε.Π.Α. Α.Ν.Ε.Μ, www.e-kepa.gr για τθν περίοδο 1/1/2011-31/12/2014 Ειςαγωγι Στο παρόν κείμενο παρουςιάηονται και αναλφονται τα ςτατιςτικά ςτοιχεία του ιςτοτόπου τθσ ΚΕΠΑ-ΑΝΕΜ,

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

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

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

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

Δομζσ Δεδομζνων Πίνακεσ

Δομζσ Δεδομζνων Πίνακεσ Δομζσ Δεδομζνων Πίνακεσ Διάλεξθ 2 Περιεχόμενα Πίνακεσ: Οριςμοί, Γενικζσ ζννοιεσ Αποκικευςθ πινάκων Ειδικζσ μορφζσ πινάκων Αλγόρικμοι Αναηιτθςθσ Σειριακι Αναηιτθςθ Δυαδικι Αναηιτθςθ Οριςμοί, Γενικζσ ζννοιεσ

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

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα Αυτζσ οι οδθγίεσ ζχουν ςτόχο λοιπόν να βοθκιςουν τουσ εκπαιδευτικοφσ να καταςκευάςουν τισ δικζσ τουσ δραςτθριότθτεσ με το μοντζλο του Άβακα. Παρουςίαςη

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

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ ΚΑΜΠΤΛΕ ΕΛΕΤΘΕΡΗ ΜΟΡΦΗ Χριςιμεσ για τθν περιγραφι ομαλών και ελεφκερων ςχθμάτων Αμάξωμα αυτοκινιτου, πτερφγια αεροςκαφών, ςκελετόσ πλοίου χιματα χαρακτιρων κινουμζνων ςχεδίων Περιγραφι

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν Τπόβακρο (1/3) τουσ παλαιότερουσ υπολογιςτζσ θ Κεντρικι Μονάδα Επεξεργαςίασ (Κ.Μ.Ε.) μποροφςε κάκε ςτιγμι να εκτελεί μόνο ζνα πρόγραμμα τουσ ςφγχρονουσ

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

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ Για τθν ανάδειξθ του κζματοσ κα λφνουμε κάποια προβλιματα

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

ΜΑ032: ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Εαρινό εξάμηνο , Διδάςκων: Γιώργοσ Γεωργίου ΕΝΔΙΑΜΕΗ ΕΞΕΣΑΗ, 21 Μαρτίου, 2012 Διάρκεια: 2 ώρεσ

ΜΑ032: ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Εαρινό εξάμηνο , Διδάςκων: Γιώργοσ Γεωργίου ΕΝΔΙΑΜΕΗ ΕΞΕΣΑΗ, 21 Μαρτίου, 2012 Διάρκεια: 2 ώρεσ ΜΑ: ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Εαρινό εξάμηνο -, Διδάςκων: Γιώργοσ Γεωργίου ΕΝΔΙΑΜΕΗ ΕΞΕΣΑΗ, Μαρτίου, Διάρκεια: ώρεσ ΟΝΟΜΑ: Αρ. Πολ. Σαυτ. Πρόβλημα. Θεωροφμε τα διανφςματα u =,,,, v =,,,4, w =,,,, (α) Υπολογίςτε

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

Προχωρθμζνα Θζματα Συςτθμάτων Ελζγχου

Προχωρθμζνα Θζματα Συςτθμάτων Ελζγχου ΠΑΝΕΠΙΣΗΜΙΟ ΑΙΓΑIΟΤ & ΑΕΙ ΠΕΙΡΑΙΑ Σ.Σ. Σμήματα Ναυτιλίας και Επιχειρηματικών Τπηρεσιών & Μηχ. Αυτοματισμού ΣΕ Π.Μ.. «Νέες Σεχνολογίες στη Ναυτιλία και τις Μεταφορές» Προχωρθμζνα Θζματα Συςτθμάτων Ελζγχου

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

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία)

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία) ΦΥΕ ΑΚΑΔ. ΕΤΟΣ 007-008 Η ΕΡΓΑΣΙΑ Ημερομηνία παράδοςησ: Νοεμβρίου 007 (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 0 μονάδεσ θ κάκε μία) Άςκηςη α) Να υπολογιςκεί θ προβολι του πάνω ςτο διάνυςμα όταν: (.

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

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου Ενότητα 1β: Ισότητα - Εξίσωση ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΥΠΗΡΕΣΙΑ ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου Ενότητα 1β: Ισότητα - Εξίσωση Συγγραφή:

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

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ Αρχείο (File) Φάκελοσ (Folder) Διαχειριςτισ Αρχείων (File Manager) Τφποι Αρχείων Σε τι εξυπθρετεί θ οργάνωςθ των εργαςιϊν μασ ςτουσ υπολογιςτζσ; Πϊσ κα οργανϊςουμε

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

ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ

ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΑΞΙΟΛΟΓΗΣΗ ΕΚΠΑΙΔΕΥΤΙΚΟΥ Ειςαγωγή Τπάρχουν τρία επίπεδα ςτα οποία καλείςτε να αξιολογιςετε το εργαςτιριο D-ID: Νζα κζματα Σεχνολογία Διδακτικι Νέα θέματα Σο εργαςτιριο κα ειςαγάγουν τουσ ςυμμετζχοντεσ

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

Η γλώςςα προγραμματιςμού C

Η γλώςςα προγραμματιςμού C Η γλώςςα προγραμματιςμού C Οι εντολζσ επανάλθψθσ (while, do-while, for) Γενικά για τισ εντολζσ επανάλθψθσ Συχνά ςτο προγραμματιςμό είναι επικυμθτι θ πολλαπλι εκτζλεςθ μιασ ενότθτασ εντολϊν, είτε για ζνα

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

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο κεφάλαιο 8 τριγωνομετρία Α βαςικζσ ζννοιεσ τθν τριγωνομετρία χρθςιμοποιοφμε τουσ τριγωνομετρικοφσ αρικμοφσ, οι οποίοι ορίηονται ωσ εξισ: θμω = απζναντι κάκετθ πλευρά υποτείνουςα Γ ςυνω = εφω = προςκείμενθ

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

17. Πολυδιάςτατοι πίνακεσ

17. Πολυδιάςτατοι πίνακεσ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 17. Πολυδιάςτατοι πίνακεσ Ιωάννθσ Κατάκθσ Πολυδιάςτατοι πίνακεσ o Μζχρι τϊρα μιλοφςαμε για μονοδιάςτατουσ πίνακεσ ι int age[5]= 31,28,31,30,31; o Για παράλλθλουσ

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

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν Ειςαγωγι ςτθν Python Γ Μζροσ Modules, Αντικειμενοςτραφισ Προγραμματιςμόσ ςτθν Python, Classes, Objects, Αλλθλεπίδραςθ με αρχεία Ειςαγωγι αρκρωμάτων (modules): import

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

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι Παράςταςη κινητήσ υποδιαςτολήσ Δρ. Χρήστος Ηλιούδης Θζματα διάλεξησ Παράςταςη ςταθεροφ ςημείου Παράςταςη αριθμών κινητοφ ςημείου 2 Παράςταςη ςταθεροφ ςημείου Στθν παράςταςθ αρικμϊν ςτακεροφ ςθμείου (Fixed

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

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε) ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε) Γραφικό Περιβάλλον Επικοινωνίασ Περιβάλλον Εντολϊν Γραμμισ (Graphical User Interface/GUI), (Command Line Interface),

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

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7) (v.1.0.7) 1 Περίλθψθ Σο ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ Διαδικαςίασ Προγράμματοσ Ωρομζτρθςθσ. Παρακάτω προτείνεται μια αλλθλουχία ενεργειϊν τθν οποία ο χριςτθσ πρζπει

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

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1 Τμήμα Μησανικών Πληποφοπικήρ, Τ.Ε.Ι. Ηπείπος Ακαδημαϊκό Έτορ 2016-2017, 6 ο Εξάμηνο Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1 Διδάςκων Τςιακμάκθσ Κυριάκοσ, Phd MSc in Electronic Physics (Radioelectrology)

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

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10 Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό Διάλεξθ 10 Γενικό Σχιμα Μετατροπζασ Αναλογικοφ ςε Ψθφιακό Ψθφιακό Τθλεπικοινωνιακό Κανάλι Μετατροπζασ Ψθφιακοφ ςε Αναλογικό Τα αναλογικά ςιματα μετατρζπονται ςε

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

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό. Κωδικοποιητές Ο κωδικοποιθτισ (nor) είναι ζνα κφκλωμα το οποίο διακζτει n γραμμζσ εξόδου και το πολφ μζχρι m = 2 n γραμμζσ ειςόδου και (m 2 n ). Οι ζξοδοι παράγουν τθν κατάλλθλθ λζξθ ενόσ δυαδικοφ κϊδικα

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

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 15. Πίνακεσ ΙI Ιωάννθσ Κατάκθσ Σιμερα o Ειςαγωγι o Διλωςθ o Αρχικοποίθςθ o Πρόςβαςθ o Παραδείγματα Πίνακεσ - Επανάλθψθ o Στθν προθγοφμενθ διάλεξθ κάναμε μια

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

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα Περιεχόμενα Ζννοια δομισ Οριςμόσ δομισ Διλωςθ μεταβλθτϊν Απόδοςθ Αρχικϊν τιμϊν Αναφορά ςτα μζλθ μιασ δομισ Ζνκεςθ Δομισ Πίνακεσ Δομϊν Η ζννοια τθσ δομισ Χρθςιμοποιιςαμε

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

Λαμβάνοντασ υπόψη ότι κατά την πρόςθεςη δφο δυαδικϊν ψηφίων ιςχφει: Κρατοφμενο

Λαμβάνοντασ υπόψη ότι κατά την πρόςθεςη δφο δυαδικϊν ψηφίων ιςχφει: Κρατοφμενο Αριθμητικά κυκλώματα Ημιαθροιστής (Half Adder) Ο ημιαθροιςτήσ είναι ζνα κφκλωμα το οποίο προςθζτει δφο δυαδικά ψηφία (bits) και δίνει ωσ αποτζλεςμα το άθροιςμά τουσ και το κρατοφμενο. Με βάςη αυτή την

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

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ Οδηγόσ Χρήςησ Εφαρμογήσ Φορζων Υποδοχήσ Πρακτικήσ Άςκηςησ Αφοφ πιςτοποιθκεί ο λογαριαςμόσ που δθμιουργιςατε ςτο πρόγραμμα «Άτλασ» ωσ Φορζασ

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

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format. Virtualization Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format. Το virtualization πρόκειται για μια τεχνολογία, θ οποία επιτρζπει το διαχωριςμό

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

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ 1 Περίληψη Το ςυγκεκριμζνο εγχειρίδιο δημιουργήθηκε για να βοηθήςει την κατανόηςη τησ διαδικαςίασ αυτόματησ δημιουργίασ ςτηλών και αντιςτοίχιςησ

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

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Διαχείριςη Αριθμοδεικτών (v.1.0.7) Διαχείριςη Αριθμοδεικτών (v.1.0.7) Περιεχόμενα 1. Μενοφ... 5 1.1 Αρικμοδείκτεσ.... 5 1.1.1 Δθμιουργία Αρικμοδείκτθ... 6 1.1.2 Αντιγραφι Αρικμοδείκτθ... 11 2. Παράμετροι... 12 2.1.1 Κατθγορίεσ Αρικμοδεικτϊν...

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

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη MSc Τραπεζική & Χρηματοοικονομική Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Western Macedonia University of Applied Sciences Κοίλα Κοζάνης 50100 Kozani GR

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

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι Τλικό υπολογιςτι (Hardware), Προςωπικόσ Τπολογιςτισ (ΡC), υςκευι ειςόδου, υςκευι εξόδου, Οκόνθ (Screen), Εκτυπωτισ (Printer), αρωτισ

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

1. Αν θ ςυνάρτθςθ είναι ΠΟΛΤΩΝΤΜΙΚΗ τότε το πεδίο οριςμοφ είναι το διότι για κάκε x θ f(x) δίνει πραγματικό αρικμό.

1. Αν θ ςυνάρτθςθ είναι ΠΟΛΤΩΝΤΜΙΚΗ τότε το πεδίο οριςμοφ είναι το διότι για κάκε x θ f(x) δίνει πραγματικό αρικμό. ΜΕΘΟΔΟΛΟΓΙΑ ΓΙΑ ΝΑ ΒΡΙΚΟΤΜΕ ΣΟ ΠΕΔΙΟ ΟΡΙΜΟΤ ΤΝΑΡΣΗΗ Για να οριςκεί μια ςυνάρτθςθ πρζπει να δοκοφν δφο ςτοιχεία : Σο πεδίο οριςμοφ τθσ Α και Η τιμι τθσ f() για κάκε Α. Οριςμζνεσ φορζσ μασ δίνουν μόνο τον

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

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν Τι είναι θ Γραμμι Εντολϊν (1/6) Στουσ πρϊτουσ υπολογιςτζσ, και κυρίωσ από τθ δεκαετία του 60 και μετά, θ αλλθλεπίδραςθ του χριςτθ με τουσ

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

Πωσ δθμιουργώ φακζλουσ;

Πωσ δθμιουργώ φακζλουσ; Πωσ δθμιουργώ φακζλουσ; Για να μπορζςετε να δθμιουργιςετε φακζλουσ ςτο χαρτοφυλάκιό ςασ ςτο Mahara κα πρζπει να μπείτε ςτο ςφςτθμα αφοφ πατιςετε πάνω ςτο ςφνδεςμο Mahara profiles από οποιοδιποτε ςελίδα

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

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ Βάςεισ Δεδομζνων Ι Ενότητα 12: Κανονικοποίηςη Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό

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

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων» Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων» Το Πλθροφοριακό Σφςτθμα τθσ δράςθσ «e-κπαιδευτείτε» ζχει ςτόχο να αυτοματοποιιςει τισ ακόλουκεσ

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

Γενικά Μαθηματικά ΙΙ

Γενικά Μαθηματικά ΙΙ ΑΡΙΣΟΣΕΛΕΙΟ ΠΑΝΕΠΙΣΗΜΙΟ ΘΕΑΛΟΝΙΚΗ ΑΝΟΙΚΣΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΣΑ Γενικά Μαθηματικά ΙΙ Ενότητα 5 η : Μερικι Παράγωγοσ Ι Λουκάσ Βλάχοσ Κακθγθτισ Αςτροφυςικισ Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων Ιςοηυγιςμζνα δζντρα και Β- δζντρα Δομζσ Δεδομζνων Περιεχόμενα Ιςοηυγιςμζνα δζντρα Μζκοδοι ιςοηφγιςθσ δζντρων Μονι Περιςτροφι Διπλι Περιςτροφι Β - δζντρα Ιςοηυγιςμζνα δζντρα Η μορφι ενόσ δυαδικοφ δζντρου

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

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ Φιλιοποφλου Ειρινθ Βάςθ Δεδομζνων Βάζη δεδομένων είναι μια οπγανωμένη ζςλλογή πληποθοπιών οι οποίερ πποζδιοπίζοςν ένα ζςγκεκπιμένο θέμα.χπηζιμεύοςν ζηην Σςλλογή

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

Modellus 4.01 Συ ντομοσ Οδηγο σ

Modellus 4.01 Συ ντομοσ Οδηγο σ Νίκοσ Αναςταςάκθσ 4.01 Συ ντομοσ Οδηγο σ Περιγραφή Σο είναι λογιςμικό προςομοιϊςεων που ςτθρίηει τθν λειτουργία του ςε μακθματικά μοντζλα. ε αντίκεςθ με άλλα λογιςμικά (π.χ. Interactive Physics, Crocodile

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

Epsilon Cloud Services

Epsilon Cloud Services 1 Περίλθψθ Το ςυγκεκριμζνο εγχειρίδιο δημιουργήθηκε για να βοηθήςει την κατανόηςη τησ λειτουργίασ και παραμετροποίηςησ του Epsilon Cloud Services ςτην εφαρμογή extra Λογιςτική Διαχείριςη. 2 2 Περιεχόμενα

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν Παράλλθλεσ Διεργαςίεσ (1/5) Δφο διεργαςίεσ λζγονται «παράλλθλεσ» (concurrent) όταν υπάρχει ταυτοχρονιςμόσ, δθλαδι οι εκτελζςεισ τουσ επικαλφπτονται

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

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες) Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες) Ιούνιοσ 2013 Περιεχόμενα: Ειςαγωγή... 3 1. Περιφζρεια... 3 1.1 Διαχειριςτήσ Αιτήςεων Περιφζρειασ... 3 1.1.1. Είςοδοσ... 3 1.1.2. Αρχική

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

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ Στο εργαςτιριο αυτό κα δοφμε πωσ μποροφμε να προςομοιϊςουμε μια κίνθςθ χωρίσ τθ χριςθ εξειδικευμζνων εργαλείων, παρά μόνο μζςω ενόσ προγράμματοσ λογιςτικϊν φφλλων, όπωσ είναι το Calc και το Excel. Τα δφο

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

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Εργονομία, ωςτι ςτάςθ εργαςίασ, Εικονοςτοιχείο (pixel), Ανάλυςθ οκόνθσ (resolution), Μζγεκοσ οκόνθσ Ποιεσ επιπτϊςεισ μπορεί να ζχει θ πολφωρθ χριςθ του υπολογιςτι ςτθν

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

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων Παραμετροποίηςη ειςαγωγήσ δεδομζνων περιόδων 1 1 Περίληψη Το παρόν εγχειρίδιο παρουςιάηει αναλυτικά τθν παραμετροποίθςθ τθσ ειςαγωγισ αποτελεςμάτων μιςκοδοτικϊν περιόδων. 2 2 Περιεχόμενα 1 Ρερίλθψθ...2

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

Μάκθςθ Κατανομϊν Πικανότθτασ και Ομαδοποίθςθ

Μάκθςθ Κατανομϊν Πικανότθτασ και Ομαδοποίθςθ Μάκθςθ Κατανομϊν Πικανότθτασ και Ομαδοποίθςθ Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ 1 Μάκθςθ κατανομισ πικανότθτασ Σε όλθ τθν ανάλυςθ μζχρι τϊρα ζγινε ςιωπθρά θ παραδοχι ότι γνωρίηουμε

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

Το Δίκτυο Multi-Layer Perceptron και ο Κανόνασ Back-Propagation. Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ

Το Δίκτυο Multi-Layer Perceptron και ο Κανόνασ Back-Propagation. Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Το Δίκτυο Multi-Layer Percetron και ο Κανόνασ Back-Proagation Κϊςτασ Διαμαντάρασ Τμιμα Πλθροφορικισ ΤΕΙ Θεςςαλονίκθσ Το Πρόβλθμα XOR Περιοριςμζνεσ δυνατότθτεσ Percetron =1 νευρϊνασ. Πχ. Αδυναμία λφςθσ

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

Εισαγωγή Νέου Παγίου

Εισαγωγή Νέου Παγίου Εισαγωγή Νέου Παγίου 1 Περίληψη Το ςυγκεκριμζνο εγχειρίδιο δημιουργήθηκε για να βοηθήςει την κατανόηςη τησ διαδικαςίασ ειςαγωγήσ νζου παγίου ςτην εφαρμογή τησ ςειράσ Hyper Axion. Παρακάτω προτείνεται μια

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

16. Πίνακεσ και Συναρτήςεισ

16. Πίνακεσ και Συναρτήςεισ Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 16. Πίνακεσ και Συναρτήςεισ Ιωάννθσ Κατάκθσ Σιμερα o Κλιςθ με τιμι o Κλιςθ με αναφορά o Πίνακεσ και ςυναρτιςεισ o Παραδείγματα Ειςαγωγι o Στισ προθγοφμενεσ

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

Ιδιότθτεσ πεδίων Γενικζσ.

Ιδιότθτεσ πεδίων Γενικζσ. Οι ιδιότθτεσ των πεδίων διαφζρουν ανάλογα με τον τφπο δεδομζνων που επιλζγουμε. Ορίηονται ςτο κάτω μζροσ του παρακφρου ςχεδίαςθσ του πίνακα, ςτθν καρτζλα Γενικζσ. Ιδιότθτα: Μζγεκοσ πεδίου (Field size)

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

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v ) Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών (v.1. 0.7) 1 Περίλθψθ Το ςυγκεκριμζνο εγχειρίδιο δθμιουργικθκε για να βοθκιςει τθν κατανόθςθ τθσ διαδικαςίασ διαχείριςθσ Εκτφπωςθσ

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

Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ

Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ Ειςαγωγό Όπωσ είδαμε, ο χϊροσ εικονικϊν διευκφνςεων μνιμθσ που χρθςιμοποιεί κάκε διεργαςία, είναι αρκετά μεγαλφτεροσ από το χϊρο των φυςικϊν διευκφνςεων.

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

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ ΦΥΣΙΚΗ vs ΒΙΟΛΟΓΙΑ ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ «Προτείνω να αναπτφξουμε πρώτα αυτό που κα μποροφςε να ζχει τον τίτλο: «ιδζεσ ενόσ απλοϊκοφ φυςικοφ για τουσ οργανιςμοφσ». Κοντολογίσ, τισ ιδζεσ που κα μποροφςαν

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

Πανεπιςτιμιο Κφπρου ΟΙΚ 223: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων:

Πανεπιςτιμιο Κφπρου ΟΙΚ 223: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων: Πανεπιςτιμιο Κφπρου ΟΙΚ 3: Μακθματικά για οικονομολόγουσ ΙΙ Διδάςκων: Φάμπιο Αντωνίου τοιχεία Επικοινωνίασ: email: fantoniou@aueb.gr ; fabio@ucy.ac.cy Σθλ:893683 Προςωπικι Ιςτοςελίδα: fantoniou.wordpress.com

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

ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά"

ελ. 11/235, Περιεχόμενα Φακζλου Σεχνικι Προςφορά υντάκτθσ : Ευάγγελοσ Κρζτςιμοσ χόλιο: ΠΑΡΑΣΗΡΗΗ 1 ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά" Για τθν αποφυγι μεγάλου όγκου προςφοράσ και για τθ διευκόλυνςθ του ζργου τθσ επιτροπισ προτείνεται τα

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

Εργαςτιριο Βάςεων Δεδομζνων

Εργαςτιριο Βάςεων Δεδομζνων Εργαςτιριο Βάςεων Δεδομζνων 2010-2011 Μάθημα 1 ο 1 Ε. Σςαμούρα Σμήμα Πληροφορικήσ ΑΠΘ Σκοπόσ του 1 ου εργαςτθριακοφ μακιματοσ Σκοπόσ του πρϊτου εργαςτθριακοφ μακιματοσ είναι να μελετιςουμε ερωτιματα επιλογισ

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

Σφντομεσ Οδθγίεσ Χριςθσ

Σφντομεσ Οδθγίεσ Χριςθσ Σφντομεσ Οδθγίεσ Χριςθσ Περιεχόμενα 1. Επαφζσ... 3 2. Ημερολόγιο Επιςκζψεων... 4 3. Εκκρεμότθτεσ... 5 4. Οικονομικά... 6 5. Το 4doctors ςτο κινθτό ςου... 8 6. Υποςτιριξθ... 8 2 1. Επαφζσ Στισ «Επαφζσ»

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

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

ΠΟΛΤΣΕΧΝΕΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΗΛΕΚΣΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΣΡΟΝΙΚΩΝ ΤΠΟΛΟΓΙΣΩΝ ΠΟΛΤΣΕΧΝΕΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΗΛΕΚΣΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΣΡΟΝΙΚΩΝ ΤΠΟΛΟΓΙΣΩΝ ΣΟΜΕΑ ΗΛΕΚΣΡΟΝΙΚΗ ΚΑΙ ΑΡΧΙΣΕΚΣΟΝΙΚΗ ΤΠΟΛΟΓΙΣΩΝ Τλοποίηςη ςε αναδιαταςςόμενη λογική των πινάκων ουράνιου τόξου (rainbow

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

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3) Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3) Το όνομα ενόσ πίνακα, όπωσ και κάκε άλλου αντικειμζνου, μπορεί να ζχει μζγεκοσ ζωσ 64 χαρακτιρεσ. Το όνομα ενόσ πεδίου μπορεί να ζχει μζγεκοσ ζωσ 64 χαρακτιρεσ. Κάκε

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

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα: 2 ο Σετ Ασκήσεων Δομές Δεδομένων - Πίνακες Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα: 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8

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

Ακολουκιακά Λογικά Κυκλώματα

Ακολουκιακά Λογικά Κυκλώματα Ακολουκιακά Λογικά Κυκλώματα Τα ψθφιακά λογικά κυκλϊματα που μελετιςαμε μζχρι τϊρα ιταν ςυνδυαςτικά κυκλϊματα. Στα ςυνδυαςτικά κυκλϊματα οι ζξοδοι ςε κάκε χρονικι ςτιγμι εξαρτϊνται αποκλειςτικά και μόνο

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

Ενδεικτική Οργάνωςη Ενοτήτων. Α Σάξη. Διδ. 1 ΕΝΟΣΗΣΑ 1. 6 Ομαδοποίθςθ, Μοτίβα,

Ενδεικτική Οργάνωςη Ενοτήτων. Α Σάξη. Διδ. 1 ΕΝΟΣΗΣΑ 1. 6 Ομαδοποίθςθ, Μοτίβα, Ενδεικτική Οργάνωςη Ενοτήτων Α Σάξη Α/ Μαθηματικό περιεχόμενο Δείκτεσ Επιτυχίασ Ώρεσ Α Διδ. 1 ΕΝΟΣΗΣΑ 1 Αλ1.1 υγκρίνουν και ταξινομοφν αντικείμενα ςφμφωνα με κάποιο χαρακτθριςτικό/κριτιριο/ιδιότθτά Ομαδοποίθςθ,

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

Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ

Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ Internet a jeho role v našem životě Το Διαδίκτυο και ο ρόλοσ του ςτθ ηωι μασ Διαδίκτυο: μια πόρτα ςτον κόςμο Πϊσ μπορεί κανείσ ςε λίγα λεπτά να μάκει ποιεσ ταινίεσ παίηονται ςτουσ κινθματογράφουσ, να ςτείλει

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

Αναφορά Εργαςίασ Nim Game

Αναφορά Εργαςίασ Nim Game Αναφορά Εργαςίασ Nim Game Αυτόνομοι Πράκτορεσ (ΠΛΗ 513) Βαγενάσ Σωτιριοσ 2010030034 Ειςαγωγή Για τθν εργαςία του μακιματοσ αςχολικθκα με το board game Nim. Ρρόκειται για ζνα παιχνίδι δφο παιχτϊν (2-player

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

HY437 Αλγόριθμοι CAD

HY437 Αλγόριθμοι CAD HY437 Αλγόριθμοι CAD Διδάςκων: Χ. Σωτηρίου http://inf-server.inf.uth.gr/courses/ce437/ 1 Περιεχόμενα Κανονικζσ Μορφζσ Οριςμόσ των Δυαδικών Διαγραμμάτων Αποφάςεων (Binary Decision Diagrams BDDs) Αναπαράςταςθ

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

Παράρτημα Η Ζκδοση 2010 (Το παρόν διατίκεται μόνο ςε χριςτεσ λογιςμικοφ τθσ C.C.S. Α.Ε.)

Παράρτημα Η Ζκδοση 2010 (Το παρόν διατίκεται μόνο ςε χριςτεσ λογιςμικοφ τθσ C.C.S. Α.Ε.) Παράρτημα Η Ζκδοση 2010 (Το παρόν διατίκεται μόνο ςε χριςτεσ λογιςμικοφ τθσ C.C.S. Α.Ε.) Το ςυγκεκριμζνο βιβλιάριο ζχει δθμιουργθκεί και διατίκεται από τθν CCS ΑΕ μόνο για τουσ χριςτεσ τθσ Ελλάδασ και

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

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α) 50 Χρόνια ΦΡΟΝΣΙΣΗΡΙΑ ΜΕΗ ΕΚΠΑΙΔΕΤΗ ΑΒΒΑΪΔΗ-ΜΑΝΩΛΑΡΑΚΗ ΠΑΓΚΡΑΣΙ : Φιλολάου & Εκφαντίδου 26 : Σηλ.: 2107601470 ΔΙΑΓΩΝΙΣΜΑ : ΑΝΑΡΤΥΞΗ ΕΦΑΜΟΓΩΝ ΣΕ ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ Γϋ ΛΥΚΕΙΟΥ 2011 ΘΕΜΑ Α I. Η ςειριακι

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

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

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

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

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1 Περιεχόμενα Περιεχόμενα... 1 1. Ειςαγωγή... 2 1.1 Σχετικά... 2 2. Γενικέσ Πληροφορίεσ για τα Cookies... 2 2.1 Οριςμόσ... 2 2.2 Χρήςη... 3 2.3 Τφποι... 3 2.4 Έλεγχοσ... 3 3. Cookies Σχολήσ... 4 3.1 Ειςαγωγή...

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

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε: ΔΟΜΗ ΑΠΟΦΑΗ Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε: Όταν το if που χρθςιμοποιοφμε παρζχει μόνο μία εναλλακτικι διαδρομι εκτζλεςθ, ο τφποσ δομισ

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

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ Αυτζσ οι οδθγίεσ ζχουν ςτόχο να βοθκιςουν τουσ εκπαιδευτικοφσ να καταςκευάςουν τισ δικζσ τουσ δραςτθριότθτεσ με το μοντζλο τθσ Αρικμογραμμισ.

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

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox 03 05 ΙΛΤΔΑ ΠΛΗΡΟΦΟΡΙΚΗ Α.Ε. αρμά Ιηαμπζλλα Βαρλάμθσ Νίκοσ Ειςαγωγι... 1 Σι είναι το Databox...... 1 Πότε ανανεϊνεται...... 1 Μπορεί να εφαρμοςτεί

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

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ Εισαγωγικές έννοιες Αντώνησ Κ Μαώργιώτησ Έννοιεσ που πρϋπει να επιβεβαιώςουμε ότι τισ ξϋρουμε (1) - αναζότηςη Ιςτοςελίδα Αρχείο που περιζχει πλθροφορίεσ προοριςμζνεσ για δθμοςίευςθ ςτο Παγκόςμιο Ιςτό (www).

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

Γενικά Μαθηματικά ΙΙ

Γενικά Μαθηματικά ΙΙ ΑΡΙΣΟΣΕΛΕΙΟ ΠΑΝΕΠΙΣΗΜΙΟ ΘΕΑΛΟΝΙΚΗ ΑΝΟΙΚΣΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΣΑ Γενικά Μαθηματικά ΙΙ Ενότητα 13 η : Επαναλθπτικι Ενότθτα Λουκάσ Βλάχοσ Κακθγθτισ Αςτροφυςικισ Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Συγγραφι επιςτθμονικισ εργαςίασ. Η κορφφωςθ τθσ προςπάκειάσ μασ

Συγγραφι επιςτθμονικισ εργαςίασ. Η κορφφωςθ τθσ προςπάκειάσ μασ Συγγραφι επιςτθμονικισ εργαςίασ Η κορφφωςθ τθσ προςπάκειάσ μασ Περίγραμμα Ειςήγηςησ Στάδια υλοποίθςθσ τθσ επιςτθμονικισ εργαςίασ Δομι επιςτθμονικισ / πτυχιακισ εργαςίασ Ζθτιματα ερευνθτικισ και ακαδθμαϊκισ

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

Μάρκετινγκ V Κοινωνικό Μάρκετινγκ. Πόπη Σουρμαΐδου. Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη

Μάρκετινγκ V Κοινωνικό Μάρκετινγκ. Πόπη Σουρμαΐδου. Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη Μάρκετινγκ V Κοινωνικό Μάρκετινγκ Πόπη Σουρμαΐδου Σεμινάριο: Αναπτφςςοντασ μια κοινωνική επιχείρηςη Σφνοψη Τι είναι το Marketing (βαςικι ειςαγωγι, swot ανάλυςθ, τα παλιά 4P) Τι είναι το Marketing Plan

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

Γράφοι. Δομζσ Δεδομζνων Διάλεξθ 9

Γράφοι. Δομζσ Δεδομζνων Διάλεξθ 9 Γράφοι Δομζσ Δεδομζνων Διάλεξθ 9 Περιεχόμενα Γράφοι Γενικζσ ζννοιεσ, οριςμόσ, κτλ Παραδείγματα Γράφων Αποκικευςθ Γράφων Βαςικοί Οριςμοί Γράφοι και Δζντρα Διάςχιςθ Γράφων Περιοδεφων Πωλθτισ Γράφοι Οριςμόσ:

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

Πλαγιογώνια Συςτήματα Συντεταγμζνων Γιϊργοσ Καςαπίδθσ

Πλαγιογώνια Συςτήματα Συντεταγμζνων Γιϊργοσ Καςαπίδθσ Πρόλογοσ το άρκρο αυτό κα δοφμε πωσ διαμορφϊνονται κάποιεσ ζννοιεσ όπωσ το εςωτερικό γινόμενο διανυςμάτων, οι ςυνκικεσ κακετότθτασ και παραλλθλίασ διανυςμάτων και ευκειϊν, ο ςυντελεςτισ διευκφνςεωσ διανφςματοσ

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