Următoarea secţiune se referă la unele din aspectele legate de generarea numerelor aleatorii şi la modul în care se leagă de amestecarea cărţilor la poker-ul pe internet cu mai mulţi jucători. Noi considerăm că cercetarea atentă de către public a algoritmilor folosiţi la generarea numerelor aleatorii şi la amestecarea cărţilor este singurul mod prin care ne asigurăm că oferim cele mai bune soluţii din acest domeniu. Monitorizăm în continuare grupurile de noutăţi şi listele de corespondenţă de criptografie pentru a ne asigura că soluţiile noastre rămân cele mai bune. Suntem siguri că veţi fi de acord după ce veţi citi despre soluţiile noastre.
Există o serie de aspecte comune între generarea numerelor aleatorii în scopuri de securitate a datelor şi în scopul amestecării cărţilor la poker online cu mai mulţi jucători. În ambele cazuri, obiectivul este acela de a produce un număr (sau un şir de numere) care nu pot fi prevăzute cu ajutorul tuturor datelor disponibile. Ambele prezintă posibilitatea ca un adversar să folosească un calculator pentru a contribui la reducerea numărului de posibilităţi, şi ambele pot beneficia de aceeaşi soluţie. O serie mare şi un grup entropic diversificat, care să nu poată fi anticipat, sunt esenţiale pentru ambele aplicaţii.
Mai întâi, puţină matematică pentru a vă ajuta să explicăm importanţa unei serii mari şi motivul pentru care NU folosim funcţia rand() standard în compilatoarele de azi:
Să luăm ca exemplu Seven Card Stud... dacă aţi avut o serie de 32 biţi pentru generatorul de numere aleatorii (dimensiunea cel mai des întâlnită la programele de compilare de astăzi), veţi obţine peste 4 miliarde de posibilităţi de amestecare a pachetului de cărţi. Pare enorm, dar aşa cum veţi vedea, nu e deloc suficient
După împărţirea primei runde de cărţi, puteţi vedea cele 3 cărţi ale dvs., plus 1 carte de la fiecare dintre cei 7 adversari. Astfel, un total de 10 cărţi sunt vizibile. Prima carte reduce seriile posibile cu un factor de 52, a doua cu 51, iar a treia cu 50. Haideţi să înmulţim şi să vedem unde ajungem...
52*51*50*49*48*47 = 14,65 miliarde.
În momentul în care ajungeţi la 6 cărţi (nici măcar nu aveţi nevoie de toate 10), nu mai există alte rezultate posibile (14 miliarde înseamnă peste 4 miliarde) şi un adversar hotărât poate prezice cu uşurinţă fiecare carte care a fost împărţită şi urmează să fie împărţită, până la sfârşitul jocului. De fapt, o serie de 32 biţi nu este potrivită nici măcar pentru a garanta că jucătorul 1 nu primeşte mai mult decât partea lui corectă de aşi din mânecă! Evident, acest lucru este extrem de negativ pentru poker-ul cu jucători multipli, dar din fericire există o soluţie:
Să continuăm cu înmulţirea... tot în Seven Card Stud, după ce sunt împărţite cărţile, veţi avea 7 cărţi vizibile, plus 4 pentru fiecare dintre cei 7 adversari, ajungând la un total de 28 de cărţi vizibile (mai multe de jumătate din pachet).
52*51*50*49...*26*25 = 52!/24! = 1.3*1044 (care este 13 urmat de 43 de zerouri, sau aprox. 2147).
După cum vedeţi, chiar şi o serie de 147 biţi reduce cu foarte puţin numărul de posibilităţi la 1 până în momentul în care introduceţi şi ultima carte. Evident, e nevoie de o serie mai mare.
De fapt, un pachet de cărţi poate fi amestecat în 52! de moduri diferite (aprox. 8 x 1067, sau 2225). Dacă încerci să amesteci un pachet de cărţi folosind o serie de 32 biţi, aşa cum fac alte software-uri de poker, obţii maxim 4 miliarde de combinaţii. Asta înseamnă doar 0,000000000000000000000000000000000000000000000000000000005% (sau 5 x 10-57 %) posibile modalităţi de a amesteca un pachet de cărţi. Prea puţin, în mod clar.
Am ales să folosim o serie de 2016 biţi pentru VistaBet Poker. Unii vor considera acest lucru ca excesiv sau paranoic, noi credem că merită efortul. Această metodă, combinată cu algoritmul nostru de amestecare, ne permite să amestecăm un pachet de cărţi astfel încât TOATE variantele de amestecare să fie posibile.
Dar la ce serveşte o serie de 2016 biţi dacă nu conţine şi date aleatorii? Dacă ar fi să presupunem, de dragul acestei discuţii, că fiecare mână durează aproximativ 120 de secunde (unele durează mai mult, altele mai puţin) şi că dorim să avem cel puţin 2000 de biţi noi care să modifice seria noastră la fiecare mână (excesiv), am avea nevoie de aproximativ 17 biţi noi, complet aleatorii (ne-previzibili) pe secundă pe care să îi adăugăm la entropia seriei noastre
Avem două surse principale de astfel de biţi aleatorii. Mai întâi, rng de pe server eşantionează biţii de ordine joasă ai contorului de marcaje timp al unităţii centrale de prelucrare (667MHz) în segmente neregulate ale programului şi atunci când datele sunt primite de la conexiunile clienţilor, îi foloseşte pentru a-i adăuga la entropia din seria noastră mare.
În al doilea rând (şi mai important) programul clientului trimite propria entropie de 32 biţi la fiecare acţiune întreprinsă şi împreună cu alte pachete pe care le trimit la server. Entropia clientului este colectată atât din mişcările mouse-ului, cât şi ale tastaturii, precum şi de cei 32 biţi de la contoarele de marcaje timp ale unităţii centrale de prelucrare. Datorită miilor de clienţi conectaţi care folosesc toate tipurile de hardware şi îşi mişcă mouse-urile în moduri diferite şi imprevizibile, aceasta este de departe cea mai mare sursă de entropie şi ne aduce mult mai mult decât 17 biţi aleatorii noi pe secundă. De fapt, testele efectuate în februarie 2001 au indicat că se produc de regulă peste 7.000 de biţi de date aleatorii noi pe secundă. Folosim câteva surse de entropie aleatorie de încredere; fără nicio şansă de eşec. Puteţi spune excesiv?
E important să remarcaţi că aceşti biţi noi nu îi înlocuiesc pe cei existenţi în serie, ci doar modifică seria existentă (XOR), făcând-o astfel mai puţin previzibilă. Chiar dacă un atacator a reuşit să introducă date ne-aleatorii (probabil fixe) în locul entropiei la care ne aşteptăm, mai există extrem de multe informaţii aleatorii noi de la alţi clienţi şi de la server pentru a garanta că avem de-a face cu un pachet de cărţi amestecate cu adevărat la întâmplare.#42;51*50*49*48*47 = 14,65 miliarde.
Seria actualizată se foloseşte la împărţirea cărţilor la fiecare rundă de împărţire a cărţilor, şi deoarece o mână durează mai mult decât e necesar pentru a injecta 2.000 de biţi de date aleatorii noi, toate cărţile ulterioare vor fi împărţite cu ajutorul unei serii complet aleatorii şi fără absolut nicio legătură cu seria folosită la împărţirea mâinilor anterioare de cărţi.
Nici nu ţi-i putea dori o modalitate mai bună de formare a seriilor.
Generatorul de numere aleatorii se bazează pe prng Berkeley, folosind o dimensiune a tabelului de stare de 64 lungimi. L-am modificat pentru a permite schimbarea stării seriei fără o operaţiune de salvare/recuperare, dar altfel este vorba de acelaşi algoritm care a fost supus timp de ani de zile analizei experţilor în securitatea datelor.
Suntem mândri că putem spune că am oferit acest nivel de securitate clienţilor noştri din prima zi în care am deschis. Credem că veţi fi de acord cu faptul că aceasta este de departe cea mai cuprinzătoare soluţie de amestecare a cărţilor disponibilă pe orice site de poker pe internet.
| Înapoi |
|
Următorul |
Politica de confidenţialitate | Ajutor
© 2012 Vista Gaming Online Limited
Contactaţi-ne: suport@vistabet.com
Avertisment: Parierea implică riscuri. Pariind pe acest site riscaţi să pierdeşi bani sau să suferiţi afecţiuni psihologice. Parierea se face pe propriul risc.
Membrii VistaBet trebuie să aibă vârsta de peste 18 ani.
Telefon gratuit 0800 895517 |
Email: suport@vistabet.com |