Bir rastgele sayı, öngörülemeyen bir süreç tarafından üretilen bir değerdir — zar veya termal gürültü gibi fiziksel bir şeyden ya da rastgeleliği taklit eden bir bilgisayar algoritmasından. Gerçek rastgele sayı üreteçleri (TRNG’ler) ile sözde rastgele sayı üreteçleri (PRNG’ler) arasındaki büyük fark, uygulamanızın gerçekten güvenli mi yoksa sadece rastgele mi göründüğünü belirler. Bir çekiliş için hızlı bir seçime mi yoksa kriptografik olarak güvenli bir anahtara mı ihtiyacınız var; güvenilir bir rastgele sayı üreteci kullanmak her şeyi değiştirir. Bu rehber temel kavramları, hata yapmanın gerçek sonuçlarını ve 2026’da durumunuz için doğru üreteci nasıl seçeceğinizi ele alıyor.
Tam Olarak Rastgele Sayı Nedir? (Ve Neden Önemlidir?)
Rastgele bir sayı gerçek değeriyle tanımlanmaz — kaynağının ne kadar öngörülemez olduğuyla tanımlanır. Zar attığınızda sonuç rastgeledir, çünkü fiziksel süreç — zarın yuvarlanması, yüzeye çarpması, hava direnci — tam olarak modellenemeyecek kadar karmaşıktır. Bilişimde rastgelelik entropi ile ölçülür; bu, öngörülemezliği nicelendiren bir bilgi teorisi terimidir. Bir kaynağın entropisi ne kadar fazlaysa, bir sonraki sayıyı tahmin etmek o kadar zordur.
Rastgeleliğin günlük fikri genellikle hesaplamalı olandan farklıdır. “1 2 3 4 5” gibi bir dizi insana rastgele olmayanmış gibi görünür; ancak Vikipedi’nin rastgele sayılar makalesi belirttiği gibi, “ilk dizinin rastgele olmadığını otoriteyle söyleyemeyiz … tesadüfen üretilmiş olabilir.” Temel özellik, dizideki her sayının diğerlerinden bağımsız olması ve önceki çıktılardan tahmin edilememesidir.
İki geniş üreteç sınıfı vardır:
– Gerçek Rastgele Sayı Üreteçleri (TRNG’ler) – donanım rastgele sayı üreteçleri (HRNG’ler) olarak da adlandırılırlar – doğası gereği öngörülemeyen fiziksel olaylardan sayı çekerler.
– Sözde Rastgele Sayı Üreteçleri (PRNG’ler) – deterministik matematik algoritmaları kullanırlar. Rastgele görünürler ancak başlangıç durumunu (tohum) biliyorsanız tamamen yeniden üretilebilirler.
Bu ayrımı doğru anlamak, uygulamalarınızı güvende tutmanın ilk adımıdır. Sayıların ötesine geçenler dahil farklı rastgeleleştirme araçlarının türlerine daha geniş bir bakış için kapsamlı numara rastgele üreteci rehberimize göz atın.

