Diciamo che hai due stringhe definite dall'utente, X, Y e vuoi inserirle nell'hash Z. Questo è ciò che la maggior parte dei siti Web farebbe, X è la password dell'utente e Y è il sale. Ci vuole un sacco di tempo per riportare Z a X + Y.
Quello che sto cercando, è questo più avere la possibilità di tornare indietro se ho dato Y, Z. Quindi se F era una funzione in cui F (X, Y) = Z (che agisce come SHA1, SHA2, ecc.), Voglio una funzione F 'dove F' (Z, Y) = X. Esiste un qualche tipo di algoritmo di hash che assomigli a questo?
Sembra crittografia a chiave pubblica-privata in cui Y è la tua chiave pubblica e X è il tuo messaggio, producendo Z, quindi usando una chiave privata Y alternativa puoi combinarlo con la Z per recuperare il tuo messaggio X, ma quello che voglio è la capacità per X, Y di essere definito arbitrariamente dall'utente. È teoricamente possibile? In tal caso esiste questo tipo di algoritmo di crittografia "triangolare"?
Ho letto di link oggi che è un servizio che contiene TUTTE le tue password Internet in un unico account. Sono quasi sicuro che stiano memorizzando le password in testo normale, o anche se sono crittografate, il loro server ha sia la chiave che i dati crittografati e, se vi si accede da un utente malintenzionato, sarebbero in grado di recuperare tutti gli utenti ' le password.
Poi ho pensato al tipo di hashing che ho menzionato sopra, come potrebbe funzionare:
Un utente imposta un "token di sicurezza" come una password, che è diverso dalla sua password dell'account. Quando l'utente immette le proprie password nel modulo dei servizi, la password viene cancellata, lato client utilizzando la funzione F (X, Y) = Z dove Y è il loro token di sicurezza e Z è il "hash". Solo il "hash" viene memorizzato sul server. Quando l'utente desidera recuperare tutte le password memorizzate, il server invia al client gli "hash", che possono essere decodificati utilizzando il token di sicurezza dell'utente, nel client stesso.
Con questo metodo il servizio non memorizzerà i dati della password in testo semplice.