Este dificil să ghicești PIN-ul

           Prieteni! De când am acest caiet mort, îl folosesc pentru a vă cere o sarcină cu care trei fizicieni, doi economiști, unul politehnic și unul umanitar au luptat ieri. Ne-am rupt întregul creier și obținem constant rezultate diferite. Poate există programatori și genii matematice între voi, în plus, sarcina este în general școlară și foarte ușoară, pur și simplu nu derivăm formula. Pentru că renunțăm la studiile noastre în științele exacte și în schimb, din anumite motive, scriem cărți și desenăm imagini. Îmi pare rău.

Deci, fundalul.

Mi s-a dat un nou card bancar și, ca de obicei, am ghicit fără efort codul ei pin. Dar nu la rând. Adică, să zicem că codul pin a fost 8794 și am sunat la 9748. Adică sunt triumfător   a ghicit toate numereleconținut în acest număr format din patru cifre. Ei bine, da   nu numărul în sineci doar componentele salem-am întrebat. Numerele sunt însă adevărate! NOTĂ - Am acționat la întâmplare, adică nu a trebuit să aranjez numerele deja cunoscute în ordinea corectă, am acționat doar în spirit: aici sunt patru cifre necunoscute pentru mine și cred că printre ele pot exista 9, 7, 4 și 8, iar ordinea lor nu este importantă.   Ne-am întrebat imediat câte opțiuni am avut   (Probabil ca să înțeleg cât de fain este că l-am luat și am ghicit). Adică din câte combinații de patru cifre am avut nevoie să aleg? Și atunci, firesc, a început iadul. Capul nostru a explodat toată seara și toate, până la urmă, au venit cu opțiuni de răspuns complet diferite! Chiar am început să scriu toate aceste combinații într-un caiet la rând pe măsură ce am crescut, dar în patru sute mi-am dat seama că sunt mai mult de patru sute dintre ele (în orice caz, aceasta a respins răspunsul fizicianului Trash, care m-a asigurat că există patru sute de combinații, dar totuși nu a fost categoric) - și a renunțat.

de fapt, esența materiei.   Care este probabilitatea de a ghici (în orice ordine) cele patru numere conținute în numărul format din patru cifre?

