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

Σχετικά έγγραφα
Κρυπτοσυστήματα Διακριτού Λογαρίθμου

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

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτογραφικά Πρωτόκολλα

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

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

Ψηφιακές Υπογραφές. Παναγιώτης Γροντάς - Άρης Παγουρτζής 09/12/2016. ΕΜΠ - Κρυπτογραφία - ( )

Το κρυπτοσύστημα RSA

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

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

Το κρυπτοσύστημα RSA

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

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

Κρυπτογραφικά πρωτόκολλα και τεχνικές

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

Το κρυπτοσύστημα RSA. Παναγιώτης Γροντάς - Άρης Παγουρτζής 20/11/2018. ΕΜΠ - Κρυπτογραφία ( ) RSA 1 / 51

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

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

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

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

Αποδείξεις Μηδενικής Γνώσης

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία

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

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

Αποδείξεις Μηδενικής Γνώσης

Public Key Cryptography. Dimitris Mitropoulos

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Ψηφιακές Υπογραφές. Παναγιώτης Γροντάς - Άρης Παγουρτζής. ΕΜΠ - Κρυπτογραφία - ( ) 28/11/2017. Digital Signatures 1 / 57

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

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

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Αποδείξεις Μηδενικής Γνώσης

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα ροής. Πέτρος Ποτίκας. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

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

Στοιχεία Θεωρίας Αριθμών

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

Κεφάλαιο 8. Συναρτήσεις Σύνοψης. 8.1 Εισαγωγή

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Διαχείριση κλειδιών. Χρήστος Ξενάκης

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Πρόβληµα 2 (15 µονάδες)

1 Diffie-Hellman Key Exchange Protocol

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

Αποδείξεις Μηδενικής Γνώσης

Κρυπτογραφικά Πρωτόκολλα

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

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

Ψηφιακές Υπογραφές. Άρης Παγουρτζής Στάθης Ζάχος. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Towards a Practical Cryptographic Voting Scheme Based on Malleable Proofs

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ

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

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

Blum Blum Shub Generator

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Κρυπτοαλγόριθμοι. Χρήστος Ξενάκης

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

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

Ελλειπτικές καμπύλες. Παναγιώτης Γροντάς 11/12/2018. ΕΜΠ - Κρυπτογραφία ( ) Elliptic Curves - Pairings 1 / 65

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

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

Ασφάλεια Πληροφοριακών Συστημάτων

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Θεμελιώδη Υπολογιστικά Προβλήματα στην Κρυπτογραφία

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Εθνικό Μετσόβιο Πολυτεχνείο

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

Αυθεντικοποίηση μηνύματος και Κρυπτογραφία δημόσιου κλειδιού

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

project RSA και Rabin-Williams

Κατάλογος Σχηµάτων. Κατάλογος Πινάκων. I Κρυπτανάλυση 21

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Transcript:

Κρυπτοσυστήματα Διακριτού Λογαρίθμου Παναγιώτης Γροντάς - Άρης Παγουρτζής 27/11/2018 ΕΜΠ - Κρυπτογραφία (2018-2019) Κρυπτοσυστήματα Διακριτού Λογαρίθμου 1 / 57

Περιεχόμενα Διακριτός Λογάριθμος: Προβλήματα και Αλγόριθμοι Το κρυπτοσύστημα ElGamal (Ορισμός, Ασφάλεια, Παραλλαγές) Σχήματα Δέσμευσης με βάση το DLP Διαμοιρασμός απορρήτων - Shamir Secret Sharing - Threshold ElGamal Κρυπτοσυστήματα Διακριτού Λογαρίθμου 2 / 57

DLP

Προβλήματα Διακριτού Λογαρίθμου - (Υπενθύμιση) DLP - Το πρόβλημα του Διακριτού Λογαρίθμου Δίνεται μια κυκλική ομάδα G = g τάξης q και ένα τυχαίο στοιχείο y G Να υπολογιστεί x Z q ώστε g x = y δηλ. το log g y Z q CDHP - Το υπολογιστικό πρόβλημα Diffie Hellman Δίνεται μια κυκλική ομάδα G = g, δύο στοιχεία y 1 = g x 1, y 2 = g x 2 Να υπολογιστεί το g x 1 x 2 DDHP - Το πρόβλημα απόφασης Diffie Hellman Δίνεται μια κυκλική ομάδα G = g, δύο στοιχεία y 1 = g x 1, y 2 = g x 2 και κάποιο y G Να εξεταστεί αν y = g x 1 x 2 ή ισοδύναμα μπορούμε να ξεχωρίσουμε τις τριάδες (g x 1, g x 2, g x 1x 2 ) και (g x 1, g x 2, y); Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 3 / 57

