Lattices και κρυπτογραφία: ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ
Advertisements

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Αλγόριθμος Tonelli-Shanks
Εισαγωγή στην Κρυπτογραφία
Μια Μπεϋζιανή Μέθοδος για την Επαγωγή Πιθανοτικών Δικτύων από Δεδομένα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ B. Μεγαλοοικονόμου, Χ. Μακρής.
Η Μέθοδος RSA  Υποθέτουμε πως δυο άτομα ο Α και ο Β θέλουν να ανταλλάξουν μεταξύ τους κάποιο μήνυμα Μ, το οποίο θέλουν να κρυπτογραφήσουν για λόγους ασφαλείας.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Γραφήματα & Επίπεδα Γραφήματα
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Δυναμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
Κ. Μόδη: Γεωστατιστική και Εφαρμογές της (Κεφάλαιο 3) 1 Από κοινού κατανομή δύο ΤΜ Στην περίπτωση που υπάρχουν δύο ΤΜ ενδιαφέροντος, η συνάρτηση κατανομής.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Αριθμητικές Μέθοδοι Βελτιστοποίησης Θεωρία & Λογισμικό Τμήμα Πληροφορικής - Πανεπιστήμιο Ιωαννίνων Ι. Η. Λαγαρής.
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Εισαγωγή στην Κρυπτογραφία
Εισαγωγή στη Κρυπτογραφία
Σέρρες,Ιούνιος 2009 Τίτλος: Αυτόματος έλεγχος στο Scilab: Ανάπτυξη πακέτου για εύρωστο έλεγχο. Ονοματεπώνυμο Σπουδάστριας: Ευαγγελία Δάπκα Επιβλέπων Καθηγητής.
Ειδικά θέματα υπολογισμού και πολυπλοκότητας Θέμα : Προσεγγιστικοί αλγόριθμοι Γαζη Ιωαννα ΑΜ:3900.
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
Υπολογιστική Μοντελοποίηση στη Βιοϊατρική Τεχνολογία
Cryptography and Network Security Chapter 9
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Probabilistically Checkable Proofs Theorem (PCP THEOREM) Ομιλητής Ασημακόπουλος (Ευ)Άγγελος.
ΘΕΩΡΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΚΕΦΑΛΑΙΑ 7.4 – 7.6 NP ΠΛΗΡΟΤΗΤΑ.
Μερικές Διαφορικές Εξισώσεις ΙΙ
ΒΕΣ 06: Προσαρμοστικά Συστήματα στις Τηλεπικοινωνίες © 2007 Nicolas Tsapatsoulis Προσαρμοστικοί Αλγόριθμοι Υλοποίησης Βέλτιστων Ψηφιακών Φίλτρων: Ο αναδρομικός.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Κ. Μόδη: Γεωστατιστική και Εφαρμογές της (Κεφάλαιο 4) 1 Από κοινού κατανομή πολλών ΤΜ Ορίζεται ως από κοινού συνάρτηση κατανομής F(x 1, …, x n ) n τυχαίων.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Εισαγωγή στην Κρυπτογραφία
Ανάλυση Σ.Α.Ε στο χώρο κατάστασης
Υπολογιστική Πολυπλοκότητα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Κοζαλάκης Ευστάθιος ΠΕ03
Ασυμπτωτικός Συμβολισμός
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Οι εντολές επανάληψης Σε πολλά προβλήματα απαιτείται η επανάληψη ενός συνόλου ενεργειών προκειμένου να λυθεί το πρόβλημα. Θα αναφέρουμε δύο χαρακτηριστικά.
Factoring N=(p r )*q for large r. Εισαγωγή Ακέραιοι της μορφής N=(p r )*q Ακέραιοι της μορφής N=(p r )*q Παρατηρήθηκε ότι η RSA decryption γίνεται πιο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Εισαγωγή στην Κρυπτογραφία Εργαστηριακό σεμινάριο Άνοιξη 2007.
Αυτόνομοι Πράκτορες Ενισχυτική Μάθηση (Q-learning algorithm) in PONG Χανιά, 4/3/2011 Μπαμπαλής Μπάμπης.
ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Ι 7 η Διάλεξη Η ΜΕΘΟΔΟΣ ΤΟΥ ΓΕΩΜΕΤΡΙΚΟΥ ΤΟΠΟΥ ΡΙΖΩΝ  Ορισμός του γεωμετρικού τόπου ριζών Αποτελεί μια συγκεκριμένη καμπύλη,
ΗΛΕΚΤΡΙΚΕΣ ΜΕΤΡΗΣΕΙΣ ΣΦΑΛΜΑΤΑ ΜΕΤΡΗΣΗΣ.
Σήματα και Συστήματα 11 10η διάλεξη. Σήματα και Συστήματα 12 Εισαγωγικά (1) Έστω γραμμικό σύστημα που περιγράφεται από τη σχέση: Αν η είσοδος είναι γραμμικός.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 8η Στοχαστικά Σήματα - 1.
ΣΗΜΑΤΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ II Καθ. Πέτρος Π. Γρουμπός Διάλεξη 4η Δειγματοληψία.
Προχωρημένα Θέματα Δικτύων
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Διδάσκων: Δρ. Γενειατάκης Δημήτρης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Ψηφιακός Έλεγχος διάλεξη Παρατηρητές Ψηφιακός Έλεγχος.
Διάλεξη 6: Εξίσωση διάχυσης (συνέχεια)
Ονοματεπώνυμο Σπουδάστριας: Ευαγγελία Δάπκα
Διαφορικές εξισώσεις τάξης ανώτερης της πρώτης
Τμήμα Μηχανικών Πληροφορικής Τ.Ε.
Μη Γραμμικός Προγραμματισμός
Μη Γραμμικός Προγραμματισμός
Μεταγράφημα παρουσίασης:

