Esiste un algoritmo di generazione di una password (basato su un segreto predefinito e un valore / tempo / contatore / ecc.) che è abbastanza semplice da poter essere elaborato da un umano medio ma abbastanza sicuro da non riuscire a trovare il segreto con solo alcune password (diciamo 5-10)?
Ho visto domande su vari schemi di password specifici e su quanto sono sicuri. Ma mi piacerebbe sapere più in generale se esistono alcuni algoritmi noti.
L'intuizione mi dice che se qualcosa è abbastanza facile da essere elaborato da un essere umano, allora è anche facile da rompere. Ma poi di nuovo sono rimasto molto sorpreso dal fatto che sia possibile la crittografia asimmetrica o lo scambio di chiavi sicure (DH). Quindi, sorprendimi!
Modifica: alcuni chiarimenti.
La domanda è venuta quando stavo riflettendo sull'autenticazione a due fattori per uso esterno. Una tipica autenticazione a due fattori per ambienti sicuri (casa, ufficio, ...) utilizza una password e un generatore OTP in un dispositivo o sul telefono. Perdi il dispositivo / telefono, c'è ancora la password. Un keylogger ti ruba la password, c'è ancora il dispositivo / telefono.
Ma per quanto riguarda le situazioni in cui entrambi potrebbero essere rubati? Ad esempio, si utilizza un'app per raccogliere una e-bike in strada o per aprire un armadietto in una stazione ferroviaria. Qualcuno potrebbe guardare mentre inserisci la password sul tuo telefono e in seguito rubare anche il telefono stesso.
Il problema potrebbe essere risolto utilizzando password che diventano inutili in un breve lasso di tempo (ad esempio 10 minuti). Inoltre, il telefono avrebbe un segreto individuale (ad esempio certificato client SSL) per rendere più difficili gli attacchi brute-force contro l'autenticazione della password.
Il suggerimento di mr.spuratic sull'algoritmo di HCMU di Blum è molto vicino a quello che stavo cercando. Sembra ancora un po 'troppo pesante per l'umano medio, ma con un po' di pratica sarebbe fattibile.