Υ οποίηση αντα α ής κ ειδιού DH και ψηφιακών υπο ραφών ασισμένη σε ε ειπτικές καμπύ ες

Σχετικά έγγραφα
Α όρι μοι και Πο υπ οκότητα 1η Σειρά Γραπτών Ασκήσε ν

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

Ο Κατά ο ος Υπο ραφών

Κανονισμός Εκτε εστικής Επιτροπής

Το Διανυσματικό Μοντέ ο

Κανονισμός Οικονομικής Δια είρισης

Το Λο ικό Μοντέ ο. Περιε όμενα Κεφα αίου

Απ ή υ οποίηση α ορί μου Fast Multipole Method ανεξάρτητου συνάρτησης πυρήνα

Κανονισμός Εποπτικού Συμ ου ίου

Ο Αντεστραμμένος Κατά ο ος

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

Ανάπτυξη Βι ιο ήκης Γραφικών ια Ενσ ματ μένο Σύστημα

Παρά η η Δια είριση Δεδομέν ν

Κανονισμός Διοικητικού Συμ ου ίου

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

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

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

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

Το Πι ανοκρατικό Μοντέ ο

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

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Τε νο ο ίας Π ηροφορικής και Υπο ο ιστών. Διπ ματική Ερ ασία

Ανάκτηση Π ηροφορίας στον Πα κόσμιο Ιστό

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Τε νο ο ίας Π ηροφορικής και Υπο ο ιστών. Διπ ματική Ερ ασία

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

Αποτίμηση Αποτε εσματικότητας

Ανάκτηση Π ηροφορίας. Συ ραφή Απόστο ος Ν. Παπαδόπου ος Ι άννης Μαν όπου ος Κ νσταντίνος Τσί ας. Κριτικός Ανα νώστης Δημήτριος Κατσαρός

Ε νικό Μετσό ιο Πο υτε νείο

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

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

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

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

Ε νικό Μετσό ιο Πο υτε νείο Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Τομέας Η εκτρικής Ισ ύος. Διπ ματική Ερ ασία

ΚΑΝΟΝΙΣ ΜΟ Ι ΙΕΞΑΓΩΓΗΣ ΑΓΩΝΩΝ 1 / 8 SCALE IC TRA CK ΕΛ. Μ. Ε

Επέκταση του συστήματος ανοι τού κώδικα Pig

Κατανεμημένα Συστήματα. Javascript LCR example

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

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

Ε νικό Μετσό ιο Πο υτε νείο. Διπ ματική Ερ ασία

Εισα ή στην Ανάκτηση Π ηροφορίας

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

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

Σ εδιασμός Συστημάτ ν Ε έ ου

ἔστω Ο...πισινός μας! American Bar το καναμε για όλους μας. * * * κι από τη Σκιά τους. σε κάθε νησί;

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

Α Α Α Α Α Α Α Α Α Α Α Ο

Ε νικό Μετσό ιο Πο υτε νείο

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

JEAN-CHARLES BLATZ 02XD RE52755

Κρυπτοσυστήματα Διακριτού Λογαρίθμου

α κα ρι ι ο ος α α νηρ ος ου ουκ ε πο ρε ε ευ θη εν βου λη η η α α σε ε ε βων και εν ο δω ω α α µαρ τω λω ων ουουκ ε ε ε

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

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

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

Εισαγωγή στην Πληροφορική

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

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


Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Ανάπτυξη Συστήματος Συστάσε ν Συνερ ατικής Διή ησης με ρήση Ιεραρ ικών Α ορί μ ν Κατάταξης

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

Κρυπτοσυστήματα Διακριτού Λογαρίθμου

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Αριθμοθεωρητικοί Αλγόριθμοι