Lattices και κρυπτογραφία: ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Ε.Μ.Π. Επιβλέπων : A. Παπαϊωάννου 2005

Το Knapsack Problem Δεδομένα : Ένα σακίδιο χωρητικότητας Μ ν συνεχή αντικείμενα βάρους το καθένα wi και αξίας pi όπου pi>0 και wi>0 (xi το κλάσμα των αντικειμένων που μπαίνει στο σακίδιο) Ζητούμενα : Η μεγιστοποίηση του ολικού κόστους ,ενώ πρέπει να ικανοποιούνται και οι εξής περιορισμοί : ,

Το Knapsack Problem O greedy αλγόριθμος που εφαρμόζεται για τη λύση πολυπλοκότητα O(nlogn). ,

Το Discrete Knapsack Problem Δεδομένα: Ένα σακίδιο χωρητικότητας Μ n διακριτά αντικείμενα βάρους το καθένα wi και αξίας pi όπου U={u1,u2,…,un} αντικείμενα με ακολουθία αποφάσεων αποφάσεων x1,x2,…,xn με xi{0,1} , που αντιστοιχούν στα u1,u2,…,un . Ζητούμενα: Η βέλτιστη ακολουθία αποφάσεων x1,x2,…,xn που αντιστοιχούν στα u1,u2,…,un έτσι ώστε :

Το Discrete Knapsack Problem To DKP επιλύεται με τον greedy αλγόριθμο merge-discard με τη βοήθεια της διαδικασίας Traceback. O αλγόριθμος έχει πολυπλοκότητα χώρου Ο(2n) όπως επίσης και χρονική πολυπλοκότητα Ο(2n) . Άρα, ο παραπάνω αλγόριθμος δεν είναι αποδοτικός.

DKP και πολυπλοκότητα TRIPARTITE 3SAT MATCHING NP-complete θα το ανήξουμε στο πρόβλημα SAT ακολουθώντας την εξής πορεία : SAT 3SAT TRIPARTITE MATCHING EXACT COVER BY 3-SETS DISCRETE KNAPSACK