Temel Sorun: Bilgisayarlar Neden ‘Gerçekten’ Rastgele Olamaz?
Bilgisayar deterministik bir makinedir. Her talimat sabit bir sırayı izler. Rastgele bir sayı üretmek için bir dış entropi kaynağına ya da rastgeleliği taklit eden bir algoritmaya güvenmek zorundadır. Matematikçi John von Neumann’ın 1951’de ünlü bir şekilde söylediği gibi, “Rastgele basamaklar üretmenin aritmetik yöntemlerini düşünen herkes, kuşkusuz, günah halindedir.”
Vikipedi’nin rastgele sayı üretimi makalesinde korunmuş olan bu alıntı temel bir gerçeği yakalar: aritmetik (algoritmik) yöntemler asla gerçekten öngörülemez sayılar üretemez. Yalnızca istatistiksel testlere rastgele görünen diziler üretebilirler. Gerçek öngörülemezliği elde etmenin tek yolu, fiziksel dünyadan entropi toplamaktır — bir dirençteki termal gürültü, atmosferik gürültü, radyoaktif bozunma, hatta lava lambalarındaki kaotik desenler.
Gerçek Rastgele Sayı Üreteci (TRNG) ile Sözde Rastgele Sayı Üreteci (PRNG): Kritik Ayrım
Temel fark, öngörülemezliğin kaynağına indirgenir:
| Özellik | TRNG (Gerçek RNG) | PRNG (Sözde RNG) |
|---|---|---|
| Kaynak | Fiziksel entropi (termal gürültü, kuantum etkileri vb.) | Matematiksel algoritma |
| Deterministik mi? | Hayır – her çıktı bir fiziksel sürece bağlıdır | Evet – aynı tohum her zaman aynı diziyi üretir |
| Yeniden üretilebilir mi? | Hayır | Evet (tohum biliniyorsa) |
| Hız | Genellikle daha yavaş, entropi toplama ile sınırlı | Çok hızlı |
| Engelleme? | Entropi havuzu tükenirse engelleyebilir | Engellemeyen |
| Kullanım alanı | Kriptografi, güvenlik anahtarları, piyangolar | Simülasyonlar, oyunlar, güvenlik dışı uygulamalar |
TRNG’ler doğrudan bir fiziksel olayı ölçer. Yaygın kaynaklar arasında dirençlerdeki termal gürültü, elektronik devrelerdeki titreme (jitter), yarı iletkenlerdeki saçılma gürültüsü ve fotoelektrik etki gibi kuantum olayları bulunur. Pratik bir TRNG genellikle bir gürültü kaynağı, bir dijitalleştirici, kaliteyi artırmak için bir düzenleyici (rastgelelik çıkarıcı) ve kaynağın hala çalıştığından emin olmak için sağlık testleri içerir.
PRNG’ler rastgele tohum adı verilen (genellikle bir TRNG’den çekilen) bir başlangıç değerinden başlar ve sonraki sayıyı üretmek için tekrar tekrar matematiksel bir dönüşüm uygular. Dizi deterministiktir, yani tohumu biliyorsanız tam olarak aynı sayıları yeniden oynatabilirsiniz. Bu yeniden üretilebilirlik simülasyonlarda hata ayıklama için harikadır; ancak bir saldırgan tohumu keşfedebilir veya tahmin edebilirse güvenlik için felaket demektir.
Üçüncü bir kategori olan Kriptografik Olarak Güvenli Sözde Rastgele Sayı Üreteçleri (CSPRNG’ler), iki dünyanın en iyisini birleştirir: yüksek entropili bir tohum almak için bir TRNG kullanırlar, ardından gerçek rastgelelikten hesaplamalı olarak ayırt edilemeyen sınırsız bir sayı akışı üretmek için dikkatlice tasarlanmış bir algoritma kullanırlar. Standart kriptografik tasarımlar, Vikipedi makalesinde açıklandığı gibi bu hibrit yaklaşımı benimser.
TRNG’ler Gerçek Öngörülemezliği Nasıl Yaratır?
Gerçek RNG’ler rastgeleliği fiziksel ortamdan yakalar. Ünlü bir örnek Cloudflare tarafından kullanılır: San Francisco ofislerinde bir lava lambası duvarı. Bir Cloudflare blog yazısı (2017) açıkladığına göre, lava lambalarındaki sürekli değişen, öngörülemez desenler fotoğraflanır ve yüksek entropili rastgele sayılar üretmek için özetlenir (hashlenir). Lava lambaları yenilikçi bir yaklaşım olsa da, çoğu TRNG ters yönlü bir diyodun termal gürültüsü gibi daha kompakt kaynaklar kullanır.
Mayıs 2026’da Joshua Coleman tarafından yapılan bir başka son hobi projesi, Neon Entropi Rastgele Sayı Üreteci, üç vintage neon lamba kullanır. Enerjilendirilmiş bir neon lambanın deşarj oranı öngörülemez şekilde değişir ve optik sensörler bu değişimi yakalar. Bir Raspberry Pi Pico W analog sinyalleri okur ve rastgele tohum olarak kullanılabilecek SHA-256 64-bit değerler üretir. Yaratıcı, sistemin “karakterize edilmediğini” ve doğrulanmaya ihtiyacı olduğunu kabul eder, ancak bu fiziksel süreçlerden entropi çıkarma ilkesini gösterir.
PRNG’ler Neden Bilişimin Yük Hayvanudur?
PRNG’ler her yerdedir çünkü hızlı, yeniden üretilebilir ve uygulamaları kolaydır. Vikipedi makalesi, bunların “simülasyonlar (örn. Monte Carlo yöntemi için), elektronik oyunlar (örn. prosedürel üretim için) ve kriptografi gibi uygulamalarda merkezi” olduğunu belirtir. Simülasyonda, aynı tohumdan başlayarak aynı rastgele diziyi tekrar çalıştırabilmek hata ayıklama için çok önemlidir. Kriptografide bir PRNG güvenli olabilir — tohum gizli tutunduğu sürece.
En yaygın kullanılan genel amaçlı PRNG, mükemmel istatistiksel özellikleri ve uzun periyodu (2^19937 − 1) ile bilinen Mersenne Twister‘dır (MT19937). Birçok programlama dili (Python, Ruby, PHP) kriptografik olmayan amaçlar için varsayılan rastgele sayı üreteci olarak Mersenne Twister kullanır. Ancak Mersenne Twister kriptografik olarak güvenli değildir — bir saldırgan yaklaşık 624 ardışık çıktıyı gördükten sonra iç durumunu yeniden yapılandırabilir. Güvenlikle ilgili herhangi bir şey için bir CSPRNG’ye ihtiyacınız vardır. Belirli dillerle inşa ediyorsanız, Python rastgele sayı üreteci, Java rastgele sayı üreteci ve C++ rastgele sayı üreteci gibi araçlar her platform için doğru yaklaşımı gösterir.
Gerçek Dünya Sonuçları: Rastgele Sayılar Başarısız Olduğunda (Piyango Hile Olayı)
Zayıf bir rastgele sayı üretecinin sonuçları felaket olabilir. En dramatik örnek, Vikipedi makalesinde anlatılan ABD Piyango hile olayıdır. Multi-State Lottery Association’ın (MUSL) bilgi güvenliği müdürü, rutin bakım sırasında güvenli RNG bilgisayarına gizlice arka kapı kötü amaçlı yazılımı yükledi. Birkaç yıl boyunca, piyango numaralarını tahmin ederek toplam 16,5 milyon dolar kazandı. Bu saldırı, arka kapı nedeniyle RNG’nin etkili bir şekilde öngörülebilir olmasıyla çalıştı — güvenliği tehlikeye atılmış veya zayıf bir üretece güvenmenin klasik bir başarısızlığı.
Kötü niyetli arka kapılar olmasa bile, hatalı rastgelelik yaygın hasara neden olabilir. Vikipedi’nin rastgele sayılar makalesi, 2012’de bir çevrimiçi şifreleme yönteminde %99,8 (tam olarak %100 değil) rastgelelik hatasının büyük bir hizmetin tahminen 27.000 müşterisini olumsuz etkilediği bir olaydan alıntı yapıyor. Bu tür hatalar, gerçek rastgelelikten ufak sapmaların bile büyük sonuçları olabileceğini gösteriyor.
Bir diğer yüksek profilli olay Dual EC DRBG arka kapısıdır. NIST onaylı bu kriptografik olarak güvenli sözde rastgele sayı üreteci, NSA tarafından yerleştirilmiş bir arka kapı içerdiğinden şüphelenildi; bu da onlara (teori doğruysa) iç durumunu belirleme ve ona dayanan şifrelemeyi kırma imkanı veriyordu. Vikipedi makalesinde belirtildiği gibi, Dual EC DRBG “NSA arka kapısı 2013’te doğrulanmadan çok önce çok zayıf ve muhtemelen arka kapılı bir sözde rastgele sayı üreteci olmasına rağmen, pratikte güvenlik şirketi RSA Security dahil önemli kullanım gördü.”
Daha hafif bir notta, çevrimiçi rastgele sayı araçlarının popülaritesi, insanların onlara ne kadar güvendiğini gösteriyor. Wheel of Names göre, 2026 itibarıyla site 462.479.318 çark dönüşü ve 1,28 milyon saatten fazla dönüş kaydetmişti. Site, kullanıcıları için gerçek öngörülemezliği sağlamak amacıyla kriptografik olarak güvenli bir fonksiyon (crypto.getRandomValues()) kullanır; kullanıcıların birçoğu çekilişler, sınıf seçimleri ve yayın çekilişleri düzenliyor. Bu kullanım ölçeği, bir rastgele sayı üreteci başarısız olduğunda milyonları etkilediğini gösteriyor.

