Εισαγωγή στην Κρυπτογραφία

Slides:



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

Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)
Γραφήματα & Επίπεδα Γραφήματα
Tonelli-Shanks Algorithm
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Βασικές Συναρτήσεις Πινάκων
Απαντήσεις Προόδου II.
Πιθανοκρατικοί Αλγόριθμοι
BBS Γεννήτριες Ψευδοτυχαίων Αριθμών
Ασκήσεις Συνδυαστικής
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη ανάλυση  του προβλήματος του Περιοδεύοντα Πωλητή (Traveling.
Παρούσα κατάσταση - Προβλήματα
1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη παρουσίαση και ανάλυση για  το πρόβλημα του Περιοδεύοντα.
Η Μέθοδος RSA  Υποθέτουμε πως δυο άτομα ο Α και ο Β θέλουν να ανταλλάξουν μεταξύ τους κάποιο μήνυμα Μ, το οποίο θέλουν να κρυπτογραφήσουν για λόγους ασφαλείας.
Ανάλυση του λευκού φωτός και χρώματα
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Ασφάλεια Επικοινωνιακών Συστημάτων Κρυπτογραφία
Ζητήματα Κρυπτογραφίας- Κέρβερος
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κ. Μόδη: Γεωστατιστική και Εφαρμογές της (Κεφάλαιο 5) 1 Τυχαία συνάρτηση Μία τυχαία συνάρτηση (ΤΣ) είναι ένας κανόνας με τον οποίο σε κάθε αποτέλεσμα ζ.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Απαντήσεις Θεωρίας - Ασκήσεων
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Henric Johnson1 Κεφάλαιο 3 Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση αυθεντικότητας μηνυμάτων Henric Johnson Blekinge Institute of Technology, Sweden.
ΙΣΧΥΣ Η χρονική συνάρτηση της στιγμιαίας ισχύος προκύπτει από τη σχέση
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση Πολλαπλής Παλινδρόμησης
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Μεταθέσεις & Συνδυασμοί
Τμήμα Αρχειονομίας- Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο
Dr. Holbert Νικ. Α. Τσολίγκας Χρήστος Μανασής
Εισαγωγή στην Κρυπτογραφία
ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ ΔΙΔΑΣΚΑΛΙΑΣ & ΕΝΔΕΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΛΗΣ
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Εισαγωγή στη Κρυπτογραφία
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Σέρρες,Ιούνιος 2009 Τίτλος: Αυτόματος έλεγχος στο Scilab: Ανάπτυξη πακέτου για εύρωστο έλεγχο. Ονοματεπώνυμο Σπουδάστριας: Ευαγγελία Δάπκα Επιβλέπων Καθηγητής.
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Cryptography and Network Security Chapter 9
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Άσκηση 6 Ασφάλεια Δικτύων.
Ασφάλεια Δικτύων (Computer Security). Τι Εννοούμε με τον Όρο Ασφάλεια Δικτύων; Ασφάλεια  Μόνο ο αποστολέας και ο προοριζόμενος παραλήπτης μπορούν να.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Εισαγωγή στη Κρυπτογραφία
Ασφάλεια Δικτύων. “Αγαθά” πληροφοριακού συστήματος Δεδομένα Πληροφορίες Υπολογιστικοί πόροι.
Lattices και κρυπτογραφία: ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών.
Κρυπτογραφία Ψηφιακά Πιστοποιητικά
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Εισαγωγή στην Κρυπτογραφία Εργαστηριακό σεμινάριο Άνοιξη 2007.
Η Κρυπτογραφία στην ζωή μας. Η Κρυπτογραφία ασχολείται με την μελέτη της ασφαλούς επικοινωνίας. Ο κύριος στόχος της είναι να παρέχει μηχανισμούς για 2.
S/MIME Στα πρώτα στάδια ανάπτυξης η εφαρμογή υποστήριζε αποκλειστικά τη μεταφορά κειμένου μεταξύ των χρηστών Το πρωτόκολλο MIME (Multipurpose Internet.
Προχωρημένα Θέματα Δικτύων
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Secure Sockets Layer (SSL)
Διδάσκων: Δρ. Γενειατάκης Δημήτρης
Εισαγωγή στους Αλγόριθμους
Εισαγωγή στην Ασφάλεια Δικτύων
Μεταγράφημα παρουσίασης:

Εισαγωγή στην Κρυπτογραφία Αλγόριθμοι Δημοσίου Κλειδιού

Σχηματική αναπαράσταση Κρυπτογραφημένο μήνυμα Κρυπτογράφηση με το δημόσιο κλειδί του B Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B Χρήστης A Χρήστης B Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A Κρυπτογράφηση με το δημόσιο κλειδί του A Κρυπτογραφημένο μήνυμα

Μαθηματική Θεωρία Συνάρτηση μίας κατεύθυνσης (one-way) ονομάζεται κάποια συνάρτηση η οποία είναι εύκολο να υπολογιστεί, αλλά πολύ δύσκολο να αντιστραφεί. ‘Καταπακτή’ (‘trapdoor’) σε μία τέτοια συνάρτηση αποκαλείται οποιαδήποτε γνώση μας επιτρέπει να την αντιστρέψουμε. Η κρυπτογράφηση σε ένα σύστημα Δημοσίου Κλειδιού πρέπει να είναι μία ‘one-way’ συνάρτηση η οποία να έχει ένα ‘trapdoor’ (το ιδιωτικό κλειδί αποκρυπτογράφησης). Το ‘trapdoor’ πρέπει να το γνωρίζει μόνο ο παραλήπτης.

Κάποια παραδείγματα συναρτήσεων μίας κατεύθυνσης Πολλαπλασιασμός δύο πολύ μεγάλων πρώτων αριθμών. x  x2 (mod m), όπου m σύνθετος αριθμός x  ax στο πεπερασμένο σώμα GF(2n) ή GF(p). k  Ek(m) για σταθερό m, όπου το Ek είναι η συνάρτηση κρυπτογράφησης σε ένα σύστημα συμμετρικού κλειδιού, το οποίο είναι ασφαλές έναντι σε επιθέσεις known plaintext. x  a.x όπου x είναι ένα n-bit δυαδικό διάνυσμα και a είναι μία σταθερή n-άδα ακεραίων. Τότε το a.x είναι ένας ακέραιος.

Στοιχεία Θεωρίας Πολυπλοκότητας Προβλήματα τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ανήκουν στην κλάση P Προβλήματα των οποίων μία καταφατική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση NP Προβλήματα των οποίων μία αρνητική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση co-NP Τα πιο δύσκολα NP προβλήματα ονομάζονται NP-complete.

Στοιχεία Θεωρίας Πολυπλοκότητας Ένα NP πρόβλημα χαρακτηρίζεται από το ότι δεν έχει βρεθεί πολυωνυμικός αλγόριθμος που να το επιλύει. Ισχύει P  NP Παρόλο που πιστεύεται ότι NP ≠ P, εν τούτοις δεν έχει αποδειχτεί Παράδειγμα: η ανάλυση ενός αριθμού στους πρώτους του παράγοντες είναι NP πρόβλημα Συναρτήσεις μίας κατεύθυνσης στην πράξη θεωρούνται αυτές που εμφανίζονται στα NP προβλήματα

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (I) Factoring: για δοθέν ακέραιο n, εύρεση της παραγοντοποίησής του σε πρώτους παράγοντες RSA problem: Για δοθέν ακέραιο n που είναι γινόμενο δύο πολύ μεγάλων πρώτων p και q διαφορετικών μεταξύ τους, δοθέν φυσικό e τέτοιον ώστε gcd(e,(p-1)(q-1))=1 και δοθέν ακεραίου c, εύρεση ακεραίου m με την ιδιότητα: me c(mod n) Quadratic Residuocity Problem (QRP): Δοθέντος σύνθετου περιττού ακέραιου n και ακεραίου a με Jacobi σύμβολο , έλεγχος για το αν το a είναι ή όχι τετραγωνικό υπόλοιπο modulo n.

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (II) Square roots modulo n (SQROOT): για δοθέν σύνθετο ακέραιο n και a  Qn (το σύνολο των τετραγωνικών υπολοίπων mod n), εύρεση τετραγωνικής ρίζας του a modulo n (δηλαδή, εύρεση x με την ιδιότητα x2a(mod n)) Discrete logarithm problem (DLP): Δοθέντος πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Zp* και ενός στοιχείου β  Zp*, εύρεση ακεραίου x, 0 ≤ x ≤ p-2 τέτοιου ώστε ax  β (mod p) Generalized discrete logarithm problem (GDLP): Δοθείσης μίας πεπερασμένης κυκλικής ομάδας G τάξης n, ενός γεννήτορα a της ομάδας και ενός στοιχείου β  G, εύρεση ακεραίου x, 0 ≤ x ≤ n-1 τέτοιου ώστε ax = β

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (III) Diffie – Hellman problem (DHP): Δοθέντος ενός πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Zp* και στοιχείων aα mod p και aβ mod p, εύρεση του aαβ mod p. Generalized Diffie – Hellman problem (GDHP): Δοθείσης μίας πεπερασμένης κυκλικής ομάδας G, ενός στοιχείου-γεννήτορα a της ομάδας και στοιχείων aα και aβ της ομάδας, εύρεση του aαβ. Subset sum problem (SUBSET-SUM): Δοθέντος ενός συνόλου θετικών ακεραίων {a1, a2, …, an} και ενός θετικού ακεραίου s, έλεγχος για το υπάρχει ή όχι υποσύνολο των ai τέτοιων ώστε το άθροισμά τους να ισούται με s.

{βασίζεται στο πρόβλημα της παραγοντοποίησης} Αλγόριθμος RSA {βασίζεται στο πρόβλημα της παραγοντοποίησης} Πήρε το όνομά του από τους εμπνευστές του Rivest, Shamir, Adleman. Kάθε χρήστης διαλέγει τυχαία δύο πολύ μεγάλους πρώτους αριθμούς p, q, και υπολογίζει το γινόμενο N=pq. Το N θα πρέπει να αποτελείται τουλάχιστον από 200 ψηφία και δημοσιοποιείται Τα p και q κρατούνται μυστικά.

Ο αλγόριθμος RSA (συνέχεια) Με χρήση των p και q, ο χρήστης υπολογίζει τη συνάρτηση Euler φ(N), που ισούται με το πλήθος των θετικών ακεραίων που είναι πρώτοι ως προς το N. φ(N)=φ(p)φ(q) = (p-1) (q-1) Στη συνέχεια ο χρήστης διαλέγει έναν τυχαίο αριθμό e μικρότερο του φ(Ν) με την ιδιότητα gcd(e,φ(N))=1. Οι αριθμοί e και Ν δημοσιοποιούνται. Με τον επεκταμένο (extended) αλγόριθμο του Ευκλείδη, ο χρήστης υπολογίζει τον μοναδικό ακέραιο d, 1 < d < φ(N), με την ιδιότητα ed=1 (mod φ(Ν)). Το δημόσιο κλειδί του χρήστη είναι το ζεύγος (N,e). Το ιδιωτικό του κλειδί είναι ο αριθμός d.

Επεκταμένος αλγόριθμος του Ευκλείδη Για δοθέντα a, b με α ≥ b ≥ 0, εύρεση του g = gcd(a,b) και ακεραίων x, y με την ιδιότητα ax + by =g (στον RSA: a = φ(Ν), b = e και επίσης g = 1. Στο d θα αποδοθεί η τιμή του y, δηλ., φ(Ν)x + ed = 1, οπότε ed = 1 mod φ(Ν)). Βήμα 1: Αν b=0, τότε: g=a, x=1, y=0, δηλ., a=a1+00 ΤΕΛΟΣ. Διαφορετικά, Βήμα 2: x2 = 1, x1 = 0, y2 = 0, y1 = 1 Βήμα 3: Για όσο ισχύει b > 0 q = a/b, r = a  qb, x = x2  qx1, y = y2  qy1 a = b, b = r, x2 = x1, x1 = x, y2 = y1, y1 = y Βήμα 4: g = a, x = x2, y = y2 και επέστρεψε (g, x, y) ΤΕΛΟΣ

Παράδειγμα γενικό Έστω a = 4864, b = 3458 , αρχικά x2 = 1, x1 = 0, y2 = 0, y1 = 1 q = a/b, r = a  qb, x = x2  qx1, y = y2  qy1 a = b, b = r, x2 = x1, x1 = x, y2 = y1, y1 = y Άρα x =x2=32 και y= y2=-45, συνεπώς: Αποτέλεσμα: 4864·32 + 3458 ·(-45) = 38 = gcd(4864, 3458)

Παράδειγμα για RSA q r x y a=φ(Ν) b=e x2 x1 y2 y1 - 2668 17 1 156 16 Έστω p=47, q=59, N=pq=2773, φ(Ν)=(p -1)(q -1)=2668, e=17 q r x y a=φ(Ν) b=e x2 x1 y2 y1 - 2668 17 1 156 16 -156 -1 157 16 17 -2668 1 -1 157 Άρα x =x2=-1 και y= y2=157, συνεπώς: Αποτέλεσμα: 2668· (-1) + 17 · 157 = 1, άρα 17 · 157 =1 mod 2668

Παράδειγμα ειδικό για τον RSA (με αντιστοίχηση στα βήματα του συνήθη) Πιο απλή μέθοδος! Έστω p=47, q=59, N=pq=2773, φ(Ν)=(p -1)(q -1)=2668, e=17 Τα βήματα του επεκταμένου αλγορίθμου του Ευκλείδη περιγράφονται πιο απλά με βάση τα βήματα του συνήθη αλγορίθμου, όπως φαίνεται στο παράδειγμα Συνήθης Επεκταμένος 2668 = 17·156 + 16 16= 2668 17·156 17=1·16 + 1 1= 17  1 ·16 = 17  1 · (2668  17 ·156) = ( 1)·2668 + 17·157 Άρα, 17 · 157 = 1 mod φ(2668)

Αλγόριθμος RSA (κρυπτογράφηση) Για να κρυπτογραφηθεί ένα μήνυμα m που θέλει να στείλει κάποιος χρήστης B στον χρήστη A, το m διασπάται σε μία σειρά τμημάτων m1, m2, …, mp, όπου κάθε mi αναπαρίσταται από έναν ακέραιο μεταξύ 0 και N. Η κρυπτογράφηση γίνεται ξεχωριστά για κάθε block mi με χρήση των δημοσίων κλειδιών e και N του A και παράγονται τα κρυπτογράμματα ci ως εξής: ci=mie mod N

Αλγόριθμος RSA (αποκρυπτογράφηση) Ο A αποκρυπτογραφεί το κρυπτόγραμμα c υπολογίζοντας το m = cd mod N. Η σχέση μεταξύ του d και του e εξασφαλίζει τη σωστή ανάκτηση του m. Μόνο ο Α μπορεί να αποκρυπτογραφήσει το μήνυμα, αφού είναι ο μόνος που γνωρίζει το d. O RSA στην ουσία στηρίζεται στα υπολογιστικά δύσκολα προβλήματα Factoring και RSA Problem – η δυσκολία αυτών του προσδίδει και την ασφάλειά του

Ερμηνεία της αποκρυπτογράφησης RSA Από ed = 1 mod φ(Ν) = 1 mod (p-1)(q-1) έπεται ότι υπάρχει ακέραιος k με ed = kφ(Ν) +1. Άρα cid = mied = mikφ(N)+1 = mik(p-1)(q-1)+1 = mi mik(p-1)(q-1) Εάν το mi διαιρείται από το p, τότε mied = 0ed = mi mod p Εάν το mi δεν διαιρείται από το p, τότε (Θεώρημα Εuler) mip-1 = 1 mod p, οπότε mied = mi mod p Ομοίως έχουμε mied = mi mod q Επειδή p  q έπεται mied = mi mod N

Επιθέσεις εναντίον RSA Παραγοντοποίηση του N στους πρώτους παράγοντές του p και q. Ο επιτιθέμενος θα μπορεί έτσι να υπολογίσει το d. (πρόβλημα factoring). Αν το πλήθος των πιθανών μηνυμάτων δεν είναι μεγάλο, ο επιτιθέμενος μπορεί να αποκρυπτογραφήσει το c κάνοντας απλά εξαντλητικό έλεγχο κρυπτογραφώντας όλα τα πιθανά μηνύματα, μέχρι να παραχθεί το c. (Forward search attack) Για περαιτέρω μεθόδους: “Handbook of Applied Cryptography”, παράγραφος 8.2.2

Ασφάλεια του RSA Όσο πιο μεγάλο είναι το N (κλειδί), τόσο πιο μεγάλη η ασφάλεια. Από την άλλη, ο RSA γίνεται πιο αργός. Τα p, q πρέπει να έχουν μεγάλη διαφορά μεταξύ τους: αν η διαφορά p-q είναι μικρή, τότε p  , και έτσι ο p (άρα και ο q) μπορούν να υπολογιστούν με δοκιμές. Ο 512-bit RSA-155 «έσπασε» μέσα σε 7 μήνες το 1999. Το RSA lab προτείνει σήμερα σαν μέγεθος κλειδιού τουλάχιστον 1024 bits.

Σύνοψη RSA και παράδειγμα Θεωρία Παράδειγμα N = pq 2773 = 47 · 59 p=47 q=59 ed  1(mod(p-1) (q-1)) 17 · 157 ≡ 1(mod 2668) e=17 d=157 Δημόσιο κλειδί: (e, Ν) (17,2773) Ιδιωτικό κλειδί: (d) (157) Μήνυμα m (0 < m < N) m = 31 H γνώση των p, q απαιτείται για τον υπολογισμό του d Κρυπτογράφηση : c ≡ me (mod n) 587 ≡ 3117 (mod 2773) Αποκρυπτογράφηση: m ≡ cd (mod N) 31 ≡ 587157 (mod 2773)

{Βασίζεται στο πρόβλημα του διακριτού λογαρίθμου} El Gamal Αλγόριθμος {Βασίζεται στο πρόβλημα του διακριτού λογαρίθμου} Παράμετροι συστήματος: Ακέραιοι g,p Ο p είναι ένας μεγάλος πρώτος και ο g ένα πρωταρχικό στοιχείο (στοιχείο – γεννήτορας) του Zp*. (δηλαδή: gκ ≠ 1 (mod p) για όλα τα k μικρότερα του p-1) Επιλέγονται τυχαία από έναν χρήστη Α. O A επιλέγει ιδιωτικό κλειδί a: 1 ≤ a < p – 2 Υπολογισμός του y = ga mod p. To Δημόσιο Κλειδί του A είναι η τριπλέτα (p, g, y). To ιδιωτικό του κλειδί είναι το a.

Εύρεση στοιχείου – γεννήτορα σε μία πεπερασμένη ομάδα Γενική περίπτωση: Έστω μία ομάδα G με n στοιχεία, όπου n=p1e1p2e2…pkek (το μοναδικό του ανάπτυγμα σε πρώτους παράγοντες). Αναζητείται στοιχείο g της ομάδας, που οι διαδοχικές του δυνάμεις σαρώνουν όλη την ομάδα (στοιχείο – γεννήτορας ή πρωταρχικό) (Ειδική περίπτωση στον El Gamal: n=p) Βήμα 1: Επιλογή τυχαίου στοιχείου a της ομάδας Βήμα 2: Για i=1 έως κάνε τα εξής: Υπολογισμός b=an/pi Αν b=1, πήγαινε στο Βήμα 1 g=a

Κρυπτογράφηση El Gamal {δημόσιο κλειδί (p, g, y)} Αν ο B θέλει να στείλει ένα μήνυμα m στον A, τότε: Ο B παράγει τυχαίο ακέραιο k, 1≤ k ≤ p-2. Αναπαριστά το μήνυμα m ως ακέραιο μικρότερο ή ίσο του p-1. O B στέλνει τα: γ = gk (mod p) και το δ = myk (mod p) στον A. Αποκρυπτογράφηση: Ο A χρησιμοποιεί το a για τον υπολογισμό του yk από το gk και στην συνέχεια υπολογίζει το m, ως εξής:

Αποκρυπτογράφηση El Gamal {Ο Α έχει δεχτεί τα: γ = gk (mod p) και δ = myk (mod p) } {Το y έχει υπολογιστεί ως y = ga mod p} O A υπολογίζει το γp-1-a = γ-a (μια που γνωρίζει το ιδιωτικό του κλειδί a) Ο A ανακτά το μήνυμα m με τον υπολογισμό (γp-1-a)δ mod p. Επαλήθευση: (γp-1-a)δ  γ-aδ  g-ak myk  g-ak mgak  m mod p.

Χαρακτηριστικά του αλγορίθμου El Gamal Ο αποστολέας χρειάζεται γεννήτρια τυχαίων αριθμών (για τον ακέραιο k). Το κρυπτόγραμμα είναι δύο φορές πιο μεγάλο από το μήνυμα Η ασφάλειά του στηρίζεται στη δυσκολία επίλυσης των προβλημάτων DLP και DHP.

Κρυπτογράφηση El Gamal – Παράδειγμα Πρώτος p = 2357 Πρωταρχικό στοιχείο g = 2 Ιδιωτικό κλειδί: a = 1751 y = 21751(mod 2357) = 1185 Μήνυμα m = 2035 Έστω τυχαίος ακέραιος k = 1520 που παράγει ο αποστολέας. Τότε, κάνει τους εξής υπολογισμούς: γ = gk = 21520 (mod 2357) = 1430 δ = myk = 2035 ·11851520 (mod 2357) = 697 Συνεπώς, μεταδίδεται το ζεύγος (1430, 697) από τον B στον A

Κρυπτογράφηση El Gamal – Παράδειγμα (συνέχεια) Για την αποκρυπτογράφηση: γp-1-a  1430605 mod 2357 = 872 Εύρεση m: 872 · 697 mod 2357 = 2035

Σχήμα Rabin Ένας χρήστης A επιλέγει δύο τυχαίους μεγάλους πρώτους αριθμούς p, q και υπολογίζει το γινόμενό τους N Το δημόσιο κλειδί του A είναι το N, και το ιδιωτικό τα p, q. Για την κρυπτογράφηση του μηνύματος m που θέλει να στείλει κάποιος χρήστης στον A, απλά το υψώνει στο τετράγωνο mod Ν: c  m2 (mod N) Για την αποκρυπτογράφηση, πρέπει να είναι γνωστά τα p, q – άρα μόνο ο A μπορεί να αποκρυπτογραφήσει το μήνυμα που εστάλη από τον B. Η ασφάλειά του έγκειται στο ότι κάθε προσπάθεια υπολογισμού του m από επιτιθέμενο, απαιτεί αντιμετώπιση είτε του προβλήματος Factoring είτε του SQROOT. Πρόβλημα: για γνωστά p, q, υπάρχουν τέσσερις τετραγωνικές ρίζες του c (mod pq). Άρα, ο A πρέπει να επιλέξει μεταξύ 4 πιθανών μηνυμάτων Αρχικό μήνυμα κρυπτόγραμμα

Αποκρυπτογράφηση Rabin Βήμα 1: Εύρεση δύο τετραγωνικών ριζών r, -r του c (mod p), με βάση τον ακόλουθο αλγόριθμο: Επιλογή τυχαίου b (με δοκιμές) μικρότερου του p, μέχρις ότου το b2-4c να μην είναι τετραγωνικό υπόλοιπο mod p (αυτό εξασφαλίζεται με τη συνθήκη Jacobi: ) Αν f(x) = x2 – bx + a στο Ζp τότε r = x(p+1)/2 mod f(x) Βήμα 2: Εύρεση δύο τετραγωνικών ριζών s, -s του c (mod q), με βάση τον παραπάνω αλγόριθμο Βήμα 3: Με τον αλγόριθμο του Ευκλείδη, εύρεση ακεραίων e και d: ep + dq =1 Βήμα 4: Θέτουμε x=(rdq + sep) mod N και y=(rdq-sep) mod N Βήμα 5: Οι ζητούμενες τετραγωνικές ρίζες είναι x,  y (mod N)

Άλλα παραδείγματα συστημάτων Δημοσίου Κλειδιού McEliece κρυπτοσύστημα Βασίζεται σε κώδικες διόρθωσης σφάλματος Μία γενική περιγραφή στο: http://www.math.unl.edu/~jeverson/McElieceProject.pdf Knapsak αλγόριθμοι Βασίζονται στο πρόβλημα subset sum: δοθέντος ενός συνόλου θετικών ακεραίων I = {a1, a2,….an) και ενός θετικού ακεραίου s, έλεγχος για το αν υπάρχει υποσύνολο του Ι, του οποίου το άθροισμα των στοιχείων του να ισούται με s. (Πρόβλημα NP-complete) Παραδείγματα: Merkle-Hellman, Chor-Rivest R.C. Merkle and M.E. Hellman, Hiding information and signatures in trapdoor knapsacks, IEEE Transactions on Information Theory 24 (1978), 525-530. B. Chor and R.L. Rivest, A knapsack-type public-key cryptosystem based on arithmetic in finite fields, IEEE Transactions on Information Theory (5) 34 (1988), 901-909. Elliptic Curve κρυπτοσύστημα Μία γενική περιγραφή και σύγκριση με τον RSA υπάρχει στο: http://www.rsasecurity.com/rsalabs/technotes/elliptic_curve.html

Γενικά πλεονεκτήματα των συστημάτων Δημοσίου Κλειδιού Μόνο το ιδιωτικό κλειδί πρέπει να μένει κρυφό Το ζεύγος δημόσιο κλειδί – ιδιωτικό κλειδί μπορεί να μένει το ίδιο για μεγάλα χρονικά διαστήματα (π.χ. για χρόνια) Σε ένα μεγάλο δίκτυο, ο αριθμός των κλειδιών που χρειάζονται είναι μικρότερος από ό,τι αν χρησιμοποιούνταν συμμετρική κρυπτογράφηση

Γενικά μειονεκτήματα των συστημάτων Δημοσίου Κλειδιού Η απόδοση (throughput) είναι σημαντικά μικρότερη, συγκριτικά με τους καλύτερους block ciphers (100 φορές πιο αργοί). Το μήκος των κλειδιών είναι πιο μεγάλο, ως προς τους block ciphers Κανένας αλγόριθμος δεν έχει αποδειχτεί ασφαλής (αν και το ίδιο ισχύει και στους block ciphers): όλοι στηρίζονται σε γνωστά προβλήματα της θεωρίας υπολογισμού

Συνδυασμός συστημάτων Δημοσίου και Συμμετρικού Κλειδιού Συνδυασμός συστημάτων Δημοσίου και Συμμετρικού Κλειδιού Όχι ανταγωνιστικά – χρησιμοποιούνται μαζί Το δημόσιο κλειδί διαμοιράζεται εύκολα, αλλά μπορεί να χρησιμοποιηθεί μόνο σε μικρά μηνύματα Το συμμετρικό κλειδί διανέμεται δύσκολα (πρόβλημα εύρεσης ασφαλούς «καναλιού» μετάδοσής του), αλλά μπορεί να χρησιμοποιηθεί και σε μεγάλα μηνύματα Έχουν συμπληρωματικά προτερήματα και ελαττώματα

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού Συχνά, η επικοινωνία ξεκινά με πιστοποίηση ταυτότητας, με χρήση αλγορίθμου Δημοσίου κλειδιού A B Public Key Authentication

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού (II) Στη συνέχεια, ο καθένας παράγει ένα συμμετρικό κλειδί Κρυπτογραφεί το συμμετρικό του κλειδί με το δημόσιο κλειδί του άλλου και του το στέλνει Έτσι, και οι δύο έχουν το συμμετρικό κλειδί για την επικοινωνία με τον άλλο Public Key Encryption B A Symmetric Session Key

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού (III) Τελικά, επικοινωνεί ο ένας με τον άλλον με το συμμετρικό κλειδί Με άλλα λόγια, η κρυπτογραφία δημόσιου κλειδιού έλυσε το πρόβλημα της εύρεσης ασφαλούς καναλιού, για την ανταλλαγή των κλειδιών Symmetric Session Key B A