DKP και πολυπλοκότητα Κάθε στιγμιότυπο του DKP μπορεί να λυθεί σε Ο(nΜ) χρόνο ,όπου n ο αριθμός των αντικειμένων και Μ το όριο του βάρους. Το DKP είναι πρόβλημα που έχει πλήρως πολυωνυμικού χρόνου σχήμα προσέγγισης με κατώφλι προσέγγισης 0. Άρα το DKP περιέχεται στην υποκλάση των ΝΡΟ προβλημάτων FPTAS.

Το κρυπτοσύστημα Merkle-Hellman O αλγόριθμος δημιουργίας κλειδιών για τo βασικό M-H κρυπτοσύστημα : Περιληπτικά : κάθε οντότητα δημιουργεί ένα δημόσιο κλειδί και ένα αντίστοιχο ιδιωτικό κλειδί. 1. Ένας ακέραιος n σταθεροποιείται ως μια κοινή παράμετρος του συστήματος. 2. Κάθε οντότητα Α πρέπει να εκτελέσει τα παρακάτω βήματα 3-7. 3. Επιλέγουμε μια υπεραυξητική ακολουθία (b1,b2,…,bn) και modulus M τέτοιο ώστε Μ > b1+b2+…+bn 4. Επιλέγουμε ένα τυχαίο ακέραιο W , 1 ≤ W ≤ M-1, τέτοιο ώστε gcd(W,M)=1

Το κρυπτοσύστημα Merkle-Hellman 6. Υπολογίζουμε για i=1,2,…,n 7. Το δημόσιο κλειδί του Α είναι (α1,α2,...,αn) και το ιδιωτικό κλειδί της Α είναι το (π,Μ,W(b1,b2,…,bn))

Το κρυπτοσύστημα Merkle-Hellman O αλγόριθμος κρυπτογράφησης και αποκρυπτογράφησης του απλού Μ-Η κρυπτοσυστήματος : Περιληπτικά : ο Β κρυπτογραφεί ένα μήνυμα m για τον Α και ο Α το αποκρυπτογραφεί. 1. Κρυπτογράφηση : ο Β πρέπει να κάνει τα ακόλουθα : (α) Να πάρει το αυθεντικό δημόσιο κλειδί του Α. (β) Να αναπαραστήσει το μήνυμα m ως μια δυαδική συμβολοσειρά (string) μήκους n , m=m1m2…mn (γ) Να υπολογίσει τον ακέραιο c=m1α1+m2α2+...+mnαn (δ) Να στείλει το κρυπτοκείμενο c στον Α

Το κρυπτοσύστημα Merkle-Hellman 2. Αποκρυπτογράφηση : για να ανακτήσει το απλό κείμενο m από το c , ο Α πρέπει να κάνει τα ακόλουθα : (α) Να υπολογίσει (β) Λύνοντας ένα υπεραυξητικό knapsack βρίσκει ακεραίους τέτοιους ώστε (γ) Τα bits του μηνύματος είναι Υπάρχει και το επαναληπτικό M-H κρυπτοσύστημα το οποίο χρησιμοποιεί μια σειρά από modular πολλαπλασιασμούς αντί για έναν για να κρύψει την υπεραυξητική ακολουθία.

Το κρυπτοσύστημα Chor-Rivest Περιληπτικά : κάθε οντότητα δημιουργεί ένα δημόσιο κλειδί και ένα αντίστοιχο ιδιωτικό κλειδί. Η οντότητα Α πρέπει να κάνει τα ακόλουθα : 1. Επιλέγει ένα πεπερασμένο σώμα με χαρακτηριστική p όπου q = ph , p  h , για το οποίο το πρόβλημα διακριτού λογαρίθμου είναι επιλύσιμο. 2. Επιλέγει ένα τυχαίο μονικό ανάγωγο πολυώνυμο f(x) βαθμού h πάνω στο p . Τα στοιχεία του θα αναπαριστώνται ως πολυώνυμα στο p[x] βαθμού μικρότερου από h , πολλαπλασιάζοντας με modulo f(x) 3. Επιλέγει ένα τυχαίο πρωταρχικό στοιχείο g(x) του σώματος

