Czas łamania hasła

0

Witam wszystkich, mam zagwostkę. Jak podejść do czegoś takiego?

"Przyjmijmy następujące oznaczenia: |A| – liczność alfabetu A, z
którego liter składa się hasło; d – liczba znaków hasła; z – liczba
znaków wymienianych przy próbie włączenia się do systemu; v –
prędkość przesyłania w linii komunikacyjnej (liczona w znakach na
sekundę). Dla podanych danych oblicz średni czas złamania hasła

  1. |A| = 10, d = 6, z = 1, v = 1000
  2. |A| = 10, d = 4, z = 200, v = 100
  3. |A| = 100, d = 3, z = 2, v = 1000
  4. |A| = 10, d = 6, z = 10, v = 1000
  5. |A| = 10, d = 8, z = 40, v = 100000"

Zadanie wymyślone mam wrażenie że z kapelusza wzięte. Jest na to jakiś wzór?

2

o_O Tak, wzór nazywa się myślenie i kobinatoryka.
Liczba wariacji z powtórzeniami to u ciebie |A|^d więc np. dla 10 liter w alfabecie i 6 znaków hasła masz 10^6 możliwości do sprawdzenia. Jeśli podzielisz to przez v czyli prędkość testowania haseł to wyjdzie ci ile czasu to potrwa.
Nie rozumiem co to jest u ciebie z. Co to są znaki wymieniane?

1

Tak jak pisał Ci @Shalom, trzeba trochę pogłówkować.

A skąd się biorą wzory?

Rozważmy zmienną losową X rozkładzie dwukpuntkowym: 1 - udało się zgadnąć hasło, 0 nie udało się.
Jest to po prostu rozkład Bernoulliego znany ze szkoły średniej, tzn. kiedyś było na matematyce w szkole średniej, po reformach edukacji to nie wiem ;-)

X = 1 z prawdopodobieństwem: A^-d , 0 z prawdopodobieństwem (1-A^-d)

Jak rozważymy ciąg kolejnych (niezależnych) prób: X_1, X_2, ... i kolejną zmienną losową (czas oczekiwania na pierwszy sukces):

T = min { i>=1, takie że X_i = 1 }

Jaki rozkład ma zmienna T?

P(T=n) = P(X_1=0, X_2=0, ..., X_n-1=0, X_n=0)

Z faktu, że X_i są niezależne, mamy: P(T=n) = P(X_1=0)*...*P(X_n-1=0)*P(X_n=1) = (1-A^-d)^(n-1)*A^-d

Stąd T ma rozkład geometryczny z parametrami: q=(1-A^-d) i p=A^-d

W rozkłądzie geometrycznym średnia (wartość oczekiwana) wyraża się wzorem: 1/ p, czyli średnio na sukces musisz poczekać: A^d ;-)

Jeśli się nie rąbnąłem, to na sukces średnio czekasz: A^d(z+d)/v

0

Moim zdaniem nie. Jeśli przyjmiemy taką, interpretacje z to wtedy mamy A^d możliwości a jedna próba kosztuje nas z/v (zakładam że z to cała komunikacja a nie komunikacja bez hasła), ergo potrzebujemy A^d*z/v

0

Założyłem, że przy każdej próbie hasła leci z (stąd to z+d) , czyli jakieś "Enter password:"/"Access denied" , np. w putty przy próbie logowania via ssh:

Using username "pkw".
[email protected]'s password:
Access denied
[email protected]'s password:
Access denied
[email protected]'s password:

edycja:
W każdym razie, to jakaś kosmetyka. Op ma podany tok rozumowania i ma z czego wybierać :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1