ΚΡΥΠΤΟΓΡΑΦΙΑ ΕΛΛΕΙΠΤΙΚΩΝ ΚΑΜΠΥΛΩΝ ΚΑΙ H ΕΦΑΡΜΟΓΗ ΤΗΣ ΣΤΟ BITCOIN. Επιβλέπων Καθηγητής: Άγγελος Κιαγιάς. Γιώργος Καρυστιανός ΜΠΛΑ

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

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

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

14SYMV

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

Εξόρυξη νώσης από μέσα κοιν νικής δικτύ σης: Με έτη περίπτ σης στο Twitter.

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εφαρμογές κρυπτοσυστημάτων δημοσίου κλειδιού

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

FAX : spudonpe@ypepth.gr) Φ. 12 / 600 / /Γ1

Ε νικό Μετσό ιο Πο υτε νείο. Α όρι μοι Επανε ραφής Τροποποιημέν ν Ερ τημάτ ν ια Βατές Περι ραφικές Λο ικές

Ανάπτυξη συντακτικού ανα υτή φυσικής ώσσας με ρήση του φορμα ισμού LFG. Πανα ιώτης Μίνος

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

Δομές Δεδομένων & Αλγόριθμοι

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων

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

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Τύποι Δεδομένων και Τελεστές

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Transcript:

Υ οποίηση αντα α ής κ ειδιού DH και ψηφιακών υπο ραφών ασισμένη σε ε ειπτικές καμπύ ες Νίκος Γιανναράκης Ζ ή Παρασκευοπού ου Σ ο ή Η εκτρο ό ν Μη ανικών και Μη ανικών Υπο ο ιστών Ε νικό Μετσό ιο Πο υτε νείο 28 Ιανουαρίου 2013 Elliptic Curve Cryptography 1 / 35

Κρυπτο ραφία με ε ειπτικές καμπύ ες Why elliptic curve cryptography? Αυξημένη ασφά εια με μικρότερα μήκη κ ειδιών Μει μένο υπο ο ιστικό κόστος και bandwitdh Ιδανικές ια φορητές συσκευές ό ενερ ειακών απαιτήσε ν (κινητά κ π.) ECC σε secure web servers, επιτά υνση ε ς και 280% [6] Elliptic Curve Cryptography 2 / 35

Σύ κριση μήκους κ ειδιού ECC RSA Ανα ο ία AES 160 1024 1:6 256 3072 1:12 128 384 7680 1:20 192 512 15360 1:30 256 Σ ήμα : Σύ κριση μήκους κ ειδιού σε bits ECC-160 RSA-1024 ECC-224 RSA-2048 Time(ms) 3.69 8.75 5.12 56.18 Ops/Sec 271.3 114.3 195.5 17.8 Perf ratio 2.4 : 1.0 11.0 : 1.0 Key ratio 1.0 : 6.4 1.0 : 9.1 Σ ήμα : Σύ κριση απόδοσης ανά ο α με το μήκος κ ειδιού [6] Elliptic Curve Cryptography 3 / 35

Ε ειπτικές καμπύ ες στο R Ορισμός Μία ε ειπτική καμπύ η στο R μπορεί να οριστεί ς το σύνο ο τ ν σημεί ν (x,y) που ικανοποιούν μία εξίσ ση ε ειπτικής καμπύ ης της μορφής: y 2 = x 3 + a x + b, x, y, a, b R μαζί με ένα σημείο O, το οποίο ονομάζουμε σημείο στο άπειρο. Ορισμός πράξε ν Πρόσ εση δύο σημεί ν P, Q Διπ ασιασμός ενός σημείου P Elliptic Curve Cryptography 4 / 35

Πρόσ εση δύο σημεί ν πάν σε ε ειπτικές καμπύ ες στο R H πρόσ εση δύο σημεί ν P, Q μπορεί να οριστεί ε μετρικά Elliptic Curve Cryptography 5 / 35