2026’da Kullanım Durumunuz için Doğru Rastgele Sayı Üreteci Nasıl Seçilir
Doğru rastgele sayı üreteci seçmek, uygulamanızın güvenlik, hız ve yeniden üretilebilirlik ihtiyaçlarına bağlıdır. Bu karar çerçevesini kullanın:
Kriptografi için: CSPRNG’lerin Zorunlu Kullanımı
Uygulamanız şifreleme anahtarları, kimlik doğrulama belirteçleri, oturum kimlikleri veya başka herhangi bir güvenliğe duyarlı veri içeriyorsa, bir Kriptografik Olarak Güvenli Sözde Rastgele Sayı Üreteci (CSPRNG) kullanmalısınız. Bu amaçlar için asla Math.random(), random.randint() veya Mersenne Twister kullanmayın. Öngörülebilirliğin sonuçları — finansal hırsızlık, veri ihlalleri, hesap ele geçirme — çok ciddidir.
Önerilen araçlar:
– Web tarayıcıları: Web Crypto API‘yi kullanın (crypto.getRandomValues()). Wheel of Names’in rastgeleliği garanti etmek için kullandığı şey budur.
– Unix/Linux sistemleri: /dev/urandom‘dan okuyun. Donanım entropisiyle tohumlanan, engellemeyen bir CSPRNG sağlar. (Not: /dev/random yeterli entropi olana kadar engeller ve toplu okumalar için önerilmez.)
– Windows: CryptGenRandom() veya RNGCryptoServiceProvider kullanın.
– Intel işlemciler: RDRAND komutu, çip üzerindeki bir donanım üretecinden rastgele sayılar döndürür; ancak birçok güvenliğe duyarlı sistem, olası arka kapılara karşı savunma amacıyla çıktısını diğer entropi kaynaklarıyla karıştırır.