Το κρυπτοσύστημα Chor-Rivest 4. Για κάθε βασικό στοιχείο της βάσης ip, βρίσκουμε το διακριτό λογάριθμο του βασικού στοιχείου (x+i) στη βάση g(x) 5. Επιλέγει μια τυχαία μετάθεση π πάνω στο σύνολο των ακεραίων {0,1,2,...,p-1}. 6. Επιλέγει ένα τυχαίο ακέραιο d, 0 ≤ d ≤ ph-2 7. Υπολογίζει 8. Το δημόσιο κλειδί του Α είναι ; Το ιδιωτικό του κλειδί είναι το (f(x),g(x),π,d) .

Το κρυπτοσύστημα Chor-Rivest Αλγόριθμος κρυπτογράφησης και αποκρυπτογράφησης των Chor-Rivest Περιληπτικά : ο Β κρυπτογραφεί ένα μήνυμα m για τον Α και ο Α το αποκρυπτογραφεί. 1. Κρυπτογράφηση. Ο Β πρέπει να κάνει τα ακόλουθα : (α) Παίρνει την αυθεντική υπογραφή του Α (β) Αναπαριστά το μήνυμα m με ένα δυαδικό string μήκους όπου ένας δυωνυμικός συντελεστής.

Το κρυπτοσύστημα Chor-Rivest (γ) Θεωρεί το m ως τη δυαδική αναπαράσταση ενός ακεραίου. Μετατρέπει αυτό τον ακέραιο σε ένα δυαδικό διάνυσμα μήκους p έχοντας ακριβώς h ‘1’ ως εξής: i. Θέτει lh. ii. Για i από το 1 στο p κάνει τα ακόλουθα: Αν τότε θέτει Αλλιώς θέτουμε Μi-10. (δ) Υπολογίζει (ε) Στέλνει το κρυπτοκείμενο στον Α.

Το κρυπτοσύστημα Chor-Rivest 2. Αποκρυπτογράφηση. για να ανακτήσει το απλό κείμενο m από το c , ο Α πρέπει να κάνει τα ακόλουθα : (α) Υπολογίζει το r = (c – hd) mod (ph-1) (β) Υπολογίζει το u(x) = g(x)r mod f(x) (γ) Υπολογίζει το s(x) = u(x) + f(x), ένα μονικό πολυώνυμο βαθμού h πάνω στο p (δ) Παραγοντοποιούμε το s(x) σε γραμμικούς παράγοντες πάνω στο p : , όπου tj p (ε) Υπολογίζει το δυαδικό διάνυσμα ως ακολούθως. Τα στοιχεία του Μ τα οποία είναι 1 έχουν ακεραίους . Τα εναπομείναντα στοιχεία είναι 0.

