Supponete di avere un pin di quattro cifre su un telefono senza riconoscimento biometrico. Se qualcuno vi rubasse il telefono, potrebbe vedere in quali punti dello schermo ci sono più ditate e intuire che quei punti corrispondono alle cifre del pin. Partiamo quindi dall’ipotesi che un Cattivo sappia che noi abbiamo un pin di quattro cifre e sappia anche quali cifre abbiamo usato. Quante possibilità diverse ci sono? Beh, se tutte e quattro le cifre sono diverse, la risposta è semplice: sono 4!, cioè 24. Un po’ poche, conviene usare un pin più lungo. Ma attenzione: cosa succede se si ripete una cifra e quindi se ne usano solo tre? Si possono fare i conti a mano. Supponiamo che si usino le cifre 1, 2, 3 (quali siano è indifferente, il Cattivo conosce il terzetto) e che ci siano due 1. Abbiamo 12 combinazioni: 1123, 1132, 1213, 1312, 1231, 1321, 2113, 2131, 2311, 3112, 3121, 3211; in tutto 12 possibilità. Ma la cifra ripetuta potrebbe essere anche il 2 oppure il 3, e questo il Cattivo non lo può sapere; quindi in totale le combinazioni possibili sono 36. Sempre poche, ma un po’ di più. Per la cronaca: non conviene ridurre il numero di cifre: se ne usiamo due abbiamo 14 possibilità, perché ci sono 16 numeri binari di quattro cifre ma dobbiamo eliminare le combinazioni 1111 e 2222, e con una cifra sola abbiamo evidentemente una sola possibilità.
Gli iPhone ora richiedono sei caratteri come lunghezza minima di un pin; cosa conviene fare in questo caso? Con sei cifre diverse abbiamo sicuramente 6! = 720 combinazioni; con cinque cifre diverse e una ripetuta, per ciascuna cifra ripetuta abbiamo 6!/2! = 360 combinazioni, quindi in tutto ben 1800. I conti poi si fanno più complicati, ma per fortuna OEIS viene in nostro aiuto. Abbiamo così che per quattro cifre distinte le combinazioni sono 1560, mentre per 3, 2, 1 sono rispettivamente 540, 62, 1. Occhei, gli ultimi due casi erano facili come i primi due. Per curiosità, con 7 cifre conviene ripeterne due, così come con 8 e 9 cifre. Potrebbe essere interessante studiare al crescere del numero di caratteri possibili (le cifre finiscono troppo presto) qual è il numero di caratteri da ripetere per ottenere il massimo numero di combinazioni. Sono troppo pigro per mettermi a programmare (non basta excel, qui ci vogliono programmi che usino numeri interi di un numero qualunque di cifre) per ottenere una stima precisa, ma non mi stupirei più di tanto se la risposta per n caratteri fosse dalle parti di n/e …