C'è un uso errato ma diffuso del termine "crittografia" per cose che non sono crittografia, ma, per esempio, hashing.
La definizione rigorosa di crittografia presuppone che alcuni dati vengano trasformati, in modo tale che:
- dopo la trasformazione, i dati non sono più leggibili;
- esiste un processo inverso, chiamato decryption , che può recuperare i dati originali dall'output crittografato, utilizzando la conoscenza di alcuni dati extra che non sono pubblicamente noti.
In qualche modo è necessario per la crittografia che il processo di crittografia utilizzi un parametro che è collegato ai dati segreti utilizzati per la decrittografia; quel parametro, chiamiamo un tasto . Quando la chiave per la crittografia è identica ai dati segreti utilizzati per la decrittografia, allora questa è crittografia simmetrica . Quando la chiave di crittografia è collegata matematicamente ai dati segreti ma è ancora distinta, in modo che la chiave di crittografia possa essere resa pubblica in modo sicuro, allora questa è crittografia asimmetrica .
Pertanto, non può esistere una "crittografia unidirezionale" e SHA-1 non è una crittografia. SHA-1 è hashing : nessuna chiave, uscita a dimensione fissa (160 bit per SHA-1), nessun processo inverso (in particolare, l'input può essere molto più grande dei 160 bit di uscita).
Sfortunatamente, le persone che hanno scritto la tua domanda d'esame hanno apparentemente usato la terminologia errata; la cosa migliore da fare è seguire la loro terminologia per tutta la durata dell'esame. Questa è la stessa confusione che porta alcune persone a parlare di "password crittografate" per le password che sono effettivamente sottoposte a hash.