Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T

Σχετικά έγγραφα
Δ Εξάμηνο. Κρυπτογραφία: Συμμετρική Κρυπτογράφηση

Συμμετρικά κρυπτοσυστήματα

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

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

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Ασκήσεις Caches

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Τελική Εξέταση, Απαντήσεις/Λύσεις

Ασκήσεις Caches

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

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

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

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

Κρυπτογραφία. Εργαστηριακό μάθημα 1

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

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

Ανακοίνωση. Ο Πρόεδρος τού Τμήματος Ταμπακάς Βάσίλειος Καθηγητής

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

ξργ Μονάδα επεξεργασίας ξργ δδ δεδομένων Μονάδα ελέγχου

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος Α εξάμηνο (χειμερινό)

Προμήθεια Ασφαλών Διατάξεων Δημιουργίας Υπογραφής (ΑΔΔΥ) τύπου USB Tokens

ΕΠΛ 605: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018 ΕΡΓΑΣΙΑ 3 (13/10/2018) Ηµεροµηνία Παράδοσης δεύτερου µέρους: 18/10/2018

Διάλεξη 22η: Επιπλέον στοιχεία της C

Ζητήµατα Απόδοσης. Ιεραρχία Μνήµης. Αναγκαιότητα για Ιεραρχία Μνήµης. Processor-DRAM Gap (latency) Ε-85: Ειδικά Θέµατα Λογισµικού

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

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

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

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

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers

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

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις

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

Ασφάλεια Υπολογιστικών Συστηµάτων

ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος Α εξάμηνο (χειμερινό)

Εισαγωγή στον Προγραμματισμό

Ασκήσεις Αρχιτεκτονικής Υπολογιστών

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

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

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

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

UP class. & DES και AES

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Ακαδημαϊκό έτος Α εξάμηνο (χειμερινό)

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

4.2.1 Α εξάμηνο Β εξάμηνο Γ εξάμηνο 4.2. ΣΥΝΟΠΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΑΝΑ ΕΞΑΜΗΝΟ

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

ΠΡΟΜΗΘΕΙΑ ΔΗΜΟ ΛΕΒΑΔΕΩΝ

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

Κρυπτογραφία. Διάλεξη 7 Κρυπταλγόριθμοι τμήματος: Αλγόριθμος AES Τρόποι λειτουργίας

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

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας

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

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΕΙΜΕΝΟΥ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

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

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

ΠΡΟΣ: Κάθε ενδιαφερόμενο. Θεσσαλονίκη, 18 /11/2016

ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

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

Transcript:

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T Στην παρούσα εργασία παρουσιάζεται η υλοποίηση του Σοβιετικού κρυπταλγορίθμου GOST για την πλατφόρμα επεξεργαστήσυνεπεξεργαστή(αναδιατασ σόμενης λογικής) Stretch. Ενσωματωμένα Συστήματα Μικροεπεξεργαστών, χειμερινό εξάμηνο 2006. Πολυτεχνείο Κρήτης, 19 Δεκεμβρίου 2006 Ι.Αγαδάκος Κ.Θεοχαρούλης Ν. Παπουλιας

Π ε ρ ι τ ί ν ο ς π ρ ό κ ε ι τ α ι? Ο κρυπταλγόριθμος GOST, αναπτύχθηκε στην Σοβιετική Ένωση κατα την δεκαετία του 1970 και χρησιμοποιήθηκε σαν εναλλακτική λύση κρυπτογράφησης, έναντι του δημοφιλούς προτύπου των Η.Π.Α D.E.S.

Χ α ρ α κ τ η ρ ι σ τ ι κ ά τ ο υ G O S T κρυπταλγόριθμος τμήματος 64bit αρχιτεκτονικής δικτύου Feistel 32 γύρων μέγεθος κλειδιού 256bit προαιρετικά κρυφό κομμάτι Δικτύου Αντικατάστασης (S-boxes)

Δ ο μ ή τ ο υ κ ρ υ π τ α λ γ ο ρ ί θ μ ο υ Χωρισμός της εισόδου σε 2 τμήματα των 32bits Πρόσθεση mod 2^32 του δεξιού τμήματος με 32bit ποσότητα του κλειδιού σύμφωνα με το key-schedule 4bit αντικατασταση 8 κουτιών (S-boxes) του αποτελέσματος

Δ ο μ ή τ ο υ κ ρ υ π τ α λ γ ο ρ ί θ μ ο υ ( σ υ ν έ χ ε ι α ) Αριστερή Κυκλική Ολίσθηση κατά 11bits Exclusive-OR του αποτελέσματος με το αριστερό τμήμα της εισόδου Εναλλαγή τμημάτων εισόδου