Το κρυπτοσύστημα Chor-Rivest (ζ) Το μήνυμα ανακτάται ως εξής : i. Θέτει m0 , lh. ii. Για i από το 1 στο p κάνει τα ακόλουθα: Αν , τότε θέσε

Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Κατασκευή κλειδιών. Η οντότητα Α κάνει τα εξής : 1. Επιλέγει p = 7 και h = 4 2. Επιλέγει το ανάγωγο πολυώνυμο f(x)=x4+3x3+5x2+6x+2 βαθμού 4 πάνω στο 7 . Τα στοιχεία του πεπερασμένου σώματος αναπαριστώνται ως πολυώνυμα στο 7[x] βαθμού μικρότερου από 4, με πολλαπλασιασμό που εκτελείται modulo f(x) 3. Επιλέγει το τυχαίο πρωταρχικό στοιχείο g(x)=3x3+3x2+6 4.Υπολογίζει τους ακόλουθους διακριτούς λογάριθμους :

Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest 5. Επιλέγει την τυχαία μετάθεση π πάνω στο {0,1,2,3,4,5,6},που ορίζεται από π(0)=6, π(1)=4, π(2)=0, π(3)=2, π(4)=1, π(5)=5, π(6)=3. 6. Επιλέγει τον τυχαίο ακέραιο d = 1702

Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest 7. Υπολογίζει 8. Το δημόσιο κλειδί του Α είναι ενώ το ιδιωτικό του κλειδί είναι (f(x),g(x),π,d).

Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Κρυπτογράφηση. Για να κρυπτογραφήσει ένα μήνυμα m=22 για τον Α, ο Β κάνει τα ακόλουθα : (α) Παίρνει το αυθεντικό κλειδί του Α (β) Αναπαριστά το m ως ένα δυαδικό string μήκους 5 : m=10110. (γ) Μετατρέπει το m σε ένα δυαδικό διάνυσμα Μ = (1,0,1,1,0,0,1) μήκους 7. (δ) Υπολογίζει c=(c0+c2+c3+c4) mod2400 = 1521. (ε) Στέλνει το c = 1521 στον Α.

Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Αποκρυπτογράφηση. Για να αποκρυπτογραφήσει το κρυπτοκείμενο c=1521, o A κάνει τα εξής : (α) Υπολογίζει r =(c-hd) mod2400 = 1913 (β) Υπολογίζει u(x) = g(x)1913 mod f(x) = x3+3x2+2x+5. (γ) Υπολογίζει s(x) = u(x) + f(x) = x4+4x3+x2+x. (δ) Παραγοντοποιεί s(x)=x(x+2)(x+3)(x+6) (ώστε t1=0, t2=2, t3=3, t4=6) (ε) Τα στοιχεία του Μ που είναι ‘1’ έχουν ακεραίους π -1 π -1(0)=2, π -1(2)=3, π -1(3)=6 και π -1(6)=0. Άρα Μ=(1,0,1,1,0,0,1) (ζ) Μετατρέπει το Μ στον ακέραιο m = 22 , ανακτώντας το κρυπτοκείμενο.

Ορισμοί και ιδιότητες των lattices του n-διάστατου Ευκλείδιου χώρου n δοθέν από , όπου τα είναι γραμμικώς ανεξάρτητα. Σ’αυτή τη περίπτωση τα διανύσματα λέμε ότι σχηματίζουν τη βάση για το lattice  και τυπικά ένα lattice θα δίνεται από ένα nm πίνακα της μορφής :

Ορισμοί και ιδιότητες των lattices Έστω =Βm ένα lattice με γεννήτορες τα διανύσματα βάσης .Τότε το στοιχειώδες παραλληλεπίπεδο του  υπό το Β ορίζεται από : . Το πλάτος του παραλληλεπιπέδου Ρ(Β), δηλαδή το μέγιστο πάνω στα i του μήκους των προβολών των πάνω στο ορθογώνιο συμπλήρωμα του span( ,…, , ,…, ) Έστω =Βm ένα lattice. Τότε η ορίζουσα του , det(), ορίζεται από το m-διάστατο όγκο του Ρ(). Συγκεκριμένα εάν για το  ισχύει m = n τότε det()=|det(B)|

Ορισμοί και ιδιότητες των lattices Η ορίζουσα του =Βm δεν εξαρτάται από την επιλογή της βάσης Β και δίνεται από Το δυϊκό lattice είναι ένα πλήρως διαστατικό lattice , συμβ. * , που αποτελείται από όλα τα διανύσματα που το εσωτερικό τους γινόμενο με όλα τα διανύσματα στο  είναι ακέραιο, δηλαδή .

Ορισμοί και ιδιότητες των lattices Έστω =Βm ένα lattice. Τότε η βάση Β για  είναι Minkowski-ανηγμένη αν δεν υπάρχει μη μηδενικό διάνυσμα στο  το οποίο να είναι μικρότερο από το και γενικότερα να μην υπάρχει μη μηδενικό διάνυσμα στο  το οποίο να είναι μικρότερο από και να μην περιέχεται στο span( ,…, ) έτσι ώστε τα ,…, να μπορούν να επεκταθούν σε βάση του . Έστω =Βm ένα lattice. Τότε η βάση Β για το  λέγεται LLL-ανηγμένη αν και όπου δ=1

