http

Naruto Shippuden 366 Subtittle English Naruchigo

Naruto Shippuden Episode 346-347 Indonesian Subtitle - Naruchigo
Title : Naruto Shippuden 366 English Sub
ket : Wait For "LINK DOWNLOAD NARUTO"
Subtitle : Indonesian Language (Hardsub)
Episode : 366  | Season 15
Date Released : Upload Juni 2014
About : "Kematian NARUTO"
Category : Video Manga
Publisher : TVTokyo
Format : [mkv1080]
Download : Naruchigo EPS 366.mkv
Thanks to : Naruchigo Cummunity

Keyword:
naruchigo
naruto episode 366
naruchigo 366
narucigo
naruto 366
download naruto episode 366
download naruto 366
naruto shippuden episode 366
video naruto 366

Naruto Shippuden 366 Sub Indonesia Lengkap Naruchigo

Naruto Shippuden Episode 346-347 Subtitle Indonesia - Naruchigo
Title : Naruto Shippuden 366 Sub Indo
ket : Link Sudah Ada All Untuk "DOWNLOAD NARUTO-nya"?
Subtitle : Bahasa Indonesia (Hardsub)
Episode : 366 | Season 14
Date Released : Upload  Juni 2014
About : "I'm in Hell/Ore wa Jigoku ni Iru"
Category : Video Naruchigo Anime
Publisher : TVTokyo
Format : [3GP] [MP4] [MKV]
Download :
Uploaded By : Fans NSIF 
Keyword:
naruchigo
naruto episode 366
naruchigo 366
narucigo
naruto 366
download naruto episode 366
download naruto 366
naruto shippuden episode 366
video naruto 366

Naruto Shippuden 366 Subtittle Indonesia Naruchigo

Naruto Shippuden Episode 346-347 Indonesian Subtitle - Naruchigo
Title : Naruto Shippuden 366 Indonesia Sub
ket : Wait For "LINK DOWNLOAD NARUTO"
Subtitle : Indonesian Language (Hardsub)
Episode : 366 | Season 15
Date Released : Upload juni 2014
About : "Kemarian NARUTO"
Category : Video Manga
Publisher : TVTokyo
Format : [mkv1080]
Download : Naruchigo EPS 366.mkv
Thanks to : Naruchigo Cummunity

Keyword:
naruchigo
naruto episode 366
naruchigo 366
narucigo
naruto 366
download naruto episode 366
download naruto 366
naruto shippuden episode 366
video naruto 366

Naruto Shippuden 365 Subtittle English Naruchigo

Naruto Shippuden Episode 346-347 Indonesian Subtitle - Naruchigo
Title : Naruto Shippuden 365 English Sub
ket : Wait For "LINK DOWNLOAD NARUTO"
Subtitle : Indonesian Language (Hardsub)
Episode : 365  | Season 15
Date Released : Upload Juni 2014
About : "Kematian NARUTO"
Category : Video Manga
Publisher : TVTokyo
Format : [mkv1080]
Download : Naruchigo EPS 365.mkv
Thanks to : Naruchigo Cummunity

Keyword:
naruchigo
naruto episode 365
naruchigo 365
narucigo
naruto 365
download naruto episode 365
download naruto 365
naruto shippuden episode 365
video naruto 365

Naruto Shippuden 365 Subtittle Indonesia Naruchigo

Naruto Shippuden Episode 346-347 Indonesian Subtitle - Naruchigo
Title : Naruto Shippuden 364 Indonesia Sub
ket : Wait For "LINK DOWNLOAD NARUTO"
Subtitle : Indonesian Language (Hardsub)
Episode : 365 | Season 15
Date Released : Upload juni 2014
About : "Kemarian NARUTO"
Category : Video Manga
Publisher : TVTokyo
Format : [mkv1080]
Download : Naruchigo EPS 365.mkv
Thanks to : Naruchigo Cummunity

Keyword:
naruchigo
naruto episode 365
naruchigo 365
narucigo
naruto 365
download naruto episode 365
download naruto 365
naruto shippuden episode 365
video naruto 365

Naruto Shippuden 365 Sub Indonesia Lengkap Naruchigo

Naruto Shippuden Episode 346-347 Subtitle Indonesia - Naruchigo
Title : Naruto Shippuden 364 Sub Indo
ket : Link Sudah Ada All Untuk "DOWNLOAD NARUTO-nya"?
Subtitle : Bahasa Indonesia (Hardsub)
Episode : 365  | Season 14
Date Released : Upload  Juni 2014
About : "I'm in Hell/Ore wa Jigoku ni Iru"
Category : Video Naruchigo Anime
Publisher : TVTokyo
Format : [3GP] [MP4] [MKV]
Download :
Uploaded By : Fans NSIF 
Keyword:
naruchigo
naruto episode 365
naruchigo 365
narucigo
naruto 365
download naruto episode 365
download naruto 365
naruto shippuden episode 365
video naruto 365