Σχέσεις Προβλημάτων - (Υπενθύμιση) CDHP DLP Αν μπορούμε να λύσουμε το DLP, τότε μπορούμε να υπολογίζουμε τα x 1, x 2 από τα y 1, y 2 και στην συνέχεια το g x 1 x 2 DDHP CDHP Αν μπορούμε να λύσουμε το CDHP, υπολογίζουμε το g x 1 x 2 και ελέγχουμε ισότητα με το y Δηλαδή: DDHP CDHP DLP Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 4 / 57

Random Self - Reducibility Θεώρημα Εστω ομάδα G τάξης q και g G. Έστω A PPT αλγόριθμος με την εξής ιδιότητα: u R G : Pr[A(u) = DL(u)] = ϵ Υπάρχει PPT αλγόριθμος B με την ιδιότητα: u G, B(u) {fail, x} Pr[x = DL(u)] = ϵ Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 5 / 57

Random Self - Reducibility Απόδειξη Ο αλγόριθμος B είναι ο εξής: Είσοδος u G σ R Z q u 1 u g σ a 1 A(u 1 ) if g a1 u 1 then return fail else return a 1 σ end Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 6 / 57

Random Self - Reducibility (Παρατηρήσεις) Με n 1 ϵ επαναλήψεις η πιθανότητα επιτυχίας είναι: Pr[B(u) = DL(u)] = 1 (1 ϵ) n 1 ϵ 1 e n Συμπέρασμα: Εύκολο DLP για μη αμελητέο ποσοστό τυχαίων στοιχείων, εύκολο για όλα τα στοιχεία της ομάδας Συνέπεια: Κατάλληλα Δύσκολα προβλήματα για κρυπτογραφία: Δύσκολα στη χειρότερη περίπτωση και Random Self - Reducible (δύσκολα στη μέση περίπτωση) Δεν ισχύει για όλα τα NP-hard προβλήματα Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 7 / 57

Επιλογή Ομάδας Καθορίζει τη δυσκολία του προβλήματος Δύο επιλογές: (Z p, ) με p πρώτο (σε υποομάδα) Λόγοι: Δυσκολότερο το DLP Τετριμμένη εύρεση γεννήτορα (όλα τα στοιχεία εκτός από το 1) Εύκολη εύρεση αντίστροφου (E(F p ), +) (Ελλειπτικές καμπύλες: Λογάριθμος αφορά πρόσθεση) ίδια επίπεδα ασφάλειας με μικρότερη τιμή παραμέτρου ασφάλειας Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 8 / 57

Αλγόριθμοι DL Brute Force Για ομάδα G = g τάξης q λ bits Δοκιμή όλων των x Z q μέχρι να βρεθεί τέτοιο ώστε g x = y Πολυπλοκότητα O(2 λ ) Γενικευμένη μέθοδος - δεν εξαρτάται απο χαρακτηριστικά ομάδας Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 9 / 57

Αλγόριθμος Baby step - Giant Step (Shanks) Αλγόριθμος Meet-In-The Middle Στόχος: εύρεση x : y = g x Βασική ιδέα: x Z, k, a, b Z : x = ak + b, y = g x y = g ak g b yg ak = g b Θα υπολογίζουμε g b και yg ak μέχρι να συναντηθούν 1. Ξεκινάμε στη μέση : k = q 2. Baby steps - μέγεθος 1: Υπολογίζουμε g b, b {0, 1,, k 1} και αποθηκεύουμε 3. Giant steps - μέγεθος k: Υπολογίζουμε yg ak, a {0, 1,, k 1} και το αναζητούμε στα αποτελέσματα του Βημ. 2 4. Όταν βρεθεί υπολογίζουμε: x = ak + b Πολυπλοκότητα Χρόνου: O(2 λ 2 ) - Βέλτιστη για γενικευμένο Πολυπλοκότητα Χώρου: O(2 λ 2 ) - Βέλτιστη αυτή του Pollard rho σταθερή Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 10 / 57

Παράδειγμα Baby step - Giant Step Θέλουμε το 2 x = 17 (mod 29) στο Z 29 = 2, 29 = 6 b {0 5} 2 0 = 1 (mod 29) 2 1 = 2 (mod 29) 2 2 = 4 (mod 29) 2 3 = 8 (mod 29) 2 4 = 16 (mod 29) 2 5 = 3 (mod 29) a {0 5} 17 2 0 6 = 17 (mod 29) 17 2 1 6 = 37 (mod 29) 17 2 2 6 = 19 (mod 29) 17 2 3 6 = 8 (mod 29) Βρέθηκε Άρα x = 18 + 3 = 21 Πράγματι: 2 21 = 17 (mod 29) Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 11 / 57

