Sayı Üretici

Rastgele sayı üretici, kullanıcı tarafından belirtilen seçeneklere göre bir dizi rastgele sayı sağlar. Bu seçenekler aralık, tekrar ve sıralama gibi özellikleri içerebilir.

Seçenekler

Rastgele Numaralar

48, 9, 49, 11, 17, 22, 16, 37, 45, 41, 4, 36, 43, 10, 28, 27, 47, 25, 21, 33

Hesaplamanızda bir hata oluştu.

İçindekiler Tablesi

  1. Rastgele Sayı Üreticilerinin Kullanımı
  2. Rastgele ve Rastgele Olmayan Diziler Arasındaki Fark
  3. Rastgele Sayı Üreticilerinin Türleri
  4. Google'ın Üreticisi
  5. Doğrusal Uyumlu Yöntem
  6. Modern Donanım Rastgele Sayı Üreticileri
    1. QRBG121
    2. Lav Lambaları
    3. HotBits
    4. Vakum Kuantum Dalgalanmaları
    5. Karbon Nanotüp Üretici
    6. Zarlar ve Elektronik Frontier Vakfı (EFF)
    7. Bir Nokia Akıllı Telefonundan Kuantum Rastgele Sayı Üretici

Sayı Üretici

Rastgele sayı üretici, her ihtiyaç duyulduğunda önceden üretilen sayılardan bir desen tanımlama yeteneği olmaksızın rastgele bir sayı elde etme sürecidir. Bu sayı, bir algoritma veya donanım cihazı tarafından üretilebilir.

Rastgele Sayı Üreticilerinin Kullanımı

Rastgele sayılar üretmek, bilgisayar oyunlarından yaygın uygulamalara kadar çeşitli görevler için gereklidir. Örneğin, sistem bir web sitesinde rastgele bir reklam banner'ı veya rastgele bir reklam ünitesini göstermek için rastgele sayı üretici kullanır. Kriptografide, rastgele sayılar benzersiz bir şifre veya anahtar oluşturmak için de kullanılır.

Rastgele sayı üretimi, captcha için sayı veya metin üretmek, şifreleme, parolaları saklamak için tuz üretmek, bir parola üretici, bir online kumarhanedeki kartların sırası, karar verme, örnekleme ve simülasyon gibi amaçlar için kullanılır.

Rastgele sayı üretici algoritması sıklıkla video oyunlarında kullanılır. Bir oyunda aynı seviyede oynasanız bile, her görevi tamamlama denemenizde tam olarak aynı olmaz. Farklar konumda veya görevde görünmeyebilir, ancak düşmanların yaklaşma sayısında, göründükleri alanlarda, iklim değişikliklerinde ve karşılaşılan çeşitli engellerde görünebilir. Bu, oyunu daha heyecanlı hale getirir.

Rastgele ve Rastgele Olmayan Diziler Arasındaki Fark

Şöyle bir sayı dizisi olsun: 1, 2, 3, 4, 5. Bu rastgele midir?

Rastgele bir değişken, bir denemenin sonucu olarak bazı değerlerden birini alan bir değişkendir. Ve belirli bir değerin oluşumunu, görünmeden önce doğru bir şekilde tahmin edemezsiniz.

Diyelim ki verilen sayılar, klavyenin üst sıralarından birine basarak elde edildi. Bu durumda, bu kombinasyonun rastgele olmadığı ortaya çıkar, çünkü 5'ten sonra, yüksek olasılıkla 6 sayısı tahmin edilebilir.

Dizi, semboller arasında bağımlılık olmadığında sadece rastgele olacaktır.

Rastgele sayı üretici için son derece önemli olan temel koşul, bu sistemde düşebilecek herhangi bir sayının kesinlikle eşit olasılığıdır. Bu, rastgelelik faktörünün tam bağımsızlığını ve rastgele sayıdan önce veya sonra düşen diğer sayılardan bağımsızlığını gösterir.

Örneğin, ilk kez altı yüzlü bir zar attığınızda, 1 ile 6 arasında herhangi bir sayıyı aynı olasılıkla düşürebilirsiniz. Sayınız ne olursa olsun, zarı ikinci, yüzüncü veya bininci kez attığınızda aynı sayıyı elde etme şansınız yine aynı olacaktır.