G o s t v s D. E. S Ο Gost έχει μέγεθος κλειδιού 256bit, έναντι μόλις 56bit του D.E.S. Εάν προσθεθεί η δυνατότητα κρυφού κομματιού αντικαταστάσεων, έχουμε συνολικά 610bit κρυφής πληροφορίας. Ο Gost έχει 32 γύρους κρυπτογράφησης, έναντι μόλις 16 γύρων στον D.E.S O Gost επιτυγχάνει την ικανοποίηση ισχυρών κριτηρίων κρυπτογράφης (strict avalanche effect) με συγκριτικά πολύ απλούστερη υλοποίηση τόσο σε λογισμικό όσο και σε hardware Πηγή: Applied Cryptography, 2 nd Edition

Υ λ ο π ο ί η σ η σ ε P. C - V e r i f i c a t i o n Υλοποίηση σε περιβάλλον Windows - GCC. Συγγραφή ξεχωριστού λογισμικού αυτόματης επαλήθευσης Mέγεθος εισόδου 700ΜΒ (εξωτερικό αρχείο) Διαδικασία κρυπτογράφης αποκρυπτογράφης και επαλήθευσης αρχικού κειμένου με αποκρυπτογραφημένο κείμενο Μέσος χρόνος κρυπτογράφης (εισόδου 700ΜΒ), περίπου 6λεπτά

Υ λ ο π ο ί η σ η σ ε S t r e t c h I D E - V e r i f i c a t i o n Ταυτόσημη υλοποίηση με αυτήν σε PC (Windows- GCC) με προσεκτική χρήση της Standard C Library Χρήση ξεχωριστού λογισμικού αυτόματης επαλήθευσης Μέγεθος εισόδου 4Kb (verification), 278bytes profiling (εξωτερικό αρχείο) Διαδικασία κρυπτογράφης αποκρυπτογράφης και επαλήθευσης αρχικού κειμένου με αποκρυπτογραφημένο κείμενο Total Cycles: 604126 or 0,002 sec Dcache Misses: 2491

P r o f i l i n g - A π ο δ ό μ η σ η 79,27% του χρόνου εκτέλεσης στην συνάρτηση που υλοποιεί τα S-Boxes 13,20% στην συνάρτηση που υλοποιεί τους 32 γύρους κρυπτογράφησης Λοιπός χρόνος εκτέλεσης σε εσωτερικές συναρτήσεις της πλατφόρμας

P r o f i l i n g A π ο δ ό μ η σ η ( σ υ ν έ χ ε ι α ) Συνολικά 92,47% του χρόνου εκτέλεσης στην συνάρτηση κρυπτογράφησης των 32 επαναλήψεων Επιλογή του κύριου κύκλου κρυπτογράφησης για την υλοποίηση στο αναδιατασσόμενο κομμάτι (ανα block 64bit χωρίς παραλληλισμό) Βρόγχος προς βελτιστοποίηση: 15946 κύκλοι Αποτελέσματα: Total Cycles: 123321 or 0,0004, Opt: 79,58% Loop Cycles: 2433, Opt: 86,09% Dcache Misses: 2217 Successfull Data verification

O p t i m i z a t i o n - Π α ρ α λ λ η λ ι σ μ ό ς Παράλληλη κρυπτογράφη 4 block των 64bit (έναντι ενός) στο αναδιατασσόμενο κομμάτι Αποτελέσματα: Total Cycles: 74108, Opt: 87,73% Loop Cycles: 3084, Opt: 80,65% Dcache Misses: 2439 Successfull Data verification

O p t i m i z a t i o n M a n L o o p U n r o l l i n g Βέλτιστο Unrolling για 8 κλήσεις της αναδιατασσόμενης συνάρτησης ανά επανάληψη Αποτελέσματα: Total Cycles: 72430, Opt: 88,01% Loop Cycles: 2834, Opt: 82,22% Dcache Misses: 2468 Successfull Data verification

O p t i m i z a t i o n D c a c h e M i s s e s Τοποθέτηση όλων των global δεδομένων (key,key_schedule,sboxes) στην dcache του ίδιου του επεξεργαστή Αποτελέσματα: Total Cycles: 72391, Opt: 88,01% Loop Cycles: 2834, Opt: 84,76% Dcache Misses: 2430 Successfull Data verification

F i n a l r e s u l t s : O p t i m i z a t i o n t h r o u g h c o m p i l a t i o n Αποτελέσματα: Total Cycles: 51540 or 0,0001sec Opt: 91,46% Loop Cycles: 880, Opt: 94,48% Dcache Misses: 2355 Successfull Data verification

O p t i m i z a t i o n G r a p h

F u t u r e W o r k Eπανεξέταση των τεχνικών του key management Μετατροπή των Sboxes από 4bit σε 8bit για την ελαχιστοποίηση των προσβάσεων μνήμης Επαναξέταση των θέσεων ολίσθησης για την μείωση των συνολικών bit που ολισθαίνουν Σύγκριση througput Mb/s μεταξύ PC και Stretch Σύγκριση απόδοσης με άλλες υλοποιήσεις του αλγορίθμου Μεταφορά της υλοποίησης στο Stretch Board