Cheat Poker Online

Bagaimana Kita Belajar Cheat di Online Poker : A Study in Security Softwareoleh Brad Arkin , Frank Hill, Scott Marks , Matt Schmid dan Thomas John WallsAwalnya muncul di Developer.com ; September 1999Poker adalah permainan kartu yang banyak orang di seluruh dunia menikmati . Poker dimainkan di meja dapur , di kasino , dan cardrooms - dan lebih baru-baru ini , Web. Beberapa dari kita di sini di Reliable Software Technologies bermain poker . Karena banyak dari kita menghabiskan baik jumlah hari-hari kami online, itu hanya masalah waktu sebelum beberapa dari kita menempatkan dua kepentingan bersama. Ini adalah kisah tentang bagaimana minat kami dalam online poker dan perangkat lunak keamanan dicampur untuk menciptakan keamanan spektakuler mengeksploitasi.The PlanetPoker Internet cardroom menawarkan real-time game Texas Hold'em melawan orang lain di Web dengan uang sungguhan . Menjadi perangkat lunak profesional yang membantu perusahaan menyediakan perangkat lunak yang aman , handal , dan kuat , kami ingin tahu tentang perangkat lunak di balik game online . Bagaimana cara kerjanya? Apakah itu adil ? Pemeriksaan FAQ di PlanetPoker , termasuk algoritma menyeret ( yang ironisnya diterbitkan untuk membantu menunjukkan integritas permainan ) sudah cukup untuk memulai roda analisis kami bergulir . Segera setelah kami melihat algoritma pengacakan , kami mulai curiga mungkin ada masalah . Sebuah penyelidikan sedikit membuktikan bahwa intuisi ini adalah benar .gameDi Texas Hold'em , setiap pemain ditangani dua kartu ( disebut kartu pocket ) . Kesepakatan awal diikuti oleh putaran taruhan . Setelah babak pertama , semua kartu yang tersisa dibagikan menghadap ke atas dan dibagi oleh semua pemain . Dealer menempatkan tiga kartu wajah di atas papan ( disebut kegagalan ) . Sebuah putaran kedua taruhan kemudian terjadi . Texas Hold'em biasanya batas permainan tetap , yang berarti bahwa ada sejumlah tetap bahwa seorang pemain dapat bertaruh pada setiap putaran taruhan . Misalnya, dalam permainan $ 3 sampai $ 6 pertama dua putaran taruhan adalah $ 3 taruhan sedangkan putaran taruhan ketiga dan keempat adalah $ 6 taruhan . Setelah putaran kedua taruhan , dealer menempatkan wajah kartu lain di papan ( disebut giliran ) . Sebuah putaran ketiga taruhan kemudian terjadi . Akhirnya , dealer menempatkan wajah kartu terakhir di papan ( disebut sungai ) , dan putaran taruhan terakhir terjadi kemudian . Setiap pemain yang tersisa mengambil dua kartu pocket mereka dan menggabungkan mereka dengan lima kartu komunitas untuk membuat yang terbaik lima kartu poker tangan . Tangan terbaik di antara para pemain ditentukan oleh perintah standar Poker .Texas Hold'em adalah permainan serba cepat dan menarik . Menggertak adalah bagian penting dari permainan , dan keputusan yang cepat tentang siapa yang memegang apa jenis kartu pemenang terpisah dari pecundang . Menariknya , Texas Hold'em adalah permainan poker dimainkan di World Series of Poker yang diadakan setiap tahun di Las Vegas .Sekarang semua orang dan anjing mereka sedang online , dan hampir semua jenis bisnis yang diwakili di Internet , itu wajar bahwa kasino dan cardrooms ada juga. Bahkan dengan cukup mudah ketersediaan kasino di reservasi Indian dan riverboats , masih ada kebutuhan nyata untuk permainan lebih mudah diakses . Mampu bermain online dalam kenyamanan rumah Anda sendiri ( belum lagi di piyama Anda ) , tanpa harus menanggung perokok pasif dan pemain menjengkelkan , pasti menarik .Keamanan Risiko berlimpahSemua kenyamanan ini datang pada harga . Sayangnya , ada risiko nyata untuk bermain poker online. Kasino mungkin penipuan , yang ada hanya untuk mengambil uang dari pemain naif tanpa pernah berniat untuk membayar kembali kemenangan . Server menjalankan kasino online bisa retak oleh penyerang berbahaya mencari nomor kartu kredit , atau mencoba untuk memanfaatkan beberapa keuntungan dalam permainan . Karena mayoritas kasino tidak mengotentikasi atau mengenkripsi lalu lintas jaringan antara pemain menjalankan program client dan server hosting permainan kartu , pemain berbahaya dibayangkan bisa memeriksa lalu lintas jaringan ( dengan serangan - orang di tengah - klasik ) untuk tujuan menentukan kartu lawannya . Risiko ini semua sangat akrab bagi ahli keamanan internet .Kolusi merupakan masalah yang unik untuk poker ( sebagai lawan permainan lain seperti blackjack atau craps ) , karena pemain poker bermain melawan satu sama lain dan tidak kasino itu sendiri . Kolusi terjadi ketika dua atau lebih pemain duduk di meja yang sama bekerja sama sebagai sebuah tim , sering menggunakan bankroll yang sama . Berkolusi pemain tahu apa yang tangan anggota tim mereka yang (sering melalui sinyal halus ) , dan bertaruh dengan tujuan memaksimalkan keuntungan tim mereka pada setiap tangan yang diberikan . Meskipun kolusi merupakan masalah di cardrooms nyata, itu adalah masalah yang jauh lebih serius untuk poker online. Menggunakan alat-alat seperti panggilan konferensi instant messaging dan telepon membuat kolusi risiko serius untuk pemain poker online. Bagaimana jika semua pemain dalam sebuah game online semua bekerja sama untuk menipu sebuah Web patsy tidak curiga ? Bagaimana Anda bisa yakin bahwa Anda pernah menjadi korban serangan ini ?Terakhir , namun tidak sedikit ( terutama dalam hal cerita kita ) , ada risiko nyata bahwa perangkat lunak di balik sebuah game online poker mungkin cacat . Perangkat Lunak masalah adalah bentuk terkenal dari resiko keamanan seringkali diabaikan oleh perusahaan terobsesi dengan firewall dan kriptografi . Masalahnya adalah bahwa aplikasi perangkat lunak dapat memperkenalkan lubang keamanan - truk berukuran ke dalam sistem . Kami menghabiskan banyak waktu dalam pekerjaan sehari kami menemukan dan memecahkan masalah perangkat lunak keamanan . Hanya alam yang kita mengalihkan perhatian kita untuk poker online. Sisa dari artikel ini dikhususkan untuk diskusi tentang masalah keamanan perangkat lunak yang kami temukan dalam permainan populer poker online.Risiko Keamanan SoftwareMengocok Deck Virtual KartuCacat perangkat lunak pertama kami akan fokus pada melibatkan mengocok kartu virtual. Apa artinya untuk mengocok setumpuk kartu yang cukup ? Pada dasarnya , setiap kemungkinan kombinasi kartu harus memiliki kemungkinan yang sama muncul . Kami akan menelepon setiap pemesanan tersebut dari 52 kartu shuffle .Di dek nyata dari kartu , ada 52 ! (sekitar 2 ^ 226 ) mungkin mengocok unik . Ketika komputer mengocok setumpuk kartu virtual , akan memilih salah satu kombinasi yang mungkin . Ada banyak algoritma yang dapat digunakan untuk mengocok setumpuk kartu , beberapa di antaranya lebih baik daripada yang lain ( dan beberapa di antaranya hanya salah polos ) .Kami menemukan bahwa algoritma yang digunakan oleh ASF Software , Inc , perusahaan yang memproduksi perangkat lunak yang digunakan oleh sebagian besar permainan poker online, menderita banyak kekurangan . ASF telah mengubah algoritma mereka karena kami menghubungi mereka mengenai penemuan kami . Kami belum melihat pendekatan baru mereka . Mendapatkan segala sesuatu tepat dari perspektif keamanan tidak mudah ( sebagai sisa dari artikel ini akan menunjukkan ) .Gambar 1 : Algoritma ASF Shuffling The TerbantahProsedur TDeck.Shuffle ;var
    