Αλγόριθμος Pohlig-Hellman - Ιδέα Παρατήρηση Η δυσκολία του DLP σε μια ομάδα G εξαρτάται από τη δυσκολία του στις διάφορες υποομάδες της. Συγκεκριμένα Παραγοντοποίηση της τάξης (πχ. στο Z p: p 1 = m i=1 pe i με p i i πρώτο) Επίλυση DLP σε κάθε υποομάδα και συνδυασμός με CRT Smooth Number Μπορεί να παραγοντοποιηθεί σε μικρούς πρώτους - Αν ισχύει για την τάξη επιταχύνει σημαντικά τον αλγόριθμο Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 12 / 57

Αλγόριθμος Pohlig-Hellman Παραγοντοποιούμε την τάξη: p 1 = m i=1 pe i i Για κάθε p i γράφουμε x = a 0 + a 1 p i + + a ei 1p e i 1 i με a j {0,, p i 1} (mod p e i i ) Θα υπολογίσουμε τους συντελεστές ως εξής: Για το a 0 ισχύει: y p 1 p i p 1 a0 p = g i (mod p) (1) επειδή: y p 1 p i = (g x ) p 1 p i = g (a0+a1p i+ +a ei 1p e i 1 ) p 1 i p i = g (a0+kp i) p 1 p i = g p 1 a0 p i g Kp i p 1 p i = p 1 a0 p g i (mod p) Υπολογισμός a 0 (πχ. με αλγόριθμο Shanks) Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 13 / 57

Αλγόριθμος Pohlig-Hellman Για τον υπολογισμό των υπόλοιπων συντελεστών: Δημιουργούμε ακολουθία {y j } με y 0 = y και y j = y j 1 g (a0+a1p i+ +a j 1 p j 1) i (mod p) Γενικεύοντας την (1) έχουμε: yj Yπολογίζουμε το a j Συνδυασμός λύσεων με CRT p 1 p j+1 i = g a p 1 j p i Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 14 / 57

Pohlig-Hellman - παράδειγμα Θέλουμε το 2 x = 17 (mod 29) στο Z 29 = 2 Παραγοντοποιούμε την τάξη: 28 = 2 2 7 x 2 = a 0 + 2a 1 (mod 4) και x 7 = a 0 (mod 7) Υπολογισμός a 0 για το x 2 y p 1 2 = g a 0 p 1 2 17 14 = 2 14a 0 2 14a 0 = 28 = 1 (mod 29) Άρα a 0 = 1 Υπολογισμός y 1 για το x 2 y 1 = yg a 0 = 17 2 1 = 17 15 = 23 (mod 29) Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 15 / 57

Pohlig-Hellman - παράδειγμα Υπολογισμός a 1 για το x 2 y p 1 4 1 = g a 1 p 1 2 23 7 = 2 14a 1 2 14a 1 = 1 (mod 29) Άρα a 1 = 0 Άρα x 2 = 1 + 0 = 1 (mod 4) Υπολογισμός a 0 για το x 7 y p 1 7 = g a 0 p 1 7 17 4 = 2 4a 0 2 4a 0 = 1 (mod 29) Άρα a 0 = 0 Άρα x 7 = 0 (mod 7) Από x 2 = 1 + 0 = 1 (mod 4) και x 7 = 0 (mod 7) με CRT προκύπτει x = 21 Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 16 / 57

Δυσκολία DDHP Θεώρημα To DDHP δεν είναι δύσκολο στην Z p Μπορεί να κατασκευαστεί αποδοτικός αλγόριθμος διαχωρισμού τριάδας DH g a, g b, g ab από μια τυχαία τριάδα g a, g b, g c. Πώς: Χρησιμοποιώντας το σύμβολο Legendre. To σύμβολο Legendre διαρρέει το DLP parity Από τον ορισμό: ( gx p ) = (gx ) p 1 2 Όμως: g p 1 = 1 (mod p) Άρα: g p 1 2 = 1 (mod p) Δηλαδή: ( gx p ) = ( 1)x Αν x μονός τότε ( gx p ) = 1 Αν x ζυγός τότε ( gx p ) = 1 Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 17 / 57

Δυσκολία DDHP Για τυχαία τριάδα: Prob[( gc p ) = 1] = 1 2 Για τριάδα DH: Prob[( gab p ) = 1] = 3 4 Algorithm 1 Ο αλγόριθμος διαχωρισμού Υπολόγισε ( ga p gb gc ), ( p ), ( p ) if ( gc ga p ) = 1 (( p ) = 1 ( gb p ) = 1)) then Επιστροφή Τριάδα Diffie Hellman else Επιστροφή Τυχαία Τριάδα end Πλεονέκτημα: 3 8 (γιατί;) ΜΗ ΑΜΕΛΗΤΕΟ Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 18 / 57