Ορισμοί και ιδιότητες των lattices Έστω ,…, μια LLL-ανηγμένη βάση για ένα latticen και έστω ,…,  γραμμικώς ανεξάρτητα σημεία του lattice. Τότε για 1 ≤ i ≤ t.

Provably hard lattice προβλήματα Δοθέντος ενός lattice =Βm, το Πρόβλημα Ελαχίστου Διανύσματος (Shortest Vector Problem - SVP) είναι το να βρεθεί το ελάχιστο μη μηδενικό διάνυσμα στο . Δοθέντος ενός lattice =Βm, το Πρόβλημα Πλησιέστερου Διανύσματος (Closest Vector Problem – CVP) είναι το να βρεθεί το πιο κοντινό σημείο του lattice στο διάνυσμα .

Provably hard lattice προβλήματα Έστω ότι g (η συνάρτηση χάσματος) είναι μια παράμετρος η οποία μπορεί να ποικίλει ως μια συνάρτηση της διάστασης του υπό εξέταση lattice. Ορίζουμε το πρόβλημα GapSVPg από τα ακόλουθα : • (V,d) είναι ένα YES στιγμιότυπο για το GapSVPg εαν V μια βάση για ένα lattice στο n και d τέτοιο ώστε για κάποια . • (V,d) είναι ένα ΝΟ στιγμιότυπο για το GapSVPg εαν V μια βάση για ένα lattice στο n και d τέτοιο ώστε για όλα τα .

Provably hard lattice προβλήματα Έστω ότι g (η συνάρτηση χάσματος) είναι μια παράμετρος η οποία μπορεί να ποικίλει ως μια συνάρτηση της διάστασης του υπό εξέταση lattice. Ορίζουμε το πρόβλημα GapCVP΄g από τα ακόλουθα : • είναι ένα YES στιγμιότυπο για το GapCVP΄g εαν , και τέτοια ώστε για κάποια . • είναι ένα ΝΟ στιγμιότυπο για το GapCVP΄g εαν , και τέτοια ώστε για όλα τα και όλα τα .

Lattice αναγωγή και ο αλγόριθμος L3 Ο αλγόριθμος του Gauss : έστω η βάση για ένα 2-διάστατο lattice. Ο παρακάτω αλγόριθμος μας δίνει ένα Minkowski-ανηγμένο lattice σε πολυωνυμικά πολλές επαναλήψεις. if then swap ; while or do if then swap ; end while return

Lattice αναγωγή και ο αλγόριθμος L3 Αλγόριθμος LLL αναγωγή βάσης Ο ακόλουθος αλγόριθμος υπολογίζει μια LLL-ανηγμένη βάση για =Βn σε πολυωνυμικά πολλές επαναλήψεις. LLL( , ..., ) Υπολογίζουμε την ορθογώνια Gram-Schmidt βάση ,…, ; ; k=2 ; while k ≤ m do if then sizereduce(k);

Lattice αναγωγή και ο αλγόριθμος L3 if then swap(k); if k > 2 then k = k-1; else k = k+1; end if end while end LLL

Lattice αναγωγή και ο αλγόριθμος L3 Υπορουτίνα Size Reduction sizereduce=(k) i = 1; while i < k do i = i + 1; end while end sizereduce

Lattice αναγωγή και ο αλγόριθμος L3 Υπορουτίνα Swap swap(k) Eναλλάσουμε μεταξύ τους τα και ; Τ = Βk ; ; Εκτελούμε ταυτόχρονα τις παρακάτω αναθέσεις \\Ενημερώνουμε τους Gram-Schmidt συντελεστες