ctr : Byte ;
    
tmp : Byte ;

    
random_number : Byte ;mulai
    
{ Isi deck dengan kartu yang unik }
    
untuk ctr : = 1-52 melakukan
        
Card [ ctr ] : = ctr ;

    
{ Menghasilkan benih baru berdasarkan jam sistem }
    
mengacak ;

    
{ Acak mengatur ulang setiap kartu }
    
untuk ctr : = 1-52 lakukan mulai
        
random_number : = random ( 51 ) +1 ;
        
tmp : = kartu [ random_number ] ;
        
kartu [ random_number ] : = kartu [ ctr ] ;
        
kartu [ ctr ] : = tmp ;
    
end ;

    
CurrentCard : = 1 ;
    
JustShuffled : = True ;end ;Algoritma menyeret ditunjukkan pada Gambar 1 telah diposting oleh ASF Software untuk meyakinkan orang bahwa mengocok dihasilkan komputer mereka sepenuhnya adil . Ironisnya , itu memiliki efek berlawanan pada kami .Algoritma dimulai dengan menginisialisasi sebuah array dengan nilai-nilai dalam rangka 1-52 , mewakili 52 mungkin kartu . Kemudian , program menginisialisasi number generator pseudo- random menggunakan jam sistem dengan panggilan untuk Acak ( ) . Shuffle sebenarnya dilakukan dengan menukar setiap posisi dalam array , pada gilirannya , dengan posisi yang dipilih secara acak . Posisi untuk swap dengan dipilih oleh panggilan ke pseudo- nomor acak generator .Masalah Satu : Sebuah Off -By -One KesalahanProgrammer Astute akan menyadari bahwa algoritma tersebut berisi off - per-satu kesalahan. Algoritma seharusnya melintasi dek awal sementara swapping setiap kartu dengan kartu lainnya . Tidak seperti kebanyakan fungsi Pascal , fungsi acak ( n ) benar-benar mengembalikan angka antara 0 dan n - 1 bukan nomor antara 1 dan n . Algoritma menggunakan potongan kode berikut untuk memilih kartu untuk swap dengan kartu saat ini : . Rumus set random_number ke nilai antara 1 dan 51 . Singkatnya , algoritma yang bersangkutan tidak pernah memilih untuk menukar kartu saat ini dengan kartu terakhir . Ketika ctr akhirnya mencapai kartu terakhir , 52 , kartu yang di-swap dengan kartu lain kecuali dirinya sendiri . Itu berarti algoritma menyeret ini tidak pernah memungkinkan kartu ke-52 berakhir di tempat ke-52 . Ini adalah jelas, tapi mudah diperbaiki , pelanggaran keadilan .Soal Dua : Bad Distribusi mengocokSebuah pemeriksaan lebih dekat dari algoritma menyeret mengungkapkan bahwa , terlepas dari off - by- satu masalah , tidak mengembalikan pemerataan deck . Algoritma dasar di jantung shuffle ditunjukkan pada Gambar 2 .yg berjalan dgn kaki terseretSebuah pemeriksaan lebih dekat dari algoritma mengungkapkan bahwa , terlepas dari off - per-satu kesalahan, itu tidak mengembalikan pemerataan mengocok . Artinya , beberapa mengocok lebih mungkin untuk diproduksi daripada yang lain . Distribusi yang tidak merata ini dapat dimanfaatkan menjadi keuntungan jika pemain tip - off bersedia untuk duduk di meja cukup lama .Untuk menggambarkan masalah ini dengan menggunakan contoh kecil , kita akan mengocok dek terdiri dari tiga kartu ( yaitu , n = 3 ) menggunakan algoritma yang dijelaskan di atas .Gambar 2 : Bagaimana tidak mengocok kartufor ( i adalah 1 sampai n )
    