Επιλογή του G Συνέπειες Δουλεύουμε σε μεγάλη υποομάδα του Z p με τάξη πρώτο q Για παράδειγμα: Επιλογή safe prime: p = 2q + 1 με q πρώτο Δουλεύουμε στην υποομάδα τετραγωνικών υπολοίπων τάξης q Επιλογή schnorr primes p = k q + 1 με q πρώτο Παρ όλα αυτά: Yποεκθετικοί αλγόριθμοι (index calculus) Μεγέθη Symmetric Security p q 80 bits 1024 160 112 bits 2048 224 128 bits 3072 256 192 bits 7680 384 256 bits 15360 512 Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP 19 / 57

Το κρυπτοσύστημα ElGamal

Ορισμός ElGamal Δημιουργία Κλειδιών: KeyGen(1 λ ) = (y = g x, x) Επιλογή δύο μεγάλων πρώτων p, q ώστε q (p 1) G: υποομάδα τάξης q του Z p - g γεννήτορας Ιδιωτικό κλειδί: τυχαίο x Z q Δημόσιο κλειδί: y = g x mod p Επιστροφή (y, x) Κρυπτογράφηση Επιλογή τυχαίου r Z q Encrypt y (r, m) = (g r mod p, m y r mod p) Αποκρυπτογράφηση Decrypt x (a, b) = b a x Ορθότητα Decrypt x (Encrypt y (r, m)) = myr (g r ) x = m Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 20 / 57

Πρακτικά Θέματα Πιθανοτική Κρυπτογράφηση: Ένα μήνυμα έχει πολλά πιθανά κρυπτοκείμενα Message expansion Κρυπτοκείμενο διπλάσιο του μηνύματος Επιτάχυνση Κρυπτογράφησης Κόστος: 2 υψώσεις σε δύναμη - 1 πολλαπλασιασμός Ύψωση σε δύναμη:δεν εξαρτάται από το μήνυμα (precomputation) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 21 / 57

Ασφάλεια Κρυπτογράφησης Μυστικότητα ElGamal CDHP Αντιστοιχία δημοσίων στοιχείων g x 1 g r g x 2 y = g x g x 1x 2 y r EG CDHP: CDHP Υπολογισμός g x 1x 2 = y r αποκρυπτογράφηση (με εύρεση αντιστρόφου του y r ) CDHP EG: EG Για οποιοδήποτε c G: εύρεση m που αντιστοιχεί στο g x 2, (g x 1, c) (χρήση EG ως oracle αποκρυπτογράφησης με δημόσιο κλειδί g x 2 ) Yπολογισμός g x 1x 2 = c m Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 22 / 57

Επανάληψη τυχαιότητας Επίθεση KPA KPA: Γνωρίζουμε ζεύγη μηνυμάτων - κρυπτοκειμένου για τα οποία έχει χρησιμοποιηθεί η ίδια τυχαιότητα Επίθεση (c r, c 1 ) = Encrypt y (r, m 1 ) = (g r mod p, m 1 y r mod p) (c r, c 2 ) = Encrypt y (r, m 2 ) = (g r mod p, m 2 y r mod p) Αν γνωρίζω το (m 1, c 1 ): c 1 = m 1 y r mod p y r = c 1 m 1 1 Μπορώ να υπολογίσω το m 2 ως: m 2 = c 2 y r = c 2 c 1 m 1 1 Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 23 / 57

Ασφάλεια σε επιθέσεις CPA Θεώρημα Αν το DDHP είναι δύσκολο, τότε το κρυπτοσύστημα El Gamal διαθέτει ασφάλεια IND-CPA. Απόδειξη: Έστω ότι το ElGamal δεν διαθέτει ασφάλεια IND-CPA. Άρα A, ο οποίος μπορεί να νικήσει στο παιχνίδι CPA με μη αμελητέα πιθανότητα. Κατασκευή B : Είσοδος: τριάδα στοιχείων Εσωτερικά: Προσομοίωση του C στο παιχνίδι CPA και χρήση A Αποτέλεσμα: Ξεχωρίζει DH τριάδα από τυχαία Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 24 / 57

Ασφάλεια σε επιθέσεις CPA Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 25 / 57

Ασφάλεια σε επιθέσεις CPA Είσοδος: g α, g β, g c Στο CPA-GAME δημόσιο κλειδί y = g α Ο B απαντά στις κρυπτογραφήσεις του A Όταν ο A προκαλέσει με δύο μηνύματα o C διαλέγει τυχαίο bit {0, 1}, κρυπτογραφεί το M b με τυχαιότητα το g β και πολλαπλασιάζει με g c Τελικά στέλνει το: (g β, M b g c ) O A επιστρέφει την τιμή του bit Ο B εξάγει το bit Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 26 / 57

