TL; DR: La crittografia può essere più difficile da decifrare perché potresti non sapere il testo in chiaro per verificare che hai trovato la chiave di crittografia corretta e perché la crittografia potrebbe richiedere di convertire la chiave con algoritmi altrettanto costosi utilizzati per l'autenticazione più la crittografia stessa.
Se i dati crittografati o le password sono più difficili da ottenere dipende da ciò che è stato crittografato con quale algoritmo e in che modo vengono memorizzate le password per l'autenticazione.
Le password di solito non vengono memorizzate come testo in chiaro leggibile per l'autenticazione, ma convertite in hash o digest con funzioni hash crittografiche unidirezionali in modo da non poterne dedurre la password.
Idealmente, l'unico modo per ottenere la password originale è quello di forzare l'hashing con tutte le password possibili o probabilmente (magari basate su dizionario o regole) e confrontarle con l'hash specificato.
Inoltre, è buono se richiede anche molte risorse (tempo di calcolo e / o memoria) per ottenere l'hash della password dal testo in chiaro in modo che l'ipotesi non sia fattibile.
Detto questo, la crittografia stessa consiste in una fase di derivazione della chiave e in una fase di crittografia reversibile.
La derivazione della chiave trasforma una chiave definita dall'utente in una chiave utilizzata per la crittografia. La chiave può essere denotata come password.
Nel contesto di crittografia, tuttavia, le password sono spesso definite passphrase perché è più probabile che non si usi una sola parola, ma un testo più lungo da crittografare mentre le password di autenticazione tendono ad essere più brevi per ragioni storiche e pratiche motivi: li usi molto più frequentemente nella maggior parte dei casi, e sistemi UNIX o Linux precedenti e persino Amazon, ad esempio, ha limitato le password a 8 caratteri qualche anno fa.
In alternativa, molto spesso troverai che key è un termine più usato per il segreto utilizzato per crittografare i dati perché è più agevole sulla struttura del segreto.
Nel caso più semplice, la chiave viene utilizzata così com'è per crittografare i dati (si pensi alla crittografia di Vigenère).
Per una maggiore sicurezza, tuttavia, le password vengono spesso convertite in hash come per l'autenticazione.
Questo è chiamato derivazione chiave.
Le funzioni di derivazione chiave possono anche essere utilizzate per generare hash di password per l'autenticazione.
Un altro motivo per non utilizzare le password direttamente per la crittografia è che molti algoritmi di crittografia moderni richiedono chiavi di lunghezza fissa, solitamente perché sono basate su blocchi (la chiave non deve necessariamente corrispondere alla dimensione del blocco, ad es. AES-256 che utilizza blocchi a 128 bit con chiavi a 256 bit).
Molti algoritmi di crittografia non utilizzano la chiave specificata dall'utente o nulla da essa derivato per la crittografia: derivano una "chiave di crittografia chiave" dal segreto utente che viene utilizzato per crittografare una chiave dati che viene effettivamente utilizzata per crittografare i dati.
La chiave dati dovrebbe idealmente essere una sequenza di dati casuali non correlabili all'utente, al sistema, ai dati di testo semplice o qualsiasi cosa , il che significa che non è possibile inferire il segreto dell'utente a questo punto.
La chiave dati può essere crittografata con criptodimici asimmetrici lenti come RSA.
La combinazione della crittografia asimmetrica con algoritmi simmetrici è chiamata crittografia ibrida o un crittosistema ibrido e può consentire a chiunque di crittografare i dati limitando la decrittografia a un piccolo gruppo di utenti.
Un altro vantaggio dell'utilizzo di questo approccio indiretto è la possibilità di crittografare la chiave dati con più chiavi utente in modo che i dati crittografati possano essere resi accessibili a tutti quegli utenti e si può semplicemente modificare una chiave utente senza dover ricodificare la crittografia i dati effettivi.
Alla fine, la crittografia produce testo cifrato che sembra idealmente come dati completamente casuali con entropia massima e non fornisce alcun suggerimento né sulla chiave originale definita dall'utente né sul testo in chiaro.
Ciò implica che ci sono tanti plausibili testi in chiaro che potrebbero essere crittografati per produrre lo stesso testo cifrato, quindi a meno che tu non sappia cosa è stato crittografato, non puoi verificare di aver trovato la chiave e il codice corretto; combinazione di testo in chiaro quando si tenta di decifrare la crittografia.
Ciò potrebbe tuttavia essere vanificato da checksum, digest e firme del testo in chiaro che consentono di verificare se la tua ipotesi fosse corretta.
Quindi, a meno che l'algoritmo di crittografia non sia corretto o la derivazione della chiave sia significativamente inferiore a quella utilizzata per l'autenticazione della password confrontata, o se si conosce qualcosa sulla chiave di crittografia o sul testo in chiaro, la crittografia è molto più difficile da decifrare ci sono più passaggi in gioco e un contributo plausibile di oltre un miliardo.