Πώς χρησιμοποιούμε τον υπολογιστή ως γεννήτρια τυχαίων αριθμών

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





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



Για ποιους τυχαίους αριθμούς χρησιμοποιούνται | γεννήτρια τυχαίων αριθμών

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

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



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



Αληθινοί τυχαίοι αριθμοί | γεννήτρια τυχαίων αριθμών

Ίσως αναρωτιέστε πώς ένας υπολογιστής μπορεί πραγματικά να δημιουργήσει έναν τυχαίο αριθμό. Πού το κάνει αυτό τυχαιότητα προέρχομαι? Εάν είναι απλώς ένα κομμάτι κώδικα υπολογιστή, δεν είναι δυνατόν να είναι προβλέψιμοι οι αριθμοί που δημιουργεί ο υπολογιστής;

Γενικά ομαδοποιούμε τους υπολογιστές του τυχαίου αριθμού που δημιουργούνται σε δύο τύπους. Αυτό εξαρτάται από τον τρόπο δημιουργίας τους: Αληθής τυχαίους αριθμούς και ψευδο-τυχαίους αριθμούς.



κωδικός σφάλματος παραθύρων 0x803f7001

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



Για ένα πιο καθημερινό παράδειγμα, ο υπολογιστής θα μπορούσε να βασίζεται στον ατμοσφαιρικό θόρυβο ή απλά να χρησιμοποιεί την ακριβή ώρα που πατάτε τα πλήκτρα στο πληκτρολόγιό σας ως πηγή απρόβλεπτων δεδομένων ή εντροπίας. Όπως, ο υπολογιστής σας μπορεί να παρατηρήσει ότι πατήσατε ένα πλήκτρο ακριβώς στα 0,23423523 δευτερόλεπτα μετά τις 2 μ.μ. Πιάστε αρκετά από τους συγκεκριμένους χρόνους που σχετίζονται με αυτά τα πλήκτρα και θα έχετε μια πηγή εντροπίας που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε ένα αληθής τυχαίος αριθμός. Δεν είστε προβλέψιμη μηχανή. Έτσι, ένας εισβολέας δεν μπορεί να μαντέψει την ακριβή στιγμή όταν πατάτε αυτά τα πλήκτρα. Η / dev / τυχαία συσκευή στο Linux, η οποία δημιουργεί τυχαίους αριθμούς, μπλοκ και δεν επιστρέφει αποτέλεσμα μέχρι να συγκεντρώσει αρκετή εντροπία για να επιστρέψει έναν πραγματικά τυχαίο αριθμό.

Ψευδοτυχαίοι αριθμοί | γεννήτρια τυχαίων αριθμών

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

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

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

Το NSA και το Intel Hardware Random Number Generator

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

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

Πρόκειται για σοβαρή ανησυχία. Τον Δεκέμβριο του 2013, οι προγραμματιστές του FreeBSD κατάργησαν την υποστήριξη για χρήση του RdRand απευθείας ως πηγή τυχαιότητας, λέγοντας ότι δεν μπορούσαν να το εμπιστευτούν. [Πηγή] Η έξοδος της συσκευής RdRand θα τροφοδοτηθεί σε έναν άλλο αλγόριθμο που προσθέτει επιπλέον εντροπία. Αυτό διασφαλίζει ότι δεν θα έχει σημασία οποιεσδήποτε πίσω πόρτες στη γεννήτρια τυχαίων αριθμών. Το Linux λειτούργησε ήδη με αυτόν τον τρόπο, τυχαιοποιώντας περαιτέρω τα τυχαία δεδομένα που προέρχονταν από το RdRand, έτσι ώστε να μην είναι προβλέψιμο ακόμη και αν υπήρχε backdoor. [Πηγή] Σε πρόσφατο AMA ( Ρώτα με οτιδήποτε ) στο Reddit, ο CEO της Intel Brian Krzanich δεν απάντησε σε ερωτήσεις σχετικά με αυτές τις ανησυχίες. [Πηγή]

Φυσικά, αυτό πιθανότατα δεν είναι μόνο πρόβλημα με τα τσιπ Intel. Οι προγραμματιστές του FreeBSD κάλεσαν το όνομα της μάρκας Via. Αυτή η διαμάχη δείχνει γιατί η δημιουργία τυχαίων αριθμών που είναι πραγματικά τυχαίοι και δεν είναι προβλέψιμοι είναι τόσο σημαντική.

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

συμπέρασμα

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

Να έχεις μια υπέροχη μέρα!

ομοαξονικό καλώδιο σε προσαρμογέα HDMI

Δείτε επίσης: NSFW: Σημασία και πώς λειτουργεί πραγματικά