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

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

description

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

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

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

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

Ελλειπτικές Καμπύλες και Κρυπτογραφία

(Elliptic Curve Cryptography - ECC)

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

2

Γενικά χαρακτηριστικάτης Κρυπτογραφίας Ελλειπτικών

Καμπυλών

Η Κρυπτογραφία Ελλειπτικών Καμπυλών (ECC) στηρίζεται στο ότι δεν υπάρχει γνωστός υπο-εκθετικός αλγόριθμος που να λύνει το πρόβλημα του διακριτού λογαρίθμου σε μια κατάλληλα επιλεγμένη ελλειπτική καμπύλη (ECDLP)

Θα παρουσιάσουμε:• Επανάληψη Βασικών εννοιών Πεπερασμένων Σωμάτων (Finite Fields)• Τον ορισμό των Ελλειπτικών Καμπυλών• Πρωτόκολλα κρυπτογραφίας Ελλειπτικών Καμπυλών • Παραδείγματα πάνω στις ελλειπτικές καμπύλες

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

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

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

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).

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

5

Πεπερασμένα σώματα - Fp

Πολλοί τρόποι αναπαράστασης των στοιχείων του Fp.

σύνολο από ακεραίους {0, 1, 2, …, p-1} με : Πρόσθεση πρόσθεση modulo p Πολλαπλασιασμός πολλαπλασιασμός

modulo p Βολικό να οριστούν

Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο)

Διαίρεση πολλαπλασιαστικός αντίστροφος (multiplicative inverse)

των στοιχείων του σώματος

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

6

Πολλαπλασιασμός c = ab στο GF11

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

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

a

b

c

Βρες τα x με

x2 = 5 mod 11 Λύση:

x1 = 4, x2 = 7

Βρες το 2/8

Λύση:8/2=4=8•6

Βρες το 8/2

Λύση:2/8= 2•7=3

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

7

Πεπερασμένα σώματα - F2m

χαρακτηριστικό 2, περιέχει 2m elements. Πολλοί τρόποι αναπαράστασης των στοιχείων του F2m.

Δυαδικά πολυώνυμα, βαθμού m-1

Οι πράξεις πρόσθεσης και πολλαπλασιασμού ορίζονται για την πολυωνυμική αναπαράσταση modulo ανάγωγο πολυώνυμο f(x) (ιrreducible polynomial )

Βολικό και εδώ να οριστούν Αφαίρεση προσθετικός αντίστροφος (additive

inverse) (αρνητικό στοιχείο) Διαίρεση πολλαπλασιαστικός

αντίστροφος (multiplicative inverse m {113,131,163,193,233,239,283,409,571}

011

1 .. axaxa mm

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

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).

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

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] συνιστά τη διανυσματική αναπαράσταση του πεδίου.

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

10

Ελλειπτικές καμπύλες Οι ελλειπτικές καμπύλες ορίζονται γενικά πάνω

σε σώματα F.

Για κρυπτογραφία θεωρούμε ελλειπτικές καμπύλες που ορίζονται πάνω σε πεπερασμένα ή Galois σώματα (Fq ή GFq), δηλ., οι πράξεις είναι mod q

Η μορφή της εξίσωσης που ορίζει μια ελλειπτική καμπύλη πάνω στο Fq εξαρτάται από το εάν το σώμα είναι prime finite field ή characteristic 2 finite field.

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

11

Ελλειπτικές καμπύλες σε σώμα F

Γενικός ορισμός: Μια ελλειπτική καμπύλη πάνω σε ένα σώμα F είναι μια ομαλή καμπύλη στη λεγόμενη μορφή Weierstrass

Με Ε(F) συμβολίζουμε το σύνολο των σημείων (x, y) F2

που ικανοποιούν την εξίσωση ως και ένα σημείο στο άπειρο που συμβολίζουμε με Ο.

Στη κρυπτογραφία θεωρούμε μόνο πεπερασμένα πεδία και μάλιστα τα Fp και F2m

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

12

Ελλειπτικές καμπύλες στο Fp

• ‘Εστω η γενική μορφή

•Αρχίζουμε με Fp , p > 3 και κάνουμε τις ακόλουθες αλλαγές στις μεταβλητές:

και

• Εάν αντικαταστήσουμε το Υ στο αριστερό μέρος της εξίσωσης Weierstrass αυτό γίνεται:

• Δηλ., οι όροι XY και Υ έχουν εξαφανιστεί, οπότε οι συντελεστές και πρέπει να ισούνται με το μηδέν. Άρα το αριστερό μέρος γίνεται μόνο

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