Διπ ασιασμός σημείου πάν σε ε ειπτικές καμπύ ες στο R Ο διπ ασιασμός ενός σημείου πάν σε μία ε ειπτική καμπύ η ορίζεται ε μετρικά σύμφ να με το παρακάτ σ ήμα Elliptic Curve Cryptography 6 / 35

Προ ήματα Αρ ές πράξεις σε πρα ματικούς αρι μούς Έ ειψη ακρί ειας Elliptic Curve Cryptography 7 / 35

Ε ειπτικές καμπύ ες πάν από το F p και το F 2 m Ορισμός Δια έ οντας a, b F p και υπο ο ίζοντας τα σημεία (x, y) της καμπύ ης modulo p ορίζουμε μία ε ειπτική καμπύ η στο F p. Elliptic Curve Cryptography 8 / 35

Πρόσ εση δύο σημεί ν πάν σε ε ειπτικές καμπύ ες στο F p H πρόσ εση δύο σημεί ν R = P + Q σε μία ε ειπτική καμπύ η στο F p ορίζεται α ε ρικά: s = (y P y Q ) (x P x Q ) (mod p) x R = s 2 x P x Q (mod p) y R = y P + s (x P x R ) (mod p) Το O είναι το ουδέτερο στοι είο της πρόσ εσης : P + O = P. Elliptic Curve Cryptography 9 / 35

Διπ ασιασμός σημείου πάν σε ε ειπτικές καμπύ ες στο F p Ο διπ ασιασμός σημείου R = 2P σε μία ε ειπτική καμπύ η στο F p ορίζεται α ε ρικά: s = (3 x2 P + a) 2 y P (mod p) x R = s 2 2 x P (mod p) y R = y p + s (x P x R ) (mod p) Elliptic Curve Cryptography 10 / 35

Βα μ τός πο απ ασιασμός πάν σε ε ειπτικές καμπύ ες στο F p Με ρήση τ ν παραπάν πράξε ν μπορούμε να ορίσουμε την πράξη του α μ τού πο απ ασιασμού R = k P όπου l Z και P ένα σημείο ε ειπτικής καμπύ ης. P = O k P = O Naive P + P... + P Double-and-add (το ανά ο ο του επανα αμ ανόμενου τετρα νισμού) Windowed, Sliding-window, wnaf, Montogomery ladder... [3] Elliptic Curve Cryptography 11 / 35

Double-and-add Input: Elliptic curve E, elliptic curve point P, scalar d: (d 0 d 1... d t 1 ) Output: T = d P T P for i t 1 downto 0 do T T + T (mod n) if d i = 1 then T T + P (mod n) end end return T Algorithm 1: Μέ οδος double-and-add Elliptic Curve Cryptography 12 / 35

Το πρό ημα του διακριτού ο αρί μου σε ε ειπτικές καμπύ ες (ECDLP) Ορισμός Εστ ε ειπτικη καμπυ η στο F p και ε στ δυ ο σημειά αυτη ς P, Q. Αν η τάξη του P είναι n τότε το πρό ημα διακριτού ο αρί μου ορίζεται ς η εύρεση ενός ακεραίου 0 l n 1 τέτοιου ώστε Q = l P. Elliptic Curve Cryptography 13 / 35

Αντα α ή κ ειδιού με τη μέ οδο Diffie-Hellman ια ε ειπτικές καμπύ ες (ECDH) Ο ρήστης Α και ο ρήστης Β επι έ ουν δημόσια τις παραμέτρους D = (q, a, b, G, n, h) Ο ρήστης Α επι έ ει έναν τυ αίο αρι μό 1 a n 1 ς ιδι τικό κ ειδί και υπο ο ίζει και στέ νει στον Β το δημόσιο κ ειδί του a G. Ο ρήστης Β επι έ ει έναν τυ αίο αρι μό 1 b n 1 ς ιδι τικό κ ειδί και υπο ο ίζει και στέ νει στον Α το δημόσιο κ ειδί b G και το στέ νει στον Α. Ο Α υπο ο ίζει το a b G Ο Β υπο ο ίζει το b a G Το κοινό κ ειδί τους είναι το a b G = b a G Elliptic Curve Cryptography 14 / 35