Pi sayısının rakam dizisi tekrar etmeyen bir görünüme sahiptir ve birçok kişiye rastgele gibi görünebilir. Diyelim ki hipotetik üreticimiz, açıklanmayan bir noktadan başlayarak Pi'nin bit temsiline dayanıyor. Böyle bir üretici, birçok bağlamda öngörülemez olabilir ve rastgelelik için belirli test

leri geçebilir. Ancak, kriptografik amaçlar için Pi'ye dayanmak riskler taşır. Bir düşman, kullanılan Pi segmentinin özelini belirlerse, hem önceki hem de sonraki segmentleri tahmin edebilir ve böylece sistemin güvenliğini tehlikeye atabilir.

ABD Ulusal Standartlar ve Teknoloji Enstitüsü, "Kriptografik Uygulamalar için Rastgele ve Yarı-Rastgele Sayı Üreticileri için İstatistiksel Test Paketi"ni önerdi. Bu paket, donanım veya yazılım üreticileri tarafından üretilen bitlerin rastgelelik ölçüsünü belirlemek için tasarlanmış 15 istatistiksel testi içerir.

Rastgele Sayı Üreticilerinin Türleri

İki tür rastgele sayı üretici (RNG) bulunmaktadır: gerçek rastgele sayı üreticileri (TRNG) ve yarı rastgele sayı üreticileri (PRNG). TRNG'ler, sayıları üretmek için fiziksel olayları kullanırken, PRNG'ler matematiksel algoritmaları kullanır.

Gerçek rastgele sayı üretici algoritması, rastgele sayılar üretmek için küçük fiziksel süreçler kullanan bir donanım cihazıyla oluşturulur, yani entropiyle. Entropi saf, süzülmemiş kaostur.

Gerçek rastgele sayı üreticileri, şu gibi fiziksel olayları kullanır:

  • radyoaktivite,
  • termal gürültü,
  • elektromanyetik gürültü,
  • kuantum mekaniği ve diğerleri.

Gerçek bir RNG, genellikle dünya genelinde güvenlik odaklı sistemlerde ve bazı şifreleme türlerinde kullanılır.

Rastgele sayı üreticileri, entropi kaynaklarını kullanarak entropiyi biriktirir ve rastgele sayı üreticileri tarafından ihtiyaç duyulan başlangıç değerini (tohumu) elde eder.

Yarı rastgele sayı üretici algoritması, güvenlik endişesi olmayan alanlarda kullanılır. Rastgelelik, tekrarları önlemeye ve süreci son kullanıcı için daha çekici hale getirmeye yardımcı olur. Yarı rastgele sayı üreticilerinin teknolojisini uygulamak daha ucuz ve daha hızlıdır çünkü donanım gerektirmez ve kolayca program koduna dahil edilebilir. Süreç tamamen rastgele olmamakla birlikte bir algoritma temelinde belirlendiğinden, oyunlar ve programlar için daha uygundur.

PRNG, yarı rastgeleliğinin izlediği tek bir başlangıç değeri kullanır. Aynı zamanda, gerçek rastgele sayı üretici, çeşitli entropi kaynakları tarafından başlangıçta yüksek kaliteli rastgele bir değer sağlanarak her zaman rastgele bir sayı üretir.

Yarı rastgele sayı üretiminin dezavantajları vardır. Bunlar, eğitimsiz göze rastgele oldukları için işe yararlar. Ancak, belirli bir PRNG dizisi için başlangıç değerini bilseydiniz, bir sonraki sayıların hangileri olacağını tahmin edebilirdiniz.

Hızlı oyun oynamayı seven video oyunu meraklıları bu zafiyeti sıkça kullanır; buna PRNG manipülasyonu derler. Oyunu tahmin edilebilir şekilde çalıştırırlar, böylece mümkün olduğunca hızlı geçebilirler. Neyse ki, bu kritik sorunlara neden olmaz.

Ancak, rastgele sayıları tahmin etmenin çok daha kritik olduğu durumlar vardır. Örneğin, güvenlik anahtarları oluştururken.

Eğer bir saldırgan, TLS sertifikalarında RSA anahtarları oluşturmak için kullanılan başlangıç değerini çözerse, potansiyel olarak ağ trafiğini şifresini çözebilir. Bu, İnternet üzerinden gönderilen parolalar ve diğer kişisel bilgileri elde edebileceği anlamına gelir.