13

Ελλειπτικές καμπύλες στο Fp

• Εάν κάνουμε αντικατάσταση και στο Χ στο δεξιό μέρος έχουμε:

• Θέτοντας και το δεξιό μέρος γίνεται

• Όπότε η όλη εξίσωση γίνεται • Για την ομαλότητα αυτής της εξίσωσης ας θεωρήσουμε την μερική παράγωγο της εξίσωσης που είναι

• Το είναι αόριστο στο εάν και μόνο εάν • Με άλλα λόγια η πρέπει να έχει πολλαπλή ρίζα στο σημείο . • Στην περίπτωση της σημαίνει ότι θα πρέπει

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

14

Ελλειπτικές καμπύλες στο Fp

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

Παράδειγμα:

y2 = x3 4x = x(x 2)(x +2)

Συνθήκη για διακριτές

ρίζες:

4a3 + 27b2 0(mod p)

y2 = x3 + ax + ba,b Fp

Γενική μορφή:

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

15

Ουδέτερο και αντίστροφο στοιχείο

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4Αντίστροφο στοιχείο P' του P=(x,y): P' = (x,-y)

Ισοδύναμα: P'(x,-y) = P(x,y)

προβάλλεται στον x-άξοναΠρόσθεση σημείου

με το αντίστροφό του:

P P' = O (ή )είναι το ουδέτερο στοιχείο O(x,) στο άπειρο

P'

Ουδέτερο στοιχείο:

P O = P

P

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

16

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

Σημεία P(x,y) σε μια ελλειπτική καμπύλη

R = P QR = P Q

Όλα τα σημεία P(x,y) ανήκουν στην καμπύλη

Λειτουργία:

Πρόσθεση Σημείου

R'

RP

Q

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

17

Διπλασιασμός σημείου πρόσθεση σημείου στον εαυτό του

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

Διπλασιασμός σημείου:

Σχεδίασε την

εφαπτομένη

στο σημείο P(x,y)

R'

RP

R =P P

Το R= Ρ*Ρ γράφεται είτε ως P2 ή ως 2Ρ

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

18

Επανάληψη σημείου (=Πρόσθεση k-1 φορές στον εαυτό του)

ή Scalar multiplication

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

Pk = P P ... PPk = P P ... P

Eπανάληψη σημείου:

P3

P2P

Επίσης γράφεται και ως kP

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

19

Μαθηματική περιγραφή του γεωμετρικού μετασχηματισμού στο Fp

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

R' (xR, -yR)

R(xR, yR)P(xP , yP)

Q (xQ , yQ)

g

Τομή με καμπύλη:

(s·x+y0)2 = x3 +ax+bΣυντεταγμένες σημείου R:

QP

Γραμμή g: y = s·x+y0

με

sy y

x xQ P

Q P

s

y y

x xQ P

Q P

y y s xP P0 y y s xP P0

x s x x

y s x y

R P Q

R R

2

0( )

x s x x

y s x y

R P Q

R R

2

0( )

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

20

Μαθηματική περιγραφή του γεωμετρικού μετασχηματισμού (P = Q)

στο Fp Διπλασιασμός σημείου

Τομή με καμπύλη:

(s x+y0)2 = x3 +ax+b

x s x

y s x yR P

R R

2

0

2

( )

x s x

y s x yR P

R R

2

0

2

( )

Συντεταγμένες σημείου R :

-3 -2 -1 0 1 2 3-4

-3

-2

-1

0

1

2

3

4

R' (xR, -yR)

R (xR, yR)P(xP , yP)

gΕφαπτομένη g:

y = s x+y0

sdy

dx

x a

yP

P

3

2

2s

dy

dx

x a

yP

P

3

2

2

y y s xP P0 y y s xP P0

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

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):

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

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.

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

23

Εύρεση ρητών σημείων (2)

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)

y2 y1,2 P(x,y) P'(x,y)

0

1

2

3

4

5

6

7

8

9

10

x

n=13 σημεία μαζί με το ΟΤο n καλείται τάξη (order) της

ομάδας της ελλειπτικής καμπύλης

και εξαρτάται από την επιλογή

των παραμέτρων της καμπύλης

a και b.

y2 = x3 + x + 6 mod 11

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

24

Επανάληψη σημείου πάνω σε ελλειπτική καμπύλη - Παράδειγμα

