Γεννήτρια τυχαίων αριθμών: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 57:
Η ποιότητα των εν λόγω λειτουργιών ποικίλλουν ευρέως από εντελώς προβλέψιμη απόδοση, σε κρυπτογραφικά ασφαλές. Η βασική γεννήτρια τυχαίων αριθμών σε πολλές γλώσσες , συμπεριλαμβανομένης της Python, Ruby, R και PHP βασίζεται στον αλγόριθμο Mersenne Twister και '''δεν'' είναι επαρκής για κρυπτογραφικούς σκοπούς, όπως και αναφέρεται ρητά στην τεκμηρίωση της γλώσσας. Τέτοιες υλοποιήσεις έχουν συχνά κακές στατιστικές ιδιότητες και κάποιοιες επαναλαμβάνονται μετά από μόνο δέκα χιλιάδες δοκιμές . Συχνά αρχικοποιούνται χρησιμοποιώντας το ρολόι του χρόνου ενός υπολογιστή ως σπορά, αφού το ρολόι αυτό έχει [[ακρίβεια]] χιλιοστών ενός δευτερολέπτου, κάτι αρκετά μεγαλύτερο από την ακρίβεια ενός ανθρώπου. Αυτές οι γεννήτριες είναι ικανοποιητικές για ορισμένες εργασίες (για παράδειγμα, βιντεοπαιχνίδια), αλλά είναι ακατάλληλα όπου απαιτείται τυχαιότητα υψηλής ποιότητας, όπως σε εφαρμογές κρυπτογραφίας, στατιστική ή αριθμητική ανάλυση.
 
Πολύ υψηλότερης ποιότητας πηγές τυχαίων αριθμών είναι διαθέσιμες για τα περισσότερα λειτουργικά συστήματα. Για παράδειγμα το [[/dev/random]] σε διάφορα συστήματα BSD, Linux, Mac OSXOS X, IRIX και Solaris, ή [[CryptGenRandom]] για τα Microsoft Windows. Οι περισσότερες γλώσσες προγραμματισμού, συμπεριλαμβανομένων και των προαναφερθέντων, παρέχουν κάποια λειτουργικότητα που δίνει πρόσβαση σε αυτές τις πιο ποιοτικές πηγές.
 
Ένα παράδειγμα μιας απλής γεννήτριας ψευδοτυχαίων αριθμών είναι η μέθοδος multiply-with-carry του George Marsaglia. Είναι υπολογιστικά γρήγορη και έχει καλές (αν και όχι κρυπτογραφικά ισχυρές) ιδιότητες:<ref>{{cite web