Bu durumlarda, rastgele sayıları elde etmenin daha güvenli bir yolu, yani gerçek bir rastgele sayı üretici gereklidir.

Google'ın Üreticisi

Google, JavaScript'e dayalı rastgele sayılar üretmek için kendi aracına sahiptir. Bu araç, arkadaşlar ve aile ile oyunlar oynarken kullanışlı olabilir. "Rastgele sayı üretici" Google arama sorgusunu yazdığınızda bu üreticiyi bulabilirsiniz.

Doğrusal Uyumlu Yöntem

Yarı rastgele sayı üreticileri için en popüler algoritmalardan biri Doğrusal Uyumlu Yöntemdir. Bu yöntem basit durumlar için kullanılır ve kriptografik gücü yoktur. Derrick Henry Lehmer, 1949 yılında doğrusal uyumlu yöntemi önermiştir.

Bu yöntemle sayıların üretimini gerçekleştirmek için dört sayı seçmemiz gerekiyor:

m > 0, modül

0 ≤ a ≤ m, çarpan

0 ≤ c ≤ m, artış

0 ≤ X₀ ≤ m, başlangıç sayısı

Rastgele sayı dizisi kendisi, şu formül kullanılarak üretilir:

Xₙ₊₁ = (aXₙ + c) mod m

Bu yöntemin parametre seçimine bağlı olduğunu belirtmek önemlidir.

Örneğin, aşağıdaki set için:

X₀ = 3, a = 4, c = 5, m = 6

kısa ve tekrarlayan bir dizi elde ederiz:

3, 5, 1, 3, 5, 1

bu rastgele görünmez.

Ama parametreleri başka bir şeye değiştirmek değerlidir:

X₀ = 2, a = 85, c = 507, m = 1356

Ve sonuçların dağılımı daha öngörülemez hale gelir. Bu algoritma için sayıları özel bir dikkatle seçmelisiniz.

2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365, 344, 1271, 62, 353, 680, 1355, 422, 1121, 872, 47, 434, 785, 788, 1043, 1022, 593, 740, 1031, 2, 677, 1100, 443, 194, 725, 1112, 107, 110, 365...

Doğrusal uyumlu yöntem, istatistiksel olarak iyi bir yarı rastgele sayı dizisi üretse de, kriptografik olarak sağlam değildir. Doğrusal uyumlu yönteme dayalı üreticiler tahmin edilebilirdir, bu yüzden onları kriptografide kullanamazsınız.

Doğrusal uyumlu yönteme dayalı üreticiler ilk olarak 1977'de Jim Reeds ve ardından 1982'de Joan Boyar tarafından kırıldı. Boyar, aynı zamanda ikinci ve üçüncü dereceden üreticileri de kırdı. Böylece, uyumlu yöntemlere dayalı üreticilerin kriptografi için yararsızlığını kanıtladılar. Ancak, doğrusal uyumlu yönteme dayalı üreticiler, örneğin simülasyonlar için, kriptografik olmayan uygulamalar için kullanışlılıklarını korurlar. Verimlidirler ve çoğu deneysel testte iyi istatistiksel performans gösterirler.

Modern Donanım Rastgele Sayı Üreticileri

QRBG121

Bu cihazdaki rastgelelik etkisi, yarı iletkenlerde foton yayımının kuantum fiziksel sürecine ve ardından tek tek fotonların algılanmasına bağlıdır. Bu süreçte, fotonlar birbirlerinden bağımsız olarak ve rastgele algılanır, algılanan fotonların zamanlama bilgisi bit üretmek için kullanılır.

Lav Lambaları

CloudFlare'ın San Francisco ofisinde, "lav lambaları" adı verilen rastgele sayı üreticileri bulunmaktadır. Böyle bir lamba, saydam yağ ve yarı saydam parafinle doldurulmuş bir cam kap içerir. Parafin, yağdan biraz daha ağırdır, ancak hafifçe ısıtıldığında daha hafif hale gelir ve yukarı doğru yükselir.

Sıvıların hareketi, anlık görüntüler çeken birkaç kamera tarafından izlenir. Bu anlık görüntüler, sayılara dönüştürülür ve bu sayılardan daha sonra şifreleme anahtarları üretilir.

