Codifica e cifratura a confronto
Base64, esadecimale e cifrari
Codifica e cifratura a confronto è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Due obiettivi diversi
Codifica e crittografia possono sembrare simili perché entrambe trasformano i dati in qualcosa di illeggibile a prima vista, ma i loro obiettivi sono completamente diversi.
- La codifica modifica il formato dei dati affinché possano essere archiviati o trasmessi in modo sicuro.
- La crittografia protegge la riservatezza dei dati, così che solo chi possiede una chiave possa leggerli.
Confondere i due concetti è uno degli errori più comuni dei principianti in ambito sicurezza.
La codifica è reversibile da chiunque
La codifica utilizza uno schema pubblico e noto. Non c'è alcun segreto. Chiunque conosca lo schema può decodificare istantaneamente i dati.
Tra le codifiche comuni ci sono Base64, hex, URL encoding e ASCII. Servono a far transitare i dati binari attraverso canali composti solo da testo, come le email o gli header HTTP.
Base64 nella pratica
Base64 rappresenta i dati binari usando 64 caratteri stampabili (A-Z, a-z, 0-9, + e /). Aumenta le dimensioni dei dati di circa il 33 percento. Un = finale indica il padding.
È possibile decodificarla su qualsiasi sistema Linux senza alcuna chiave:
echo 'aGVsbG8gd29ybGQ=' | base64 -d
# Output: hello worldRiconoscere Base64
In qualità di hacker vedrà Base64 ovunque: token JWT, cookie, file di configurazione e dati esfiltrati. Indizi che indicano che un blocco è in Base64:
- Contiene solo
A-Za-z0-9+/e, possibilmente, il padding=. - La lunghezza è un multiplo di 4.
- La decodifica produce testo leggibile o header di file riconoscibili.
Provi sempre a decodificare le stringhe sospette prima di presumere che siano crittografate.
Codifica esadecimale
La codifica esadecimale rappresenta ogni byte con due caratteri (0-9, a-f). È ampiamente utilizzata nelle catture di rete, nei dump della memoria e negli output degli hash.
I valori dei byte 0x68 0x69 compongono il testo ASCII 'hi'.
echo -n 'hi' | xxd -p
# Output: 6869
echo '6869' | xxd -r -p
# Output: hiCosa aggiunge la crittografia: una chiave
La crittografia applica un cifrario insieme a una chiave segreta. Senza la chiave, l'output (testo cifrato) è computazionalmente impossibile da invertire.
- Testo in chiaro = i dati originali leggibili.
- Testo cifrato = l'output crittografato.
- Chiave = il segreto che controlla la crittografia e la decrittografia.
Cambiando la chiave, il testo cifrato cambia completamente.
Cifrari classici: Cesare
Il cifrario di Cesare sposta ogni lettera di una quantità fissa. Con uno spostamento di 3, A diventa D. È solo un esempio didattico, perché esistono appena 25 chiavi possibili e può quindi essere violato banalmente con la forza bruta.
ROT13 è un cifrario di Cesare con spostamento 13. Tecnicamente è un cifrario, ma offre zero sicurezza reale.
echo 'hello' | tr 'a-z' 'd-za-c'
# Output: khoor (shift of 3)Cifrari moderni
La crittografia reale utilizza algoritmi come AES (simmetrico) e RSA (asimmetrico). Si basano su chiavi di grandi dimensioni e problemi matematici difficili, non sulla segretezza dell'algoritmo.
Principio di Kerckhoffs: un sistema crittografico dovrebbe essere sicuro anche se tutto ciò che lo riguarda, tranne la chiave, è pubblico. La sicurezza deriva dalla chiave, mai dal nascondere l'algoritmo.
La crittografia sembra casuale
Una differenza fondamentale osservabile è questa: un buon testo cifrato appare come rumore casuale ad alta entropia. I dati codificati no.
- La codifica Base64 di 'hello' è sempre
aGVsbG8=per chiunque. - La codifica AES di 'hello' cambia in base alla chiave e al vettore di inizializzazione, producendo ogni volta un output diverso.
Se la decodifica di una stringa produce testo leggibile senza alcuna chiave, si trattava di codifica, non di crittografia.
Perché è importante per gli hacker
Durante un assessment si incontrano continuamente dati offuscati. Chiedersi «si tratta di codifica o crittografia?» indica quale debba essere la prossima mossa:
- Codificata? La decodifichi subito, senza bisogno di una chiave. Le credenziali nascoste in Base64 sono un risultato immediato.
- Crittografata? Trovi la chiave, attacchi la gestione delle chiavi oppure cerchi difetti di implementazione.
Trattare la codifica come se fosse sicurezza è una vulnerabilità che segnalerà continuamente.
L'offuscamento è una terza cosa
Presti attenzione a una terza categoria: l'offuscamento. Consiste nel rendere deliberatamente difficile la lettura dei dati (JS minimizzato, binari impacchettati, XOR con un byte fisso) senza un vero cifrario o una gestione delle chiavi.
Come la codifica, l'offuscamento non offre alcuna reale riservatezza. Rallenta soltanto l'osservatore occasionale. Gli analisti esperti lo annullano regolarmente.
Verifica rapida
Verifichi la comprensione della distinzione fondamentale.
Riepilogo
Ha appreso la differenza fondamentale tra codifica e crittografia:
- La codifica (Base64, hex) è reversibile da chiunque e modifica solo il formato.
- La crittografia (AES, RSA) richiede una chiave segreta e protegge la riservatezza.
- L'offuscamento nasconde, ma non protegge.
- Decodifichi sempre prima le stringhe sospette: il testo cifrato sembra rumore casuale, mentre i dati codificati producono contenuti leggibili senza una chiave.
Ora approfondirà l'hashing, una trasformazione a senso unico diversa da entrambe.
Domande Frequenti
La lezione «Codifica e cifratura a confronto» è gratuita?
Sì — il testo completo di «Codifica e cifratura a confronto» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Cosa imparerò in «Codifica e cifratura a confronto»?
Base64, esadecimale e cifrari Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ethical Hacking Academy?
Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Codifica e cifratura a confronto»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?
Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Codifica e cifratura a confronto
- Hashing
- Crittografia simmetrica e asimmetrica
- Cracking degli hash