Ασφάλεια σε επιθέσεις CPA Ανάλυση Για τριάδα DH: g c = (g α ) β = y β ο A θα λάβει ένα έγκυρο κρυπτοκείμενο ElGamal. H πιθανότητα να μαντέψει σωστά είναι τουλάχιστον: 1/2 + non-negl(λ). Για τυχαία τριάδα: ο A θα πρέπει να μαντέψει τυχαία Πιθανότητα επιτυχίας: 1 2. Τελική πιθανότητα επιτυχίας για B τουλάχιστον non-negl(λ) Μπορεί να ξεχωρίσει μία DH τριάδα από μία τυχαία με μη αμελητέα πιθανότητα. Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 27 / 57

Ομομορφικές Ιδιότητες Πολλαπλασιαστικός Ομομορφισμός Encrypt y (r 1, m 1 ) Encrypt y (r 2, m 2 ) = (g r 1, m 1 y r 1 ) (g r 2, m 2 y r 2 ) = (g r 1+r 2, (m 1 m 2 ) y r 1+r 2 ) = Encrypt y (r 1 + r 2, m 1 m 2 ) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 28 / 57

Ομομορφικές Ιδιότητες Reencryption Encrypt y (r 1, m) Encrypt y (r 2, 1) = (g r 1, my r 1 ) (g r 2, y r 1 ) = (g r 1+r 2, my r 1+r 2 ) = Encrypt y (r 1 + r 2, m) Αλλαγή της τυχαιότητας - Αλλαγή της μορφής του μηνύματος...χωρίς γνώση του ιδιωτικού κλειδιού Malleability Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 29 / 57

Ομομορφικές Ιδιότητες Προσθετικός Ομομορφισμός - Εκθετικό ElGamal Κρυπτογράφηση του g m αντί για m Encrypt y (r, m) = (g r, g m y r ) Encrypt y (r 1, m 1 ) Encrypt y (r 2, m 2 ) = (g r 1, g m 1 y r 1 ) (g r 2, g m 2 y r 2 ) = (g r 1+r 2, g m 1+m2 y r 1+r 2 ) = Encrypt y (r 1 + r 2, (m 1 + m 2 )) Αποκρυπτογράφηση: Λαμβάνουμε το g m Επίλυση διακριτού λογαρίθμου ( εύκολου ). Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 30 / 57

Ασφάλεια σε επιθέσεις CCA To textbook ElGamal δεν διαθέτει CCA-security Έστω ότι ο A μπορεί να αποκρυπτογραφήσει μηνύματα επιλογής του, εκτός του c. Στόχος: Αποκρυπτογράφηση του c = (G, M) = (g r, m b y r ) Κατασκευή c = (G, M ) = (G g r, M ay r ) = (g r+r, a m b y r+r ), όπου a επιλέγεται από τον A H αποκρυπτογράφηση του M ( M G x ) δίνει το am b και κατά συνέπεια το m b Αν m b = m 0 επιστρέφει b = 0 αλλιώς επιστρέφει b = 1 Κρυπτοσυστήματα Διακριτού Λογαρίθμου Το κρυπτοσύστημα ElGamal 31 / 57

Cramer-Shoup cryptosystem

ElGamal CCA2: Cramer-Shoup cryptosystem Ronald Cramer, Victor Shoup, Crypto 1998 Επέκταση του ElGamal Χρήση συνάρτησης σύνοψης H (υπάρχουν εκδόσεις και χωρίς) Αν ισχύει η υπόθεση DDH, τότε παρέχει IND-CCA2 Κρυπτοσυστήματα Διακριτού Λογαρίθμου Cramer-Shoup cryptosystem 32 / 57

ElGamal CCA2: Cramer-Shoup cryptosystem Δημιουργία Κλειδιών Επιλογή πρώτων p, q με p = 2q + 1 G ειναι η υποομάδα ταξης q στο Z p Επιλογή random generators g 1, g 2 Επιλογή τυχαίων στοιχείων x 1, x 2, y 1, y 2, z Z q Υπολογισμός c = g x1 1 gx2 2 d = g y1 1 gy2 2 h = g z 1 Δημόσιο Κλειδί: (c, d, h) Μυστικό Κλειδί: (x 1, x 2, y 1, y 2, z) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Cramer-Shoup cryptosystem 33 / 57

ElGamal CCA2: Cramer-Shoup cryptosystem Κρυπτογράφηση Κωδικοποίηση μηνύματος m στο G Επιλογή τυχαίου r Z q Υπολογισμός u 1 = g r 1, u 2 = g r 2 e = mh r α = H (u 1 u 2 e) v = c r d rα Κρυπτογράφημα: (u 1, u 2, e, v) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Cramer-Shoup cryptosystem 34 / 57