Diğer iki CloudFlare ofisi, rastgele değerler elde etmek için farklı yöntemler kullanır. Londra'da, üç kaotik sarkacın hareketlerini kaydeden bir kamera bulunmaktadır. Singapur'da ise, küçük bir uranyum parçasının radyoaktif bozunmasını ölçen bir Geiger sayacı kullanılmaktadır. Son durumda, uranyum "veri kaynağı" olarak kullanılır, çünkü radyoaktif ışıma, her bozunma eyleminin rastgeleliği ile karakterize edilir.

HotBits

HotBits, iyonlaştırıcı radyasyonu kaydeden bir Geiger sayacı tarafından üretilen gerçek rastgele sayıları herkese sağlayan bir sitedir. Sitede bir istek formu doldurarak rastgele baytların sayısını ve verileri alma tercih edilen yöntemi belirtirsiniz. Müşteriye rastgele sayılar sağlandıktan sonra, sistemden hemen kaldırılırlar.

Vakum Kuantum Dalgalanmaları

Adının aksine ("vacuus"-boş), vakum boş olarak kabul edilemez. Heisenberg belirsizlik ilkesi altında, sanal parçacıklar durmadan doğar ve ölür.

Kanadalı fizikçiler, vakum dalgalanmalarına dayalı hızlı ve yapısal olarak basit bir rastgele sayı üretici tasarladılar. Üretici, yüksek frekansta radyasyon yapan bir darbeli lazer, yüksek kırılma indeksine sahip bir ortam (elmas) ve bir dedektörden oluşur. Elmasın içinden geçen her darbe, fotonların yolunda karşılaştığı vakum alanı dalgalanmalarına bağlı olarak sensörde farklı özellikler gösterir.

Saçılan radyasyonun spektrumunda spektral çizgiler belirir. Vakum dalgalanmalarının tahmin edilemezliği nedeniyle, bu çizgiler her seferinde tahmin edilemez şekillerde farklılık gösterir.

Karbon Nanotüp Üretici

Bu yöntem, kompaktlık ile üretilen termal gürültüyü birleştirir.

Araştırmacılar, yarı iletken karbon nanotüpler içeren özel mürekkeplerle basılmış statik rastgele erişimli hafıza hücresinden bir rastgele sayı üretici inşa ettiler. Hafıza hücresi, termal gürültü dalgalanmalarını kullanarak rastgele bitler üretir.

Karbon nanotüp üretici, esnek plastik altlıklar üzerine basılabilir, bu da onun küçük, esnek elektronik cihazlar, giyilebilir sensörler, tek kullanımlık etiketler ve akıllı giysi ürünleri ile entegre edilmesine olanak tanır.

Zarlar ve Elektronik Frontier Vakfı (EFF)

Şirket, fiziksel bir rastgele sayı üretici kullanarak güvenli parolalar oluşturmanın basit bir yolunu önerdi. Bu yöntem, zarlar üzerine kuruludur.

Örneğin, bir seferde beş zar atıyorsunuz ve sonuçta çıkan sayıları yazıyorsunuz. Zarlar soldan sağa şu şekilde dizilir: 63131. Ardından, EFF web sitesindeki uzun bir kelime listesini açıp 63131'in yanındaki kelimeyi buluyorsunuz. Bu kelime "turbofan."

Bu işlemi birkaç kez tekrarlayabilirsiniz. Örneğin, beş kez. Sonunda beş kelimelik bir cümle elde edebilirsiniz. Diyelim ki, "turbofan arındırma uygunsuz deneme budama." Eğer mnemonik kurallarını kullanmayı biliyorsanız, bu tür ifadeleri ezberleyebilirsiniz.

Bir Nokia Akıllı Telefonundan Kuantum Rastgele Sayı Üretici

2014 yılında Cenevre Üniversitesi, Nokia N9 akıllı telefonun kamerasını kullanan bir QRNG cihazı yarattı.

Akıllı telefon kamerası, her piksele çarpan foton sayısını saydı. Işık kaynağı, standart bir LED idi. 8 MP kamerasındaki her piksel, kısa bir sürede yaklaşık 400 foton algıladı. Tüm piksellerdeki toplam foton sayısı daha sonra rastgele sayılar dizisine dönüştürüldü.