# data[].attributes.body
Virtuality

Ίσως το πιο χαρακτηριστικό και –πολύ σχετικά– πετυχημένο εγχείρημα ήταν η σειρά VR συστημάτων της Virtuality Group (πρώην W Industries). Μία εταιρεία που ειδικεύτηκε στην κατασκευή γαντιών, ακουστικών και headsets είχε ως αποκορύφωμα τα Virtuality VR, μία σειρά συσκευών που στηριζόταν στη χρήση ενός headset και ενός joystick για τη μεταφορά μίας VR εμπειρίας, ενώ υπήρχαν και μεγαλύτερες παραλλαγές-προσθήκες στο όλο σύστημα, όπως ένα pod ή ένα είδος cockpit. Το πιο χαρακτηριστικό ίσως game για το Virtuality ήταν το Dactyl Nightmare, ένα FPS όπου οι παίκτες κυνηγούσαν ο ένας τον άλλον, ενώ τους καταδίωκε ένας κακός πτεροδάκτυλος! Παρ’ όλο που το Virtuality κατάφερε να γίνει κάπως γνωστό και να φτάσει μάλιστα και στις αίθουσες των arcades, δεν αποτέλεσε εντέλει σε καμία περίπτωση την επανάσταση που περιμέναμε. Οι λόγοι νομίζω δεν είναι δύσκολο να γίνουν κατανοητοί. Βάλτε κυρίως τις απαγορευτικές τιμές για το μέσο καταναλωτή, το γεγονός πως ήταν μία ολόκληρη –και πιο ακριβή– διαδικασία το να παίξεις σε arcades και έπρεπε κάποιος να σε καθοδηγεί μονίμως και φυσικά το οπτικά πολύ φτωχότερο, μίζερο και δύσχρηστο αποτέλεσμα που δεν είχε μεγάλη σχέση με αυτά που περιμέναμε. Εκεί μάλλον κάπου την πάτησε η Virtuality Group (και οι οποιεσδήποτε λοιπές απόπειρες), καθώς οι προσδοκίες του κοινού τελικά αποδείχθηκαν εξωφρενικά υψηλές, εξαιτίας της εξωπραγματικής αναπαράστασης της VR στον κινηματογράφο.

# data[].attributes.headline
ΣΧΕΤΙΚΟ  ΒΙΝΤΕΟ

# data[].attributes.subject
ΣΧΕΤΙΚΟ  ΒΙΝΤΕΟ

# data[].attributes.attachment_link.title
Gear VR - Η Samsung συναντά την εικονική πραγματικότητα

# data[].attributes.headline
Ο ρόλος της κρυπτογράφησης

# data[].attributes.subject
Ο ρόλος της κρυπτογράφησης

# data[].attributes.body
Ο αντικειμενικός στόχος της κρυπτογραφίας είναι να δώσει τη δυνατότητα σε δύο πρόσωπα, έστω τον Κώστα και τη Βασιλική, να επικοινωνήσουν μέσα από ένα μη ασφαλές κανάλι με τέτοιο τρόπο ώστε ένα τρίτο πρόσωπο, μη εξουσιοδοτημένο (ένας αντίπαλος), να μην μπορεί να παρεμβληθεί στην επικοινωνία ή να κατανοήσει το περιεχόμενο των μηνυμάτων.

Ένα κρυπτοσύστημα (σύνολο διαδικασιών κρυπτογράφησης - αποκρυπτογράφησης) αποτελείται από μία πεντάδα (P,C,k,E,D):

Το P είναι ο χώρος όλων των δυνατών μηνυμάτων ή αλλιώς ανοικτών κειμένων

Το C είναι ο χώρος όλων των δυνατών κρυπτογραφημένων μηνυμάτων ή αλλιώς κρυπτοκειμένων

Το k είναι ο χώρος όλων των δυνατών κλειδιών ή αλλιώς κλειδοχώρος

Η Ε είναι ο κρυπτογραφικός μετασχηματισμός ή κρυπτογραφική συνάρτηση

Η D είναι η αντίστροφη συνάρτηση ή μετασχηματισμός αποκρυπτογράφησης.

# data[].attributes.body
Ένας νέος τρόπος παιχνιδιού όλο και πιο εθιστικός. Ένα νέο παιχνίδι που ξεπερνάει τα όρια. Θα ησασταν ετοιμοι να το παιξετε

# data[].attributes.attachment_link.title
Nerve (2016 Movie) Official Trailer – ‘Watcher or Player?’

# data[].attributes.attachment_link.description
Are you a watcher or a player? Nerve - In Theaters Now! Get Tickets: http://tickets.playnerve.com Starring Emma Roberts, Dave Franco, Emily Meade, Miles Heizer, Juliette Lewis, Colson Baker (Machine Gun Kelly), and Kimiko Glenn. #WatcherOrPlayer http://PlayNerve.com http://Facebook.com/PlayNerve http://Instagram.com/PlayNerve http://Twitter.com/PlayNerve Add PlayNerve on Snapchat Industrious high school senior, Vee Delmonico [Emma Roberts], has had it with living life on the sidelines.

# data[].attributes.attachment_link.title
Top 10 Upcoming VR Games of 2017 | Virtual Reality Games Coming Soon

# data[].attributes.attachment_link.description
Presenting our 10 most anticipated virtual reality video games scheduled for release this 2017 on the PlayStation VR, Oculus Rift, HTC Vive and other VR gaming platforms. Get some of these upcoming VR games by clicking the links below: Resident Evil Biohazard ($59.99) https://goo.gl/MW5o6g Virtual reality games is finally gaining a strong foothold in the industry.

# data[].attributes.attachment_link.readable_text
Συγγραφέας: Άγγελος Κυρίτσης 37

Σε έναν κόσμο χωρίς κρυπτογράφηση δεδομένων, θα ήταν αδύνατον να έχουμε ένα προσωπικό email, έναν προσωπικό λογαριασμό στο facebook, ή να χρησιμοποιήσουμε μια πιστωτική κάρτα για αγορές στο Internet. Η κρυπτογράφηση δεδομένων χρησιμοποιείται παντού, και είναι η "κλειδαριά" που κρατάει την ψηφιακή μας ζωή ασφαλή. Ας δούμε πώς λειτουργεί.

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

Δείτε τις ενότητες του οδηγού:

Η θεωρία και η πράξη

Ο οδηγός αυτός αναφέρεται στη θεωρία της κρυπτογράφησης και πως εφαρμόζεται στο Internet.

Αν ενδιαφέρεστε για κρυπτογράφηση δεδομένων στον υπολογιστή σας, δείτε τον οδηγό μας:
Κρυπτογράφηση Αρχείων Με το VeraCrypt.

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

Η φράση "κρυπτογράφηση δεδομένων" ακούγεται μυστηριώδης και εξωτική.

------------------------------ Διαφήμιση ------------------------------

Και μόνο στην αναφορά της φανταζόμαστε ιδιοφυείς χάκερ να χειρίζονται υπερυπολογιστές σε εργαστήρια κρυμμένα στα έγκατα της γης, σε συνθήκες απόλυτης μυστικότητας, με στρατιωτική φρουρά.

Στην πραγματικότητα, όμως, η βασική λογική πίσω από την κρυπτογράφηση δεδομένων είναι εξαιρετικά απλή.

Αφορά το πώς να "μεταμφιέσουμε" μια πληροφορία (ένα κείμενο, έναν αριθμό, ένα αρχείο), έτσι ώστε να μην βγάζει κανένα απολύτως νόημα στα μάτια τρίτων.

Μόνο όποιος έχει το "κλειδί" της κρυπτογράφησης θα μπορεί να διαβάσει την αρχική πληροφορία.

Ας δούμε για παράδειγμα τη φράση:

------------------------------ Διαφήμιση ------------------------------
Αυτή τη στιγμή διαβάζετε PCsteps
Μια απλοϊκή μέθοδος για κρυπτογράφηση δεδομένων είναι να πάρουμε κάθε γράμμα της φράσης και το αντικαταστήσουμε με το γράμμα που βρίσκεται δεξιά του στο πληκτρολόγιο.