ElGamal CCA2: Cramer-Shoup cryptosystem Αποκρυπτογράφηση Υπολογισμός α = H (u 1 u 2 e) Έλεγχος αν u x 1 1 u x 2 2 (u y 1 1 uy 2 2 )α = v. Σε περίπτωση αποτυχίας έξοδος χωρίς αποκρυπτογράφηση Σε περίπτωση επιτυχίας υπολογισμός m = e u z 1 Κρυπτοσυστήματα Διακριτού Λογαρίθμου Cramer-Shoup cryptosystem 35 / 57

ElGamal CCA2: Cramer-Shoup cryptosystem Ορθότητα e u z 1 = mhr u z 1 = m gzr 1 g rz 1 = m h, z αντιστοιχούν σε δημόσιο - ιδιωτικό κλειδί ElGamal u 1, e αντιστοιχούν στο κρυπτογράφημα του ElGamal Παρατηρήσεις u 2, v λειτουργούν ως έλεγχος ακεραιότητας, ώστε να μπορεί να αποφευχθεί το malleability Διπλάσια πολυπλοκότητα από ElGamal τόσο σε μέγεθος κρυπτοκειμένου, όσο και σε υπολογιστικές απαιτήσεις Κρυπτοσυστήματα Διακριτού Λογαρίθμου Cramer-Shoup cryptosystem 36 / 57

DLP-based Commitment Schemes

DLP-based Commitment Schemes Coin Flipping over the telephone Η Alice και o Bob διαφωνούν (τηλεφωνικά) για το πού θα πάνε Αποφασίζουν να ρίξουν δύο νομίσματα (απομακρυσμένα) Ίδιο αποτέλεσμα: διαλέγει η Alice Διαφορετικό Αποτέλεσμα: διαλέγει ο Bob Προβλήματα; Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP-based Commitment Schemes 37 / 57

DLP-based Commitment Schemes Λύση: Commitment Schemes Ιδιότητες Hiding - Προστατεύει αποστολέα - καθώς δεν μπορεί να διαρρεύσει το μήνυμά του Binding - Προστατεύει παραλήπτη - καθώς ο αποστολέας δεν μπορεί να αλλάξει την τιμή του εκ των υστέρων Χρήση randomization για προστασία από brute-force επιθέσεις Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP-based Commitment Schemes 38 / 57

Pedersen commitment Επιλογή ομάδας με δύσκολο DLP από TTP Επιλογή πρώτου q ώστε p = 2q + 1 πρώτος G = g υπομάδα τάξης q του Z p Επιλογή τυχαίου h (ή x Z q και h = g x ) Δημοσιοποίηση g, G, p, q, h Δέσμευση: c = commit(m, r) = g m h r mod p Αποκάλυψη: Αποστολή m, r Επαλήθευση: c =? g m h r Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP-based Commitment Schemes 39 / 57

Ιδιότητες - Information Theoretically Hiding c = g m h r = g m+xr (mod p) Ακόμα και ένας παντοδύναμος αντίπαλος να μπορεί να λύσει το DLP θα έχει μία εξίσωση της μορφής d = m + xr (mod q) 2 άγνωστοι (m, r) - 1 εξίσωση Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP-based Commitment Schemes 40 / 57

Ιδιότητες - Computationally Binding Aν το DLP είναι δύσκολο τότε το σχήμα δέσμευσης είναι binding Έστω c = commit(m, r) = commit(m, r ) με m m m + xr = m + xr ΑΤΟΠΟ DL-based collision resistance g m h r = g m h r g m+xr = g m +xr (mod q) x = m m r r Κρυπτοσυστήματα Διακριτού Λογαρίθμου DLP-based Commitment Schemes 41 / 57

Secret Sharing - Threshold Cryptosystems

Διαμοιρασμός απορρήτων - Εισαγωγή Το πρόβλημα Κλειδιά: κρίσιμα κρυπτογραφικά δεδομένα (όχι τα μόνα) Για παράδειγμα: ιδιωτικό κλειδί Δύναμη αποκρυπτογράφησης Δύναμη υπογραφής Λύση Δεν θέλουμε να είναι στην φυσική κατοχή μίας οντότητας (μόνο) Βασικό συστατικό Secure Multi Party Computation Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 42 / 57

Additive secret sharing Έστω (G, +) μια ομάδα και s G το μυστικό το οποίο θέλουμε να μοιράσουμε σε n παίκτες Διαλέγουμε τυχαία s 1, s n 1 G Θέτουμε s n = s n 1 i=1 s i Μοιράζουμε τα {s i } n i=1 στους παίκτες Ανακατασκευή s = n i=1 s i Παραλλαγή: Αν s {0, 1} l τότε υλοποίηση με XOR s n = s ( n 1 i=1 s i) Ασφάλεια: Κανένα υποσύνολο από n 1 παίκτες δεν μπορεί να ανακατασκευάσει το s Πρόβλημα: Ένας παίκτης μπορεί να ακυρώσει την ανακατασκευή Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 43 / 57

