1 / 52

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

Εισαγωγή στην Κρυπτογραφία. Ελλειπτικές Καμπύλες και Κρυπτογραφία ( Elliptic Curve Cryptography - ECC). Γενικά χαρακτηριστικά της Κρυπτογραφίας Ελλειπτικών Καμπυλών.

carrington
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Εισαγωγή στην Κρυπτογραφία Ελλειπτικές Καμπύλες και Κρυπτογραφία (Elliptic Curve Cryptography - ECC)

  2. Γενικά χαρακτηριστικάτης ΚρυπτογραφίαςΕλλειπτικών Καμπυλών • Η Κρυπτογραφία Ελλειπτικών Καμπυλών (ECC) στηρίζεται στο ότι δεν υπάρχει γνωστός υπο-εκθετικός αλγόριθμος που να λύνει το πρόβλημα του διακριτού λογαρίθμου σε μια κατάλληλα επιλεγμένη ελλειπτική καμπύλη (ECDLP) • Θα παρουσιάσουμε: • Επανάληψη Βασικών εννοιών Πεπερασμένων Σωμάτων (Finite Fields) • Τον ορισμό των Ελλειπτικών Καμπυλών • Πρωτόκολλα κρυπτογραφίας Ελλειπτικών Καμπυλών • Παραδείγματα πάνω στις ελλειπτικές καμπύλες

  3. Αλγεβρική ομάδα (algebraic group) • Mια ομάδα είναι ένα αλγεβρικό σύστημα αποτελούμενο από ένα σύνολο Gκαι μια πράξητέτοια ώστε για όλα τα στοιχεία a, b και c στο G ικανοποιούνται οι ακόλουθες συνθήκες: • Κλειστότητα (Closure):a  b πρέπει να ανήκει στο G • Προσεταιριστική ιδιότητα (Associativity): a  (b  c) = (a  b)  c • Ουδέτερο στοιχείο:a  e = e  a = a • Αντίστροφο στοιχείο:a  a'= a'  a = e • Αντιμεταθετικότητα (Commutativity): a  b = b  a (Αβελιανή ομάδα - Abelian Group) • Παραδείγματα: • Πρόσθεση: <R, +>e = 0 ,a' = -a • Πολλαπλασιασμός:<R-{0},·> e = 1 ,a' = a-1

  4. Πεπερασμένα Σώματα Finite Fields • Ένα πεπερασμένο σώμα (finite field) είναι ένα αλγεβρικό σύστημα που αποτελείται από ένα πεπερασμένο σύνολο F μαζί με δύο δυαδικές πράξεις + και· , ορισμένες στο F, και ικανοποιεί τα ακόλουθα αξιώματα : • Το F είναι μια αβελιανή ομάδα με την πράξη “+” • Το F είναι μια αβελιανή ομάδα με την πράξη “·” • Επιμεριστική ιδιότητα • Υπάρχει ένα πεπερασμένο σώμα με q στοιχεία πεδίου εάν και μόνο εάν το q είναι δύναμη ενός πρώτου, και για κάθε τέτοιο q υπάρχει ακριβώς ένα πεπερασμένοσώμα. • Πεπερασμένο σώμα με q στοιχεία :Fq ή GFq • Θα ασχοληθούμε με δυο τύπους πεπερασμένων σωμάτων Fqπου χρησιμοποιούνταιστην κρυπτογραφία • Fp, p περιττός πρώτος prime finite fields • F2mγια κάποιο m  1 binary finite fields (χαρακτηριστικό 2) • Λέγονται χαρακτηριστικά πεπερασμένα σώματα (characteristic finite fields).

  5. Πεπερασμένα σώματα - Fp • Πολλοί τρόποι αναπαράστασης των στοιχείων του Fp. • σύνολο από ακεραίους {0, 1, 2, …, p-1} με : • Πρόσθεση πρόσθεση modulo p • Πολλαπλασιασμός πολλαπλασιασμός modulo p • Βολικό να οριστούν • Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο) • Διαίρεσηπολλαπλασιαστικός αντίστροφος (multiplicative inverse) των στοιχείων του σώματος

  6. 0 1 2 3 4 5 6 7 8 9 10 a  0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10 1 3 5 7 9 0 3 6 9 1 4 7 10 2 5 8 0 4 8 1 5 9 2 6 10 4 7 0 5 10 4 9 3 8 2 7 1 6 0 6 1 7 2 8 3 9 4 10 5 0 7 3 10 6 2 9 5 1 8 4 0 8 5 2 10 7 4 1 9 6 3 0 9 7 5 3 1 10 8 6 4 2 0 10 9 8 7 6 5 4 3 2 1 c b Πολλαπλασιασμός c = ab στο GF11 Βρες τα x με x2 = 5 mod 11 Λύση: x1 = 4, x2 = 7 Βρες το 8/2 Λύση: 8/2=4=8•6 Βρες το 2/8 Λύση: 2/8= 2•7=3

  7. Πεπερασμένα σώματα - F2m • χαρακτηριστικό 2, περιέχει 2melements. • Πολλοί τρόποι αναπαράστασης των στοιχείων του F2m. • Δυαδικά πολυώνυμα, βαθμού m-1 • Οι πράξεις πρόσθεσης και πολλαπλασιασμού ορίζονται για την πολυωνυμική αναπαράσταση modulo ανάγωγο πολυώνυμο f(x) (ιrreducible polynomial ) • Βολικό και εδώ να οριστούν • Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο) • Διαίρεσηπολλαπλασιαστικός αντίστροφος (multiplicative inverse • m  {113,131,163,193,233,239,283,409,571}

  8. Πεπερασμένα Σώματα (Galois Fields) (I) • Κάθε πεπερασμένο σώμα έχει pn στοιχεία (GF(pn)), όπου p πρώτος αριθμός (η πιο συνηθισμένη περίπτωση: p=2). • Σε κάθε σώμα GF(2n) υπάρχει τουλάχιστον ένα πολυώνυμο f(x) με συντελεστές στο GF(2) το οποίο έχει τις εξής ιδιότητες: • Είναι ανάγωγο (irreducible) • Ο μικρότερος αριθμός k που έχει την ιδιότητα το f(x) να διαιρεί το xk+1 είναι ο 2n-1. Τότε το f(x) ονομάζεται πρωταρχικόπολυώνυμο (primitive).

  9. Πεπερασμένα Σώματα (Galois Fields) (IΙ) • Ένα στοιχείο που είναι ρίζα πρωταρχικού πολυωνύμου ονομάζεται πρωταρχικό. • Παράδειγμα: στο GF(24), το πολυώνυμο f(x)=x4+x+1 είναι πρωταρχικό. Άρα, αν a το πρωταρχικό στοιχείο, τότε ισχύει a4=a+1 • Αυτή η σχέση καθορίζει όλα τα στοιχεία του σώματος. Έτσι, a5=a · a4 = a2 + a κ.ο.κ • Με βάση το παραπάνω, όλα τα στοιχεία του σώματος μπορούν να γραφτούν στη μορφή c0 + c1a + c2a2 + c3a3όπου τα ci, i=0,1,2,3 είναι είτε 0 είτε 1. • Η παραπάνω αναπαράσταση λέγεται πολυωνυμική αναπαράσταση. Η τετράδα [c0c1c2c3] συνιστά τη διανυσματική αναπαράσταση του πεδίου.

  10. Ελλειπτικές καμπύλες • Οι ελλειπτικές καμπύλες ορίζονται γενικά πάνω σε σώματα F. • Για κρυπτογραφία θεωρούμε ελλειπτικές καμπύλες που ορίζονται πάνω σε πεπερασμένα ή Galoisσώματα(Fqή GFq), δηλ., οι πράξεις είναι mod q • Η μορφή της εξίσωσης που ορίζει μια ελλειπτική καμπύλη πάνω στο Fqεξαρτάται από το εάν το σώμα είναι prime finite field ή characteristic 2 finite field.

  11. Ελλειπτικές καμπύλες σε σώμα F • Γενικός ορισμός: Μια ελλειπτική καμπύλη πάνω σε ένα σώμα Fείναι μια ομαλή καμπύληστη λεγόμενη μορφή Weierstrass • Με Ε(F)συμβολίζουμε το σύνολο των σημείων (x, y)  F2που ικανοποιούν την εξίσωση ως και ένα σημείο στο άπειρο που συμβολίζουμε με Ο. • Στη κρυπτογραφία θεωρούμε μόνο πεπερασμένα πεδία και μάλιστα τα Fpκαι F2m

  12. Ελλειπτικές καμπύλες στο Fp • ‘Εστω η γενική μορφή • Αρχίζουμε με Fp, p > 3 και κάνουμε τις ακόλουθες αλλαγές στις μεταβλητές: • και • Εάν αντικαταστήσουμε το Υ στο αριστερό μέρος της εξίσωσης Weierstrass αυτό γίνεται: • Δηλ., οι όροι XY και Υ έχουν εξαφανιστεί, οπότε οι συντελεστές και πρέπει να ισούνται με το μηδέν. Άρα το αριστερό μέρος γίνεται μόνο

  13. Ελλειπτικές καμπύλες στο Fp • Εάν κάνουμε αντικατάσταση και στο Χ στο δεξιό μέρος έχουμε: • Θέτοντας και το δεξιό μέρος • γίνεται • Όπότε η όλη εξίσωση γίνεται • Για την ομαλότητα αυτής της εξίσωσης ας θεωρήσουμε την μερική παράγωγο της εξίσωσης που είναι • Το είναι αόριστο στο εάν και μόνο εάν • Με άλλα λόγια η πρέπει να έχει πολλαπλή ρίζα στο σημείο . • Στην περίπτωση της σημαίνει ότι θα πρέπει

  14. Ελλειπτικές καμπύλες στο Fp Γενική μορφή: y2 = x3 + ax + b a,b  Fp Συνθήκη για διακριτές ρίζες: 4a3 + 27b2 0(mod p) Παράδειγμα: y2 = x3 4x= x(x 2)(x +2)

  15. P P' Ουδέτερο και αντίστροφο στοιχείο Αντίστροφο στοιχείο P' του P=(x,y): P' = (x,-y) Ισοδύναμα: P'(x,-y) = P(x,y) προβάλλεται στον x-άξονα Πρόσθεση σημείου με το αντίστροφό του: P  P' = O (ή) είναι το ουδέτερο στοιχείοO(x,)στο άπειρο Ουδέτερο στοιχείο: P O = P

  16. R P Q R' Σημεία P(x,y) σε μια ελλειπτική καμπύλη Όλα τα σημεία P(x,y) ανήκουν στην καμπύλη Λειτουργία: Πρόσθεση Σημείου R = PQ

  17. R P R' Διπλασιασμός σημείου πρόσθεση σημείου στον εαυτό του R =PP Διπλασιασμός σημείου: Σχεδίασε την εφαπτομένη στο σημείο P(x,y) Το R= Ρ*Ρ γράφεται είτε ως P2ή ως 2Ρ

  18. P2 P P3 Επανάληψη σημείου(=Πρόσθεση k-1 φορές στον εαυτότου)ή Scalar multiplication Eπανάληψη σημείου: Pk = PP  ... P Επίσης γράφεται και ως kP

  19. Γραμμήg:y = s·x+y0 με Μαθηματική περιγραφή του γεωμετρικού μετασχηματισμού στο Fp g P(xP , yP) R(xR, yR) Q (xQ , yQ) Τομή με καμπύλη: (s·x+y0)2 = x3 +ax+b Συντεταγμένες σημείου R: R' (xR, -yR)

  20. Εφαπτομένηg: y = s x+y0 Συντεταγμένες σημείου R : Μαθηματική περιγραφή του γεωμετρικού μετασχηματισμού (P= Q) στο Fp Διπλασιασμός σημείου g P(xP , yP) R (xR, yR) Τομή με καμπύλη: (s x+y0)2 = x3 +ax+b R' (xR, -yR)

  21. Εύρεση του πλήθους των σημείων σε μια ελλειπτική καμπύλη στο Fp(καλούνται ρητά σημεία) • Τεχνική: Για κάθε x στο Fp ελέγχουμε εάν υπάρχει αντίστοιχο y πάνω στην καμπύλη, δηλ., ελέγχουμε εάν το f(x)= x3+ax+b είναι τετραγωνικό υπόλοιπο στο Fp • Αυτό το ελέγχουμε με το σύμβολο Legendre (a= f(x)): εάν p | a εάν a είναι τετραγωνικό υπόλοιπο (ΤΥ) εάν a δεν είναι τετραγωνικό υπόλοιπο • Η τιμή του συμβόλου Legendre υπολογίζεται εύκολα από τη σχέση • Εάν f(x) είναι ΤΥ τότε υπάρχουν δύο σημεία (x, +y) και (x,-y), y=  a(p+1)/4 mod p • Εάν f(x) δεν είναι ΤΥ τότε δεν υπάρχουν σημεία • Εάν f(x) | p τότε υπάρχει μόνο ένα σημείο (x,0) • O συνολικός αριθμός σημείων είναι συνεπώς ίσος με (με q=p):

  22. Παράδειγμα 1 ελλειπτικής καμπύλης στο F11 • Παράδειγμα ECC y2=x3 +x+6 / Z11 • Εύρεση Σημείων • Για x=0,1,..,10, υπολογισμός z = x3 +x+6 mod 11. • Έλεγχος αν το z είναι τετραγωνικό υπόλοιπο • z(p-1)/2 mod p = z5 mod p. • Εάν είναι , υπολογισμός των 2 λύσεων y: •  z(p+1)/4 mod p =  z3 mod p. • Τα σημεία: (2,4),(2,7), (3,5),(3,6), (5,2),(5,9), (7,2),(7,9), (8,3),(8,8), (10,2),(10,9), O.

  23. y2 y1,2 P(x,y) P'(x,y) x 0 1 2 3 4 5 6 7 8 9 10 6 - 8 - 5 4,7 (2,4) (2,7) 3 5,6 (3,5) (3,6) 8 - 4 2,9 (5,2) (5,9) 8 - 4 2,9 (7,2) (7,9) 9 3,8 (8,3) (8,8) 7 - 4 2,9 (10,2) (10,9) Εύρεση ρητών σημείων (2) y2 = x3 + x + 6 mod 11 n=13 σημεία μαζί με το Ο Τοnκαλείται τάξη (order)της ομάδας της ελλειπτικής καμπύλης και εξαρτάται από την επιλογή των παραμέτρων της καμπύλης aκαι b.

  24. Επανάληψη σημείου πάνω σε ελλειπτική καμπύλη - Παράδειγμα • Επανάληψη του σημείουP(2,4)πάνω στην καμπύλη y2=x3 + x + 6 mod 11 • Υπολογισμός P2 = P  Pμε διπλασιασμό του σημείου P(Όλες οι πράξεις υπολογίζονται στο GF11) P2=(5,9)

  25. Επανάληψη σημείου πάνω σε ελλειπτική καμπύλη - Παράδειγμα • ΥπολογισμόςP3 = P  P  P = P2 Pμε πρόσθεση των σημείων P(2,4)και P2=(5,9) P3=(8,8)

  26. Παράδειγμα 2 ελλειπτικής καμπύλης στο Fp • Παράδειγμα ECΕ:y2=x3 +x+1/ Z23 • Τότε#E(F23) = 28, το σύνολο των σημείων E(F23) της Eείναικυκλικό και ένας γεννήτορας του είναι το σημείο Ρ=(0,1). • Τα σημεία του E(F23) εκφρασμένα ως πολλαπλάσια του Ρ είναι:

  27. Ελλειπτικές καμπύλες στο F2m • ‘Εστω η γενική μορφή • Αρχίζουμε με F2m, και κάνουμε τις ακόλουθες αλλαγές στις μεταβλητές, θεωρώντας μόνο καμπύλες με : • και • Οπότε προκύπτει η γενική μορφή των λεγόμενων nonsupersingular ελλειπτικών καμπυλών:

  28. 2 2 = = + s + a + s + xP + xQ+ a x x s s R R =s(xP+xR) + xR + yP =xP2+(s + 1)xR y y R R + + y y y y Q Q P P = = s s + x x x Q P P Ελλειπτικές καμπύλες στο F2m • Γενική μορφή με a,b  F2m, b  0 • Ουδέτερο στοιχείο: P O = P • Αντίστροφο στοιχείο P'του P= (x, y) :P' = (x,x+y) • P*P' = Oείναι το ουδέτερο στοιχείοO(x,)στο άπειρο • πρόσθεση σημείων στο F2m • διπλασιασμός σημείου: R =PP y2+xy= x3 + ax + b

  29. Παράδειγμα 1 Ελλειπτικής καμπύλης στο F2m • Έστω η ελλειπτική καμπύλη Ε: y2 + xy = x3 + x2 + 1 στο F23 • Το F23 κατασκευάζεται με τη χρήση του ανάγωγου πρωταρχικού πολυωνύμου f(x) = x3 + x + 1 και της ρίζαςα. • Τότε#E(F23)=14 και το σύνολο E(F23 ) των σημείων της Ε είναι κυκλικό. • Ένας γεννήτορας του E(F23 ) είναι το Ρ = (α,α5) • Τα σημεία της Ε εκφρασμένα ως πολλαπλάσια του Ρ είναι τα εξής:

  30. Παράδειγμα 2 Ελλειπτικής καμπύλης στο F2m • Έστω η ελλειπτική καμπύλη Ε: y2 + xy = x3 + αx2 + b στο F24 • Το F24 κατασκευάζεται με τη χρήση του ανάγωγου πρωταρχικού • πολυωνύμουf(x) = x4 + x + 1 • το στοιχείο g=(0010) είναι ένας γεννήτορας του F24 • τα στοιχεία του F24ως δυνάμεις του gείναι: • g0 = (0001) g1 = (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) • g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) • g12 = (1111) g13 = (1101)g14 = (1001) g15 = (0001) • Έστω α= g4 και b= g0= 1 • Το σημείο (g5, g3)ικανοποιεί την εξίσωση στο F24. Πράγματι: • y2 + xy = x3 + g4x2 + 1 (g3)2 + g5g3 = (g5)3 + g4g10 + 1 g6 + g8 = g15 + g14 + 1 (1100) + (0101) = (0001) + (1001) + (0001) • Άρα (1001) = (1001) • Τότε#E(F24)=16 και τα σημεία είναι τα εξής: • (1, g13) (g3, g13) (g5, g11) (g6, g14) (g9, g13) (g10, g8) (g12, g12) (1, g6) (g3, g8) (g5, g3) (g6, g8) (g9, g10) (g10, g) (g12, 0) (0, 1), Ο

  31. k Pk s y0 1 2 3 4 5 6 7 8 9 10 11 12 13 ( 2,4) 3 9 ( 5,9) 9 8 ( 8,8) 8 10 (10,9) 2 0 ( 3,5) 1 2 ( 7,2) 4 7 ( 7,9) 1 2 ( 3,6) 2 0 (10,2) 8 10 ( 8,3) 9 8 ( 5,2) 3 9 ( 2,7)  - O  - ECDLP – Elliptic Curve Discrete Logarithm Problem Έστω η ελλειπτική καμπύλη: y2 = x3 + x + 6 mod 11 και ένα σημείο P(2,4), τότε θα υπολογίσουμε Q = Pkμέσω k-1 επαναλαμβανόμενων προσθέσεων σημείου. Υπάρχουν αρκετοί γρήγοροι αλγόριθμοι Ερώτηση:Πώς υπολογίζεται το k όταν είναι γνωστό το σημείο Q ? Aπάντηση:Αυτό είναι ένα δύσκολο πρόβλημα γνωστό σαν Elliptic Curve Discrete LogarithmProblem Ο αλγόριθμος Pollard-ρ απαιτεί (πn)/2 ελλειπτικές προσθέσεις.

  32. Κρυπτογραφία Ελλειπτικών Καμπυλών (ECC) • Όπως πολλά συμβατικά συστήματα κρυπτογραφίας, η ECC βασίζεται στο ανέφικτο του υπολογισμού του διακριτού λογαρίθμου στην πολλαπλασιαστική ομάδα ενός πεπερασμένου σώματος μιας ελλειπτικής καμπύλης. • ΟΡΙΣΜΟΣ: Εάν Ε είναι μια ελλειπτική καμπύλη στο Fq, και Β ένα σημείο της Ε, τότε το πρόβλημα του διακριτού αλγορίθμουστην Ε (με βάση το Β) είναι το πρόβλημα, δοθέντος ενός σημείου P  E, να βρεθεί ακέραιος x  Z τέτοιος ώστε xB = P, εάν τέτοιος ακέραιος υπάρχει. • Το ανέφικτο του προβλήματος δεν ισχύει για κάποιες καμπύλες, όπως για τις λεγόμενες supersingular ελλειπτικές καμπύλεςκάτω από κάποιες συνθήκες. • Πολλά συμβατικά κρυπτοσυστήματα έχουν τα αντίστοιχά τους βασισμένα σε ελλειπτικές καμπύλες.

  33. ΠαράμετροιΚρυπτογραφίας Ελλειπτικών Καμπυλών • Περιγράφονται από μια επτάδα T = (q, FR, a, b, G, n, h): • q (q=pή q=2m ) • FRένδειξη της μεθόδου αναπαράστασης των στοιχείων του σώματος Fq (π.χ., πολυωνυμική, κανονική βάση, κλπ.) • a, bFq καθορίζουν την εξίσωση της ελλειπτικής καμπύλης Eστο Fq • G= (xG, yG) ένα σημείο βάσης με τη μεγαλύτερη τάξη n(nG = O) • n μεγάλος πρώτος που είναι η τάξη του G. Το πλήθος των στοιχείων#Ε(Fq)διαιρείται με τοn • h μικρός ακέραιος που είναι ο λόγος #Ε(Fq)/ n

  34. Συνθήκες των παραμέτρων για την ασφάλεια της κρυπτογραφίας Ελλειπτικών Καμπυλών Για κάποιες επιθέσεις οι παράμετροι πρέπει να ικανοποιούν κάποιες συνθήκες: • #Ε(Fq) πρέπει να έχει ένα επαρκώς μεγάλο πρώτο παράγοντα n για να αντιστέκεται σε παράλληλη επίθεση Pollard-ρ. • #Ε(Fq)  q για να αντιστέκεται επιθέσεις των Semaev, Smart&Satoh-Araki για ανώμαλες καμπύλες. • N να μη διαιρεί τοqk- 1 για 1 k 30, για να αντιστέκεται σε MOV επίθεση. • Στην περίπτωση τουF2m, τοm πρέπει να είναι πρώτος για να αντιστέκεται σε κάποιες επιθέσεις σε ελλειπτικές καμπύλες στοF2mόταν τοm είναι σύνθετος.

  35. Γέννηση του Ζεύγους Κλειδιών • Όλα τα κρυπτογραφικά σχήματα δημοσίου κλειδιού χρησιμοποιούν ζεύγη κλειδιών, γνωστά σαν ζεύγη κλειδιών ελλειπτικής καμπύλης. • Ένα ζεύγος κλειδιών (d,Q) μιας ελλειπτικής καμπύλης συσχετισμένης με την επτάδα T, περιέχει • ένα ιδιωτικό κλειδί d της ελλειπτικής καμπύλης E, που είναι ένας τυχαίος ακέραιος στο διάστημα [1,n-1] και • ένα δημόσιο κλειδί Q=(xQ,yQ)της ελλειπτικής καμπύλης που υπολογίζεται ως το σημείο Q=dG

  36. Έλεγχος του Δημόσιου Κλειδιούαπό τον παραλήπτη αυτού • 1. Έλεγξε ότι Q  Ο. • 2. Έλεγξε ότι οι συντεταγμένες του σημείου Q είναι xQ; yQ Fq. • 3. Έλεγξε ότι το Q είναι πάνω στην ελλειπτική καμπύλη. • 4. Έλεγξε ότι nQ = Ο (nQ = ndG = dnG = dΟ = Ο, διότι η τάξη του G είναι n). Ο έλεγχος χωρίς αυτό του βήματος 4 καλείται μερικός έλεγχος, διότι τότε υπόκειται σε επίθεση. Όμως προσεκτική επιλογή της παραμέτρου hμειώνει τον κίνδυνο.

  37. Πρωτόκολλα Ελλειπτικών Καμπύλων • Σχήματα συμφωνίας κοινού κλειδιού • ECDH (Elliptic Curve Diffie-Hellman) • Elliptic CurveCofactor Diffie-Hellman • Σχήματα κρυπτογράφησης • ECAES (Elliptic Curve Authenticated Encryption Scheme) • EC-ElGamal • Σχήματα υπογραφής • ECDSA (Elliptic CurveDigital Signature Algorithm)

  38. Σχήματα συμφωνίας κλειδιού • Elliptic Curve Diffie-Hellman (ECDH) • Elliptic CurveCofactor Diffie-Hellman • Βασική ιδέα: η παραγωγή μιας κοινής μυστικής τιμής, από ένα ιδιωτικό κλειδί που έχει μια οντότητα A και ένα δημόσιο κλειδί που έχει μια οντότητα B, τέτοια ώστε αν και οι δυο οντότητες εκτελέσουν το σχήμα με τα αντίστοιχα κλειδιά σαν είσοδο, θα ανακτήσουν την ίδια κοινή μυστική τιμή • Ουσιαστικά διαφέρουν • Elliptic Curve Diffie-Hellman : ανάλογο της μεθόδου συμφωνίας κλειδιού Diffie-Hellman. • Elliptic CurveCofactor Diffie-Hellman : ενσωματώνει το λόγο h στον υπολογισμό της κοινής μυστικής τιμής, παρέχοντας πιο αποτελεσματική αντίσταση σε επιθέσεις.

  39. Elliptic Curve Diffie-Hellman (ECDH) • Ο Ακαι ο Β χρησιμοποιούν κρυπτογραφία δημόσιου κλειδιού, βασισμένη σε κοινή ελλειπτική καμπύλη Τ=(q,FR,a,b,G,n,h) για να εγκαθιδρύσουν ένα κοινό μυστικό κλειδί Ζ. • (dΑ,QΑ ) και (dΒ,QΒ)είναι τα αντίστοιχά ζεύγη κλειδιών, ιδιωτικό και δημόσιο. • Τα δημόσια κλειδιά QΑ και QΒπρέπει να είναι τουλάχιστον μερικά έγκυρο. • και πρέπει να εκτελέσουν αντίστοιχα την ακόλουθη διαδικασία για τον υπολογισμό της κοινής μυστικής τιμής Ζ. • Διαδικασία του Α: 1. Υπολογισμός του σημείου της καμπύλης P = (xP,yP) = dAQB. 2. Έλεγχος αν P ≠O. Αν P = O, έξοδος ‘άκυρο’. 3. Έξοδος Ζ= xPσαν το κοινό μυστικό στοιχείο του σώματος. • Διαδικασία του Β: 1. Υπολογισμός του σημείου της καμπύλης P΄ = dΒQΑ Όμως, P΄ = dΒQΑ = dΒdΑG = dAdBG = dAQB =P = (xP,yP) . 2. Έλεγχος αν P ≠O. Αν P = O, έξοδος ‘άκυρο’. 3. Έξοδος Ζ= xPσαν το κοινό μυστικό στοιχείο του σώματος. Εάν το βήμα 1 υπολογίζεται σαν P = (xP,yP) = hdAQBτότε το σχήμα καλείταιElliptic Curve Cofactor Diffie-Hellman. .

  40. Σχήματα δημόσιας ΚρυπτογράφησηςEC-AES/1 • EC-AES: Είναι μια παραλλαγή του ElGamal δημοσίου κλειδιού κρυπτογραφικού σχήματος, που προτάθηκε από τους Abdalla, Βellare και Rogaway . • O αποστολέας Α θέλει να στείλει κρυπτογραφημένα το μήνυμα m στον Β • Ο παραλήπτης B έχει παραμέτρους T=(q,FR,a,b,G,n,h), ιδιωτικό κλειδί το dBκαι δημόσιο κλειδί το QB • Ο αποστολέας A έχει αυθεντικά αντίγραφα των Tκαι QB. • Έστω MAC (π.χ., SHA-1)ένας αλγόριθμος για αυθεντικότητα του μηνύματος (Message Authentication Code), ENC (π.χ., ΑES-128) ένα σχήμακρυπτογράφησης, και KDF μια συνάρτηση παραγωγής κλειδιού (Key Derivation Function) υλοποιημένη με τη χρήση μιας hash συνάρτησης.

  41. EC-AES/2 • Για την κρυπτογράφηση ενός μηνύματος m, ο Α εκτελεί τα παρακάτω: • Επιλογή ενός τυχαίου ακεραίου rστο διάστημα [1,n-1] • Υπολογισμός του R = rG • Υπολογισμός του K = hrQB = (Kx, Ky). Έλεγχος αν K≠Ο • Υπολογισμός του k1 || k2 = KDF(Kx) • Υπολογισμός τουc = ENCk1(m) • Υπολογισμός του t = MACk2(c) • Αποστολή του κρυπτογράμματος (R,c,t)στον B. • Για την αποκρυπτογράφηση του κρυπτογράμματος, ο Β εκτελεί τα παρακάτω: • Εκτέλεση μερικής πιστοποίηση εγκυρότητας κλειδιού στοR • Υπολογισμός του K = hdBR = hdB rG = hrQB =(Kx, Ky). Έλεγχος αν K≠Ο • Υπολογισμός του k1 || k2 = KDF(Kx) • Επιβεβαίωση του t = MACk2(c) • Υπολογισμός του m = ENCk1-1(c)

  42. Σχήματα δημόσιας ΚρυπτογράφησηςΕC-ElGamal/1 • Παραγωγή κλειδιού:H οντότητα Β επιλέγει ένα τυχαίο ακέραιο dB από το διάστημα [1, n-1] ως ιδιωτικό κλειδί και δημοσιοποιεί το QB = dBG • Κρυπτογράφηση του μηνύματος m:από τον Α • Παράσταση του μηνύματος m ως ένα σημείο Μ  Ε(Fq), • Επιλογή ενός τυχαίου ακεραίου rστο διάστημα [1,n-1] και υπολογισμός του C1 = rG • Υπολογισμός του C2 = rQB + M • (C1, C2) είναι το κρυπτόγραμμα για τον Β • Αποκρυπτογράφηση: • Μ = C2 – dBC1, διότιC2 – dBC1= rQB + M – dBrG = rdBG + M -dBrG • Ανάληψη το mαπό το Μ • Σημείωση:Το σχήμα αυτό χρησιμοποιεί το Q = rGγια να απεικονίσει τα στοιχεία του Zn\{0} στα στοιχεία του Ε(Fq).Επίσης χρειαζόμαστε μια απεικόνιση I : {0,1} |m|  Ε(Fq), ως και την αντίστροφή της.

  43. Παράδειγμα ΕC-ElGamal/2 • Καμπύλη:y2 = x3 + x + 6 mod 11 • Παράμετροι: G = (2,7), dB = 7, Qb = dBG = 7(2,7), = (7,2). • Μήνυμα:Μ=(10,9) (σημείο της καμπύλης E) • Επιλέγουμε τυχαίαr = 3,C1 = rG =3(2,7) = (8,3). • C2 = r QΒ+ M = 3(7,2) + (10,9)= (3,5) + (10,9) = (10,2) • Κρυπτόγραμμα: ( (8,3), (10,2) ) • Αποκρυπτογράφηση: C2 - dBC1 = (10,2) – 7(8,3) =(10,2) –(3,5) =(10,2) + (3,6) = (10,9).

  44. ΕC-ElGamal στην πράξη(Προστασία Πνευματικών Δικαιωμάτων) • Σώμα Fpμε p = 785963102379428822376694789446897396207498568951 • Ελλειπτική καμπύλη y2 = x3 + 317689081251325503476317476413827693272746955927x + 79052896607878758718120572025718535432100651934 • Πλήθος σημείων #E(k) = 785963102379428822376693024881714957612686157429 • Γεννήτορας B = (771507216262649826170648268565579889907769254176, 390157510246556628525279459266514995562533196655)

  45. Σχήματα υπογραφής/1(υπενθύμιση) • Σχεδιάζονται για να χρησιμοποιηθούν από δυο οντότητες – έναν υπογράφοντα (signer)Ακαι έναν επαληθευτή (verifier)B – όταν ο Α θέλει να στείλει ένα μήνυμαm με αυθεντικό τρόπο και ο Β θέλει να επιβεβαιώσει την αυθεντικότητα του m. • Είναι δύσκολο για έναν επιτιθέμενο που δεν ξέρει το μυστικό κλειδί του Α, να πλαστογραφήσει έγκυρα υπογεγραμμένα μηνύματα, με αποτέλεσμα τα σχήματα να παρέχουν ακεραιότητα δεδομένων, αυθεντικότητα προέλευσης δεδομένων, και μη αποποίησή τους. • ECDSA : το μόνο σχήμα υπογραφής που υποστηρίζεται σήμερα. • Συστατικά μέρη: μια πράξη υπογραφής, μια πράξη επιβεβαίωσης, και διεργασίες εκκίνησης (setup) και μετάδοσης κλειδιού (key deployment).

  46. Σχήματα υπογραφής /2(υπενθύμιση) • Πρώτα ο Α και ο Β πρέπει να χρησιμοποιήσουν την διεργασία εκκίνησης για να ορίσουν τις επιλογές με τις οποίες θα χρησιμοποιήσουν το σχήμα • Ο Α πρέπει να εφαρμόσει τη διεργασία εγκαθίδρυσης κλειδιού για την επιλογή ενός ζεύγους κλειδιού και ο Β πρέπει να πάρει το δημόσιο κλειδί του Α – ο Α θα χρησιμοποιήσει το ζεύγος κλειδιού για να ελέγξει την πράξη της υπογραφής και ο Β θα χρησιμοποιήσει το δημόσιο κλειδί για να ελέγξει την πράξη της επιβεβαίωσης. • Κάθε φορά που ο Α θέλει να στείλει ένα μήνυμα M, πρέπει να εφαρμόσει την πράξη της υπογραφής στο M με το ζεύγος κλειδιού του για να πάρει την υπογραφή S για το M, να δημιουργήσει ένα υπογεγραμμένο μήνυμα, και να το στείλει στον Β. • Όταν ο Β λάβει το υπογεγραμμένο μήνυμα, πρέπει να εφαρμόσει την πράξη της επαλήθευσης της υπογραφής με το δημόσιο κλειδί του Α, για να επιβεβαιώσει την αυθεντικότητα. Εάν αποβεί έγκυρη, ο Β διαπιστώνει ότι όντως το μήνυμα είναι αυθεντικό. • Υπάρχουν δύο σχήματα υπογραφής: • Ο Α πρέπει να στείλεικαι το mκαι το Sστον Β (Ψηφιακή υπογραφή με παράρτημα) • Ο Α πρέπει να στείλει μόνο το το Sστον Β, (Ψηφιακή υπογραφή με ανάκτηση μηνύματος )

  47. ECDSA /3 • Διεργασία Εκκίνησης • Ο A πρέπει να ορίσει ποια συνάρτηση κατακερματισμού (SHA-1) και ποιες παραμέτρους T θα χρησιμοποιήσει • Ο B με αυθεντικό τρόπο θα λάβει τη συνάρτηση κατακερματισμού και τις παραμέτρους Τ που όρισε ο Α • Εγκαθίδρυση κλειδιού • Ο A πρέπει να ορίσει ένα ζεύγος κλειδιού (dA, QA) συσχετισμένο με τοT • Ο B με αυθεντικό τρόπο θα λάβει το δημόσιο κλειδί QA που επέλεξε ο Α

  48. ECDSA /4 • Υπογραφή: Είσοδος: το μήνυμα Mπου θα υπογραφεί Έξοδος: Mια υπογραφήS = (r,s)στο M, όπου r, s ακέραιοι Ενέργειες:ο Α κάνει τα παρακάτω: • Επιλογή ενός τυχαίου ακεραίου αριθμού στο διάστημα [1,n-1] • Υπολογισμός του kG=(x1,y1)και του r=x1modn. Αν r=0 πήγαινε στο βήμα 1 • Υπολογισμός του k-1modn • Υπολογισμός του e=SHA-1(m) • Υπολογισμός του s = k-1 (e + dAr) mod n. Εάν s = 0,πήγαινε στο βήμα 1 Η υπογραφή του A για το μήνυμα είναι (r,s)

  49. ECDSA /5 • Επαλήθευση: Είσοδος: το μήνυμα m και η υπογραφή S = (r,s) του Α Έξοδος: ένδειξη για αποδοχή της υπογραφής Ενέργειες: Ο Β εκτελεί τα ακόλουθα: • Επιβεβαίωση ότι r, sκαι είναι ακέραιοι στο διάστημα [1,n-1] • Υπολογισμός του e = SHA-1(M) • Υπολογισμός του w = s-1 mod n • Υπολογισμός του u1 = ew mod nκαι u2 = rw mod n • Υπολογισμός του u1G + u2QA = (x1,y1) • Υπολογισμός του v = x1 mod n • Αποδοχή της υπογραφής αν και μόνο αν v = r

  50. ECDSA /5 • Απόδειξηορθότητας: • u1G + u2QA =u1G + u2 dAG = (u1 + u2 dA)G. • Εάν (u1 + u2 dA)G = k mod n τότε το σχήμα είναι σωστό, διότι το n είναι η τάξη του G. • e = ks - dAr mod n • u1 + u2 dA = ew + dArw= es-1 + dAr w = k - dAr w + dAr w = k mod n

More Related