Lattice αναγωγή και ο αλγόριθμος L3 while i ≤ k – 2 do Αλλάζουμε μεταξύ τους τα και end while i = k + 1 ; while i ≤n do Ταυτόχρονα εκτελούμε τις παρακάτω εργασίες end swap

Το κρυπτοσύστημα Goldreich-Goldwasser-Halevi είναι μια φτωχή lattice βάση (δηλαδή μια βάση με μακριά διανύσματα) και το ιδιωτικό κλειδί είναι η ανηγμένη βάση του ίδιου lattice. Η κρυπτογράφηση πραγματοποιείται παίρνοντας το ένα σημείο του lattice που ανταποκρίνεται στο απλό κείμενο και εφαρμόζουμε πάνω του μια μικρή τυχαία διαταραχή έτσι ώστε να πάρουμε ένα σημείο εκτός του lattice, του οποίου το πλησιέστερο σημείο στο lattice να είναι το σημείο του απλού κειμένου. Άρα τα κρυπτοκείμενα είναι στιγμιότυπα του CVP και η ασφάλεια του ιδιωτικού κλειδιού εξαρτάται από τη δυσκολία της εύρεσης μιας αρκετά ανηγμένης βάσης του lattice.

Το κρυπτοσύστημα Goldreich-Goldwasser-Halevi απλά κείμενα modulo 2σ, μια παρατήρηση που μας επιτρέπει να απλοποιήσουμε το στιγμιότυπο του CVP που παρουσιάζεται από ένα κρυπτοκείμενο και συνεπώς να αποκρυπτογραφήσουμε μηνύματα χρησιμοποιώντας μια βάση του  που δεν είναι ανάγκη να είναι ανηγμένη στην ιδιωτική βάση R. Σκοπός μας είναι να μειώσουμε το διάνυσμα σφάλματος έτσι ώστε να έχουμε προς επίλυση ένα ευκολότερο στιγμιότυπο του CVP.

Το κρυπτοσύστημα Ajtai-Dwork ένα τυχαίο διάνυσμα μέσα από μια n-διάστατη μπάλα μήκους 1 και δημόσιο κλειδί μια κατανομή που τα διανύσματα της ( ,..., ) να σχηματίζουν ένα παραλληλεπίπεδο που το πλάτος του να είναι μεγαλύτερο από όριο τέτοιο ώστε η ασφάλεια του κρυπτοσυστήματος να είναι το ίδιο δύσκολη με το πρόβλημα .

Το κρυπτοσύστημα Ajtai-Dwork Η κρυπτογράφηση εκτελείται κατά ένα bit τη φορά με κατάλληλα ανάθεση τιμών στα ‘0’ και ‘1’ bits του απλού κειμένου και η αποκρυπτογράφηση γίνεται με υπολογισμό του και έλεγχο της απόστασης του κρυπτογραφημένου bit σε σχέση με το bit απλού κειμένου με μεγάλη πιθανότητα σωστής αποκρυπτογράφησης. Η αδυναμία του κρυπτοσυστήματος είναι η εκτέλεση της κρυπτογράφησης κατά ένα bit τη φορά όπου και δείχθηκε ότι είναι ασφαλές μόνο για άβολα μεγάλες παραμέτρους.

Το κρυπτοσύστημα NTRU Όλοι οι υπολογισμοί πραγματοποιούνται στο δακτύλιο όπου q απεικονίζει τους ακεραίους modulo q. Ιδιωτικό κλειδί : ένα τυχαίο στοιχείο ( df, df -1) με (α,b)={ f | f έχει α συντελεστές ίσους με 1, b ίσους με -1 και όλους τους υπόλοιπους ίσους με 0} Δημόσιο κλειδί : h=f -1*g όπου . Κρυπτογράφηση : με Αποκρυπτογράφηση : με κατάλληλη επιλογή παραμέτρων εφαρμόζουμε και παίρνουμε και άρα το m.

