Ho la seguente idea per un algoritmo hash:
- Prendi una stringa chiamata
string
. - Hash e ottieni
hash
. - Inserisci (uniformemente? casualmente? in un modello basato su qualche valore dell'hash in sé? qualcosa di più complicato a cui non riesco a pensare?) i caratteri di
string
inhash
e ottienistring+hash
. - Cifra
string+hash
usandohash
come chiave
In altre parole:
encrypt(hash(string), hash(string) + string)
Non ho idea se funzioni o se in realtà realizzi qualcosa in termini di sicurezza aggiuntiva. In effetti, potrebbe compromettere la sicurezza, non lo so.
Questo è meno reversibile / meno probabilità di creare collisioni / migliore in qualche modo rispetto all'hash e lasciarlo da solo?
Dovrebbe essere ancora facile da eseguire perché tutti gli input dell'utente sono in chiaro se sto capendo correttamente. Ma inserendo i dati effettivi e quindi crittografando, non è più difficile estrapolare qualsiasi cosa utile dal criptaggio hash + decifrato?
Oppure usa l'hash mentre la chiave compromette i dati? Oppure (come probabilmente è molto più probabile se questo è validamente utile) esiste già?