Sau nu, ne reformulăm (sunt umanist, scuzați-mă, deși am avut întotdeauna o slăbiciune imensă pentru matematică) pentru a o face mai clară și mai clară. Cât de mult non-repetitive   combinații de numere conținute într-un număr de numere ordinale de la 0 la 9999? ( vă rugăm să nu confundați acest lucru cu întrebarea „câte combinații   non-repetitivecifre "!!! numerele pot fi repetate! in sensul ca 2233 si 3322 sunt in acest caz aceeasi combinatie !!).

Sau mai precis. Trebuie să ghicesc de patru ori o cifră din zece. Dar nu la rând.

Ei bine, sau altceva. În general, trebuie să aflați câte opțiuni am avut pentru combinația numerică care a format codul pin al cardului. Ajutor, oameni buni! Vă rog să mă ajutați, nu începeți să scrieți imediat că opțiunile pentru aceste 9999   (Ieri s-a întâmplat tuturor la început) pentru că este o prostie - până la urmă, din perspectiva care ne privește, numărul 1234, numărul 3421, numărul 4312 și așa mai departe sunt   unul și același!   Ei bine și da, numerele pot fi repetate, deoarece există un cod pin 1111 sau acolo, de exemplu, 0007. Puteți să vă imaginați un număr de mașină în loc de un cod pin. Să presupunem, care este probabilitatea de a ghici toate cifrele unice care alcătuiesc numărul mașinii? Sau, pentru a elimina complet teoria probabilității - din câte combinații numerice am avut nevoie pentru a alege una?

Vă rog, susțineți răspunsurile și raționamentele dvs. cu câteva formule exacte, pentru că ieri am fost aproape nebuni. Mulțumesc tuturor în avans!

P.S. O persoană inteligentă, un programator, un artist și un inventator, a sugerat foarte corect decizia corectă   probleme, oferindu-mi câteva minute de mare dispoziție: " soluția la această problemă este: are o tulburare obsesiv-compulsivă, tratamentul este: să te căsătorești și să spui roșiile. Aș fi mai preocupat în locul ei nu de întrebarea „care este probabilitatea”, ci de întrebarea „Am atenție la toate aceste cifre?”   În general, nu este nimic de adăugat :)

Calculatorul de mai jos este proiectat pentru a genera toate combinațiile de elemente n până la m.
  Numărul de astfel de combinații, cum poate fi calculat folosind calculatorul Elemente de combinatorie. Reorganizare, plasare, combinație.

Descrierea algoritmului de generare sub calculator.

algoritmul

Combinațiile sunt generate în ordine lexicografică. Algoritmul funcționează cu indici ordinali ai elementelor unui set.
  Luați în considerare algoritmul folosind un exemplu.
  Pentru simplitate, avem în vedere un set de cinci elemente, indicii în care încep cu 1, și anume, 1 2 3 4 5.
  Este necesară generarea tuturor combinațiilor de mărime m \u003d 3.
  În primul rând, prima combinație a unei dimensiuni date m este inițializată - indici în ordine crescătoare
1 2 3
  În continuare, se verifică ultimul element, adică i \u003d 3. Dacă valoarea sa este mai mică decât n - m + i, atunci se mărește cu 1.
1 2 4
  Ultimul element este din nou verificat și din nou este incrementat.
1 2 5
  Acum valoarea elementului este egală cu maximul posibil: n - m + i \u003d 5 - 3 + 3 \u003d 5, elementul anterior cu i \u003d 2 este verificat.
Dacă valoarea sa este mai mică decât n - m + i, atunci este mărită cu 1, iar pentru toate elementele care o urmează, valoarea este egală cu valoarea elementului anterior plus 1.
1 (2+1)3 (3+1)4 = 1 3 4
  Apoi este din nou o verificare pentru i \u003d 3.
1 3 5
  Apoi - se verifică i \u003d 2.
1 4 5
  Apoi vine coada i \u003d 1.
(1+1)2 (2+1)3 (3+1)4 = 2 3 4
  Și mai departe
2 3 5
2 4 5
3 4 5   este ultima combinație, deoarece toate elementele sale sunt n - m + i.

În ciuda rolului important al codurilor PIN în infrastructura globală, nu s-au efectuat încă studii academice privind modul în care oamenii aleg codurile PIN.

Cercetătorii de la Universitatea Cambridge Sören Preibusch și Ross Anderson au corectat situația publicând prima analiză cantitativă din lume a dificultății de a ghici un PIN bancar în 4 cifre.

Folosind date privind scurgerile de parole din surse nebancare și interogarea online, oamenii de știință au descoperit că utilizatorii sunt mai serioși cu privire la alegerea codurilor PIN decât la alegerea parolelor pentru site-uri web: majoritatea codurilor conțin un set de numere aproape aleatoriu. Cu toate acestea, printre datele sursă există atât combinații simple, cât și zile de naștere - adică, cu puțin noroc, un atacator poate pur și simplu ghici codul râvnit.

Punctul de plecare al studiului a fost un set de secvențe de 4 cifre în parolele din baza de date RockYou (1,7 milioane) și o bază de date de 200 de mii de coduri PIN din programul de blocare. ecran iPhone   (Baza de date a fost furnizată de dezvoltatorul de aplicații Daniel Amitay). În diagramele construite pe aceste date apar tipare interesante - date, ani, cifre repetate și chiar coduri PIN care se termină în 69. Pe baza acestor observații, oamenii de știință au construit un model de regresie liniară care estimează popularitatea fiecărui cod PIN în funcție de 25 factori, cum ar fi dacă codul este o dată DDMM, dacă este o secvență în creștere și așa mai departe. 79% și 93% din codurile PIN din fiecare set corespund acestor condiții generale.


Astfel, utilizatorii aleg coduri în 4 cifre pe baza câtorva factori simpli. Dacă PIN-urile bancare ar fi ales în acest fel, 8-9% dintre ele ar putea fi ghicite în doar trei încercări! Dar, desigur, oamenii sunt mai atenți la codurile bancare. Din cauza lipsei unui set mare de date bancare reale, cercetătorii au intervievat peste 1300 de persoane pentru a evalua cât de reale diferă codurile PIN de cele deja luate în considerare. Având în vedere specificul studiului, respondenții au fost întrebați nu despre codurile în sine, ci doar despre respectarea lor cu oricare dintre factorii de mai sus (creștere, format DDMM etc.).

S-a dovedit că oamenii aleg cu mult mai multă atenție codurile PIN bancare. Aproximativ un sfert dintre respondenți folosesc un cod PIN aleator generat de bancă. Mai mult de o treime își aleg PIN-ul folosind număr vechi   un număr de telefon, numărul cardului de student sau un alt set de numere care arată la întâmplare. Conform rezultatelor, 64% dintre deținătorii de carduri folosesc un cod PIN pseudo-aleatoriu, care este mult mai mult decât 23-27% în experimentele anterioare cu coduri nebancare. Alți 5% folosesc un model digital (de exemplu, 4545), în timp ce 9% preferă un model de tastatură (de exemplu, 2684). În general, un atacator cu șase încercări (trei cu bancomat și trei cu terminal de plată) are mai puțin de 2% șanse de a ghici codul PIN al cardului altcuiva.

factor exemplu RockYou iPhone interviu
date
DDMM 2311 5.26 1.38 3.07
DMGG 3876 9.26 6.46 5.54
MMDD 1123 10.00 9.35 3.66
MMGG 0683 0.67 0.20 0.94
AAAA 1984 33.39 7.12 4.95
în total, 58.57 24.51 22.76
Model de tastatură
înrudit 6351 1.52 4.99
pătrat 1425 0.01 0.58
unghiurile 9713 0.19 1.06
crucea 8246 0.17 0.88
linia diagonala 1590 0.10 1.36
linie orizontală 5987 0.34 1.42
cuvântul 5683 0.70 8.39
linie verticală 8520 0.06 4.28
în total, 3.09 22.97 8.96
Model digital
se încheie la 69 6869 0.35 0.57
cifre doar 0-3 2000 3.49 2.72
cifre doar 0-6 5155 4.66 5.96
repetând perechi 2525 2.31 4.11
aceleași numere 6666 0.40 6.67
secvență descendentă 3210 0.13 0.29
secvență crescândă 4567 3.83 4.52
în total, 15.16 24.85 4.60
Set aleatoriu de numere 23.17 27.67 63.68

  Totul ar fi bine, dar, din păcate, o parte semnificativă a respondenților (23%) aleg un cod PIN sub forma unei date - și aproape o treime dintre ei își folosesc data nașterii. Acest lucru schimbă în mod semnificativ cazul, deoarece aproape toți (99%) dintre respondenți au răspuns că stochează într-un portofel cu prin carduri bancare   diverse cărți de identificare pe care este tipărită această dată. Dacă atacatorul cunoaște ziua de naștere a titularului cardului, atunci cu o abordare competentă, probabilitatea de a ghici codul PIN scade până la 9%.

100 de coduri PIN cele mai populare

0000, 0101-0103, 0110, 0111, 0123, 0202, 0303, 0404, 0505, 0606, 0707, 0808, 0909, 1010, 1101-1103, 1110-1112, 1123, 1201-1203, 1210-1212, 1234, 1956-2015, 2222, 2229, 2580, 3333, 4444, 5252, 5683, 6666, 7465, 7667.

P.S.   În practică, desigur, este mult mai ușor pentru un atacator să vă spioneze codul PIN decât să-l ghicească. Dar te poți proteja de plângere - chiar, s-ar părea, într-o situație fără speranță: