Número total de posibilidades.
62⋅62⋅62⋅⋯62=6220
Colisión con una cadena "Target"
6220
x6220≥1105
105x105x105xx≥6220≥(6.2⋅10)20≥6.220⋅1020≥6.220⋅1015
6.2207⋅10157⋅1030
Esto es, por supuesto, por qué las contraseñas largas funcionan realmente bien :-) Para las contraseñas reales, por supuesto, debe preocuparse por cadenas de longitud menor o igual a veinte, lo que aumenta aún más el número de posibilidades.
Duplicados en la lista
Ahora, consideremos el otro escenario. Las cadenas se generan al azar y queremos determinar cuántas se pueden generar antes de que haya una probabilidad de 1: 100,000 de que coincidan dos cadenas. La versión clásica de este problema se llama el problema del cumpleaños (o 'paradoja') y pregunta cuál es la probabilidad de que dos de n personas tengan el mismo cumpleaños. El artículo de Wikipedia [1] parece decente y tiene algunas tablas que pueden resultarle útiles. Sin embargo, intentaré darle el sabor de la respuesta aquí también.
Algunas cosas para tener en mente:
P(match)=1−P(no match)
ABP(A&B)=P(A)⋅P(B)
kkN6220
kNPk=1(no match)=NN=1NPk=2(no match)=N−1NN−2Pk=3(no match)=N−2Nk
Pk(no match)=N−k+1N
k
P(No Matches)=NN⋅N−1N⋅N−2N⋯N−k+1N
P(No Matches)P(No Matches)P(No Matches)=N⋅(N−1)⋅(N−2)⋯(N−k+1)Nk=N!Nk⋅(N−k)!=k!⋅(Nk)Nk
k!=(k)⋅(k−1)⋅(k−2)⋯1N−k+1⋯Nk1100,000k100!
k=0.5+0.25−2Nln(p)−−−−−−−−−−−−√
N=48,0003.7⋅1015
Referencias
[1] http://en.wikipedia.org/wiki/Birthday_problem
[2] Mathis, Frank H. (junio de 1991). "Un problema generalizado de cumpleaños". Revista SIAM (Society for Industrial and Applied Mathematics) 33 (2): 265–270. Enlace JSTOR