Επανάληψη του σημείου P(2,4) πάνω στην καμπύλη

y2=x3 + x + 6 mod 11 Υπολογισμός P2 = P P με διπλασιασμό του σημείου P

(Όλες οι πράξεις υπολογίζονται στο GF11)

x s x

y s x yR P

R R

2

0

2

( )

x s x

y s x yR P

R R

2

0

2

( )s

dy

dx

x a

yP

P

3

2

2s

dy

dx

x a

yP

P

3

2

2 y y s xP P0 y y s xP P0

x

yR

R

9 2 2 5

3 5 9 2 9( )

x

yR

R

9 2 2 5

3 5 9 2 9( )

s

3 4 1

2 4

13

87 2 3s

3 4 1

2 4

13

87 2 3

y0 4 3 2 2 9 y0 4 3 2 2 9

P2=(5,9)

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

25

Επανάληψη σημείου πάνω σε ελλειπτική καμπύλη - Παράδειγμα

Υπολογισμός P3 = P P P = P2 P με πρόσθεση των σημείων P(2,4) και

s

9 4

5 2

5

34 5 9s

9 4

5 2

5

34 5 9

y0 4 9 2 3 8 y0 4 9 2 3 8

x

yR

R

81 2 5 8

9 8 8 3 8( )

x

yR

R

81 2 5 8

9 8 8 3 8( )P3=(8,8)

sy y

x xQ P

Q P

s

y y

x xQ P

Q P

y y s xP P0 y y s xP P0 x s x x

y s x y

R P Q

R R

2

0( )

x s x x

y s x y

R P Q

R R

2

0( )

P2=(5,9)

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

26

Παράδειγμα 2 ελλειπτικής καμπύλης στο Fp

Παράδειγμα EC Ε: y2=x3 +x+1 / Z23

Τότε #E(F23 ) = 28, το σύνολο των σημείων E(F23 ) της E είναι

κυκλικό και ένας γεννήτορας του είναι το σημείο Ρ=(0,1). Τα σημεία του E(F23 ) εκφρασμένα ως πολλαπλάσια του Ρ είναι:

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

27

Ελλειπτικές καμπύλες στο F2m

•‘Εστω η γενική μορφή

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

και

•Οπότε προκύπτει η γενική μορφή των λεγόμενων nonsupersingular ελλειπτικών καμπυλών:

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

28

Ελλειπτικές καμπύλες στο F2m

y2+xy= x3 + ax + b

• Γενική μορφή με 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

sy yx x

Q P

Q P

=++

x s

y

R

R

+ s + xP + xQ+ a

s(xP+xR) + xR + yP

2

sy y

xQ P

P

=+ x s

y

R

R

= + s + a

xP2+(s + 1)xR

2

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

29

Παράδειγμα 1 Ελλειπτικής καμπύλης στο F2m

• Έστω η ελλειπτική καμπύλη Ε: y2 + xy = x3 + x2 + 1 στο F23

• Το F23 κατασκευάζεται με τη χρήση του ανάγωγου πρωταρχικού

πολυωνύμου f(x) = x3 + x + 1 και της ρίζας α.• Τότε #E(F23 ) = 14 και το σύνολο E(F23 ) των σημείων της Ε είναι

κυκλικό.• Ένας γεννήτορας του E(F23 ) είναι το Ρ = (α,α5)• Τα σημεία της Ε εκφρασμένα ως πολλαπλάσια του Ρ είναι τα εξής:

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

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), Ο

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

31

ECDLP – Elliptic Curve Discrete Logarithm Problem