Το κρυπτοσύστημα NTRU Οι επιθέσεις των Coppersmith και Shamir και αυτή του May προσπαθούν να παρουσιάσουν το NTRU ως μια μορφή lattice και χρησιμοποιώντας το Coppersmith-Shamir lattice να φτιάξουν μια κατάλληλη lattice κατασκευή την οποία και χρησιμοποιούν για να επιτεθούν στο NTRU.

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Οι δυο επιθέσεις κατά του κρυπτοσυστήματος Μ-Η που παρουσιάζουμε είναι : Η επίθεση του Shamir : Με χρήση του αλγόριθμου LLL προσεγγίζει τα στοιχεία U και Μ του ιδιωτικού κλειδιού μέσα σε ένα αρκετά μικρό διάστημα σε πολυωνυμικό χρόνο. Η επίθεση χαμηλής πυκνότητας των Lagarias-Odlyzko : Με τρέξιμο του αλγόριθμου LLL στη βάση V των βαρών α1,...,αn ελέγχοντας αν στην ανηγμένη βάση που παίρνουμε έχουμε διάνυσμα που να έιναι η λύση.

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Ακολουθεί ένα σύντομο παράδειγμα ‘σπασίματος’ του βασικού κρυπτοσυστηματος Merkle-Helman : Έστω ότι έχουμε ένα ιδιωτικό knapsack : • S = [2, 5, 9, 21, 45, 103, 215, 450, 946] που είναι το ιδιωτικό μας κλειδί; • p = 2003; • m = 1289; και άρα, m-1 = 317. Το δημόσιο knapsack: • ti = 1289 *si mod 2003 • οπότε T = [575, 436, 1586, 1030, 1921, 569, 721, 1183, 1570] που είναι το δημόσιο μας κλειδί.

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Θα κρυπτογραφήσουμε το 101100111 ως 575 + 1586 + 1030 + 721 + 1183 + 1570 = 6665. Ο δέκτης υπολογίζει 6665 * 317 mod 2003 = 1643 και χρησιμοποιεί το S για να βρει το απλό κείμενο. Αυτό γίνεται με το να κατασκευάσουμε το binary string από δεξιά προς τα αριστερά : 1643 - 946(1) = 697; 697 - 450(1) = 247; 247 - 215(1) = 32; 32 - 45(0) = 32;

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL 32 - 21(1) = 11; 11 - 9(1) = 2; 2 - 5(0) = 2; 2 - 2(1) = 0. Παίρνουμε πίσω το αρχικό μήνυμα 101100111. Ο επιτιθέμενος γνωρίζει : • το δημόσιο κλειδί T = [575, 436, 1586, 1030, 1921, 569, 721, 1183, 1570] • και το κρυπτοκείμενο 6665

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Ο επιτιθέμενος θέλει να βρει ένα xi στο {0, 1} τέτοιο ώστε 575x0+ + 436x1 + 1586x2 + 1030x3 + 1921x4 + 569x5 + 721x6 + 1183x7 + 1570x8 = 6665. Αυτό μπορεί να γραφεί ως T * X = 6665. Ας ξαναγράψουμε το πρόβλημα ως M * V = W όπου

Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Η λύση είναι το μικρότερο διάνυσμα του lattice που παράγεται από τις στήλες του Μ και εκεί είναι που χρησιμοποιούμε τον αλγόριθμο LLL για να βρούμε τη λύση. Ο πίνακας Μ΄ είναι το αποτέλεσμα της εφαρμογής του LLL πάνω στον Μ.

Επίθεση στο κρυπτοσύστημα Chor-Rivest με χρήση του αλγόριθμου LLL Πυκνότητα : ορίζουμε ως πυκνότητα ενός συνόλου βαρών a = (α1, ..., αn) ως Οι τρεις επιθέσεις που παρουσιάζονται είναι οι : Επίθεση με γνωστή τη π (Odlyzko) Επίθεση χωρίς τίποτα γνωστό (Brickell) Επίθεση χαμηλής πυκνότητας (Lagarias-Odlyzko)

ΤΕΛΟΣ !