Ψηφιακές υπο ραφές με τον α όρι μο DSA ια ε ειπτικές καμπύ ες (ECDSA) Παρα ή υπο ραφής Για να υπο ράψει ένα μήνυμα m, ο ρήστης Α με παραμέτρους D = (q, a, b, G, n, h) και ένα ζεύ ος ιδι τικού-δημόσιου κ ειδιού (d, Q) ακο ου εί τα παρακάτ ήματα Elliptic Curve Cryptography 15 / 35

Ψηφιακές υπο ραφές με τον α όρι μο DSA ια ε ειπτικές καμπύ ες (ECDSA) Παρα ή υπο ραφής 1. Επι έ ει έναν τυ αίο αρι μό k τέτοιο ώστε 1 k n 1. 2. Υπο ο ίζει το σημείο k G = (x 1, y 1 ). 3. Υπο ο ίζει το r = x 1 (mod n). Αν r = 0 επιστρέφει στο ήμα 1. 4. Υπο ο ίζει το k 1 (mod n). 5. Υπο ο ίζει το SHA 1(m) και μετατρέπει το αποτέ εσμα του bit-string σε έναν ακέραιο e. 6. Υπο ο ίζει το s = k 1 (e + d r) (mod n). Αν s = 0 επιστρέφει στο ήμα 1. 7. Η υπο ραφή του A ια το μήνυμα m είναι (r, s). Elliptic Curve Cryptography 16 / 35

Ψηφιακές υπο ραφές με τον α όρι μο DSA ια ε ειπτικές καμπύ ες (ECDSA) Επα ή ευση υπο ραφής Για να επα η εύσει μία υπο ραφή (r, s) σε ένα μήνυμα m, ο ρήστης Β παίρνει τις παραμέτρους D = (q, FR, a, b, G, n, h) και το δημόσιο κ ειδί Q του Α και ακο ου εί τα παρακάτ ήματα: Προσο ή! Ο Β α πρέπει να ε έ ξει ότι τα στοι εία του Α δεν έ ουν α οι εί, π.. αν το σημείο Q ανήκει στην καμπύ η που ορίζεται απο το D Elliptic Curve Cryptography 17 / 35

Ψηφιακές υπο ραφές με τον α όρι μο DSA ια ε ειπτικές καμπύ ες (ECDSA) Επα ή ευση υπο ραφής 1. Επι ε αιώνει ότι τα r, s είναι ακέραιοι στο διάστημα [1, n 1]. 2. Υπο ο ίζει το SHA 1(m) και μετατρέπει το αποτέ εσμα του bit-string σε έναν ακέραιο e. 3. Υπο ο ίζει το w = s 1 (mod n). 4. Υπο ο ίζει το u 1 = e w (mod n) και το u 2 = r w (mod n). 5. Υπο ο ίζει το X = u 1 G + u 2 G 6. Εάν X = O τότε απορρίπτει την υπο ραφή. Α ιώς υπο ο ίζει τo u = x 1 (mod n) όπου x 1 η συντετα μένη x του X. 7. Δέ εται την υπο ραφή αν και μόνο αν u = r. Elliptic Curve Cryptography 18 / 35

Υ οποίηση Επι ο ή παραμέτρ ν Παράμετρος Περι ραφή p Η αρακτηριστική του πεπερασμένου σώματος F p a Ο συντε εστής a της ε ειπτικής καμπύ ης b Ο συντε εστής b της ε ειπτικής καμπύ ης G Ένα σημείο G = (x G, y G ) n Η τάξη του στοι είου G h E(F p )/n Σ ήμα : Domain Parameters Απαιτείται πο ύ προσεκτική επι ο ή τ ν παραμέτρ ν [1] [2] [4] Elliptic Curve Cryptography 19 / 35