Swap i dengan posisi acak antara 1 dan nGambar 2Gambar 2 berisi algoritma yang kita digunakan untuk mengocok dek kami dari tiga kartu , dan juga menggambarkan pohon semua deck mungkin menggunakan algoritma pengacakan ini . Jika acak sumber nomor kami adalah satu yang baik , maka setiap daun pada pohon di Gambar 2 memiliki probabilitas yang sama yang diproduksi .Mengingat bahkan contoh kecil ini , Anda dapat melihat bahwa algoritma tidak menghasilkan mengocok dengan probabilitas yang sama . Ini akan menghasilkan deck 231 , 213 , dan 132 lebih sering daripada deck 312 , 321 , 123 . Jika Anda bertaruh pada kartu pertama dan Anda tahu tentang probabilitas ini , Anda akan tahu bahwa kartu 2 lebih mungkin untuk muncul daripada kartu lain . Probabilitas tidak merata menjadi semakin berlebihan karena jumlah kartu di dek peningkatan . Ketika dek penuh 52 kartu dikocok menggunakan algoritma yang tercantum di atas ( n = 52 ) , distribusi yang tidak merata deck miring probabilitas tangan tertentu dan mengubah peluang taruhan . Pemain poker Berpengalaman ( yang bermain kemungkinan sebagai usaha normal ) dapat mengambil keuntungan dari probabilitas miring .Gambar 3 : Bagaimana untuk mengocok kartufor ( i adalah 1 sampai 3 )
    