( 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 -

Pk s y0

1

2

3

4

5

6

7

8

9

10

11

12

13

k Έστω η ελλειπτική καμπύλη:

y2 = x3 + x + 6 mod 11

και ένα σημείο P(2,4), τότε θα υπολογίσουμε

Q = Pk μέσω k-1 επαναλαμβανόμενων

προσθέσεων σημείου.

Υπάρχουν αρκετοί γρήγοροι αλγόριθμοιΕρώτηση: Πώς υπολογίζεται το k όταν είναι γνωστό το σημείο Q ?

Aπάντηση: Αυτό είναι ένα δύσκολο πρόβλημα γνωστό σαν Elliptic Curve Discrete Logarithm Problem

Ο αλγόριθμος Pollard-ρ απαιτεί (πn)/2 ελλειπτικές προσθέσεις.

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

32

Κρυπτογραφία Ελλειπτικών Καμπυλών (ECC)

Όπως πολλά συμβατικά συστήματα κρυπτογραφίας, η ECC βασίζεται στο ανέφικτο του υπολογισμού του διακριτού λογαρίθμου στην πολλαπλασιαστική ομάδα ενός πεπερασμένου σώματος μιας ελλειπτικής καμπύλης.

ΟΡΙΣΜΟΣ: Εάν Ε είναι μια ελλειπτική καμπύλη στο Fq, και Β ένα σημείο της Ε, τότε το πρόβλημα του διακριτού αλγορίθμου στην Ε (με βάση το Β) είναι το πρόβλημα, δοθέντος ενός σημείου P E, να βρεθεί ακέραιος x Z τέτοιος ώστε xB = P, εάν τέτοιος ακέραιος υπάρχει.

Το ανέφικτο του προβλήματος δεν ισχύει για κάποιες καμπύλες, όπως για τις λεγόμενες supersingular ελλειπτικές καμπύλες κάτω από κάποιες συνθήκες.

Πολλά συμβατικά κρυπτοσυστήματα έχουν τα αντίστοιχά τους βασισμένα σε ελλειπτικές καμπύλες.

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

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

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

34

Συνθήκες των παραμέτρων για την ασφάλεια της κρυπτογραφίας

Ελλειπτικών Καμπυλών

Για κάποιες επιθέσεις οι παράμετροι πρέπει να ικανοποιούν κάποιες συνθήκες:

#Ε(Fq) πρέπει να έχει ένα επαρκώς μεγάλο πρώτο παράγοντα n

για να αντιστέκεται σε παράλληλη επίθεση Pollard-ρ.

#Ε(Fq) q για να αντιστέκεται επιθέσεις των Semaev,

Smart&Satoh-Araki για ανώμαλες καμπύλες. N να μη διαιρεί το qk - 1 για 1 k 30, για να

αντιστέκεται σε MOV επίθεση.

Στην περίπτωση του F2m, το m πρέπει να είναι πρώτος για να

αντιστέκεται σε κάποιες επιθέσεις σε ελλειπτικές καμπύλες στο F2m όταν το m είναι σύνθετος.

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

35

Γέννηση του Ζεύγους Κλειδιών

Όλα τα κρυπτογραφικά σχήματα δημοσίου κλειδιού χρησιμοποιούν ζεύγη κλειδιών, γνωστά σαν ζεύγη κλειδιών ελλειπτικής καμπύλης.

Ένα ζεύγος κλειδιών (d,Q) μιας ελλειπτικής καμπύλης συσχετισμένης με την επτάδα T, περιέχει

ένα ιδιωτικό κλειδί d της ελλειπτικής καμπύλης E, που είναι ένας τυχαίος ακέραιος στο διάστημα [1,n-1] και

ένα δημόσιο κλειδί Q=(xQ,yQ) της ελλειπτικής καμπύλης που υπολογίζεται ως το σημείο Q=dG

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

36

Έλεγχος του Δημόσιου Κλειδιούαπό τον παραλήπτη αυτού

1. Έλεγξε ότι Q Ο.

2. Έλεγξε ότι οι συντεταγμένες του σημείου Q είναι xQ; yQ Fq.

3. Έλεγξε ότι το Q είναι πάνω στην ελλειπτική καμπύλη.

4. Έλεγξε ότι nQ = Ο (nQ = ndG = dnG = dΟ = Ο, διότι η τάξη του G είναι n).

Ο έλεγχος χωρίς αυτό του βήματος 4 καλείται μερικός έλεγχος, διότι τότε υπόκειται σε επίθεση. Όμως προσεκτική επιλογή της παραμέτρου h μειώνει τον κίνδυνο.

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

37

Πρωτόκολλα Ελλειπτικών Καμπύλων

Σχήματα συμφωνίας κοινού κλειδιού ECDH (Elliptic Curve Diffie-Hellman) Elliptic Curve Cofactor Diffie-Hellman

Σχήματα κρυπτογράφησης ECAES (Elliptic Curve Authenticated Encryption

Scheme) EC-ElGamal

Σχήματα υπογραφής ECDSA (Elliptic Curve Digital Signature Algorithm)

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

38

Σχήματα συμφωνίας κλειδιού

Elliptic Curve Diffie-Hellman (ECDH) Elliptic Curve Cofactor Diffie-Hellman Βασική ιδέα: η παραγωγή μιας κοινής μυστικής τιμής,

από ένα ιδιωτικό κλειδί που έχει μια οντότητα A και ένα δημόσιο κλειδί που έχει μια οντότητα B, τέτοια ώστε αν και οι δυο οντότητες εκτελέσουν το σχήμα με τα αντίστοιχα κλειδιά σαν είσοδο, θα ανακτήσουν την ίδια κοινή μυστική τιμή

Ουσιαστικά διαφέρουν Elliptic Curve Diffie-Hellman : ανάλογο της μεθόδου συμφωνίας

κλειδιού Diffie-Hellman. Elliptic Curve Cofactor Diffie-Hellman : ενσωματώνει το λόγο h

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

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

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.

.

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

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 συνάρτησης.

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

41

EC-AES /2

Για την κρυπτογράφηση ενός μηνύματος m, ο Α εκτελεί τα παρακάτω:1. Επιλογή ενός τυχαίου ακεραίου r στο διάστημα [1,n-1]2. Υπολογισμός του R = rG3. Υπολογισμός του K = hrQB = (Kx, Ky). Έλεγχος αν K≠Ο4. Υπολογισμός του k1 || k2 = KDF(Kx)5. Υπολογισμός του c = ENCk1(m)6. Υπολογισμός του t = MACk2(c)7. Αποστολή του κρυπτογράμματος (R,c,t) στον B.

Για την αποκρυπτογράφηση του κρυπτογράμματος, ο Β εκτελεί τα παρακάτω:1. Εκτέλεση μερικής πιστοποίηση εγκυρότητας κλειδιού στο R 2. Υπολογισμός του K = hdBR = hdB rG = hrQB =(Kx, Ky). Έλεγχος

αν K≠Ο3. Υπολογισμός του k1 || k2 = KDF(Kx) 4. Επιβεβαίωση του t = MACk2(c)5. Υπολογισμός του m = ENCk1

-1(c)

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

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), ως και την αντίστροφή της.

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

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 - dB C1 = (10,2) – 7(8,3) =(10,2) –(3,5) =(10,2) + (3,6) = (10,9).

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

