Τυχαίοι αριθμοί και μέθοδοι δημιουργίας εντροπίας

να κανω και γω μια ασχετη ερωτηση/επισημανση με το θεμα; Δείξτε επιείκεια γιατι δεν γνωριζω προγραμματισμο.

Στους υπολογιστες δεν υπαρχει πραγματικο random. Οσο ανοιχτη και να ειναι μια εντολη, μετα απο χιλιαδες η και εκατομμυρια ριψεις του ζαριου, το αποτελεσμα θα ειναι προβλεψιμο.

Το random.org πχ λεει οτι για να ειναι πραγματικες random οι κληρωσεις του, χρησιμοποιει μια κεραια η οποια αλλαζει το αποτελεσμα με βαση την μεταβολη του καιρου στην περιοχη που βρισκεται.(μπορει να μην το λεω σωστα, αλλα κατι τετοιο γινεται)

Αρα για να γινει κατι πραγματικα random στον υπολογιστη πρεπει να βαλουμε και εναν αναλογικο αισθητηρα που να συμμετεχει στο προγραμμα. Πχ ενα θερμομετρο κτλ.

Εχω δικιο;

Στην πραγματικότητα μόνο με ραδιενεργή πηγή. Αλλά υπάρχουν πολλοί αλγόριθμοι που μας δίνουν ψευδοτυχαίους αριθμούς. Οι οποίοι είναι περιοδικοί μεν, αλλά με μεγάλη περίοδο. Αυτό δεν είναι πρόβλημα αν ταυτόχρονα δεν μπορείς να έχεις καμία προβλεψιμότητα, κάτι που ελέγχεις (να το πω πολύ χοντρά) με αναλυση συχνοτήτων με Fourier/Haddamand. Αν δε τους αλγόριθμους αυτούς τους, αρχικοποιήσεις με μια καλή τυχαία τιμή, το αποτέλεσμα θα είναι πολύ καλύτερο. Το πρόβλημα είναι να βρεθεί αυτή…

Αλλά τέτοια κυκλώματα αντίστοιχα με αυτά που περιγράφεις υπάρχουν σε κρυπτογραφικά τσιπς όπως αυτό του YubiKey, επίσης, αν και δεν το ξέρεις, υπάρχει ένα και μέσα στον επεξεργαστή (και του έχεις τόση εμπιστοσύνη όση έχεις στο firmware Του)

Έχουν όμως ένα πρόβλημα, δεν παράγουν γρήγορα αρκετά bits εντροπίας. Αλλά στον υπολογιστή έχεις και άλλες πηγές εντροπίας. Όταν κουνάς το ποντίκι ή όταν μιλάς στο δίκτυο παράγεις επίσης εντροπία. Το λειτουργικό τα συγκεντρώνει όλα αυτά και στα κάνει διαθέσιμα μέσα από την συσκευή /dev/random και /dev/urandom. Για τις διαφορές τους δες εδώ.

Έχουμε λοιπόν αρκετές καλές πηγές τυχαιότητας να χρησιμοποιήσουμε, τουλάχιστον για μη κρυπτογραφικές εφαρμογές. Όποιος έχει φτιάξει κλειδί PGP θυμάται να κουνάει το ποντίκι σαν τρελός για να μαζέψει το σύστημα αρκετή εντροπία να το παράγει. Τα μαθηματικά πίσω από αυτά δεν είναι να τα παίρνεις ελαφρά την καρδία, αλλά το ερώτημα δεν είναι αν μπορούμε να παράγουμε τυχαίους αριθμούς, είναι πόσους ανά μονάδα χρόνου και για τι είδους εφαρμογή. Για ένα Monte Carlo δεν έχεις κανένα θέμα στις μέρες μας. Επίσης διαβάζεις την τυχαία απάντηση κάποιου τυχαίου στο internet, (με άλλα λόγια είμαι άσχετος με το αντικείμενο) κάτι που θα πρέπει να έχεις υπόψιν σου πάντα, ειδικά αν κάνεις κρυπτογραφικές εφαρμογές.

3 Likes

ή αρκουν οι ραδιοσυχνοτητες γενικα;
συγχωρεστε και τη δικη μου ασχετοσυνη με προγραμματισμο κλπ, αλλά μου κινησατε την περιεργεια. Ριξτε μια ματια εδω αν θελετε → https://www.rtl-sdr.com/true-random-numbers-rtl-entropy/
επισης καποτε ειχα διαβασει πως να το κανεις αυτο με το gqrx. Παρακαλω αν καποιος βρει πως το κανεις με το gqrx ας βαλει ενα λινκ, ευχαριστω…
edit
μαλλον και αυτο σχετικο ειναι http://blog.cros13.net/2014/08/cheap-entropy-using-your-rtl-sdr-as.html

edit2
μου φαινεται κατι θυμηθηκα (χωρις να ειμαι σιγουρος)…
αν καταγραψω μερικα παρασιτα (ηχου) απο το ραδιοφασμα και μετα παρω το hash του αρχειου, ειμαι οk απο αποψη εντροπιας-τυχαιου αριθμου κλπ;

1 Like

Μπορείς να το κάνεις ποιο εύκολα με ένα ChaosKey απλά το συνδέεις σε μια θύρα και θα το χρησιμοποιήσει το σύστημα.

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

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

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

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

%CE%B5%CE%B9%CE%BA%CF%8C%CE%BD%CE%B1

Είναι η παραπάνω γεννήτρια μια καλή γεννήτρια; Ποιος μπορεί να ξέρει; Αν δεν μπορεί να το κάνει αυτό, τότε σίγουρα δεν είναι. Αν μετά από 6 nine γνωρίζω πως είναι αδύνατο να πάρω 7 τότε είναι σαν την στημένη τίμια τράπουλα των παιδικών μου χρόνων.

%CE%B5%CE%B9%CE%BA%CF%8C%CE%BD%CE%B1

2 Likes

α μαλιστα, κατανοητο, ευχαριστω.
να πω παντως οτι υπαρχει πιθανοτητα ηδη να εχετε μια τετοια συσκευη που να μπορειτε να χρησιμοποιησετε για τις ραδιοσυχνοτητες. Συγκεκριμενα αν εχετε καποια συσκευη usb για να βλεπετε τηλεοραση στον υπολογιστη (tv dongle νομιζω το λενε αυτο) τοτε υπαρχει πιθανοτητα να εχει τσιπακι realtek2832 (σε εμενα ευτυχως ετυχε να εχει τετοιο) το οποιο μπορει να χρησιμοποιηθει για πληθος άλλων πραγματων οπως αυτο που ειπαμε παραπανω.

1 Like

Ένα ενδιαφέρον ανάγνωσμα που ξεκαθαρίζει κάποιους μύθους και ασάφειες

https://www.2uo.de/myths-about-urandom

2 Likes