Swap i dengan posisi acak antara i dan 3Gambar 3Gambar 3 memberikan algoritma pengacakan yang jauh lebih baik . Perbedaan penting antara kedua algoritma adalah bahwa beberapa posisi swap yang mungkin berkurang karena Anda maju melalui dek . Sekali lagi , kita akan melihat pohon yang menggambarkan algoritma ini pada dek sampel dari tiga kartu . Perubahan antara algoritma baru ini dan yang digunakan oleh ASF adalah bahwa setiap i kartu swap dengan kartu dari kisaran [ i , n ] , bukan [ 1 , n ] . Hal ini akan mengurangi jumlah daun dari 3 ^ 3 = 27 yang diberikan oleh algoritma buruk tercantum di atas untuk 3 ! = 6 . Perubahan ini penting karena n ! jumlah daun yang unik berarti bahwa algoritma menyeret baru menghasilkan setiap kemungkinan dek hanya sekali . Perhatikan bahwa setiap kemungkinan shuffle diproduksi sekali dan hanya sekali sehingga masing-masing dek memiliki probabilitas yang sama terjadi . Sekarang itu adil !Membangkitkan Bilangan Acak di Mesin DeterministicSet pertama dari kelemahan perangkat lunak kita bahas hanya mengubah probabilitas bahwa kartu tertentu akan muncul . Miring yang terkait dapat digunakan oleh seorang penjudi cerdas untuk memperoleh tepi , tetapi kekurangan benar-benar tidak merupakan istirahat yang lengkap dalam sistem . Sebaliknya , kelemahan ketiga, yang kami jelaskan dalam bagian ini , adalah doozy yang memungkinkan poker online untuk sepenuhnya dikompromikan . Sebuah tutorial singkat tentang pseudo- random number generator set panggung untuk sisa cerita kita .Bagaimana Generator Nomor Pseudo - Acak KerjaMisalkan kita ingin menghasilkan nomor acak antara 1 dan 52 , di mana setiap angka memiliki probabilitas yang sama muncul . Idealnya , kita akan menghasilkan nilai pada rentang dari 0 ke 1 dimana setiap nilai akan terjadi dengan probabilitas yang sama , terlepas dari nilai sebelumnya , kemudian kalikan nilai tersebut dengan 52 . Perhatikan bahwa ada jumlah tak terbatas nilai antara 0 dan 1 . Perlu diketahui juga bahwa komputer tidak menawarkan presisi yang tak terbatas !Dalam rangka program komputer untuk melakukan sesuatu seperti algoritma yang disajikan di atas , pseudo - nomor acak generator biasanya menghasilkan integer pada rentang dari 0 sampai N dan mengembalikan nomor dibagi dengan jumlah N. yang dihasilkan selalu antara 0 dan 1 . panggilan berikutnya ke generator mengambil hasil bilangan bulat dari penayangan pertama dan menyebarkannya melalui fungsi untuk menghasilkan bilangan bulat baru antara 0 dan N , kemudian kembali integer baru dibagi dengan N. ini berarti jumlah nilai unik dikembalikan oleh pseudo- nomor acak generator dibatasi oleh jumlah bilangan bulat antara 0 dan N. Dalam paling umum nomor acak generator , N adalah 2 ^ 32 ( sekitar 4 miliar ) yang merupakan nilai terbesar yang akan masuk ke nomor 32 - bit . Dengan kata lain, ada paling banyak 4 miliar nilai yang mungkin dihasilkan oleh semacam ini number generator . Untuk ujung tangan kami sedikit , ini 4 miliar jumlah tidak semua yang besar .Sejumlah dikenal sebagai benih disediakan untuk generator pseudo- random sebagai integer awal untuk melewati fungsi . Benih yang digunakan untuk mendapatkan bola menggelinding . Perhatikan bahwa tidak ada yang tak terduga tentang output dari generator pseudo- random . Setiap nilai yang dikembalikan oleh pseudo - random number generator sepenuhnya ditentukan oleh nilai sebelumnya itu kembali ( dan akhirnya , benih yang memulai semuanya ) . Jika kita mengetahui integer digunakan untuk menghitung salah satu nilai maka kita tahu setiap nilai berikutnya kembali dari generator .Pseudo - nomor acak generator didistribusikan dengan Borland compiler membuat contoh yang baik dan direproduksi dalam Gambar 4 . Jika kita tahu bahwa nilai sekarang dari RandSeed adalah 12345 , maka integer berikutnya yang dihasilkan akan 1655067934 dan nilai yang dikembalikan akan 20. hal yang sama terjadi setiap kali (yang seharusnya tidak mengejutkan siapa pun karena komputer benar-benar deterministik ) .Gambar 4 : implementasi Borland Random ( )lama RandSeed = # # # # ;unsigned long Acak ( max panjang ){
 
x lama ;
 
ganda i ;
 
unsigned panjang akhir ;
 
x = 0xffffffff ;
 
x + = 1 ;

 
RandSeed * = ( ( lama ) 134.775.813 ) ;
 
RandSeed + = 1 ;
 