Η φράση που προκύπτει είναι:
σθυξ υξ δυοη,ξ φοσνσχρυρ [vdyr[d
Ο κανόνας για τη "μεταμφίεση" των δεδομένων ονομάζεται αλγόριθμος κρυπτογράφησης.

Η διαδικασία εφαρμογής του αλγόριθμου στα αρχικά δεδομένα ονομάζεται κρυπτογράφηση.

Η γνώση του πώς εφαρμόζεται αυτός ο κανόνας είναι το κλειδί της κρυπτογράφησης.

Η αντίστροφη διαδικασία εφαρμογής του αλγόριθμου στα κρυπτογραφημένα δεδομένα, ώστε να πάρουμε ξανά τα αρχικά δεδομένα, ονομάζεται αποκρυπτογράφηση.

Κρυπτογράφηση δεδομένων: Μια "πρόσφατη" επινόηση

Σύμφωνα με τον ιστορικό Πλούταρχο, οι Σπαρτιάτες στρατηγοί που ήθελαν να στείλουν μυστικά κάποιο μήνυμα ο ένας στον άλλο, τύλιγαν μια μακριά και λεπτή λωρίδα παπύρου σε ένα κυλινδρικό κομμάτι ξύλου, τη "σκυτάλη", και έγραφαν εκεί το μήνυμά τους.

Ξετυλίγοντας τον πάπυρο, το κείμενο δεν έβγαζε κανένα νόημα, και μπορούσε να μεταφερθεί με ασφάλεια.

Στον προορισμό του, ο παραλήπτης θα τύλιγε το μήνυμα σε μια σκυτάλη του ίδιου μεγέθους για να το διαβάσει.

Στην προκειμένη περίπτωση:

Ο αλγόριθμος κρυπτογράφησης είναι η χρήση του παπύρου και της σκυτάλης.

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

Το κλειδί της κρυπτογράφησης είναι το ακριβές μέγεθος που πρέπει να έχει η σκυτάλη για να λειτουργήσει η αποκρυπτογράφηση - δηλαδή το τύλιγμα του γραμμένου παπύρου.

Ένα άλλο γνωστό είδος αλγορίθμου του αρχαίου κόσμου είναι το Caesar cipher ή Caesar shift.

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

Το όνομα του αλγορίθμου προέρχεται από τον Ιούλιο Καίσαρα, που χρησιμοποιούσε αυτή τη μέθοδο σύμφωνα με τον ιστορικό Σουητώνιο.

Το πόσες θέσεις είναι η μετακίνηση (2, 3 ή περισσότερες) είναι το κλειδί της κρυπτογράφησης στο συγκεκριμένο αλγόριθμο.

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

Στην πορεία τις ιστορίας επινοήθηκαν πολλοί ακόμα αλγόριθμοι για την κρυπτογράφηση δεδομένων, κυρίως από κράτη και κυβερνήσεις σε καιρό πολέμου.

Συχνά, για πιο περίπλοκους αλγορίθμους, που παρείχαν μεγαλύτερη ασφάλεια, χρησιμοποιούσαν ειδικές κατασκευές.

Οι κατασκευές αυτές αργότερα έδωσαν τη θέση τους σε ειδικές ηλεκτρομηχανικές συσκευές.

Μία από τις πλέον γνωστές συσκευές του είδους είναι η Enigma machine, την οποία χρησιμοποιούσε η Ναζιστική Γερμανία για την κρυπτογράφηση δεδομένων κατά τη διάρκεια του Β' Παγκοσμίου Πολέμου.

Η συσκευή χρησιμοποιήθηκε εκτεταμένα από την Γερμανική υπηρεσία πληροφοριών Abwehr, για την κρυπτογράφηση των πληροφοριών σχετικά με αεροπορικούς βομβαρδισμούς, την κίνηση στρατιωτικών μονάδων, και την τοποθεσία και το φορτίο στρατιωτικών πλοίων.

Μία άλλη σημαντική χρήση της Enigma ήταν η κρυπτογράφηση δεδομένων σχετικά με τη θέση των γερμανικών υποβρυχίων στον Ατλαντικό, τις εντολές που λάμβαναν, ίσως και το αν έγερναν.

Τα υποβρύχια αυτά είχαν αποκλείσει από θαλάσσης τη Βρετανία, θέτοντάς την πρακτικά σε κατάσταση πολιορκίας.

Το γεγονός πως ο Βρετανός μαθηματικός και επιστήμονας των υπολογιστών Alan Turing κατάφερε να ανακαλύψει το κλειδί κρυπτογράφησης του Enigma (να " σπάσει" την κρυπτογράφηση) υπήρξε καθοριστικής σημασίας για την έκβαση του πολέμου.

(ασχέτως αν το 1952 καταδίκασαν τον Alan Turing καθώς ήταν ομοφυλόφιλος - που ήταν παράνομο τότε - και τον οδήγησαν στην αυτοκτονία... Τουλάχιστον η Βρετανική κυβέρνηση ζήτησε επισήμως συγνώμη... το 2009)

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

Σήμερα, κάθε κρυπτογράφηση δεδομένων βασίζεται σε υπολογιστές.

Πολύ απλά, όποιον αλγόριθμο κι αν επινοήσει ο άνθρωπος, όσο περίπλοκος κι αν είναι, είναι υπερβολικά εύκολο να τον σπάσει ένας κατάλληλα προγραμματισμένος υπολογιστής.

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

Symmetric key encryption

Public key ή Asymmetric key encryption

Symmetric key encryption

Στην κρυπτογράφηση symmetric key, όπως και οι Σπαρτιάτες στρατηγοί, και οι δύο υπολογιστές που επικοινωνούν χρειάζεται να έχουν το ίδιο κλειδί κρυπτογράφησης.

Στην περίπτωση των υπολογιστών το κλειδί είναι ένας αριθμητικός κωδικός, το μέγεθος του οποίου ορίζεται από το πόσα bits τον αποτελούν.

(Για την εξήγηση των bits δείτε τον οδηγό μας: Πώς Λειτουργεί ο Υπολογιστής, Απλά και Κατανοητά)

Ο πρώτος σημαντικός αλγόριθμος για κρυπτογράφηση δεδομένων μέσω υπολογιστή ήταν ο Data Encryption Stantard (DES) που αναπτύχθηκε από την IBM στις ΗΠΑ και εγκρίθηκε για χρήση το 1970.

Ο DES χρησιμοποιεί κλειδί μήκους 56-bit, που διαθέτει πάνω από 72 τετράκις εκατομμύρια πιθανούς συνδυασμούς (72.057.594.037.927.936, για την ακρίβεια).

Μπορεί να ακούγονται ατέλειωτοι, όμως το 1998 δημιουργήθηκε η συσκευή EFF DES cracker ("Deep Crack"), με ειδικά κατασκευασμένα τσιπάκια, που επέτρεπαν σε έναν υπολογιστή να δοκιμάσει 90 δισεκατομμύρια κλειδιά το δευτερόλεπτο.

Θεωρητικά, θα χρειάζονταν 9 ημέρες για να δοκιμάσει κάθε πιθανό συνδυασμό.

Στην πράξη, ο Deep Crack κατάφερε να σπάσει τον DES σε δύο ξεχωριστά τεστ, στο πρώτο σε 56 ώρες και στο δεύτερο σε 22 ώρες, αποδεικνύοντας πως ο συγκεκριμένος αλγόριθμος είναι ανεπαρκής για την κρυπτογράφηση δεδομένων σε πραγματικές συνθήκες.

Πλέον, ο DES έχει αντικατασταθεί από τον αλγόριθμο Advanced Encryption Standard (AES), που χρησιμοποιεί κλειδιά 128, 192 ή 256-bit.

Με την αύξηση των bit, οι πιθανοί συνδυασμοί ανεβαίνουν εκθετικά. Ένα κλειδί 128-bit μπορεί να έχει πάνω από 300.000.000.000.000.000.000.000.000.000.000.000 πιθανούς συνδυασμούς.

Ο μεγαλύτερος υπερυπολογιστής αυτή τη στιγμή στον κόσμο, που μπορεί να εκτελέσει 33,86 petaflop/s (τετράκις εκατομμύρια υπολογισμούς το δευτερόλεπτο) και θα μπορούσε θεωρητικά να σπάσει τον DES σε 2 δευτερόλεπτα, θα χρειαζόταν περίπου 250 δισεκατομμύρια χρόνια για να ελέγξει όλους τους συνδυασμούς του AES-128.

Γνωστοί Αλγόριθμοι Symmetric key encryption

Εκτός από τον AES που προαναφέραμε, άλλοι γνωστοί αλγόριθμοι Symmetric key που χρησιμοποιούνται ευρέως για την κρυπτογράφηση δεδομένων είναι οι RC4, 3DES, IDEA, CAST5, Twofish, Serpent, Blowfish.

Public/asymmetric key encryption

Υπάρχει ένα σημαντικό πρόβλημα με την κρυπτογράφηση δεδομένων μέσω της μεθόδου symmetric key, ανεξαρτήτως αλγόριθμου, ειδικά όσον αφορά τη χρήση της στο Internet.

Το πρόβλημα είναι πως αν κάποιος θέλει να μας στείλει κάτι κρυπτογραφημένο με αυτή τη μέθοδο, για να το ανοίξουμε πρέπει με κάποιο τρόπο να μας στείλει και ένα αντίγραφο του κλειδιού.

Αν όμως μας στείλει το κλειδί μέσω του Internet, που είναι ένα δημόσιο δίκτυο, θα μπορούσε οποιοσδήποτε να το υποκλέψει κατά την αποστολή, και να έχει πρόσβαση στα κρυπτογραφημένα δεδομένα.

Αυτό το πρόβλημα λύνει η μέθοδος Public/asymmetric key encryption.

Ουσιαστικά, σε αυτή τη μέθοδο κρυπτογράφησης υπάρχουν δύο κλειδιά:

Το Public key, είναι δημόσιο και μπορεί να το χρησιμοποιήσει οποιοσδήποτε για την κρυπτογράφηση δεδομένων.

Το Private Key που είναι μυστικό. Συνδέεται μαθηματικά με το Public key και είναι απαραίτητο για την αποκρυπτογράφηση.

Για να γίνει κατανοητός ο τρόπος λειτουργίας αυτής της μεθόδου, θα χρησιμοποιήσουμε ένα παράδειγμα με δύο χρήστες, την Alice και τον Bob.

Tα ονόματα Alice και Bob, παρεμπιπτόντως, είναι τα στάνταρ ονόματα που χρησιμοποιούν οι κρυπτογράφοι για παραδείγματα και να δείξουν πώς λειτουργούν οι αλγόριθμοι.

Το πρόβλημα με την κρυπτογράφηση δεδομένων με symmetric key

Έστω λοιπόν πως η Alice θέλει να στείλει ένα μυστικό μήνυμα στον Bob μέσω του δημόσιου ταχυδρομείου, και περιμένει μια επίσης μυστική απάντηση από τον Bob.

Στην κρυπτογράφηση δεδομένων με symmetric key, ουσιαστικά η Alice κλειδώνει το μήνυμα σε ένα κουτί, με ένα λουκέτο (αλγόριθμος κρυπτογράφησης) για το οποίο έχει μόνο εκείνη το κλειδί (κλειδί κρυπτογράφησης).

Ύστερα, στέλνει το κλειδωμένο κουτί με το ταχυδρομείο στον Bob. Και, αναγκαστικά, του στέλνει σε ένα ξεχωριστό φάκελο, μέσω ταχυδρομείου, ένα αντίγραφο του μοναδικού κλειδιού.

Κάποιος κακόβουλος, όμως, με πρόσβαση στο ταχυδρομείο, θα μπορούσε να αντιγράψει το κλειδί και να έχει μετά απεριόριστη πρόσβαση στην επικοινωνία της Alice και του Bob.

Η λύση της κρυπτογράφησης public/asymmetric key

Στην κρυπτογράφηση δεδομένων με Public/Asymmetric key, η Alice και ο Bob έχουν ξεχωριστά λουκέτα και ξεχωριστά κλειδιά.

Ο Bob στέλνει το λουκέτο του ανοιχτό (Public key) με το ταχυδρομείο στην Alice, αλλά κρατάει εκείνος το κλειδί (Private key).

Η Alice χρησιμοποιεί αυτό το λουκέτο για να κλειδώσει το κουτί με το μήνυμα, και στέλνει το κλειδωμένο κουτί στον Bob, που το ανοίγει με το κλειδί του.

Αντίστοιχα, αν θέλει ο Bob να στείλει μήνυμα, θα πρέπει να του στείλει η Alice το δικό της λουκέτο πρώτα.

Αυτή η μέθοδος έχει το τεράστιο πλεονέκτημα πως δεν χρειάζεται να ανταλλάξουν κλειδιά ο Bob και η Alice, ώστε να μην υπάρχει η πιθανότητα να γίνει υποκλοπή κατά την ανταλλαγή.

Όμως, στην κρυπτογράφηση symmetric key, χρειάζεται μία μόνο φορά να σταλεί το κλειδί κρυπτογράφησης.

Στην κρυπτογράφηση δεδομένων με public/asymmetric key, χρειάζεται συνεχής ανταλλαγή δεδομένων σχετικών με την κρυπτογράφηση, εις βάρος της ταχύτητας μεταφοράς των πραγματικών δεδομένων. Συν ότι οι αλγόριθμοι αυτού του τύπου χρειάζονται περισσότερους υπολογισμούς.

Για να συνδυαστεί η ασφάλεια με την ταχύτητα, υλοποιείται μια υβριδική λύση για την κρυπτογράφηση δεδομένων, η οποία ουσιαστικά χρησιμοποιεί ταυτόχρονα και ένα αλγόριθμο symmetric key και έναν αλγόριθμο public/assymetric key.

Η υβριδική λύση που συνδυάζει ταχύτητα και ασφάλεια

Αυτή είναι η μέθοδος που χρησιμοποιείται ευρέως για την κρυπτογράφηση δεδομένων στο Internet.

Στην υβριδική αυτή λύση, για να στείλει η Alice μήνυμα στον Bob, ακολουθούνται τα εξής βήματα:

1. Ο Bob στέλνει στην Alice το ανοιχτό του λουκέτο (Public Key), ενώ κρατάει το δικό του κλειδί (Private Key).

2. H Alice αγοράζει ένα νέο λουκέτο με νέο, μοναδικό κλειδί (δημιουργία Symmetric key). Κλειδώνει με αυτό το κουτί με τα δεδομένα (data encapsulation).

3. Σε ένα δεύτερο, ξεχωριστό κουτί, πολύ μικρότερου μεγέθους, βάζει ένα αντίγραφο του μοναδικού κλειδιού, και το κλειδώνει με το λουκέτο του Bob (key encapsulation).

4. Στέλνει και τα δύο κουτιά στον Bob με το ταχυδρομείο.

Ο Bob, με τη σειρά του, μόλις λάβει και τα δύο κουτιά, ξεκλειδώνει με το κλειδί του το μικρό κουτί για να πάρει το μοναδικό κλειδί, και με το μοναδικό κλειδί ξεκλειδώνει το κουτί με τα δεδομένα.

Πλέον, εφόσον και ο Bob και η Alice έχουν ένα αντίγραφο του μοναδικού κλειδιού, που μεταφέρθηκε με ασφάλεια, όλη η υπόλοιπη επικοινωνία τους μπορεί να γίνει χωρίς την αποστολή κανενός κλειδιού.

Αυτή είναι μια σχετικά απλή έκδοση όσον αφορά την κρυπτογράφηση δεδομένων με Public/Asymmetric key.

Στην πράξη, στους πιο γνωστούς αλγόριθμους η Alice και ο Bob έχουν ο καθένας δύο κλειδιά, ένα για την κρυπτογράφηση δεδομένων και ένα για την αποκρυπτογράφηση.

Σε αυτή την αναλογία, η Alice μπορεί να εκδώσει οδηγίες για το πώς να φτιάξει κάποιος ένα λουκέτο (public key), όμως το συγκεκριμένο λουκέτο είναι σχεδιασμένο έτσι ώστε να είναι αδύνατον να εξαχθεί από αυτό συμπέρασμα για τη δημιουργία κλειδιού (private key).

Σε άλλα συστήματα με κρυπτογράφηση δεδομένων Public/Asymmetric key, η Alice και ο Bob επιλέγουν ένα τυχαίο κλειδί, και μετά επικοινωνούν για να συγκρίνουν τα χαρακτηριστικά των κλειδιών τους. Γνωρίζοντας τις διαφορές, δημιουργούν ένα κουτί με ειδική κλειδαριά, που ανοίγει μόνο με τα δικά τους κλειδιά.

Γνωστοί Αλγόριθμοι Public/Asymmetric key encryption

Ο ποιο γνωστός αλγόριθμος Public/Asymmetric key όσον αφορά το Internet είναι ο RSA, την ακριβή λειτουργία του οποίου θα αναλύσουμε παρακάτω..

Από εκεί και πέρα, γνωστές και διαδεδομένες τεχνικές public/asymmetric key για διάφορες εφαρμογές είναι το πρωτόκολλο ανταλλαγής κλειδιών Diffie-Hellman, το Digital Signature Standard που περιλαμβάνει τον Digital Signature Algorithm, η κρυπτογράφηση ElGamal, το σύστημα Paillier, το σύστημα Cramer-Shoup και το πρωτόκολλο YAK.

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

Το κύριο πρωτόκολλο κρυπτογράφησης του Internet είναι το Transport Layer Security (TLS), που είναι ο διάδοχος του Secure Socket Layer (SSL). Είναι το πρωτόκολλο που ακολουθείται όποτε μπαίνουμε σε μια σελίδα που ξεκινάει με https:// και με λουκέτο.

Να σημειωθεί πως το TLS δεν είναι το ίδιο ένας αλγόριθμος κρυπτογράφησης. Είναι το πρωτόκολλο που υπαγορεύει τα βήματα που πρέπει να ακολουθηθούν για να πραγματοποιηθεί μια ασφαλής σύνδεση.

Τα βήματα αυτά συμπεριλαμβάνουν, μεταξύ άλλων:

ποια στοιχεία χρειάζεται να ανταλλάξουν ο υπολογιστής μας και ο server πριν δημιουργηθεί η ασφαλής σύνδεση

ποιος αλγόριθμος Public/Asymmetric key θα χρησιμοποιηθεί και για την κρυπτογράφηση ποιών δεδομένων.

ποιος αλγόριθμος θα χρησιμοποιηθεί για το Symmetric key

Πόσο διάστημα θα διαρκέσει η σύνδεση (session) πριν χρειαστεί να ανανεωθεί

Επίσης, ο TSL ορίζει και ένα επιπλέον μέτρο ασφαλείας, που ονομάζεται Digital Certificate.

Digital Certificate

Υπάρχουν κάποιες εταιρείες που ονομάζονται Certificate Authorities, όπως πχ η VeriSign, η DigiCert, το Comodo Group, και άλλες.

Οι εταιρείες αυτές εκδίδουν ένα ψηφιακό πιστοποιητικό ( Digital Certificate). Ουσιαστικά πρόκειται για ένα μοναδικό κομμάτι κώδικα που επιβεβαιώνει πως ένα συγκεκριμένο Public key ανήκει σε μια συγκεκριμένη ιστοσελίδα και μια συγκεκριμένη επιχείρηση.

Έτσι, είναι αδύνατον κάποιος να πλαστογραφήσει πχ το Public key του Facebook. Εφόσον υπάρχει το https:// και το λουκέτο, βρισκόμαστε στο πραγματικό facebook...

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

Αν μπούμε σε κάποια ιστοσελίδα με https:// αλλά χωρίς Digital Certificate από κάποια Certificate Authority, ο browser θα μας προειδοποιήσει.

Η κρυπτογράφηση δεδομένων στο Internet, στην πράξη

Για να δούμε απλοποιημένα πως λειτουργεί το πρωτόκολλο TLS, μόλις μπαίνουμε σε μια σελίδα https://, γίνονται τα εξής:

1. Ο browser στέλνει τα στοιχεία του στο server: ποιες εκδόσεις SSL και TLS υποστηρίζει, ποιους αλγόριθμους για την κρυπτογράφηση δεδομένων, στοιχεία που αφορούν το session (πχ ημερομηνία και ώρα έναρξης) και γενικά όσα στοιχεία χρειάζεται για να γίνει η σύνδεση.

2. Ο web server της σελίδας στέλνει τα αντίστοιχα στοιχεία του όσον αφορά το SSL/TLS, τους αλγόριθμους, το session κλπ. Επίσης στέλνει το digital certificate.

3. Ο browser ελέγχει τρία πράγματα:

1. Αν το digital certificate προέρχεται από μια πιστοποιημένη Certificate Authority,

2. Αν ισχύει ακόμα

3. Αν συνδέεται με το site που έχουμε μπει.

4. Εφόσον όλα είναι καλά, o server στέλνει το public key στον browser. Ο browser χρησιμοποιεί το public key για να δημιουργήσει ένα τυχαίο symmetric key.

5. Το symmetric key αποστέλλεται στο server, και χρησιμοποιείται για όλη τη διάρκεια της σύνδεσης (session) σε κρυπτογράφηση δεδομένων τύπου symmetric key.

Μόλις αποσυνδεθούμε (πχ κάνουμε log-out από το email ή από το facebook ή λήξει το session, πχ στο paypal ή το ebanking), ο υπολογιστής μας και ο web server καταστρέφουν το symmetric key.

Στην επόμενη σύνδεση, θα δημιουργηθεί ένα εντελώς νέο symmetric key.

Ο πιο συνηθισμένος αλγόριθμος κρυπτογράφησης Public/asymmetric key που χρησιμοποιείται με το TLS είναι ο RSA.

Για να μάθουμε περισσότερα για το ποιοι αλγόριθμοι χρησιμοποιούνται για τη σύνδεση σε μια συγκεκριμένη σελίδα, αρκεί να κάνουμε κλικ στο λουκέτο στη μπάρα διευθύνσεων.

Στη συνέχεια, στον Chrome επιλέγουμε τη "Σύνδεση"...

Στον Firefox πηγαίνουμε στο "Περισσότερα για αυτή την ιστοσελίδα"

και βλέπουμε αναλυτικά όλες τις πληροφορίες.

Η σημασία των μαθηματικών στην κρυπτογράφηση δεδομένων
(σημείωση: αν δεν αντέχετε τα μαθηματικά, προσπεράστε ολόκληρη αυτή την ενότητα) (επίσης, αν οτιδήποτε από τα παρακάτω δεν σας είναι απόλυτα σαφές, γράψτε μας στα σχόλια και θα το διευκρινήσουμε περισσότερο)
Για να ασχοληθεί κάποιος με την επιστήμη της κρυπτογράφησης δεδομένων, η γνώση ανώτερων μαθηματικών είναι πολύ σημαντικότερη από τη γνώση που αφορά τους υπολογιστές και τα δίκτυα.

Αυτό συμβαίνει γιατί συγκεκριμένες μαθηματικές δομές και ιδιότητες των αριθμών, βασισμένες σε θεωρήματα μαθηματικών όπως ο Ευκλείδης, ο Fermat, και ο Euler, είναι που κάνουν τους αλγόριθμους κρυπτογράφησης τόσο δύσκολο να σπάσουν.

Για παράδειγμα, ένας από τους ισχυρότερους και πλέον διαδεδομένους αλγόριθμους για την κρυπτογράφηση δεδομένων στο Internet είναι ο RSA, ένα κρυπτογραφικό σύστημα Public/Asymmetric key με κλειδιά μήκους από 1024 έως 4096 bit.

Η μέθοδος με την οποία ο RSA δημιουργεί το Public και το Private key στηρίζεται στις παρακάτω μαθηματικές έννοιες:

Τους πρώτους και τους σύνθετους αριθμούς

Τους ημιπρώτους αριθμούς

Τον μέγιστο κοινό διαιρέτη

Τους σχετικά πρώτους αριθμούς

Την συνάρτηση Euler φ(n)

Την παραγοντοποίηση πρώτων αριθμών

Το υπόλοιπο της διαίρεσης και οι ισοϋπόλοιποι αριθμοί

Τους αντίστροφους αριθμούς και το θεώρημα Euler.

Πριν λοιπόν δούμε πως ακριβώς λειτουργεί ο RSA, ας κάνουμε ένα μικρό φρεσκάρισμα στα μαθηματικά μας.

Οι βασικές μαθηματικές έννοιες

Όπως πιθανώς θυμάστε από το σχολείο:

Πρώτοι και σύνθετοι αριθμοί

Πρώτοι είναι οι αριθμοί που διαιρούνται ακριβώς μόνο με τον εαυτό τους και με τη μονάδα. Οι παρακάτω είναι όλοι οι πρώτοι αριθμοί μέχρι το 100.

Ο μεγαλύτερος πρώτος αριθμός που έχει ανακαλυφθεί μέχρι στιγμής είναι ο 2 74,207,281-1, που επιβεβαιώθηκε στις 7 Ιανουαρίου 2016 και ονομάζεται M74207281.

Ο αριθμός αυτός αποτελείται από 22 εκατομμύρια ψηφία, που σημαίνει πως για να τον διαβάσουμε φωναχτά, αν λέμε δύο ψηφία το δευτερόλεπτο, θα μας πάρει πάνω από τέσσερις μήνες για να τον πούμε ολόκληρο.

Οι υπόλοιποι αριθμοί που δεν είναι πρώτοι, ονομάζονται "σύνθετοι αριθμοί".

Ημιπρώτοι αριθμοί

Ημιπρώτοι ονομάζονται οι αριθμοί που παράγονται από τον πολλαπλασιασμό δύο πρώτων.

15=3*5

8633 = 89*97

Μέγιστος κοινός διαιρέτης

Ο μέγιστος κοινός διαιρέτης δύο αριθμών α και β είναι ο μεγαλύτερος ακέραιος αριθμός που διαιρεί ακριβώς και τους δύο. Συμβολίζεται με ΜΚΔ(a,b)

ΜΚΔ(120,350)=10

ΜΚΔ(150,350)=50

Για να βρούμε το μέγιστο κοινό διαιρέτη μπορούμε να εφαρμόσουμε παραγοντοποίηση (για την οποία θα μιλήσουμε παρακάτω) ή τον Αλγόριθμο του Ευκλείδη.

Εξ' ορισμού, ο μέγιστος κοινός διαιρέτης οποιωνδήποτε διαφορετικών πρώτων αριθμών είναι η μονάδα.

ΜΚΔ(89,97)=1

Σχετικά πρώτοι αριθμοί

Οι σχετικά πρώτοι αριθμοί για έναν συγκεκριμένο αριθμό είναι αυτοί που έχουν μέγιστο κοινό διαιρέτη τη μονάδα με τον συγκεκριμένο αριθμό.

Προφανώς όλοι οι πρώτοι αριθμοί είναι και σχετικά πρώτοι μεταξύ τους. Επίσης, σε έναν πρώτο αριθμό x, όλοι ακέραιοι οι αριθμοί από το μηδέν ως το x-1 είναι σχετικά πρώτοι μαζί του.

Μπορούν όμως και αριθμοί που δεν είναι πρώτοι να είναι σχετικά πρώτοι μεταξύ τους. Για παράδειγμα, ο ΜΚΔ(21,22)=1, άρα το 21 και το 22 είναι σχετικά πρώτοι μεταξύ τους.

Η συνάρτηση Euler φ(n)

Ο Leonhard Euler είναι μία από τις μεγαλύτερες μαθηματικές ιδιοφυΐες στην ιστορία...

Η συνάρτηση Euler για ένα συγκεκριμένο θετικό ακέραιο αριθμό μετράει πόσοι σχετικά πρώτοι αριθμοί υπάρχουν ανάμεσα στο μηδέν και τον συγκεκριμένο αριθμό.

Για παράδειγμα, το 9 έχει μέγιστο κοινό διαιρέτη τη μονάδα με έξι αριθμούς από το 0 ως το 9, τους 1, 2, 4, 5, 7 και 8.

Άρα το φ(9)=6

Εξ ορισμού, το φ(n) για οποιονδήποτε πρώτο αριθμό p είναι φ(n)=(p-1)

Αυτό συμβαίνει γιατί, όπως προαναφέραμε, όλοι οι αριθμοί ανάμεσα στο μηδέν και έναν πρώτο αριθμό είναι σχετικά πρώτοι μαζί του, εκτός από τον ίδιο τον πρώτο αριθμό.

Παραγοντοποίηση Πρώτων

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

Πολλαπλασιάζοντας μεταξύ τους αυτούς τους παράγοντες, παίρνουμε τον αρχικό αριθμό.

Επίσης, σύμφωνα με τη θεμελιώδη θεωρία αριθμών, κάθε ακέραιος θετικός έχει ένα μοναδικό αποτέλεσμα όσον αφορά την παραγοντοποίηση πρώτων.

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

Το υπόλοιπο της διαίρεσης και οι ισοϋπόλοιποι αριθμοί

Πριν μάθουμε για δεκαδικούς και κλάσματα, όταν πρωτομαθαίναμε τη διαίρεση πχ 24/10, λέγαμε πως "το 10 χωράει 2 φορές στο 24 και περισσεύουν 4".

Όσο απίστευτο κι αν φαίνεται, αυτή η λογική είναι ζωτικής σημασίας για την κρυπτογράφηση δεδομένων με τον RSA.

Μαθηματικά, η παραπάνω φράση που αφορά το υπόλοιπο μπορεί να γραφτεί ως:

24 mod 10 = 4

Τώρα, αν δύο αριθμοί έχουν το ίδιο υπόλοιπο στη διαίρεση με τον ίδιο αριθμό, αυτοί οι δύο αριθμοί έχουν μια σχέση συζυγίας (congruence relation) μεταξύ τους.

Η σχέση συζυγίας συμβολίζεται με το ≡, και οι αριθμοί ονομάζονται ισοϋπόλοιποι.

Δηλαδή εφόσον 24 mod 10 = 4 (γιατί περισσεύει 4 στη διαίρεση)
και 54 mod 10 = 4 (καθώς επίσης περισσεύει 4) τότε ισχύει πως

54≡24 mod 10

Η παραπάνω σχέση διαβάζεται "54 ισότιμος του 24 modulo 10",
ή, εναλλακτικά, "54 ισότιμος του 24 κατά μέτρο 10".

Αντίστροφοι αριθμοί

Αντίστροφοι είναι δύο αριθμοί που αν τους πολλαπλασιάσουμε μεταξύ τους, μας δίνουν τη μονάδα.

Πχ το x και το x^(-1) (ή αλλιώς το x και το 1/x)

Αυτό που είναι ενδιαφέρον είναι πως αν και μόνο αν δύο αριθμοί α και m είναι σχετικά πρώτοι μεταξύ τους (δηλαδή ΜΚΔ(a,m)=1), τότε ο μικρότερος από τους δύο αριθμούς έχει έναν αριθμό x που είναι αντίστροφος κατά μέτρο του μεγαλύτερου.

Για παράδειγμα, οι αριθμοί 4 και 9 είναι σχετικά πρώτοι μεταξύ τους, γιατί ΜΚΔ(4,9)=1

Αυτό σημαίνει πως υπάρχει ένας ακέραιος αριθμός x<9, για τον οποίο ισχύει
4*X≡1 mod 9

Για να βρεθεί αυτός ο αριθμός, μπορεί να χρησιμοποιηθεί ο διευρυμένος αλγόριθμος του Ευκλείδη.

Στην προκειμένη περίπτωση, ο αριθμός είναι το 7.
4*7=28≡1 mod 9
Πώς χρησιμοποιούνται όλα τα παραπάνω στην κρυπτογράφηση δεδομένων με τον RSA?

Στην πράξη, όταν ο RSA ενεργοποιείται από το TLS, η διαδικασία που ακολουθεί είναι η εξής:

Παραγωγή δύο πρώτων αριθμών μεγάλου μήκους

Έστω p και q οι αριθμοί αυτοί.

Το ελάχιστο μήκος που μπορεί να έχουν είναι 512 ψηφία. Για να θεωρηθεί ασφαλής η κρυπτογράφηση, θα πρέπει να έχουν μήκος τουλάχιστον 1024 ψηφία.

Πολλαπλασιασμός των δύο αυτών αριθμών

Με τον πολλαπλασιασμό παράγεται ο ημιπρώτος n
n=p*q
Εφαρμογή της συνάρτησης Euler στον n
φ(n) = φ(p*q) = φ(p)*φ(q)
Εφόσον ο p και ο q είναι πρώτοι, ισχύει φ(p)=(p-1) και φ(q)=(q-1)

Άρα φ(n)=(p-1)*(q-1), που είναι απείρως πιο εύκολο να υπολογιστεί.

Το Public Key παράγεται ώστε να είναι ένας πρώτος αριθμός μεταξύ του 3 και του φ(n)

Συμβολίζεται με e και έχει συνήθως την τιμή 65537 (2^16+1).

Αν τύχει το φ(n) να είναι πολλαπλάσιο του 65537, δίνεται άλλη τιμή στο e. Αυτό είναι σχετικά απίθανο να τύχει, αλλά γίνεται έλεγχος.

Eξ' ορισμού ο ΜΚΔ(e, φ(n) )=1

Δεν μας πειράζει το ότι το Public key e είναι γνωστό και δεν είναι τυχαίος αριθμός. Έτσι κι αλλιώς είναι διαθέσιμο σε όλους. Το σημαντικό είναι να μην μπορεί να προκύψει το Private key από το Public key

Από τη στιγμή που το Public key έχει μέγιστο κοινό διαιρέτη τη μονάδα με το φ(n), με τον εκτεταμένο αλγόριθμο του Ευκλείδη μπορούμε να βρούμε γρήγορα τον αντίστροφό του κατά μέτρο φ(n).

Δηλαδή έναν αριθμό d έτσι ώστε
e*d≡1 mod φ(n)
Αυτός ο αριθμός d είναι το private key.

Κρυπτογράφηση δεδομένων και αποκρυπτογράφηση

Πλέον, με τα κλειδιά έτοιμα, ο RSA είναι έτοιμος να κρυπτογραφήσει τα δεδομένα.

Ουσιαστικά, όλο το κείμενο προς κρυπτογράφηση, μέσα από μια διαδικασία που δεν θα περιγράψουμε αυτή τη στιγμή, παίρνει μία αριθμητική τιμή, έστω m.

Ο RSA μετασχηματίζει αυτή την τιμή m μέσα από την παρακάτω συνάρτηση με βάση το κλειδί k, με n το γινόμενο των πρώτων αριθμών:
F(m,k)=m^k mod n
Για τη συνάρτηση αυτή, υπάρχουν δύο περιπτώσεις:

Κατά την κρυπτογράφηση δεδομένων, ο RSA εφαρμόζει τη συνάρτηση ως εξής:

F(m,e)=m^e mod n = c, όπου m είναι το μήνυμα, e είναι το public key και c είναι το κρυπτογραφημένο μήνυμα.

Στην αποκρυπτογράφηση δεδομένων, η συνάρτηση είναι

F(c,d)=c^d mod n = m, όπου c είναι τα κρυπτογραφημένα δεδομένα, d είναι το private key και m είναι το αποκρυπτογραφημένο κείμενο.

Επίσης, ο RSA λειτουργεί και αντιστρόφως, μπορεί να κάνει κρυπτογράφηση δεδομένων με το private key και να τα αποκρυπτογραφήσει με το Public, με τις ίδιες εξισώσεις.

Έτσι λοιπόν λειτουργεί ο RSA.

Αριθμητικό παράδειγμα για το πώς λειτουργεί ο RSA

Για όσους δεν είμαστε μαθηματικοί, ένα πρακτικό παράδειγμα δείχνει πιο καθαρά πως λειτουργεί ο RSA κατά την κρυπτογράφηση δεδομένων.

Επειδή θα μας πάρει περίπου 2 χρόνια να κάνουμε πράξεις με αριθμούς των 1024 ψηφίων με το χέρι, έστω πως οι πρώτοι αριθμοί που παράγουμε στον χειροκίνητο RSA μας είναι p=11 και q=13.

Πολλαπλασιασμός των δύο αυτών αριθμών

Εφαρμογή της συνάρτησης Euler στον n

Άρα φ(n)=(p-1)*(q-1)=10*12=120

Χρειαζόμαστε έναν πρώτο αριθμό από το 3 ως το φ(n)120, που να έχει μέγιστο κοινό διαιρέτη 1 με το 120.

Ας επιλέξουμε το e=7.

ΜΚΔ(7, 120)=1

Θέλουμε έναν αριθμό d έτσι ώστε

e*d≡1 mod φ(n) δηλαδή 7*d≡1 mod 120.

Με τον εκτεταμένο αλγόριθμο του Ευκλείδη βρίσκουμε τον αριθμό d=103.

Για επαλήθευση έχουμε e*d≡1 mod φ(n), δηλαδή 7*103=721≡1 mod 120, που ισχύει.

Κρυπτογράφηση δεδομένων και αποκρυπτογράφηση

Ας πούμε πως τα δεδομένα μας είχαν την τιμή m=9.

Για την κρυπτογράφηση δεδομένων έχουμε m^e mod n= 9^7 mod 143 = 48

Άρα, το αρχικό κείμενο m=9 με την κρυπτογράφηση έγινε c=48.

Για την αποκρυπτογράφηση έχουμε: c^d mod n = 48^103 mod 143 = 9

Και έχουμε ξανά το m=9.

Παρατηρήστε πως τέτοιες πράξεις, όπως το 48^103 (που θα ήταν ασύγκριτα μεγαλύτερες με πραγματικά νούμερα) είναι που κάνουν τον RSA τόσο απαιτητικό σε υπολογισμούς, και χρησιμοποιείται η υβριδική μέθοδος με το symmetric key.

Αλλιώς, ένας server που έχει να εξυπηρετήσει εκατομμύρια επισκέπτες την ημέρα, θα ήταν αδύνατον να ανταπεξέλθει στην απαιτούμενη επεξεργαστική ισχύ.

Γιατί η κρυπτογράφηση δεδομένων με τον RSA είναι απόλυτα ασφαλής

Ας πούμε πως θέλαμε να σπάσουμε τον κώδικα του παραδείγματος του RSA που φτιάξαμε παραπάνω.

Σαν εξωτερικοί παρατηρητές, οι μόνες τιμές που βλέπουμε είναι το Public key, που είναι 7, το n που είναι 143 και το κρυπτογραφημένο κείμενο c=48.

Δεν βλέπουμε όμως πουθενά τους πρώτους αριθμούς που χρησιμοποιήθηκαν για να φτιάξουν το n, με τους οποίους θα μπορούσαμε να υπολογίσουμε εύκολα το φ(n). Και χωρίς το φ(n) είναι αδύνατον να υπολογίσουμε το private key d.

Από τη στιγμή που ο n είναι 143 στο παράδειγμα, θα μπορούσαμε να τον παραγοντοποιήσουμε και με το χέρι, και πρακτικά να σπάσουμε τον κωδικό.

Αν όμως ο n είναι ένας αριθμός με 309 ψηφία, όπως ισχύει στον RSA-1024, δεν έχει υπάρξει υπολογιστής που να μπορέσει να εφαρμόσει επιτυχώς παραγοντοποίηση πρώτων σε αυτόν.

Ο μεγαλύτερος ημιπρώτος αριθμός που έχουμε καταφέρει να παραγοντοποιήσουμε είναι ο RSA-768, ένας αριθμός 232 ψηφίων:

RSA-768 = 1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413

Η παραγοντοποίησή του ήταν:

RSA-768 = 33478071698956898786044169848212690817704794983713768568912431388982883793878002287614711652531743087737814467999489
×
36746043666799590428244633799627952632279158164343087642676032283815739666511279233373417143396810270092798736308917

Για να βρεθεί το παραπάνω αποτέλεσμα, χρειάστηκαν πολλαπλοί ερευνητές και εκατοντάδες υπολογιστές να εργάζονται για 2 χρόνια.

Αν ένας μονοπύρηνος AMD Opteron 2,2GHz επιχειρούσε να κάνει όλες αυτές τις πράξεις, θα χρειαζόταν κυριολεκτικά 2.000 χρόνια.

Το διαβόητο ransomware cryptolocker χρησιμοποιεί κρυπτογράφηση δεδομένων RSA-2048 - γι' αυτό και όποιος το κόλλησε, η μόνη λύση ήταν να πληρώσει, αν ήθελε πίσω τα δεδομένα του.

Χρειάστηκαν οι εντατικές προσπάθειες από τρεις διαφορετικές εταιρείες ασφαλείας για να εντοπίσουν το ιδιωτικό κλειδί που τελικά επέτρεψε την αποκρυπτογράφηση δωρεά ν.

Η σημασία των τυχαίων αριθμών στην κρυπτογράφηση δεδομένων

Στην κρυπτογράφηση δεδομένων RSA είναι εξαιρετικά σημαντικό οι πρώτοι αριθμοί που θα παραχθούν να είναι πραγματικά τυχαίοι.

Το ίδιο ισχύει και για τα κλειδιά σε αλγόριθμους symmetric key, όπως ο AES-128, και σε όλους πρακτικά τους αλγορίθμους κρυπτογράφησης.

Γιατί όμως είναι τόσο μεγάλο ζήτημα η τυχαιότητα?

Υπολογιστές, ντετερμινισμός, και η δυσκολία του τυχαίου

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

Αυτό είναι πρακτικό για την καθημερινή χρήση του υπολογιστή - κανείς δεν θα ήθελε να έκανε διπλό κλικ στο word και να άνοιγε στη θέση του ένα τυχαίο, άσχετο πρόγραμμα.

Οι υπολογιστές είναι προγραμματισμένοι έτσι ώστε να μην είναι τίποτα τυχαίο, ώστε να ακολουθούν πάντα τις οδηγίες, τους αλγόριθμους των προγραμμάτων.

Όσον αφορά την κρυπτογραφία, όμως, αυτή η μέθοδος λειτουργίας είναι καταστροφική.

Το πρόβλημα είναι πως ο υπολογιστής δεν μπορεί να παράγει τίποτα από το μηδέν.

Μπορεί να πάρει έναν αριθμό και να τον μετασχηματίσει. Να τον περάσει από έναν μακρύ και περίπλοκο αλγόριθμο, έτσι ώστε στο τέλος να είναι ένας εντελώς διαφορετικός αριθμός.

Το θέμα όμως είναι πως ο ίδιος αρχικός αριθμός θα δίνει πάντοτε το ίδιο τελικό αποτέλεσμα. Ο αλγόριθμος είναι ένας, δεν αλλάζει, όσο περίπλοκος κι αν είναι. Οι αριθμοί που παράγονται, λοιπόν, δεν είναι πραγματικά τυχαίοι. Είναι ψευδοτυχαίοι (pseudo-random).

Ο μόνος τρόπος να επιτευχθεί πραγματική τυχαιότητα είναι ο αρχικός αριθμός που θα δοθεί στον υπολογιστή για να μετασχηματίσει, να είναι εκείνος πραγματικά τυχαίος.

Κάποια προγράμματα, όπως το Truecrypt χρησιμοποιούν δεδομένα από την κίνηση του ποντικιού από τον χρήστη.

Το HotBits, τμήμα του Ελβετικού site Fournilab, χρησιμοποιεί τη ραδιενεργό διάσπαση ενός ραδιενεργού υλικού, που είναι απρόβλεπτο το πότε θα συμβεί.

Στο Random.org - το οποίο χρησιμοποιούμε και στο PCsteps για να βρούμε τους τυχαίους νικητές του εκάστοτε διαγωνισμού - μετρούν τον ατμοσφαιρικό θόρυβο, χρησιμοποιώντας τα παράσιτα ενός ραδιοφώνου.

Στο Lavarand, όσο λειτουργούσε, χρησιμοποιούσαν lava lamps.

Γενικά, πάντως, η παραγωγή τυχαίων αριθμών στους υπολογιστές είναι κάτι που χρειάζεται σοβαρή μελέτη από τον σχεδιαστή ενός συστήματος.

Γιατί είναι τόσο απαραίτητη η τυχαιότητα στην κρυπτογραφία

Αναφέραμε πως ο αλγόριθμος AES παράγει ένα τυχαίο κλειδί 128 bit, που μπορεί να έχει πάνω από 300.000.000.000.000.000.000.000.000.000.000.000 πιθανούς συνδυασμούς.

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

Ακόμα χειρότερα, αν τα δεδομένα δεν είναι πραγματικά τυχαία, μπορεί κάποιος να αναλύσει έναν αλγόριθμο στο βαθμό που να καταλάβει τη λειτουργία του, και έτσι να μπορεί να προβλέψει ποιο θα είναι το επόμενο αποτέλεσμα που θα δώσει.

Γιατί υπάρχουν ακόμα hacker?

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

Άρα, λοιπόν, γιατί δεν είναι όλα τα συστήματα απαραβίαστα? Γιατί ακόμα και δίκτυα όπως του Πενταγώνου, της Apple, του Twitter, και των New York Times πέφτουν θύματα hacker?

Δείτε το άρθρο μας σχετικά με το Spear Phishing, την πιο επικίνδυνη επίθεση που μπορεί να παραβιάσει ακόμα και το πιο ασφαλές σύστημα στον κόσμο, γιατί χτυπάει στον πιο αδύναμο κρίκο: τον άνθρωπο.

Δείτε και το σχετικό comic strip του XKCD.

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

Είναι λοιπόν ζωτικής σημασίας να ακολουθούμε τις αρχές της ηλεκτρονικής ασφάλειας. Γιατί οι καλύτεροι αλγόριθμοι κρυπτογράφησης στον κόσμο δεν θα μας βοηθήσουν σε τίποτα αν κολλήσουμε έναν keylogger που διαβάζει όλα όσα γράφουμε στο πληκτρολόγιο.

Έχετε απορίες σχετικά με την κρυπτογράφηση δεδομένων?

Η κρυπτογράφηση δεδομένων είναι ένα θέμα που οι ειδικοί σπουδάζουν χρόνια για να κατανοήσουν, και μια απλή δημοσίευση 4.900 λέξεων δεν κάνει ειδικούς ούτε εμάς, ούτε και εσάς.

Ελπίζουμε πάντως να ανοίξαμε ένα έστω μικρό παράθυρο στο πως λειτουργούν τα συστήματα που κρατούν ασφαλείς τις πληροφορίες μας, και μας επιτρέπουν να επικοινωνήσουμε ιδιωτικά, να κάνουμε αγορές μέσω Internet, και ασφαλείς συναλλαγές στο ebanking.

Αν έχετε περισσότερες απορίες για την κρυπτογράφηση δεδομένων, γράψτε μας στα σχόλια.

Σχετικές Δημοσιεύσεις

Τα νεότερα βίντεο του PCsteps

Υποστηρίξτε τη λειτουργία του PCsteps

Θέλετε να υποστηρίξετε το PCsteps στη λειτουργία του, για να δημοσιεύουμε καθημερινά υψηλής ποιότητας οδηγούς και βίντεο σχετικά με την τεχνολογία?

Μπορείτε να κάνετε ένα like στη σελίδα μας στο Facebook, να μοιραστείτε τον οδηγό με τους φίλους σας, και να επιλέξετε τις φιλικές μας επιχειρήσεις για τις ηλεκτρονικές σας αγορές, από τους παρακάτω συνδέσμους:

Με κάθε σας αγορά, και χωρίς να χρεώνεστε τίποτα επιπλέον, το site μας θα παίρνει μια πολύ μικρή προμήθεια, η οποία είναι σημαντική βοήθεια για την κάλυψη των λειτουργικών εξόδων και τις αμοιβές των συνεργατών.

Αν προτιμάτε αγορές από την Κίνα, για να πετύχετε καλύτερες τιμές, συνεργαζόμαστε με τα μεγαλύτερα κινέζικα e-shop:

Δείτε τι να προσέχετε στις αγορές από Κίνα για να αποφύγετε το τελωνείο, καθώς και πώς μπορεί το PCsteps να μεσολαβήσει για εσάς αν έχετε οποιοδήποτε πρόβλημα με αγορά από το GearBest, εφόσον έχετε χρησιμοποιήσει το δικό μας σύνδεσμο για την αγορά σας.

Για την πλήρη προστασία όλων σας των συσκευών με Windows, Android, iOS, και MacOS, το PCsteps εμπιστεύεται, χρησιμοποιεί, και προτείνει τα προϊόντα ασφαλείας της Bitdefender.

Μάλιστα, μπορείτε σε αποκλειστικότητα να δοκιμάσετε το Bitdefender Internet Security δωρεάν για 90 ημέρες.

# data[].attributes.attachment_link.authors[].name
Άγγελος Κυρίτσης

# data[].attributes.attachment_link.title
Κρυπτογράφηση Δεδομένων - Τι είναι και Πώς Λειτουργεί | PCsteps.gr

# data[].attributes.attachment_link.description
Συγγραφέας: Άγγελος Κυρίτσης 37 Σε έναν κόσμο χωρίς κρυπτογράφηση δεδομένων, θα ήταν αδύνατον να έχουμε ένα προσωπικό email, έναν προσωπικό λογαριασμό στο facebook, ή να χρησιμοποιήσουμε μια πιστωτική κάρτα για αγορές στο Internet. Η κρυπτογράφηση δεδομένων χρησιμοποιείται παντού, και είναι η "κλειδαριά" που κρατάει την ψηφιακή μας ζωή ασφαλή.

# data[].attributes.headline
Τι είναι κρυπτογράφηση

# data[].attributes.subject
Τι είναι κρυπτογράφηση

# data[].attributes.body
Σε έναν κόσμο χωρίς κρυπτογράφηση δεδομένων, θα ήταν αδύνατον να έχουμε ένα προσωπικό email, έναν προσωπικό λογαριασμό στο facebook, ή να χρησιμοποιήσουμε μια πιστωτική κάρτα για αγορές στο Internet. Η κρυπτογράφηση δεδομένων χρησιμοποιείται παντού, και είναι η "κλειδαριά" που κρατάει την ψηφιακή μας ζωή ασφαλή. Αφορά το πώς να "μεταμφιέσουμε" μια πληροφορία (ένα κείμενο, έναν αριθμό, ένα αρχείο), έτσι ώστε να μην βγάζει κανένα απολύτως νόημα στα μάτια τρίτων.Μόνο όποιος έχει το "κλειδί" της κρυπτογράφησης θα μπορεί να διαβάσει την αρχική πληροφορία.Βέβαια ρωτώντας τους εγχώριους τι είναι η κρυπτογράφηση, θα μας απαντούσα <<Η Kρυπτογραφία αποτελεί τον θεμέλιο λίθο της Ασφάλειας Υπολογιστικών Συστημάτων. Είναι ένας τομέας της Πληροφορικής ο οποίος με διάφορες εκφάνσεις, τον συναντάμε από την αρχαιότητα μέχρι σήμερα, έτσι από ένα σύνολο τεχνικών για την απόκρυψη της Πληροφορίας, εξελίχθηκε σε επιστήμη, μία επιστήμη η οποία βασίζεται στα Μαθηματικά και εφαρμόζεται στην Πληροφορική και τις τηλεπικοινωνίες.>>
Κάτι που δεν γνωρίζαμε μέχρι τώρα είναι ότι η χρήση της είναι πλέον καθημερινή και οι χρήστες της δεν έχουν καμία επαφή μαζί της. Κάποιος ο οποίος μιλάει στο κινητό τηλέφωνο, δεν γνωρίζει κανένα αλγόριθμο κρυπτογράφησης, παρόλα αυτά, η συσκευή την οποία χρησιμοποιεί, αυτόματα κρυπτογραφεί τις συνομιλίες του, προκειμένου να μη γίνουν αντιληπτές από κάποιον άλλο παρά από αυτόν με τον οποίο συνομιλεί.
Πως χρησιμοποιούμε την κρυπτογράφηση ;
Και μόνο στην αναφορά της φανταζόμαστε ιδιοφυείς χάκερ να χειρίζονται υπερυπολογιστές σε εργαστήρια κρυμμένα στα έγκατα της γης, σε συνθήκες απόλυτης μυστικότητας, με στρατιωτική φρουρά.
Μια απλοϊκή μέθοδος για κρυπτογράφηση δεδομένων είναι να πάρουμε κάθε γράμμα της φράσης και το αντικαταστήσουμε με το γράμμα που βρίσκεται δεξιά του στο πληκτρολόγιο.

Κρυπτογράφηση δεδομένων: Μια "πρόσφατη" επινόηση
Σύμφωνα με τον ιστορικό Πλούταρχο, οι Σπαρτιάτες στρατηγοί που ήθελαν να στείλουν μυστικά κάποιο μήνυμα ο ένας στον άλλο, τύλιγαν μια μακριά και λεπτή λωρίδα παπύρου σε ένα κυλινδρικό κομμάτι ξύλου, τη "σκυτάλη", και έγραφαν εκεί το μήνυμά τους.Ξετυλίγοντας τον πάπυρο, το κείμενο δεν έβγαζε κανένα νόημα, και μπορούσε να μεταφερθεί με ασφάλεια.

# data[].attributes.headline
       Gaming - Βιντεοπαιχνίδι. Μια ξενόφερτη λέξη με την οποία εννοούμε ένα ηλεκτρονικό παιχνίδι, το οποίο περιλαμβάνει αλληλεπίδραση με μια διεπαφή χρήστη, δηλαδή η επικοινωνία του βιντεοπαιχνιδιού με τον άνθρωπο, με σκοπό την παραγωγή οπτικής ανάδρασης σε μια συσκευή βίντεο. Η λέξη βίντεο στο βιντεοπαιχνίδι παραδοσιακά αναφερόταν σε μια συσκευή εμφάνισης γραφικών raster.                                               

# data[].attributes.subject
       Gaming - Βιντεοπαιχνίδι. Μια ξενόφερτη λέξη με την οποία εννοούμε ένα ηλεκτρονικό παιχνίδι, το οποίο περιλαμβάνει αλληλεπίδραση με μια διεπαφή χρήστη, δηλαδή η επικοινωνία του βιντεοπαιχνιδιού με τον άνθρωπο, με σκοπό την παραγωγή οπτικής ανάδρασης σε μια συσκευή βίντεο. Η λέξη βίντεο στο βιντεοπαιχνίδι παραδοσιακά αναφερόταν σε μια συσκευή εμφάνισης γραφικών raster.                                               

# data[].attributes.body
H... εθιστική  πλευρά του gaming
Τελικά τι σημαίνει «gaming»; Κατά πόσο γνωρίζουμε την θετική αλλά και την αρνητική του πλευρά; Είναι η δραστηριότητα αυτή υπεύθυνη για ψυχολογικά προβλήματα στους νέους; Νέοι με εμπειρία χρόνων μιλούν για το φαινόμενο του gaming σκιαγραφούν  το τοπίο γύρω από τα βιντεοπαιχνίδια και δίνουν απαντήσεις στους επικριτές στις πιο παραπάνω απορίες. Υπάρχουν πολλές μελέτες για τις πιθανές θετικές ή αρνητικές επιδράσεις του gaming στα παιδιά και αρκετές είναι αντικρουόμενες μεταξύ τους.

Οι θετικές κριτικές αναφέρονται κυρίως στην ανάπτυξη των γνωστικών δεξιοτήτων αλλά και στη δυνατότητα που προσφέρουν στα παιδιά να καλλιεργήσουν τη φαντασία τους.

Οι αρνητικές κριτικές επισημαίνουν το κίνδυνο αύξησης της επιθετικής συμπεριφοράς από τη συχνή ενασχόληση με παιχνίδια με επιθετικό περιεχόμενο, την σταδιακή απευαισθητοποίηση στη βία καθώς και τον κίνδυνο εξάρτησης.

Θετικά:
1. Επιστημονικές έρευνες έχουν αποδείξει ότι τα videogames μπορούν να συμβάλουν στην ανάπτυξη γνωστικών δεξιοτήτων σε παιδιά με δυσλεξία . Συγκεκριμένη  έρευνα έδειξε ότι μετά από 80 λεπτά παιχνιδιού την ημέρα, παιδιά με δυσλεξία είχαν καλύτερες επιδόσεις στην ανάγνωση.
2.Μπορούν να χρησιμεύσουν ως αντιπερισπασμός για την αντιμετώπιση άγχους και πόνου κατά την διάρκεια επώδυνων
ιατρικών διαδικασιών.
3.Μια ακόμη έρευνα δείχνει ότι τα παιδιά από ηλικία 10-15 ετών που παίζουν ηλεκτρονικά παιχνίδια για μία ώρα κάθε μέρα, είναι πιο χαρούμενα και εκφράζουν μεγαλύτερη ικανοποίηση από τη ζωή τους, σε σχέση με όσα δεν παίζουν καθόλου.
4. Τέλος, μεγάλης κλίμακας έρευνα έδειξε ότι τα video games δεν επηρεάζουν αρνητικά τις σχολικές επιδόσεις των εφήβων στις φυσικές επιστήμες, τα μαθηματικά και το διάβασμα.

Αρνητικά:

1.Η ενασχόληση με τέτοια παιχνίδια αυξάνει την αντιδραστικότητα των παιδιών και τα κάνει πιο ριψοκίνδυνα.

2. Έρευνα έχει δείξει ότι η αυξημένη χρήση συγκεκριμένων κατηγοριών - κυρίως δράσης και βίας- συνδέεται με μεγαλύτερες πιθανότητες το παιδί σε μεγαλύτερη ηλικία να καταφύγει σε κατανάλωση αλκοόλ, κάπνισμα, επιθετικότητα, παραβατικότητα .

3. υπερβολική χρήση ηλεκτρονικών παιχνιδιών συνδέεται με μείωση των κοινωνικών δεξιοτήτων, του αριθμού των φίλων των παιδιών αλλά και με αύξηση της πιθανότητας να εμφανίσουν παχυσαρκία, αϋπνία, κακές διατροφικές συνήθειες και άλλα προβλήματα.

Ποια είναι όμως τα χαρακτηριστικά εκείνα που κάνουν τα videogames τόσο ελκυστικά;

1. Ο ρεαλισμός και τα εξελιγμένα γραφικά τους (graphics). Ο κόσμος απεικονίζεται πολύ παραστατικά, με ζωντανά χρώματα και κίνηση.

2. Οι κλιμακούμενες βαθμίδες δυσκολίες. Π.χ. ο παίκτης ξεκινά από ένα βασικό επίπεδο και σταδιακά, όσο προχωρά σε υψηλότερο επίπεδο, πρέπει να χρησιμοποιήσει σύνθετες στρατηγικές, να πάρει πιο δύσκολες αποφάσεις κ.λ.π.

Κατά καιρούς, στην προσπάθεια να εξηγηθεί και να αναλυθεί το φαινόμενο του gaming πολλοί θεωρητικοί έχουν θέσει ερωτήματα για το κατά πόσο τα παιχνίδια αυτού του είδους προσφέρουν μια κοινωνική δραστηριότητα για όσους ασχολούνται. Η γενικότερη αντίληψη, έκτος των εξαιρέσεων κάνει λόγω για παιδιά που κρύβονται στα δωμάτια τους χωρίς να έχουν καμία  επαφή με το  περιβάλλον τους. Πάνω σε αυτή την άποψη οι NON-gamers must die , που είναι ζωντανό κομμάτι της κοινότητας των gamer, μιλούν για μια διττή  κατάσταση. Από την  μια μπορεί κανείς να γίνει άμεσα κοινωνικός, ερχόμενος σε επαφή μέσω του παιχνιδιού με άτομα ακόμα και στην Αυστραλία, αλλά από την άλλη μπορεί να χαθεί και από τον κόσμο. «Αυτό έχει να κάνει με την παιδεία. Τι έχει πάρει κανείς από τους γονείς του, από την κοινωνία από το σχολείο. Υπάρχουν παιδιά, σε χαμηλά ποσοστά, που δεν καταλαβαίνουν ότι πρέπει να κάνουν κ άλλα πράγματα. Να βγουν έξω να παίξουν.Να βγουν στην κοινωνία. Αν ένα παιδί κλείνεται μέσα στο σπίτι και δεν κάνει τίποτα άλλο μεγάλο μερίδιο ευθύνης φέρνουν και οι γονείς.»

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

# data[].attributes.headline
GAMING ΣΤΟ ΜΕΛΛΟΝ

# data[].attributes.subject
GAMING ΣΤΟ ΜΕΛΛΟΝ

# data[].attributes.body
Περιμένουμε να δούμε περισσότερες βελτιώσεις στα γραφικά. Καλύτερο περιβάλλον, καλύτερες υφές και χαρακτήρες. Περισσότερη ζωή στις μηχανές όπου θα γίνονται όλο και πιο γρήγορες

# data[].attributes.headline
Επιδράσεις προσκόλλησης στο gaming

# data[].attributes.subject
Επιδράσεις προσκόλλησης στο gaming

# data[].attributes.headline
ΚΑΛΩΣ ΗΡΘΑΤΕ 

# data[].attributes.subject
ΚΑΛΩΣ ΗΡΘΑΤΕ 

# data[].attributes.body
Στην ιστοσελίδα μας μπορείτε να να ερευνήσετε ο,τι αφορά το gaming, την κρυπτογράφηση και την πληροφορική