44

ΕC- ElGamal στην πράξη(Προστασία Πνευματικών Δικαιωμάτων)

Σώμα Fp με p = 785963102379428822376694789446897396207498568951 Ελλειπτική καμπύλη y2 = x3 +

317689081251325503476317476413827693272746955927x +

79052896607878758718120572025718535432100651934 Πλήθος σημείων

#E(k) = 785963102379428822376693024881714957612686157429

Γεννήτορας B = (771507216262649826170648268565579889907769254176, 390157510246556628525279459266514995562533196655)

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

45

Σχήματα υπογραφής /1(υπενθύμιση)

Σχεδιάζονται για να χρησιμοποιηθούν από δυο οντότητες – έναν υπογράφοντα (signer) Α και έναν επαληθευτή (verifier) B – όταν ο Α θέλει να στείλει ένα μήνυμα m με αυθεντικό τρόπο και ο Β θέλει να επιβεβαιώσει την αυθεντικότητα του m.

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

ECDSA : το μόνο σχήμα υπογραφής που υποστηρίζεται σήμερα. Συστατικά μέρη: μια πράξη υπογραφής, μια πράξη

επιβεβαίωσης, και διεργασίες εκκίνησης (setup) και μετάδοσης κλειδιού (key deployment).

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

46

Σχήματα υπογραφής /2 (υπενθύμιση)

Πρώτα ο Α και ο Β πρέπει να χρησιμοποιήσουν την διεργασία εκκίνησης για να ορίσουν τις επιλογές με τις οποίες θα χρησιμοποιήσουν το σχήμα

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

Κάθε φορά που ο Α θέλει να στείλει ένα μήνυμα M, πρέπει να εφαρμόσει την πράξη της υπογραφής στο M με το ζεύγος κλειδιού του για να πάρει την υπογραφή S για το M, να δημιουργήσει ένα υπογεγραμμένο μήνυμα, και να το στείλει στον Β.

Όταν ο Β λάβει το υπογεγραμμένο μήνυμα, πρέπει να εφαρμόσει την πράξη της επαλήθευσης της υπογραφής με το δημόσιο κλειδί του Α, για να επιβεβαιώσει την αυθεντικότητα. Εάν αποβεί έγκυρη, ο Β διαπιστώνει ότι όντως το μήνυμα είναι αυθεντικό.