RandSeed = RandSeed % x ;
 
i = ( (double ) RandSeed ) / (double ) 0xffffffff ;
 
akhir = ( panjang ) ( max * i ) ;

 
kembali ( unsigned long ) akhir ;}Berdasarkan preseden sejarah , benih untuk nomor generator biasanya diproduksi berdasarkan jam sistem . Idenya adalah untuk menggunakan beberapa aspek dari sistem waktu sebagai benih . Ini berarti jika Anda dapat mengetahui apa waktu generator adalah unggulan , Anda akan tahu setiap nilai yang dihasilkan oleh generator ( termasuk rangka apa nomor akan muncul dalam ) . Hasil dari semua ini adalah bahwa tidak ada yang tak terduga tentang nomor pseudo- random . Tak perlu dikatakan , fakta ini memiliki dampak besar pada menyeret algoritma !Pada Untuk Poker, Atau Bagaimana Menggunakan A Nomor Acak Generator BadlyAlgoritma menyeret yang digunakan dalam perangkat lunak ASF selalu dimulai dengan dek memerintahkan kartu , dan kemudian menghasilkan urutan nomor acak yang digunakan untuk re-order dek . Ingatlah bahwa dalam dek nyata dari kartu , ada 52 ! (sekitar 2 ^ 226 ) mungkin mengocok unik . Juga ingat bahwa benih untuk 32-bit nomor acak generator harus angka 32 - bit , yang berarti bahwa ada lebih dari 4 miliar kemungkinan biji . Karena dek reinitialized dan generator unggulan ulang sebelum setiap shuffle, hanya 4 miliar mungkin mengocok dapat hasil dari algoritma ini . Empat miliar kemungkinan mengocok yang berbahaya kurang dari 52 ! .Untuk membuat keadaan menjadi lebih buruk , algoritma Gambar 1 memilih benih untuk nomor acak generator menggunakan fungsi Randomize Pascal ( ) . Ini khususnya Randomize ( ) function memilih benih berdasarkan jumlah milidetik sejak tengah malam . Ada hanya 86.400.000 milidetik dalam sehari . Karena nomor ini sedang digunakan sebagai benih untuk nomor acak generator , jumlah kemungkinan deck sekarang tereduksi menjadi 86.400.000 . Delapan puluh enam juta mengkhawatirkan kurang dari empat miliar . Tapi itu tidak semua . Ini semakin buruk .Melanggar SistemJam sistem perbenihan memberi kami sebuah ide yang mengurangi jumlah kemungkinan mengocok lebih jauh . Dengan sinkronisasi program kami dengan jam sistem pada server menghasilkan nomor pseudo- random , kita dapat mengurangi jumlah kemungkinan kombinasi ke nomor di urutan 200.000 kemungkinan . Setelah langkah itu, sistem adalah milik kita , karena mencari melalui set kecil ini mengocok adalah sepele dan dapat dilakukan pada PC secara real time .The RST mengeksploitasi sendiri membutuhkan lima kartu dari dek untuk diketahui . Berdasarkan lima kartu diketahui, program kami pencarian melalui beberapa ratus ribu mengocok mungkin dan menyimpulkan mana yang cocok . Dalam kasus Texas Hold'em poker , ini berarti program kami mengambil sebagai masukan dua kartu yang pemain kecurangan dibagikan , ditambah tiga kartu community yang dibagikan menghadap ke atas ( kegagalan ) . Ini lima kartu yang dikenal setelah yang pertama dari empat putaran taruhan dan cukup bagi kita untuk menentukan ( secara real time , selama bermain ) shuffle yang tepat . Gambar 5 menunjukkan GUI kita menampar mengeksploitasi kami . The " Parameter Site " kotak di bagian kiri atas digunakan untuk sinkronisasi jam . The " Parameter permainan " kotak di kanan atas digunakan untuk memasukkan lima kartu dan memulai pencarian . Gambar 5 adalah screen shot diambil setelah semua kartu telah ditentukan oleh program kami . Kita tahu yang memegang kartu apa, apa sisa kegagalan terlihat , dan siapa yang akan menang di muka.Gambar 5: GUI untuk kami mengeksploitasiGambar 5Setelah tahu lima kartu , program kami menghasilkan mengocok sampai menemukan shuffle yang berisi lima kartu dalam urutan yang benar . Karena Randomize ( ) fungsi didasarkan pada waktu sistem server , itu tidak terlalu sulit untuk menebak benih awal dengan tingkat akurasi yang wajar . ( . Semakin dekat Anda dapatkan, mengocok sedikit mungkin Anda harus melihat melalui ) Berikut kicker meskipun ; setelah menemukan benih yang benar sekali, itu adalah mungkin untuk menyinkronkan mengeksploitasi program kami dengan server untuk dalam beberapa detik . Sinkronisasi post facto ini memungkinkan program kami untuk menentukan benih yang digunakan oleh nomor acak generator , dan untuk mengidentifikasi shuffle yang digunakan selama semua game masa depan dalam waktu kurang dari satu detik !Detail teknis samping, liputan pers spektakuler mengeksploitasi mengumpulkan kami . Cakupan ini menekankan sisi manusia dari penemuan kami . Lihat situs web kami untuk rilis kami asli pers, klip video CNN , dan cerita New York Times.Melakukan Hal yang Benar , atau Cara Shuffle Kartu VirtualSeperti yang telah kita menunjukkan , shuffling kartu virtual tidak semudah mungkin muncul pada blush pertama . Cara terbaik untuk pergi tentang menciptakan algoritma menyeret adalah untuk mengembangkan teknik yang aman dapat menghasilkan deck dikocok dengan baik kartu dengan mengandalkan suara matematika . Selanjutnya, kami percaya bahwa penerbitan algoritma yang baik dan membuka peluang terhadap pengawasan dunia nyata adalah ide yang baik ( yang baik jerat dengan pendapat fanatik Open Source ) . Hal utama di sini adalah tidak bergantung pada keamanan dengan ketidakjelasan . Penerbitan algoritma yang buruk ( seperti AFS lakukan ) adalah ide yang buruk , tapi begitu tidak menerbitkan algoritma yang buruk !Kriptografi bergantung pada matematika yang solid , bukan ketidakjelasan , untuk mengembangkan algoritma yang kuat yang digunakan untuk melindungi individu , pemerintah , dan rahasia komersial . Kami pikir menyeret mirip . Kita bisa meregangkan analogi untuk memasukkan paralel antara panjang kunci kriptografi (yang berbanding lurus dengan kekuatan banyak algoritma kriptografi ) dan ukuran benih acak yang digunakan untuk menghasilkan setumpuk mengocok kartu .Mengembangkan algoritma kartu - menyeret adalah tugas yang cukup sederhana . Hal pertama yang harus disadari adalah bahwa suatu algoritma yang mampu menghasilkan masing-masing 52 ! mengocok tidak benar-benar diperlukan . Alasan yang mendasari klaim ini adalah bahwa hanya persen sangat kecil dari 52 ! mengocok akan pernah digunakan selama bermain . Hal ini penting, namun , bahwa mengocok algoritma menghasilkan mempertahankan pemerataan kartu . Sebuah distribusi yang baik memastikan bahwa setiap posisi di shuffle memiliki kesempatan kira-kira sama memegang salah satu kartu tertentu . Persyaratan distribusi relatif mudah untuk mencapai dan memverifikasi . Berikut pseudo-code memberikan algoritma kartu - menyeret sederhana yang , ketika dipasangkan dengan hak nomor acak generator , menghasilkan deck kartu dengan pemerataan .MULAI DENGAN DECK FRESHGET SEED RANDOMUNTUK CT = 1 , WHILE CT < = 52 , DOX = RANDOM NUMBER ANTARA CT DAN 52 INKLUSIFSWAP DECK [ CT ] DENGAN DECK [ X ]Kunci keberhasilan dari algoritma kami adalah pilihan dari sejumlah generator acak ( RNG ) . The RNG memiliki dampak langsung pada apakah algoritma di atas akan berhasil memproduksi deck pemerataan serta apakah deck ini akan berguna untuk aman bermain kartu online. Untuk mulai dengan, RNG itu sendiri harus menghasilkan pemerataan nomor acak . Generator nomor pseudo-random ( PRNG ) , seperti yang didasarkan pada algoritma Lehmer , telah terbukti memiliki properti matematika ini . Oleh karena itu cukup untuk menggunakan PRNG yang baik untuk menghasilkan " acak " nomor untuk kartu shuffling .Sebagaimana telah kita lihat , pilihan benih awal untuk PRNG adalah membuat atau istirahat proposisi . Semuanya bermuara pada benih . Benar-benar penting bahwa pemain menggunakan setumpuk kartu yang dihasilkan menggunakan PRNG tidak dapat menentukan benih yang digunakan untuk menghasilkan yang mengocok tertentu .Sebuah memaksa mencoba untuk menentukan benih yang digunakan untuk menghasilkan shuffle tertentu dapat dilakukan dengan sistematis melalui masing-masing benih mungkin, menghasilkan shuffle terkait , dan membandingkan hasilnya terhadap dek Anda cari . Untuk menghindari kerentanan terhadap serangan semacam ini , jumlah kemungkinan benih harus cukup besar sehingga komputasi tidak layak untuk melakukan pencarian lengkap dalam batasan waktu tertentu . Perhatikan bahwa rata-rata hanya setengah dari ruang benih perlu mencari sampai kecocokan ditemukan . Untuk tujuan sebuah permainan kartu online, kendala waktu akan menjadi panjang pertandingan itu, yang biasanya pada urutan menit .Dalam pengalaman kami , sebuah program sederhana yang berjalan pada Pentium 400 komputer mampu memeriksa sekitar 2 juta bibit per menit . Pada tingkat ini, mesin tunggal ini secara mendalam bisa mencari ruang 32-bit seed ( 2 ^ 32 kemungkinan bibit ) dalam sedikit lebih dari satu hari . Meskipun jangka waktu tentu melampaui keterbatasan waktu kami telah dikenakan pada diri kita sendiri , hal ini tentunya tidak layak untuk menggunakan jaringan komputer untuk melakukan pencarian didistribusikan dalam batas waktu kita yang sebenarnya .Subyek serangan kekerasan berfungsi untuk menekankan kecocokan analogi kami antara panjang kunci dalam algoritma kriptografi dan benih belakang menyeret . A brute-force serangan kriptografi melibatkan mencoba setiap kunci yang mungkin untuk mendekripsi pesan rahasia . Demikian juga serangan brute-force terhadap algoritma menyeret melibatkan memeriksa setiap benih mungkin. Sebuah badan besar penelitian mempelajari panjang diperlukan kunci kriptografi sudah ada . Secara umum , hal-hal seperti ini :Algoritma Lemah Key Khas Key KuatDES 40 atau 56 56 Triple- DESRC4 60 80 128RSA 512 768 atau 1024 2048ECC 125 170 230Orang-orang yang digunakan untuk berpikir bahwa retak 56 -bit DES secara real time akan memakan waktu terlalu lama untuk menjadi layak, tetapi sejarah telah menunjukkan sebaliknya. Pada bulan Januari 1997, sebuah kunci rahasia DES itu pulih dalam 96 hari . Kemudian upaya memecahkan kunci dalam 41 hari , kemudian 56 jam , dan , pada Januari 1999 , di 22 jam dan 15 menit . Lompatan maju dalam kemampuan retak bukan pertanda baik untuk panjang kunci kecil atau set kecil biji !Orang-orang bahkan pergi sejauh untuk menciptakan mesin-mesin khusus untuk memecahkan algoritma kriptografi . Pada tahun 1998, EFF menciptakan sebuah mesin tujuan khusus untuk memecahkan pesan DES . Tujuan dari mesin ini adalah untuk menekankan betapa rentan DES ( populer , algoritma pemerintah - sanksi ) benar-benar adalah . ( Untuk lebih lanjut tentang cracker DES , lihat http://www.eff.org/descracker/ . ) Kemudahan " melanggar " DES secara langsung berkaitan dengan panjang kunci . Mesin-mesin khusus untuk mengungkap benih RNG tidak di luar wilayah kemungkinan .Kami percaya bahwa ruang biji 32-bit tidak cukup untuk menahan serangan brute-force ditentukan . Di sisi lain , benih 64-bit harus tahan terhadap hampir semua serangan brute force . Benih 64-bit masuk akal karena banyak komputer menyediakan kemampuan untuk bekerja dengan 64-bit bilangan bulat dari rak , dan sejumlah 64-bit harus cukup untuk tujuan melindungi kartu menyeret terhadap serangan brute -force .64 - bit saja tidak akan melakukannya sekalipun. Kita tidak bisa terlalu menekankan bahwa harus ada benar-benar tidak ada cara bagi penyerang untuk memprediksi atau perkiraan benih yang digunakan oleh PRNG . Jika ada cara untuk memprediksi benih , maka serangan brute -force komputasi - berat yang diuraikan di atas menjadi tidak relevan (karena seluruh sistem istirahat jauh lebih mudah ) . Dalam hal kita mengeksploitasi , tidak hanya pendekatan cacat ASF yang mengandalkan terlalu kecil 32 - bit PRNG , namun pendekatan bergantung pada benih berdasarkan waktu hari juga. Seperti kita mengeksploitasi menunjukkan , ada sangat sedikit keacakan dalam pendekatan seperti itu .Dalam analisis akhir , keamanan seluruh sistem bergantung pada memilih benih acak dengan cara non - diprediksi . Teknik terbaik untuk memilih seperti nomor acak yang berbasis hardware . Pendekatan berbasis hardware mengandalkan tak terduga data acak yang dikumpulkan langsung dari lingkungan fisik . Karena online poker dan permainan lainnya yang melibatkan uang riil sangat keamanan usaha kritis, itu mungkin bernilai investasi sumber daya yang diperlukan untuk memastikan bahwa generasi nomor acak dilakukan dengan benar .