From: a.kadir altan (e108193@metu.edu.tr)
Date: Mon 11 Aug 2003 - 22:14:31 EEST
----- Original Message -----
From: "Serdar KÖYLÜ" <serdarkoylu@fisek.com.tr>
To: <linux-programlama@liste.linux.org.tr>
Sent: Monday, August 11, 2003 1:05 PM
Subject: [linux-programlama] Re: makineler ve rasgele sayi uretimi
> Selamlar..
>
> Pentium ve ustu sistemlerde, TSC diye bir sey vardir. 32 Bitlik bir
> counter, sistem saatini (jiffies) sayar. Bu islerde kullanilan deger
> genellikle bu olur, RTC degil. RTC -> Real Time Clock, TSC - TimeStamp
> Counter.
>
> TSC digeri kadar hassas degildir, her X vurusu bir saniye etmez.
> Bilhassa isidan cok etkilenir. Bu yuzden seed degeri olarak kullanmak
> daha akillicadir.
basligi takip eden herkese merhaba,
direk gozlemlenen herhangi bir veriyi (ne olursa olsun) kullanmaktaysa,
mumkun oldugunca ongorulemeyen zaman farkiyla araliklarda yapilan iki
gozlemin sonucunun farkini (bitlerde XOR mesela) almak en mantikli yontem
bence... bu arada kac bit olursa olsun gozleminizin lsb'sini gozonunde
bulundurmak gerekir, yani hassas olana ihtiyacimiz var...
> Random sayi meselesinde bazi arkadaslar ornegin kullanicinin bir onceki
> login zamani uzerinden calismak vs. gibi islevlerle ugrasmis.
>
> Burada kacirdigimiz husus su. Matematikte random sayi kavrami yoktur. Bu
> gerci agir bir tartisma. Ama genel egilim bu yondedir. Kisacasi
> matematik hic bir seyin tesadufi olmadigin iddia eden kaos teorisi ile
> bogusmaktadir. Yani siz piyangonun donen toplarinin agirligini, donmeye
> baslama konumunu vs. bilyiorsaniz, delikten hangi topun dusecegini
> kestirebilirsiniz. Fakat bilmeniz gereken cok sey vardir, bunlarin
> hepsini bulamayabilirsiniz. Bu durumda cesitli seylere bakarak hangi
> topun dusme olasiliginin daha yuksek oldugunu kestirmeye calisirsiniz.
>
> Iste burada rasgele sayilardan kastedilen sayilar, aslinda tam anlamiyla
kastiniz gercek rastgele sanirim
> rasgele olan demek degil, onceden kestirilmesi cok daha zor olan sayilar
> anlamina gelir. Eger urettiginiz sayi az sayida parametreden
> etkileniyorsa ve bu parametrelerin kestirilebilirligi yuksekse,
> sayinizin da kestirilebilir olmasi daha buyuktur.
kestirmek direk soylemek degil, entropisini kucultup deneme yanilma ile
sonuca ulasmayi kolaylastirmak olmali... felsefesine girmissiniz, kavramlar
arada ucusuyor bence... matematikte random yoktur diyerek zaten olay bitmis
bence... cunku uretecler matematiksel yapilariyla incelense bile, ki en
saglam ve saglikli yolu budur, ciktilar (random diye isimlendirdigimiz)
istatistiksel olarak incelenir... pseudo veya gercek, o her ciktinin (bit?)
bir onceki(lere) olan bagliligi ile ilgili bir kavram... ilk bastakine de
seed diyoruz...
> Rasgele sayi elde ederken asla tespit edilebilir giris parametreleri
> kullanmayin. Su bir onceki login zamani. Cracker bir login yapar zamani
> kaydeder, sonra ikinci bir login icin elinde parametrenin biri hazir
> olur.
bu kadar saf bir sisteme guzel bir saldiri:) ... (cracker?)
> Sistem saatinden alinan seed degerleride cok guvenilir olmaz asla.
> uptime komutu, TSC degerinin yaklasik kestirilmesine, date komutda RTC
> Degerinin yaklasik kestirilmesine cok faydalidir.
ilk paragrafta anlatmistim degerin bizim icin onemi olmadigini (kendi
gorusum) , en azindan olmamasi gerektigini...
> Simdi bunlar rasgelemidir ? Evet, ama bunlarin uretecekleri sayilarin
> marjlari onceden kestirilebilir.
marj sinir demek, marj zaten belli en bastan burada kastettiginiz entropi
olmali... ha siz ayni anlamda bunlar diyorsaniz o zaman sorun yok...
3 bit ise ciktiniz, siniriniz (2^3)-1=7 dir... ama sadece tek sayilari
aliyorsaniz entropiniz 7 degildir...
bir dergiye dokuman yazar gibi yazmissiniz(giris kisminda arada felsefesine
de girince :) ) , kavramlarda yanlis anlasilma olmasin istedim...
> Yani, 128 Bit sifreleme var ama, siz
> bunun 90 Bitini zaten biliyorsunuz gibi bir durum olusur. Bu nedenle
> onceden kestirelemeyen ve cok buyuk aralikta degisen degerleri rasgele
> sayi olarak kullanmalisiniz.
>
> Burada pratik yontemler, uzun muddet icinde sabit degerli gorunmesine
>... [KISALTTIM]
> ulasan sinyal otekine daha gec/erken ulasir. Isin icine giren o kadar
> bozucu etken olurki, bunlarin hepsini birden parameterize edebilmek
> mumkun olmaz. Biz elektronikciler buna gurultu der geceriz. Ama su
> rasgele sayi ureten kartlar filan hep bu mantikla is yaparlar.
>
> Ne yapacakmisiz, tek parametreye bagli olmayan, parametre sayisi ve
> degerlerinin onceden kestirilmesi olabildigince zor olan, saldirganin
> etkileme ve parametreleri zorlama imkani dusuk olan degerleri
> kullanarak, bunlarinda mumkun oldugu kadar anlik, genis zamana yayilan
> deger degil, degisim yasandigi araligin en kucuk degeri surecini olcerek
> rasgele sayi olarak kullanmak gerekiyormus.
bence direk soylenebilecek bir konu degil, tartismaya acik... uzerinde
yapilmis bir calisma, makale biliyor musunuz? kendi calismaniz var mi?
ilgimi cekti, incelemek isterim fikir yurutmeden once...
asil soru bir cikti dizisinin rastgele oldugunu nasil sezinledigimiz...
sezinlemek yeterli mi acaba? hayir degil, sezgilerimizin yetmedigi durumlari
istatistiksel testler ile inceliyoruz... ama ana kural acimasiz... random
oldugu idda edilen bir dizi herseyden once goze random gozukmeli ... olmazsa
olmaz kural... :) ...
iyi calismalar,
> Bu tanima en guzel uyan sey bir TV kartidir. Bilhassa kurcalanip tuneri
> biraz bozulmus bir TV karti. Bu size son derece rasgele degerler
> verebilir. Ama en buyuk dezavantaji, yavas olmasidir. Sizin 4 Frame
> uzerinden, 1,2,3,4 H Satirlarindan alacaginiz degerleri satir secme icin
> kullanip 128 Satira gore bir hash cikarirsaniz, binlerce dolara satilan
> RNG'lerden daha random bir deger elde etmis olursunuz. Fakat bu
> saniyeler surebilirki, yukteki bir serveri perisan etmeye yetebilir.
>
> Saygi ve sevgiler..