Υπάρχουν δύο σχήματα υπογραφής: Ο Α πρέπει να στείλει και το m και το S στον Β (Ψηφιακή υπογραφή με

παράρτημα) Ο Α πρέπει να στείλει μόνο το το S στον Β, (Ψηφιακή υπογραφή με

ανάκτηση μηνύματος )

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

47

ECDSA /3

Διεργασία Εκκίνησης Ο A πρέπει να ορίσει ποια συνάρτηση

κατακερματισμού (SHA-1) και ποιες παραμέτρους T θα χρησιμοποιήσει

Ο B με αυθεντικό τρόπο θα λάβει τη συνάρτηση κατακερματισμού και τις παραμέτρους Τ που όρισε ο Α

Εγκαθίδρυση κλειδιού Ο A πρέπει να ορίσει ένα ζεύγος κλειδιού (dA, QA)

συσχετισμένο με το T Ο B με αυθεντικό τρόπο θα λάβει το δημόσιο κλειδί QA

που επέλεξε ο Α

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

48

ECDSA /4

Υπογραφή :Είσοδος: το μήνυμα M που θα υπογραφείΈξοδος: Mια υπογραφή S = (r,s) στο M, όπου r, s ακέραιοιΕνέργειες: ο Α κάνει τα παρακάτω:1. Επιλογή ενός τυχαίου ακεραίου αριθμού στο

διάστημα [1,n-1]2. Υπολογισμός του kG = (x1,y1) και του r = x1 mod n.

Αν r = 0 πήγαινε στο βήμα 13. Υπολογισμός του k-1mod n 4. Υπολογισμός του e = SHA-1(m)5. Υπολογισμός του s = k-1 (e + dAr) mod n. Εάν s = 0,πήγαινε στο βήμα 1 Η υπογραφή του A για το μήνυμα είναι (r,s)

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

49

ECDSA /5

Επαλήθευση:Είσοδος: το μήνυμα m και η υπογραφή S = (r,s) του Α Έξοδος: ένδειξη για αποδοχή της υπογραφήςΕνέργειες: Ο Β εκτελεί τα ακόλουθα:

1. Επιβεβαίωση ότι r, s και είναι ακέραιοι στο διάστημα [1,n-1]2. Υπολογισμός του e = SHA-1(M)3. Υπολογισμός του w = s-1 mod n

4. Υπολογισμός του u1 = ew mod n και u2 = rw mod n

5. Υπολογισμός του u1G + u2QA = (x1,y1)

6. Υπολογισμός του v = x1 mod n7. Αποδοχή της υπογραφής αν και μόνο αν v = r

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

50

ECDSA /5

Απόδειξη ορθότητας:

1. u1G + u2QA = u1G + u2 dA G = (u1 + u2 dA )G.

2. Εάν (u1 + u2 dA )G = k mod n τότε το σχήμα είναι σωστό, διότι το n είναι η τάξη του G.

3. e = ks - dAr mod n

4. u1 + u2 dA = ew + dArw = es-1 + dAr w = k - dAr w + dAr w = k mod n

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

51IVs: διάνυσμα αρχικοποίησης (initialization vector) των συμμετρικών αλγορίθμων κρυπτογράφησης

Nonce: τυχαίος αριθμός, χρησιμοποιοείται στα πρωτόκολλα challenge-response

MIC: αλγόριθμος για ακεραιότητα μηνύματος (Message Integrity Code) – συνώνυμο του MAC

Θέση των Ελλειπτικών Καμπύλων στην Κρυπτογραφία

BlockCipher

s

Stream

Ciphers

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

Κλειδιού

Αυθεντικότητα

Εμπιστευτικότητα

Κρυπτογράφηση

HashFunction

s

Challenge

Response

IVs

MACsMICs

Digests μηνύματο

ς

Nonces

PseudoRandom

Τυχαίες Πηγές

Μυστικά

Κλειδιά

SmartCards

DHRSA

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

Ελλειπτικές

Καμπύλες

Ψηφιακές Υπογραφές

Ακεραιότητα

δεδομένων

Πρωτόκολλα Ασφαλούς Δικτύου

Μη αποποίηση

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

52

Σύγκριση Κρυπτογραφικής «Δύναμης»

Symmetric

RSA n

ECC p

56

512

112

80

1024

160

112

2048

224

128

3072

256

192

7680

384

256

15360

512Key size

ratio5:1 6:1 9:1 12:1 20:1 30:1

Για το ίδιο επίπεδο ασφάλειας απαιτούνται πολύ μικρότερα σε μέγεθος κλειδιά στο ECC σε σχέση με το RSA