Random Number Jeneratör
İstatistiksel örnekleme ve simülasyonlar için belirtilen bir aralık içinde rastgele sayılar.
Genrate Random Numbers
İçerik tablosu
Rastgele Sayı Jeneratörlerinin türleri
Rastgele sayı jeneratörleri (RNGs) çeşitli alanlarda temel bileşenlerdir, kriptografi ve güvenlikten bilimsel simülasyonlara ve oyuna. Farklı türleri ve özelliklerini anlamak, belirli ihtiyaçlarınız için uygun yöntemi seçmek için önemlidir.
True Random Number Jeneratörleri (TRNGs)
Gerçek Random Number Jeneratörleri, doğal olarak öngörülemeyen fiziksel süreçlerden rastgelelik elde eder. Bu jeneratörler, üretim algoritmasının ve önceki değerlerin tam bilgisine sahip olmak için teorik olarak imkansız olan diziler üretir.
Fiziksel Entropy Kaynaklar
- atmosferik gürültü
- Radyoaktif çürüme
- Termal gürültü gürültüsü
- Kuantum fenomenleri (fotoğraf ayrımı)
- Elektronik gürültü ve devre davranışı
TRNG Uygulama Türleri
- Donanım Random Number Jeneratörleri
- Kuantum Random Number Jeneratörleri (QRNGs)
- Gürültü bazlı jeneratörler
- Ücretsiz çalışan oscillator jeneratörleri
- Kaos temelli jeneratörler
TRNGs, kriptografik anahtar nesil, güvenli iletişim ve yüksek oyun kumar sistemleri gibi en yüksek güvenlik ve öngörülemezlik seviyesini gerektiren uygulamalar için önemlidir. Ancak, genellikle daha yavaş nesil oranlarına sahiptir ve uygulamak daha pahalı olabilir.
- Gürültü kaynağı (provides entropi)
- Digitizer (konverts analog sinyalleri dijitale)
- Durumer/extractor (normallik kalitesini artırmak)
- Sağlık testleri (doğru işlem)
Pseudorandom Number Jeneratörs (PRNGs)
Pseudorandom Number Jeneratörs, rastgele görünen sayıların dizilerini oluşturmak için determinist algoritmaları kullanır. Gerçekten rastgele olmasa da, rastgelelik için çeşitli istatistiksel testleri geçmek için tasarlanmıştır ve birçok uygulama için uygundur.
Common PRNG Tür türleri
- Linear Congruential Jeneratörs (LCGs)
- Mersenne Twister
- Xorchange jeneratörleri
- Multiply-with-carry jeneratörleri
- WELL (Equi, Long-time Linear) jeneratörleri dağıtıldı
PRNG Özellikleri
- Deterministic (same tohum aynı sıraya sahiptir)
- Periyodik (bir süre sonra tekrarlar)
- Hızlı ve verimli nesil
- Kolayca reproducible sonuçlar
- Simülasyonlar ve güvenlik uygulamaları için uygun
Kriptografik olarak Güvenli PRNGs (CSPRNGs)
Kriptografik olarak Güvenli Pseudorandom Sayı jeneratörleri, tahmine direnmek için tasarlanmış özel bir PRNG sınıfıdır. Güvenlik-kritik uygulamalar için uygundurlar, ancak hala determinist olarak çalışırlar.
CSPRNG Örnekler
- Blum-Blum-Shub (BBS) Jeneratör
- RSA / Lordin Jeneratör
- Fortuna algoritması
- HMAC-DRBG
- ChaCha20 tabanlı jeneratörler
- AES-CTR mod jeneratörleri
CSPRNG Güvenlik Özellikleri
- Forward gizliliği (past çıktıları korunur)
- Backward gizliliği (future çıktıları korunuyor)
- Devlet uzlaşması
- Zor hesaplama problemlerine dayanarak
- Tüm polinom-zaman istatistiksel testleri geçer
Randomness Testi ve Geçerlilik
rastgele numara jeneratörlerinin kalitesini test etmek, amaçlanan uygulamaları için gereksinimleri karşılamak için önemlidir. Çeşitli standart test süitleri mevcuttur:
- Diehard Battery Testleri
- NIST İstatistik Test Suite (SP 800-22)
- TestU01 Suite
- Chi-Square Test Testi
- Frekans Testi (Monobit Test)
- Run Test
- Seri Correlation Test Testi
- Kolmogorov-Smirnov Test Testi
- Doğum günü Test Testi
Hibrit Yaklaşımlar
Güvenlik uygulamalarında en iyi sonuçlar için, birden çok rastgele sayı jeneratörünün bir araya getirilmesinde hibrit yaklaşımlar genellikle kullanılır:
- CSPRNG için tohumları üretmek için bir TRNG kullanmak
- Birden fazla kaynaktan rastgeleliği toplayan entropy havuzları
- Kriptografik kullanarak TRNG çıktının post-processing of TRNG output using kriptographic hash functions
- Birden bağımsız jeneratörlerden çıktıları birleştirmek
Eleştirel uygulamalar için en iyi uygulamalar
- İlk entropiyi oluşturmak için bir TRNG kullanın (seeds)
- Daha iyi istatistik özellikleri için CSPRNG üzerinden entropiyi uygulayın
- Oluşturulmuş, iyi hazırlanmış algoritmaları ve uygulamaları
- Sürekli olarak RNG'nin sağlık ve çıktı kalitesini izleyin
- Kriptografik post-processing (hashing) uygun olduğunda
- İlgili standartlar (NIST SP 800-90A/B/C, BSI AIS 20/31)
Rastgele Sayılar Nedir?
Rastgele sayılar, bu tür bir dizide meydana gelen sayılardır:
- Değerler tanımlı bir aralığın üzerinden eşit olarak dağıtılır
- Geçmişte veya mevcut olanlara dayanan gelecekteki değerleri tahmin etmek imkansız
- Her sayının seçilen eşit bir olasılık vardır
- Dizi istatistiksel olarak bağımsızdır
Uygulamalar
İstatistik Sampling
İstatistiksel analiz için popülasyonlardan rastgele örnekleri seçin.
Simülasyonlar
Monte Carlo simülasyonları için rastgele senaryolar oluşturmak.
Kriptografi
Kripto anahtarlarını ve rastgele değerleri doğrulayın.
Oyun Oyun Oyun
Oyunlar ve lotteries'te rastgele sonuçlar yaratmak.
Random Number Generation
rastgele numara jeneratörümüz gerçekten rastgele sayılar oluşturmak için kriptografik olarak güvenli bir algoritma kullanır:
- Belirtilen aralıktaki üniforma
- Kriptografik olarak rastgele numara nesli güvenli
- Her iki tam ve decimal sayılar için destek
- Decimal yerlerinin özelleştirilebilir sayısı
Örnekler
Örnek 1 ÖrnekInteger Numbers
Range: 1 to 10
Sayı: 5
Decimal Places: 0
3, 7, 1, 9, 4
1 ve 10 arasındaki Rastgele Sayılar
Örnek 2 ÖrnekDecimal Numbers
Range: 0 to 1
Sayı: 3
Decimal Places: 2
0.42, 0.87, 0.15
0 ile 1 arasındaki Random decimals
Örnek 3 ÖrnekÖzel Range
Range: -100 ila 100
Kont: 4
Decimal Yerler: 1 1 1
-45.2, 78.9, -12.4, 56.7
Rastgele sayılar -100 ve 100