Υ οποίηση Επίπεδα υ οποίησης Αρι μητική modulo με υποστήριξη ια με ά ους αρι μούς Υ οποίηση τ ν πράξε ν που ορίζονται στην ομάδα (πρόσ εση, διπ ασιασμός) Υ οποίηση του α μ τού πο απ ασιασμού Υ οποίηση ενός κρυπτοσυστήματος π.. ECDH Elliptic Curve Cryptography 20 / 35

Υ οποίηση στη ώσσα OCaml Why OCaml? Μεί ση σφα μάτ ν. Έ ε ος τύπ ν κατά τη μετα ώττιση. Βι ιο ήκες. Αρκετές έτοιμες συναρτήσεις ( ια big numbers κ.α.) Τα ύτητα. Απόδοση αρκετά κοντά σε low-level ώσσες όπ ς C. Garbage collected. Η δια είριση μνήμης ίνεται αυτόματα, ένα πρά μα ι ότερο ια να ανησυ ούμε. Elliptic Curve Cryptography 21 / 35

Υ οποίηση στη ώσσα OCaml Βασικοί τύποι type point = Infinity Point of Z.t * Z.t An elliptic curve point. It is either infinity or a point (x,y). type elliptic_curve = { p : Z.t ; a : Z.t ; b : Z.t ; g : point ; n : Z.t ; h : Z.t ; } The type of domain parameters Elliptic Curve Cryptography 22 / 35

Υ οποίηση στη ώσσα OCaml Modulo αρι μητική Χρησιμοποιή ηκε η ι ιο ήκη με ά ν αρι μών Zarith, ρησιμοποιεί το GMP (C/C++). Διάφορες ετοιμες συναρτήσεις ια ασικές πράξεις όπ ς εύρεση αντιστρόφου ενός αρι μού modulo n. Elliptic Curve Cryptography 23 / 35

Υ οποίηση στη ώσσα OCaml Υ οποίηση πράξε ν ομάδας val add_point : point -> point -> elliptic_curve -> point Given two points P and Q, both on the same elliptic curve, and the elliptic curve returns P+Q on that curve. val double_point : point -> elliptic_curve -> point Given a point P on an elliptic curve and the elliptic curve retuns the point 2P on that curve. Elliptic Curve Cryptography 24 / 35

Υ οποίηση στη ώσσα OCaml Υ οποίηση α μ τού πο απ ασιασμού val multiply_point : point -> Z.t -> elliptic_curve -> point Given a point P on an elliptic curve, an integer k and the elliptic curve returns the scalar multiplication kp on that curve. Elliptic Curve Cryptography 25 / 35

Βε τιστοποίησεις Βε τιστοποίηση αρι μητικής modulo Το πιο ρονο όρο κομμάτι είναι οι πράξεις με με ά ους αρι μούς και η αρι μητική modulo. Η ρήση της ι ιο ήκης Zarith μας ύνει το πρό ημα ε τιστοποίησεις αυτού του κομματιού κα ώς ρησιμοποιεί το GMP που έ ει ρή ορες υ οποιήσεις πράξε ν στη ώσσα C. Βε τιστοποίηση πράξε ν Οι συναρτήσεις add_point και double_point δεν παρουσιάζουν ιδιαίτερα περι ώρια ε τιστοποίησης. Μπορούμε να ε τιστοποιήσουμε τη συνάρτηση multiply_point ρησιμοποιώντας έναν κα ύτερο α όρι μο από αυτούς που έ ουν αναφερ εί (η υ οποίηση μας ρησιμοποιεί τη μέ οδο double-and-add) Elliptic Curve Cryptography 26 / 35

Επι έσεις Επί υση ECDLP (πρακτικά ανέφικτο με κατά η η επι ο ή παραμέτρ ν) Επί εση στη συνάρτηση κατακερματισμού (hash function) εαν ρησιμοποιείται. Κακή δια είριση κ ειδιών (private key, αρι μός k στο ECDSA) κ π. Elliptic Curve Cryptography 27 / 35

