730 likes | 989 Views
Εισαγωγή στην Κρυπτογραφία. Κρυπτογραφία πλέγματος ( Lattice Cryptography). Γενικά χαρακτηριστικά της κλασικής κρυπτογραφίας. Στηρίζεται σε δύσκολα προβλήματα ( NP), βασισμένα κυρίως στη θεωρία αριθμών (για παράδειγμα, παραγοντοποίηση μεγάλων αριθμών) Μειονεκτήματα:
E N D
Εισαγωγή στην Κρυπτογραφία Κρυπτογραφία πλέγματος (Lattice Cryptography)
Γενικά χαρακτηριστικάτης κλασικής κρυπτογραφίας • Στηρίζεται σε δύσκολα προβλήματα (NP), βασισμένα κυρίως στη θεωρία αριθμών (για παράδειγμα, παραγοντοποίηση μεγάλων αριθμών) • Μειονεκτήματα: • Δεν έχει αποδειχτεί για όλα αυτά τα προβλήματα ότι είναι από τα δυσκολότερα μεταξύ των υπολοίπων NP προβλημάτων • Τα συστήματα γίνονται επισφαλή σε ειδικές περιπτώσεις – για παράδειγμα, στον RSA, αν το ίδιο μήνυμα σταλεί σε 3 διαφορετικούς αποδέκτες, υπάρχει η δυνατότητα ανάκτησής του από κάποιον εισβολέα, με χρήση του Θεωρήματος Κινεζικού Υπολοίπου (Chinese Remainder Theorem) • Κβαντικοί υπολογιστές μπορούν να παραγοντοποιήσουν αριθμούς σε πολυωνυμικό χρόνο
Χαρακτηριστικά κρυπτογραφίας πλέγματος • Διαφορετικού τύπου αλγόριθμοι υπεισέρχονται στα κρυπτογραφικά συστήματα (βασισμένοι στη θεωρία πλέγματος – lattice theory) • Πολλά από αυτά τα προβλήματα είναι NP-hard • Δεν έχει βρεθεί ακόμη κβαντικός αλγόριθμος αποδοτικής επίλυσής τους
Εισαγωγικά-Τι είναι πλέγμα; • Χρησιμοποιούνται τόσο στην κρυπτανάλυση (για να σπάσουν κρυπτοσυστήματα) όσο και στην κρυπτογραφία (χρησιμοποιώντας δύσκολα προβλήματα για το σχεδιασμό ασφαλών κρυπτοσυστημάτων) • Ιστορικά : οι κρυπταναλυτικές εφαρμογές έγιναν πριν τις κρυπτογραφικές
Πλέγματα • Έστω B={b1,…,bn} γραμμικά ανεξάρτητα διανύσματα στοRm, m n. • Τοπλέγμα που παράγεται από το B, ορίζεται ως το σύνολο L(B) όλων των ακέραιων γραμμικών συνδυασμώντων διανυσμάτων του B, δηλαδή, • L(B) = { x1b1 + x2b2 +…+ xnbn Ζn } όπου xi ακέραιοι αριθμοί, xi Ζ.
Εισαγωγικά-Τι είναι πλέγμα; • Με άλλα λόγια πλέγμα είναι μια κανονική διάταξη σημείων στον m-διάστατο χώρο . • Μερικές φορές καλείται point lattice (ή integer lattice, όταν οι συντεταγμένες των σημείων τομής είναι ακέραιες).
Πλέγματα και Βάσεις • To Βκαλείται βάση και μπορεί να παρασταθεί σαν ένας mxn πίνακας, Β = [b1, b2, …bn] που οι στήλες του είναι τα διανύσματα βάσης . • Ισχύει m n. Αν m = n το πλέγμα καλείται πλήρους διάστασης (full-dimensional) . Μια βάση και το πλέγμα που παράγει.
Έκταση πλέγματος: span( B ) • Η παράσταση span(B) διαφέρει από το χώρο διανυσμάτων που γεννάται από το Β, δηλ., • span(B) = {x1b1 + … + xnbn: xi R} όπου οι στήλες του B μπορούν να συνδυαστούν με αυθαίρετους πραγματικούς συντελεστές. • Ισοδύναμα: span(B) = {B x: x Rn) • Εάν το Bείναι μια βάση ενός πλέγματος L(B) τότε είναι βάση και για το χώρο διανυσμάτωνspan(B). • Το αντίστροφο δεν ισχύει πάντα.
Tο βασικό Παραλληλεπίπεδο, του πλέγματος • Ορίζεται ως P(B) = { c1b1 + … + cnbn: 0 ci < 1}
Ιδιότητες πλεγμάτων • Κάθε πλέγμα έχει άπειρες βάσεις. Πράγματι, εάν Μ είναι ένας n x n πίνακας ακεραίων με ορίζουσα ίση με 1 ή –1 (unimodular, οπότε τότε και ο Μ-1 είναι πίνακας ακεραίων) τότε και ΒΜ είναι επίσης βάση του L(B). • Η ορίζουσα det(L)ενός πλέγματοςL(B) ως προς μία βάση Bορίζεται ως o m-διαστάσεων όγκος του P(B). • Αποδεικνύεται ότι η ορίζουσα είναι ανεξάρτητη της επιλογής της βάσης Β. • Ισχύει det(L) = det(BTB)1/2
Παράδειγμα 2 • Ξεκάθαρα, τα κόκκινα διανύσματα είναι στο μπλέ πλέγμα • αριστερό μπλέ = δεξιό κόκκινο – αριστερό κόκκινο • δεξιό μπλέ = – αριστερό κόκκινο – 2 αριστερό μπλέ • Παρατήρησε ότι το κόκκινο παραλληλεπίπεδο έχει τον ίδιο όγκο όπως το μπλέ. Για να καλύψεις το R2πρέπει να βάλεις ένα σε κάθε σημείο του πλέγματος
Παράδειγμα 3 • Δεν είναι όλα τα διανύσματα βάση • Τα κίτρινα διανύσματα δημιουργούν ένα υπο-πλέγμα sub-lattice • Το κίτρινο παραλληλεπίπεδο είναι πολύ μεγάλο • Δεν μπορούμε να βάλουμε ένα για κάθε σημείο του πλέγματος
Νόρμες • Μία συνάρτηση ||·||: Rn Rn λέγεται νόρμα αν για κάθε u, v Rn και λ R : ||λu|| = |λ| ||u|| ||u + v|| ||u|| + ||v|| ||u|| > 0 για u 0 • Ο αριθμός ||u|| καλείται νόρμα ή μήκος (length)του διανύσματος u • νόρμα l1:||(u1, u2, …, un)T||1 = Σ|ui| • νόρμα (Ευκλείδεια νόρμα) l2 :||(u1, u2, …, un)T||2 = (Σ ui2)1/2 • Γενικά, νόρμαlp:||(u1, u2, …, un)T||p = (Σ|ui|p)1/p • Sup νόρμαl:||(u1, u2, …, un)T|| = max |ui|
Μείωση πλέγματος (Lattice Reduction) • Στοχεύει στην εύρεση βάσεων πλέγματος που παρουσιάζουν ενδιαφέρον • Μειωμένες βάσεις με μικρά και σχεδόν ορθογώνια διανύσματα • Βάσεις με μικρά διανύσματα μεγάλες γωνίες μεταξύ των διανυσμάτων • Ανάγεται στους Lagrange, Gauss, Hermite και Minkowski • Αναβίωσε το 1981 (αλγοριθμική θεωρία αριθμών)
Μείωση πλέγματος (Lattice Reduction)Αλγόριθμος LLL • 1981: Lenstra, ακέραιος προγραμματισμός • Τεχνική μείωσης βάσης σε πολυωνυμικό χρόνο μόνο για σταθερή διάσταση n • Lovasz: παραλλαγή του αλγορίθμου • Μείωση βάσης σε πολυωνυμικό χρόνο • Αλγόριθμος LLL: Lenstra, Lenstra, Lovasz • Παραγοντοποίηση πολυωνύμων σε πολυωνυμικό χρόνο • Βελτιωμένες παραλλαγές (π.χ. Schnorr)
Ο LLL αλγόριθμος ( lattice reduction algorithm - Lenstra Lenstra Lovàsz 1982 ) • Η εύρεση μιας βάσης με σχετικά μικρά διανύσματα καλείται μείωση βάσης πλέγματος (latticebasisreduction). Για την επίλυση αυτού του προβλήματος έχουν δοθεί αξιοσημείωτοι γρήγοροι αλγόριθμοι, όπως ο LLL αλγόριθμος (ο οποίος τρέχει σε πολυωνυμικό χρόνο ), που έχουν ευρεία εφαρμογή στα υπολογιστικά μαθηματικά και την κρυπτανάλυση. • Ωστόσο σε κάποιες περιπτώσεις η εύρεση μιας μειωμένης βάσης (reducedbasis) παραμένει ανέφικτο πρόβλημα (είναιΝΡ-σκληρόπρόβλημα).
Μείωση πλέγματος (Lattice Reduction)Αλγόριθμος LLL • Είσοδος: μια βάση B για ένα πλέγμα L διάστασης n. • Έξοδος: μια μειωμένη βάση– ένα σύνολο μικρών διανυσμάτων που γεννούν το πλέγμα L. • Απαιτεί πολυωνυμικό χρόνο. • Αποδεδειγμένη απόδοση: το μικρότερο διάνυσμα στη μειωμένη βάση είναι το πολύ 2 n/2μεγαλύτερο από το μικρότερο μη μηδενικό διάνυσμα του πλέγματος κάτω από την νόρμα l2. • Πειραματική απόδοση: για λογικά μικρά n, και εάν το κενό(ο λόγος ||b2||/||b1|| των δύο μικρότερων διανυσμάτων) του πλέγματος είναι μεγάλο, ό LLL βρίσκει σχεδόν πάντα το μικρότερο διάνυσμα.
Προβλήματα Πλέγματος • Πρόβλημα μικρότερου διανύσματος(Shortest Vector Problem – SVP) • Πρόβλημα πλησιέστερου διανύσματος(Closest vector problem – CVP)
Πρόβλημα μικρότερου διανύσματος(Shortest Vector Problem – SVP) Πρόβλημα: Για ένα πλέγμα L , εύρεση του διανύσματός εκείνου με τη μικρότερο μήκος, ως προς κάποια συγκεκριμένη νόρμα Για την νόρμα, το πρόβλημα επαναδιατυπώνεται ως εύρεση του διανύσματος εκείνου που είναι πλησιέστερα στο μηδέν • Για τη sup norm, το πρόβλημα είναι NP-complete
Πρόβλημα πλησιέστερου διανύσματος(Closest vector problem – CVP) Πρόβλημα: Για ένα πλέγμα L και ένα σημείο του t, εύρεση του διανύσματoς εκείνου για το οποίο το μήκος της απόστασής του με το t (ως προς κάποια συγκεκριμένη νόρμα) είναι το μικρότερο δυνατό. • Για την νόρμα, το πρόβλημα είναι NP-complete
Άλλα δύσκολα προβλήματα • Εάν η διάσταση n του πλέγματος είναι μεγάλη, τα SVP και CVP είναι πολύ δύσκολο να λυθούν • Πρόβλημα Μικρότερης βάσης (Shortest Basis Problem – SBP): Εύρεση της μικρότερης βάσης ενός πλέγματος . Προσεγγιστικά πολυωνυμικοί αλγόριθμοι είναι παραλλαγές του LLL αλγόριθμου . • Πρόβλημα καλύπτουσας ακτίνας (Covering radius problem):Εύρεση για ένα πλέγμα βάσης Bτου αριθμού rμε την ιδιότητα κάθε στοιχείο του span(B) να βρίσκεται σε απόσταση μικρότερη τουrαπό το L(B)
Κρυπτοσυστήματα πλέγματος • GGH(http://theory.lcs.mit.edu/~cis/lattice/challenge.html ) • HNF(http://philby.ucsd.edu/cryptolib/psfiles/99-05.ps) • NTRU (http://www.ntru.com/) • Ajtai-Dwork http://theory.lcs.mit.edu/~shaih/challenge.html) • Tensor κρυπτοσυστήματα • Άλλα Συγκεντρωμένη βιβλιογραφία: http://www.eleves.ens.fr/home/stehle/en-refreseaux/en-cryptosystemes.html
Κρυπτοσύστημα GGH(Goldreich – Goldwasser – Halevi) • Βασίζεται στο CVP • Ιδιωτικό κλειδί:μια μειωμένη βάση B nμικρών σχεδόν ορθογωνίων διανυσμάτων. • Δημόσιο κλειδί: Μία τυχαία βάση R={b1,…,bn} του πλέγματος που παράγεται από το ιδιωτικό κλειδί B. • Άρα το δημόσιο και το ιδιωτικό κλειδί είναι αναπαραστάσεις του ίδιου πλέγματος . • Ο αντίστροφος υπολογισμός της μειωμένης βάσης του ιδιωτικού κλειδιού R με δεδομένη τη βάση B του δημόσιου κλειδιού θα σήμαινε επίλυση του προβλήματος SBP.
Το ιδιωτικό κλειδί είναι μια μειωμένη βάση με μικρού μήκους (σχεδόν ορθογώνια) διανύσματα
Κρυπτογράφηση ΠλέγματοςΠρώτο σχήμα • Ενσωμάτωση του μηνύματος στο διάνυσμα λάθους • Η κρυπτογράφηση γίνεται με το να πάρουμε ένα τυχαίο σημείο του πλέγματος και να εφαρμόσουμε σ’ αυτό μια μικρή διαταραχή (λάθος), που αντιστοιχεί στο ανοικτό μήνυμα, ώστε να πάρουμε ένα άλλο σημείο (το κρυπτόγραμμα), το οποίο δεν ανήκει στο πλέγμα, αλλά είναι πλησιέστερα στο τυχαία ληφθέν σημείο του πλέγματος. • Για την αποκρυπτογράφηση απαιτείται να λύσουμε άμεσα το πρόβλημα του πλησιέστερου διανύσματος ως προς το σημείο του κρυπτογράμματος, προσεγγιστικά με τη χρήση της ιδιωτικής βάσης του πλέγματος. • Το σχήμα αυτό χρησιμοποιείται στο κρυπτοσύστημα HNF
Κρυπτογράφηση με πλέγμα Πρώτο σχήμα Αποκρυπτογράφηση Χρήση της Β για να βρεις Βy=Rxπλησιέστερα στο c (CVP) D(c) = c – By = m Κρυπτογράφηση Επέλεξε Rxτυχαία Ιδιωτικό κλειδί Πρόσθεσεωςμικρό λάθος Πλέγμα Β το μήνυμαm E(m) = Rx + m = c Δημόσιο κλειδί Τυχαία βάση R
Κρυπτογράφηση Πλέγματος Δεύτερο σχήμα - GGH • Ενσωμάτωση του μηνύματος σε διάνυσμα πλέγματος • Η κρυπτογράφηση γίνεται με το να πάρουμε ένα σημείο του πλέγματος που αντιστοιχεί στο ανοικτό μήνυμα και να εφαρμόσουμε μια μικρή τυχαία διαταραχή (λάθος) σ’ αυτό ώστε να πάρουμε ένα άλλο σημείο (το κρυπτόγραμμα), το οποίο δεν ανήκει στο πλέγμα, αλλά του οποίου όμως το πλησιέστερο σημείο του πλέγματος είναι το ανοικτό μήνυμα! • Για την αποκρυπτογράφηση δεν απαιτείται να λύσουμε άμεσα το πρόβλημα του πλησιέστερου διανύσματος. Αυτό πρέπει να το λύσει ο εχθρός
Κρυπτογράφηση με πλέγμα Δεύτερο Σχήμα (GGH) Αποκρυπτογράφηση Υπολόγισε [Β-1c] D(c) = R-1B[Β-1c] = m Κρυπτογράφηση Κωδικοποίησε το m ωςx Υπολόγισε Rxκαι πρόσθεσε Ιδιωτικό κλειδί τυχαίο μικρό λάθος r Πλέγμα B E(m) = Rx + r = c Δημόσιο κλειδί Τυχαία βάση R
Κρυπτοσύστημα GGH • Κρυπτογράφηση: Ένα μήνυμα m = m1,…,mn (κάθε miείναι ακέραιος), κρυπτογραφείται ως: c = όπου r τυχαίο διάνυσμα (η διαταραχή). • Αποκρυπτογράφηση: προβολή του κρυπτογράμματος στο πλέγμα και προσέγγισή του στο πλησιέστερο διάνυσμα (σημείο) p που ανήκει στο πλέγμα ώστε m = B-1p • Μια επίθεση σημαίνει επίλυση του CVPκαι όσο μεγαλώνει το δ τόσο αυξάνεται η δυσκολία του CVP αλλά πρέπει και να παραμείνει μικρό το δ για να επιτύχει η διαδικασία της αποκρυπτογράφησης ,
Γενικά χαρακτηριστικά GGH(με ποιο λεπτομέρεια) • Το δημόσιο κλειδί Rαποτελείται από μεγάλου μήκους διανύσματα, ενώ το ιδιωτικό κλειδί Bείναι μία βάση του πλέγματος με μικρότερα διανύσματα • Για την επιλογή του ιδιωτικού κλειδιού Bγίνεται τυχαία και ομοιόμορφη επιλογή διανυσμάτων από το {-λ, λ}n xn, με τυπική τιμή του λ το 4. • Από την Β υπολογίζεται το δημόσιο κλειδί Rμε μια ακολουθία 2n τυχαίων μετά-πολλαπλασιασμών με ειδικούς στοιχειώδεις ακεραίους πίνακες με ορίζουσα 1(unimodular). • Για λόγους αποδοτικής αποκρυπτογράφησης φυλάσσονται τα B-1και T = R –1B αντί του Β. • Για την αποκρυπτογράφηση, χρησιμοποιείται η τεχνική Babaiγια την κατά προσέγγιση εύρεση του πλησιέστερου γείτονα. • Η ασφάλεια του GGH έγκειται στο πρόβλημα CVP
GGH– κρυπτογράφηση • Κωδικοποίησε το μήνυμα m ως ένα διάνυσμα στο Ζn. • Διάλεξε ένα τυχαίο διάνυσμα r Rn τέτοιο ώστε |ri| δ, δηλ., ri= δ με πιθανότητα ½, i = 1,…n. • Το κρυπτόγραμμα είναι το c = Rm + r • To c είναι κοντά στο σημείο Rm του πλέγματος. • Πολυπλοκότητα κρυπτογράφησης: Ο(n2) βήματα και χρονική πολυπλοκότητα Ο(n2log2 n)
GGH– αποκρυπτογράφηση(τρόπος Babai) • [Babai 86]: Είσοδος είναι το ιδιωτικό κλειδί B και τοκρυπτόγραμμα c. • Επίσης έχουν υπολογιστεί τα B-1και T = R–1B. • Κάνε τα εξής: • Γράψε το c ως γραμμικό συνδυασμό των διανυσμάτων του Β, δηλ.,υπολόγισε το διάνυσμα Β-1 c. • Στρογγυλοποίησε τους συντελεστές του Β-1 c στους πλησιέστερους ακεραίους, [B-1c] • Υπολόγισε το Τ[B-1c] • Ο ακέραιος γραμμικός συνδυασμός που προκύπτει είναι ένα σημείο του πλέγματος m’=Τ[B-1c] • Πολυπλοκότητα αποκρυπτογράφησης: Ο(n2) βήματα και χρονική πολυπλοκότητα Ο(n4 log2 n)
GGH– αντιστρέφοντας τη συνάρτηση(τρόπος Babai) • Λήμμα: m’ = mεάν και μόνο εάν [Β-1r]= 0 • Απόδειξη: • m’ = Τ[Β-1c] • = Τ[Β-1 (Rm + r)]διότι c = Rm + r • = Τ[Β-1 (BT -1m + r)]διότι R = BT -1 • = Τ[T -1m + Β-1 r] • = Τ(T -1m + [Β-1 r])διότι T –1= Β-1Rείναι unimodular και • = m +T [Β-1 r]το m έχει ακέραιες τιμές • Άρα m’ – m = [Β-1 r]
Το κρυπτοσύστημα GGH δουλεύει • Θεώρημα: Για κάθε ε0, (και μπορεί να υπολογιστεί) δ: Prr[m’m] ε (με ri=δ) • q«Τυπικές τιμές» (για n=140) Bij{-4, …, +4}, ε=10-4, δ =2.7
Ασφάλεια GGH ToGGH έχει 2 αδυναμίες: 1)Το τυχαίο διάνυσμα r που χρησιμοποιείται στην κρυπτογράφηση είναι πάντα μικρότερο από τα διανύσματα πλέγματος . Σε όλα τα γνωστά κρυπτοσυστήματα είναι τουλάχιστον δύο φορές πιο μικρό . Άρα οι περιπτώσεις CVP που προκύπτουν είναι ευκολότερες από γενικές περιπτώσεις CVP . 2) Έστω c=Rm + r ,όπου r { -δ ,δ }n . Εάν s =(δ,δ,…,δ)τ τότε c+s =Rm (mod 2δ ). Έτσι αν ο πίνακας R είναι αντιστρέψιμος τότε θα αποκαλυφθεί το m mod 2δ πράγμα που απλοποιεί το CVP.Αυτή η αδυναμία διορθώνεται με το να επιλέγω το r τυχαία στο {-δ,..., +δ} (πράγμα που έχει ήδη διορθωθεί)
Η ασφάλεια στο GGH • Οι δύο βασικές απειλές έγκεινται στα εξής: • 1)Ανάκτηση της καταπακτής Όμως η εύρεση του B από το R είναι υπολογιστικά σκληρή (SBP) • 2)Παράκαμψη της καταπακτής Όμως η εύρεση του m από το (R, c) είναι υπολογιστικά σκληρή (CVP)
Το GGH προς το μέλλον • Αναθεώρηση ασφάλειας • Το κάτω φράγμα n=300 πρέπει να αυξηθεί • Οι προκλήσεις για n=200 έως 400 λύθηκαν (εκτός από n=400) • άλλες προκλήσεις • δημιουργία πιο ευέλικτων (αποδοτικών) σχημάτωνκαι για • γρηγορότερη κρυπτογράφηση/αποκρυπτογράφηση • χρήση μικρότερων κλειδιών • Το μήκος του κλειδιού του GGH είναι πολύ μεγαλύτερο αυτό του RSA: για το Β είναι της τάξεως του n2 και για το R-1και Τ του n3
Βελτίωση του GGHHermite κανονική μορφή- HNF • Βελτίωση του GGH από τον Micciancio • Με τη χρήση δημόσιας βάσης Β σε Hermite Normal Form • Ορισμός HNF: ένας αντιστρέψιμος (nonsingular)ακέραιος πίνακας Η είναι σε Hermite κανονική μορφήεάν: • Η είναι άνω τριγωνικός • Οι διαγώνιες τιμές είναι μεγαλύτερες του μηδενός • Για όλα τα 1 i < j n ισχύει 0 Ηij < Hiι • Για κάθε nxn αντιστρέψιμοακέραιο πίνακα Α υπάρχει unimodular μετασχηματισμός U τέτοιος ώστε Η = ΑUώστε Η να είναι σε ΗΝF • HNFυπολογίζεται σε πολυωνυμικό χρόνο. • Χρειαζόμαστε μόνο Ο(n2 log n) bits για τη δημόσια βάση Β και το Τ
HNF Δημόσιο Κλειδί • Το σύστημα χρησιμοποιεί το ίδιο ιδιωτικό κλειδίBόπως στο σύστημα GGH • To δημόσιο κλειδί είναι η βάση Η που είναι η HNF του Β, • Όπου • Επειδή η HNF του Β μπορεί να υπολογιστεί από οποιαδήποτε άλλη βάση Β’ του πλέγματος L(Β), η επιλογή να είναι ο Η το δημόσιο κλειδί είναι η καλλίτερη (ασφαλέστερη) επιλογή.
HNFΚρυπτογραφίαΒασική ιδέα • Η τυχαία επιλογή στο GGH διανύσματος v = Rx και στη συνέχεια ηπρόσθεση λάθους e αντικαθίσταται με αναγωγή του λάθους modulo τη βάση του πλέγματος.
HNFΚρυπτογραφία • Ενσωμάτωση του μηνύματος στο διάνυσμα λάθους • Στην περίπτωση αυτή δενμας χρειάζεται διάνυσμα Hx του πλέγματος. Μας αρκεί να υπολογίσουμε απλά το E(m) = m mod H = c • η διαδικασία αποκρυπτογράφησης είναι ίδια με αυτή του GGH • Ενσωμάτωση του μηνύματος σε διάνυσμα πλέγματος • Στην περίπτωση αυτή έχουμε E(m) = (Ηm + r ) mod 2H = c • η διαδικασία αποκρυπτογράφησης είναι ίδια με αυτή του GGH
Σύγκριση HNFμε GGH • Μέγεθος κλειδιού/βάσης: • GGH : R: O(n2log n), B-1 και T: O(n3 log n) • HNF : H: O(n2 log n) • Μέγεθος κρυπτογράμματος • GGH : Rm + r: O(n2 log n) • HNF : H: O(n log n)
Κρυπτοσύστημα NTRU • Κρυπτοσύστημα δημόσιου κλειδιού • σχετικά μικρά και εύκολα να δημιουργηθούν κλειδιά • μεγάλη ταχύτητα • περιορισμένες απαιτήσεις σε μνήμη • Κορυφαίο ανάμεσα στα κρυπτοσυστήματα knapsack και πλέγματος • Υποστηρίζει ψηφιακές υπογραφές • Δεν υπάρχει τυπική απόδειξη της ασφάλειάς του
NTRU - O δακτύλιος των περικομμένων πολυωνύμων (R) • Δακτύλιος R = Z[x] / (xn – 1) όλων των περικομμένων πολυωνύμων βαθμού n - 1 με ακέραιους συντελεστές. • Το κρυπτοσύστημα NTRU βασικά επεξεργάζεται πολυώνυμα στο R. • Θα παρουσιαστεί και σε μορφή πλέγματος
NTRU – O δακτύλιος των περικομμένων πολυωνύμων (R) • Τα πολυώνυμα στο Rπροστίθενται με το γνωστό τρόπο • Ο πολλαπλασιασμός στο Rγίνεται με το γνωστό τρόπο, με μία διαφορά: • Μετά τον πολλαπλασιασμό, η δύναμη xn πρέπει να αντικατασταθεί με 1, η δύναμη xn+1 πρέπει να αντικατασταθεί με x, η δύναμη xn+2 πρέπει να αντικατασταθεί με x2 κ.ο.κ. • Δηλ., έχουμε περικοπή (truncation) τωνπολυωνύμων • Ώστε το γινόμενο να ανήκει κι αυτό στο R • Παράδειγμα με n=4 (Extra Κανόνας: x4 = 1) (x3+2x-1)*(3x3-x2+x+2) = 3x6-x5+7x4-3x3+3x2+3x-2 = 3x2-x + 7 - 3x3+3x2+3x-2 = -3x3+6x2+2x+5
NTRU Πολλαπλασιασμός Πολυωνύμων Τυπικός ορισμός • Το γινόμενο των f(x) = a0+a1x+a2x2+…+an-1xn-1και g(x) = b0+b1x+b2x2+…+bn-1xn-1 είναι h(x) = f(x)*g(x) = c0+c1x+c2x2+…+cn-1xn-1 με ck = a0bk + a1bk-1 + … +akb0 + ak+1bn-1 +… an-1bk+1. • Το διάνυσμα των συντελεστών του γινομένου h(x) = f(x)g(x) είναι το γινόμενο συνέλιξης (convolution product)των διανυσμάτων των συντελεστών των f(x) και g(x). • Το convolution product μπορεί να υπολογιστεί πολύ γρήγορα με τους Fast Fourier Transforms ή με τον Karatsuba πολλαπλασιασμό κατά προσέγγιση σε n log(n) steps. • Παράδειγμα: [4, 5, 7][5, 3, 2] = 4[5,3,2] + 5[2,5,3] + 7[3,2,5] = [20,12,8] + [10,25,15] + [21,14,35] = [20+10+21, 12+25+14, 8+15+35] = [51,51,58]
NTRU – παράμετροι του συστήματος • n - τα πολυώνυμα στοR έχουν βαθμό n -1 • q (μεγάλο modulo, n ) - οι συντελεστές των πολυωνύμων θα αναχθούν mod q • p (μικρό modulo, π.χ., 3) - ως τελευταίο βήμα στη αποκρυπτογράφηση, οι συντελεστές των πολυωνύμων του μηνύματος θα αναχθούν mod p • Παράδειγμα: 5x3 - 11x2 + 4x + 6 = -x3 + x2 + x mod 3 • Πρέπει (q,p)=1 (για να εξασφαλιστεί ασφάλεια)