Threshold Secret Sharing Παραλλαγή για ευελιξία: (t, n) threshold secret sharing Ένα μυστικό s πρέπει να μοιραστεί σε n παίκτες P 1, P 2, P n ώστε: Οποιοδήποτε υποσύνολο από τουλάχιστον t παίκτες να μπορεί να το ανακτήσει Κανένα υποσύνολο με t 1 παίκτες να μην μπορεί Υπόθεση Εμπιστευόμαστε τον διανομέα D και τους παίκτες Λύση: Shamir secret sharing - Βασίζεται σε πολυώνυμα σε πεπερασμένο σώμα F με s F, F > n Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 44 / 57

Πολυωνυμική παρεμβολή Έστω ένα πολυώνυμο βαθμού t 1: p(x) = a 0 + a 1 x + + a t 1 x t 1 Μπορεί να ανακατασκευαστεί από t σημεία (x i, p(x i )) με διαφορετικές τετμημένες (με μοναδικό τρόπο) Υπάρχουν άπειρα πολυώνυμα βαθμού t που περνούν από t σημεία Υπάρχει μοναδικό πολύωνυμο βαθμού t 1 που περνά από t σημεία Κατασκευή με συντελεστές Lagrange λ i (x) = t k=1,k i x x k x i x k Προκύπτει το L(x) = t i=1 p(x i)λ i (x) = p(x 1 )λ 1 (x) + + p(x t )λ t (x) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 45 / 57

Shamir secret sharing: Διανομή Υποθέτουμε ότι διαθέτουμε έναν έμπιστο διανομέα: Επιλέγει και δημοσιοποιεί ένα πρώτο p Επιλέγει t 1 συντελεστές ενός πολυωνύμου βαθμού t {a t 1,, a 1 } R Z p Θέτει ως σταθερό όρο το μυστικό s Προκύπτει το πολυώνυμο p(x) = a t 1 x t 1 + + a 1 x + s (mod p) p(0) = s Μοιράζει στον παίκτη i την τιμή (i, p(i)) (ή (x i, p(x i )), x i R Z p ) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 46 / 57

Shamir secret sharing: Ανακατασκευή Παρατήρηση: Δεν μας ενδιαφέρει να υπολογίσουμε το πολυώνυμο p αλλά το μυστικό p(0) = s Κάθε παίκτης i υπολογίζει τους συντελεστές Lagrange λ i (0) = t k k=1,k i i k mod p t παίκτες μπορούν να υπολογίσουν το p(0) ως: t i=1 p(i)λ i(0) mod p Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 47 / 57

Παρατηρήσεις I Πληροφοριοθεωρητική ασφάλεια αν ο αντίπαλος διαθέτει λιγότερα μερίδια Μπορούν να προστεθούν εύκολα καινούρια μερίδια, χωρίς να αλλάξουν τα παλιά: Υπολογισμός νέων σημείων Εύκολη αντικατάσταση μεριδίων: Υπολογισμός νέων σημείων (πρέπει να γίνει ασφαλής καταστροφή των παλιών) Σημαντικοί παίκτες: περισσότερα από ένα μερίδια Αλλαγή Μεριδίων: Τροποποίηση πολυωνύμου χωρίς να αλλάξει το μυστικό Ομομορφικές ιδιότητες (άθροισμα πολυωνύμων είναι πολυώνυμο) s 1 + s 2 = f(0) + g(0) = (f + g)(0) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 48 / 57

Παρατηρήσεις II Μειονεκτήματα: Εμπιστοσύνη Κακόβουλος διανομέας: Λανθασμένα μερίδια σε τμήμα των παικτών Κακόβουλος παίκτης: Παροχή λανθασμένων μεριδίων κατά τη διάρκεια της ανακατασκευής Λύση: Συνδυασμός με σχήμα δέσμευσης (Verifiable Secret Sharing) Ο διανομέας μαζί με τα μερίδια παρέχει και δεσμεύσεις για τους συντελεστές Οι παίκτες επαληθεύουν ότι οι δεσμεύσεις δίνουν το σημείο τους Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 49 / 57

Feldman Verifiable Secret Sharing Υποθέσεις Ομάδα G τάξης q με γεννήτορα g με δύσκολο DLP Υπολογιστική Ασφάλεια Για απλότητα χρήση συνάρτησης σύνοψης H για δέσμευση Για ασφάλεια: Απαιτείται έντιμη πλειοψηφία (το πολύ t 1 corrupted / τουλάχιστον t honest) Οποιοδήποτε σύνολο από t honest θα ανακατασκευάσει το μυστικό Για έντιμο διανομέα: το μυστικό είναι το σωστό Οι corrupted δεν μαθαίνουν τίποτα για το s Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 50 / 57