Simülasyonlar ve Oyunlar için: PRNG’lerin (Mersenne Twister gibi) Hızı
Monte Carlo simülasyonları, bilimsel hesaplama, video oyunları ve prosedürel içerik üretimi için hız ve istatistiksel kalite, kriptografik güvenlikten daha önemlidir. Burada Mersenne Twister (MT19937) veya daha yeni PCG ailesi gibi hızlı bir PRNG iyi çalışır. Bu üreteçler saniyede milyarlarca sayı üretir ve çoğu istatistiksel testi geçer.
- Yeniden üretilebilirlik önemli bir avantajdır: aynı tohumdan başlamak aynı diziyi verir, bu da hata ayıklama ve deneylerin tekrarlanabilmesi için hayati önem taşır.
- Dikkat: Bunları para, kimlik veya erişim kontrolü içeren hiçbir şey için kullanmayın.
Piyangolar ve Adalet için: Donanım Tabanlı Entropi İhtiyacı
Piyangolar, çekilişler, ödül pulları ve adaletin yasal veya etik olarak gerekli olduğu herhangi bir sistem, donanım tabanlı entropi (TRNG) veya en azından fiziksel entropiden tohumlanan iyi tasarlanmış bir CSPRNG kullanmalıdır. Piyango hile olayı, tohum veya yazılım değiştirilirse “güvenli” bir RNG’nin bile tehlikeye girebileceğini gösteriyor. Atmosferik gürültüden fiziksel rastgelelik (Random.org gibi), kuantum rastgele sayı üreteçleri veya özel donanım modülleri en güçlü öngörülemezlik garantisini sağlar.
Test için rastgele bir telefon numarası üretmek gibi günlük görevler için, bir rastgele telefon numarası üreteci kriptografik donanımın karmaşıklığı olmadan hızlı, güvenilir sonuçlar sağlar.
Yüksek bahisli uygulamalar için:
– Fiziksel kaynaklar: Özel bir HRNG kullanın (ör. termal gürültü veya kuantum foton emisyonuna dayalı).
– Hibrit yaklaşım: Hız için donanım entropisini bir CSPRNG ile birleştirin.
– Denetim: Çıktıyı düzenli olarak tek biçimlilik ve bağımsızlık açısından test edin (bölüm 6’ya bakın).
Rastgelelikte En Son Durum: Son Teknoloji Araştırma ve Araçlar (2026 Güncellemesi)
Temel TRNG/PRNG farkı iyi kurulmuş olsa da, son araştırmalar hız, verimlilik ve uyarlanabilirlik sınırlarını zorluyor. Scientific Reports‘ta yayınlanan dikkate değer bir 2026 çalışması, keşif ve sömürüyü dinamik olarak dengelemek için pekiştirmeli öğrenme kullanan hibrit bir meta-sezgisel algoritma olan DMARS_WGO (Dual-Mode Adaptive Reinforced Switching Walrus-Gazelle Optimizer)‘yu tanıtıyor.
DMARS_WGO: intelligent adaptive optimization için derin pekiştirmeli tahrikli hibrit meta-sezgisel makalesine göre, algoritma CEC2017 paketinde 29 kıyaslama fonksiyonunun 26’sında ve CEC2022’de 12 fonksiyonun 8’inde birinci sırayı aldı. DMARS_WGO öncelikli olarak bir optimizasyon algoritması (genel amaçlı bir RNG değildir) olsa da, makine öğrenmesinin rastgele arama süreçlerinin kalitesini nasıl artırabileceğini gösteriyor — simülasyonlarda daha iyi rastgeleliğin doğrudan bir faydası.
Günlük geliştiriciler için en önemli 2026 en iyi uygulaması, işletim sistemi düzeyinde CSPRNG’lere güvenmektir. Modern CPU’larda bulunan Intel’in RDRAND komutu, kod tarafından doğrudan erişilebilen donanım tabanlı bir rastgele sayı üreteci sağlar. Linux çekirdeğinin /dev/urandom‘ı artık hem hızlı hem de güvenli olan ChaCha20 tabanlı bir CSPRNG kullanıyor. Web Crypto API (crypto.getRandomValues()) istemci tarafı JavaScript güvenliği için standart hale geldi.
Modern CPU’lar Rastgele Sayıları Nasıl Üretir (RDRAND ve Ötesi)
Intel ve AMD’den modern işlemciler, RDRAND komutuyla erişilebilen yerleşik bir donanım rastgele sayı üreteci (HRNG) içerir. Bu üreteç, metal-oksit-yarı iletken (MOS) transistörlerdeki termal gürültü gibi çip üzerindeki entropi kaynaklarını kullanarak rastgele bitler üretir. Saniyede binlerce rastgele sayı sağlayabilir.
Ancak donanım teorik olarak değiştirilebileceğinden (Dual EC DRBG olayının gösterdiği gibi), birçok güvenliğe duyarlı uygulama RDRAND‘i tek başına kullanmaz. Vikipedi makalesi, “Linux’ta rastgele sayı üretimi için, Intel’in RDRAND donanım RNG’sinin çıktısını diğer entropi kaynaklarıyla karıştırmadan kullanmak kabul edilemez olarak görülür” diyor. “Beyazlaştırma” adı verilen bu uygulama, gizli bir arka kapı riskini azaltmak için birden çok bağımsız kaynağı birleştirir.
Sayılarınızın ‘Rastgeleliğini’ Nasıl Test Edersiniz
İyi tasarlanmış bir RNG kullansanız bile, çıktısının beklenen istatistiksel özellikleri gösterdiğini doğrulamalısınız. İki temel kontrol eş olasılık (her değerin kabaca eşit sıklıkta görünmesi) ve bağımsızlıktır (ardışık değerler arasında öngörülebilir desenlerin olmaması).
PsychicScience.org rastgele sayı üreteci sayfasına göre, tarayıcınızın Math.random() yöntemini seçilen bir aralıkta 100.000 açık dizi tamsayı üreterek test edebilirsiniz. Sayfa, “tesadüfen, rastgelelik kontrolleri 10’da 1 kez rastgele olmayan dizileri gösterir” diyor – %10 yanlış pozitif oranı normaldir.
Ki-Kare Testinin Basit Açıklaması
Rastgelelik için en yaygın istatistiksel test Ki-Kare (χ²) Uyum İyiliği testidir. Pratikte nasıl çalıştığı:
- RNG’nizden N sayılık bir dizi üretin (ör. 1 ile 6 arasında 1.000 tamsayı).
- Her değerin kaç kez göründüğünü sayın.
- Bu gözlemlenen sayıları beklenen sayılarla karşılaştırın (tek biçimli dağılım için her değer N/6 kez görünmelidir).
- Ki-Kare istatistiğini hesaplayın: tüm kategoriler üzerinden toplam ((Gözlemlenen − Beklenen)² / Beklenen).
- Yorumlayın: bu Ki-Kare değeriyle ilişkili olasılık 0,10’dan (tipik eşik) büyükse, rastgelelikten önemli bir sapma kanıtı yoktur.
İkili bağımsızlık için ikinci bir test, ardışık sayı çiftlerinin her birinin olası sıklığının eşit olası olup olmadığını kontrol eder. Örneğin, zar atarken (1,1), (1,2), …, (6,6) çiftlerinin her biri benzer sıklıkta görünmelidir. Bir Ki-Kare bağımlılık tablosu testi, yüksek ve düşük değerler arasında değişme eğilimi gibi önyargıları tespit edebilir.
PsychicScience.org’daki araç dahil birçok çevrimiçi araç yerleşik Ki-Kare kontrolleri sunar. Ciddi doğrulama için NIST Statistical Test Suite (STS), sıklık, seri ve blok sıklık testleri dahil 15 farklı test sağlar.
Sonuç
TRNG’ler ile PRNG’ler arasındaki farkı anlamak, uygulamalarınızı güvence altına almanın ve bilinçli kararlar vermenin ilk adımıdır. Bir TRNG fiziksel entropiyi toplar; bir PRNG deterministik bir algoritma ve bir tohum kullanır; bir CSPRNG güvenlik için her ikisini birleştirir. Yanlış olanı seçmenin gerçek dünya sonuçları, 16,5 milyon dolarlık piyango hile olayının gösterdiği gibi finansal kayıp, yasal sorumluluk ve itibar zararı olabilir.
Uygulanabilir tavsiye: Math.random()‘in hiçbir güvenlik, kimlik doğrulama veya belirteç üretimi bağlamında kullanılmadığından emin olmak için bugün kod tabanınızı denetlemeye başlayın. Tüm hassas işlemler için CSPRNG’lere geçiş yapın. Simülasyonlar ve oyunlar için Mersenne Twister gibi hızlı bir PRNG iyidir, ancak her zaman yeniden üretilebilirlik gereksiniminin farkında olun. Ve bir piyango, çekiliş veya adalet açısından kritik bir sistem işletiyorsanız, özel bir donanım RNG’sine veya denetlenebilir entropi kaynaklarına sahip iyi doğrulanmış bir CSPRNG’ye yatırım yapın. 2026 DMARS_WGO çalışmasının sözleriyle, “arama dinamiğini akıllıca kendi kendine uyarlama” yeteneği en ileri teknolojidir — ancak çoğu geliştirici için, mevcut doğru aracı seçmek en etkili adımdır.
SSS
Gerçek rastgele sayı üreteci (TRNG) ile sözde rastgele sayı üreteci (PRNG) arasındaki fark nedir?
Bir TRNG, doğası gereği öngörülemeyen sayılar üretmek için fiziksel süreçler (termal gürültü, kuantum etkileri, lava lambaları) kullanır. Bir PRNG matematiksel bir algoritma ve bir başlangıç tohumu kullanır; çıktı rastgele görünür ancak tamamen deterministiktir. Güvenlik için bir TRNG veya CSPRNG gerekir.
Web siteleri tarafından üretilen rastgele sayılar gerçekten rastgele mi?
Çoğu web sitesi deterministik ancak istatistiksel olarak rastgele olan PRNG’ler kullanır. Kriptografi veya piyangolar için saygın siteler donanım tabanlı entropi veya CSPRNG’ler (ör. Web Crypto API) kullanır. İsim seçiciler gibi güvenlik dışı uygulamalar için basit bir PRNG genellikle yeterlidir.
Kriptografik olarak güvenli rastgele sayıları nasıl üretebilirim?
Tarayıcılarda Web Crypto API (crypto.getRandomValues()) gibi özel API’ler kullanın. Unix/Linux sistemlerinde /dev/urandom‘dan okuyun. Güvenlik amaçlı asla Math.random() kullanmayın. Toplu üretim için ChaCha20 gibi modern CSPRNG’ler hızlı ve güvenlidir.
Bir yanıt yazın