Επί υση του ECDLP Certicom ECC Challenge Στό ος είναι να ρε ούν τα ιδι τικά κ ειδιά απο μία δο είσα ίστα με δημόσια κ ειδιά και τις αντίστοι ες παραμέτρους. Επίπεδο 1 : 109-bit, 131-bit Επίπεδο 2 : 163-bit, 191-bit, 239-bit, 359-bit Το 2004 ύ ηκε το πρό ημα ια τα 109-bit από 10000 υπο ο ιστές σε 549 μέρες ρησιμοποιώντας τη μέ οδο rho. Για τα 131-bit όμ ς α ρειαστούν σημαντικά περισσότεροι πόροι. Τα προ ήματα στο επίπεδο 2 ε ρούνται υπο ο ιστικά ανέφτικα. Elliptic Curve Cryptography 28 / 35

Επί εση στο ECDSA Sony Playstation 3 Το playstation 3 ρησιμοποιεί το σ ήμα ψηφιακής υπο ραφής ECDSA ια ψηφιακές υπο ραφές στα παι νίδια και στις ανα α μίσεις του firmware του έτσι ώστε να μην επιτρέπεται σε unsigned κώδικα να εκτε εστεί στην κονσό α. Elliptic Curve Cryptography 29 / 35

Επί εση στο ECDSA Επι ο ή τυ αίου αρι μού k Ο τυ αίος αρι μός k έ ει τις ίδιες απαιτήσεις ασφά ειας με το ιδι τικό κ ειδί d. Αυτό συνεπά εται απο το ε ονός οτι αν ο κακό ου ος ρήστης Ε ανακτήσει ένα k που ρησιμοποιεί ο Α ια να υπο ράψει ένα μήνυμα m τότε μπορεί να ανακτήσει το ιδι τικό κ ειδί του A αφού d = r 1 (k s e) (mod n). Συνεπώς το k α πρέπει να παρά εται με ασφα ή τρόπο και να απο ηκεύεται με ασφα ή τρόπο. Elliptic Curve Cryptography 30 / 35

Επί εση στο ECDSA Sony Playstation 3 τρόπος επι ο ής τυ αίου k Η Sony δε παρή α ε ποτέ τυ αίο k α ά ρησιμοποιούσε μία στα ερά ια k Με τον τρόπο που δείξαμε παραπάν υπο ο ίστηκε το private key της Sony και δό ηκε η δυνατότητα να κάνουμε sign ότι κώδικα έ ουμε. [7] Elliptic Curve Cryptography 31 / 35

Παρα ή τυ αί ν αρι μών! Elliptic Curve Cryptography 32 / 35

References [1] Don Johnson, Alfred Menezes, Scott Vanstone, The Elliptic Curve Digital Signature Algorithm (ECDSA) Certicom Research [2] Certicom Research SEC 2: Recommended Elliptic Curve Domain Parameters Certicom Research [3] Daniel J. Bernstein, Tanja Lange Analysis and optimization of elliptic-curve single-scalar multiplication [4] Brainpool ECC Brainpool Standard Curves and Curve Generation v1.0 Brainpool Elliptic Curve Cryptography 33 / 35

References [5] Chrisoft Paar, Jan pelzl, Understanding Cryptography: A textbook for Students and Practitioners Springer [6] Vipul Gupta, Douglas Stebila, Stephen Fung, Sheueling Chang, Nils Gura, Hans Eberle Speeding up secure web transactions using elliptic curve cryptography Sun Microsystems Labs [7] bushing, marcan, sgher, sven PS3 Epic Fail fail0verflow Elliptic Curve Cryptography 34 / 35

Fork here! https://github.com/zoep/ecc-ocaml The end Elliptic Curve Cryptography 35 / 35