Feldman Verifiable Secret Sharing: Διαμοιρασμός s Ο διανομέας: Επιλογή a 0 R Z q Διαμοιρασμός του a 0 με Shamir Secret Sharing Επιλογή a 1,, a t 1 R Z q Ορισμός p(x) = a 0 + t 1 j=1 a j x j Αποστολή s i = p(i) στον P i Broadcast: {A j = g a j} t 1 j=0 και c = H(a 0 ) s Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 51 / 57

Feldman Verifiable Secret Sharing: Φάση επαλήθευσης Κάθε παίκτης P i υπολογίζει: t 1 t 1 t 1 c i = (A j ) ij = (g a j ) ij = g a j i j t 1 = g j=0 a j i j = g p(i) j=0 j=0 j=0 Αν ο διανομέας είναι έμπιστος θα ισχύει: c i = g p(i) = g s i Επαλήθευση σχέσης: Αν δεν ισχύει ο P i τερματίζει ανεπιτυχώς Αν τερματίσουν πάνω από t χρήστες, ο διανομέας δεν είναι έμπιστος: τερματισμός Αν τερματίσουν λιγότεροι από t χρήστες: Φταίει ο P i - επανάληψη s i Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 52 / 57

Feldman Verifiable Secret Sharing: Φάση ανακατασκευής Συγκέντρωση τουλάχιστον t μεριδίων - υπολογισμός a 0 Υπολογισμός s = H(a 0 ) c Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 53 / 57

Εφαρμογή: Threshold ElGamal I Δημιουργία Κλειδιών από (trusted) dealer Οι παίκτες είναι αρχές που συνεργάζονται στην αποκρυπτογράφηση Επιλογή δύο μεγάλων πρώτων p, q ώστε q (p 1) Επιλογή της υποομάδας τάξης q του Z και γεννήτορα g Επιλογή τυχαίου x Z q Κανονικός υπολογισμός δημοσίου κλειδιού y = g x mod p Χρήση σχήματος Shamir για διαμοιρασμό του ιδιωτικού x (mod q) Αποτέλεσμα: Δημόσιο κλειδί και μερίδια KeyGen(1 λ ) = (y, {i, p(i)} n i=1 ) Κρυπτογράφηση Κανονικά Encrypt(y, m) = (G, M) = (g r, m y r ) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 54 / 57

Εφαρμογή: Threshold ElGamal II Αποκρυπτογράφηση: Σε δύο βήματα 1. Αποκρυπτογράφηση μεριδίων Κάθε παίκτης υπολογίζει και δημοσιοποιεί το c i = G p(i) mod p 2. Συνδυασμός Συγκεντρώνονται t αποκρυπτογραφημένα μερίδια (i, c i ) τα οποία συνδυάζονται ως: C = i c λ i (0) i = i G p(i)λ i (0) = G i p(i)λ i (0)) = G p(0) = G x όπου λ i οι συντελεστές Lagrange Αποκρυπτογράφηση ως: M C Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 55 / 57

Παρατηρήσεις Υπολογιστική ασφάλεια ως προς τα c i Ίδια κρυπτογράφηση Αποκρυπτογράφηση χωρίς ανακατασκευή του ιδιωτικού κλειδιού (δυνατότητα επαναχρησιμοποίησης) Κρυπτοσυστήματα Διακριτού Λογαρίθμου Secret Sharing - Threshold Cryptosystems 56 / 57

Πηγές

Βιβλιογραφία i Παγουρτζής, Α., Ζάχος, Ε., ΓΠ, 2015. Υπολογιστική κρυπτογραφία. [ηλεκτρ. βιβλ.] Αθήνα:Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography (Chapman and Hall/Crc Cryptography and Network Security Series). Chapman and Hall/CRC, 2007 Nigel Smart. Introduction to cryptography Paar, Christof, and Jan Pelzl. Understanding cryptography: a textbook for students and practitioners. Springer Science-Business Media, 2009. Kiayias, Aggelos Cryptography primitives and protocols, UoA, 2015 Dan Boneh, Introduction to cryptography, online course Torben Pryds Pedersen. Non-interactive and information-theoretic secure verifiable secret sharing. In CRYPTO 91, pages 129 140, 1991 Victor Shoup Why chosen ciphertext security matters, 1998 Adi Shamir, How to share a secret. Communications of the ACM 22.11 (1979): 612-613. Helger Lipmaa, 79.159 Cryptography and Data Security, 24.03.2004 Lecture 9: Secret Sharing, Threshold Cryptography, MPC J. Kuhn The Mathematics of Secret Sharing Κρυπτοσυστήματα Διακριτού Λογαρίθμου Πηγές 57 / 57