Crittografa Testo
Uno strumento di crittografia del testo online che fornisce funzioni di decrittografia MD5, SHA, AES e crittografia AES.
L'importanza della crittografia dei dati
La crittografia dei dati può migliorare la sicurezza dei dati, in modo che anche se i dati vengono rubati, gli hacker non possano accedere direttamente ai dati, riducendo così il rischio di perdita e di divulgazione dei dati.
Algoritmo di crittografia MD5
La crittografia MD5 è una funzione hash comunemente utilizzata per comprimere informazioni di qualsiasi lunghezza in 128 bit (16 byte) di dati. È stata progettata dal crittografo americano Ron Rivest nel 1991 ed è diventata uno degli algoritmi di crittografia più utilizzati.
L'idea principale dell'algoritmo MD5 è quella di convertire i dati originali in un digest di informazioni di lunghezza fissa attraverso molteplici operazioni di hash. I passaggi specifici sono i seguenti:
Riempimento dei dati: riempire i dati originali in modo che la sua lunghezza soddisfi 448 modulo 512, ovvero n * 512 + 448, dove n è un numero intero non negativo.
Aggiunta della lunghezza: Aggiungere un valore di lunghezza a 64 bit alla fine dei dati riempiti, indicando la lunghezza dei dati originali. Poiché l'algoritmo MD5 supporta solo dati di input la cui lunghezza non supera 2^64, il valore di lunghezza deve essere espresso in 64 bit.
Inizializzazione delle variabili: definire quattro registri a 32 bit A, B, C, D e un array costante a 64 bit T.
Elaborazione dei dati del pacchetto: dividere i dati riempiti in pacchetti da 512 bit e elaborare un pacchetto alla volta. Per ogni gruppo, vengono eseguiti 4 cicli di round, e ogni ciclo include 4 passaggi: F, G, H, I.
a. Funzione F: vengono utilizzati i tre registri B, C e D come input e viene generato un risultato di 32 bit dopo una serie di operazioni a bit e funzioni non lineari.
b. Funzione G: vengono utilizzati i tre registri C, D e A come input e viene generato un risultato di 32 bit dopo una serie di operazioni a bit e funzioni non lineari.
c. Funzione H: vengono utilizzati i tre registri D, A e B come input e viene generato un risultato di 32 bit dopo una serie di operazioni a bit e funzioni non lineari.
d. Funzione I: vengono presi i tre registri C, B e A come input e viene prodotto un risultato di 32 bit dopo una serie di operazioni a bit e funzioni non lineari.
Risultati combinati: i risultati dei quattro registri vengono concatenati in ordine per ottenere un valore hash di 128 bit.
Attraverso i passaggi sopra descritti, l'algoritmo MD5 può comprimere dati di qualsiasi lunghezza in un valore hash di 128 bit, che è irreversibile e unico. Pertanto, la crittografia MD5 è ampiamente utilizzata nella verifica dell'integrità dei dati, nelle firme digitali, nella protezione delle password, ecc. Tuttavia, poiché l'algoritmo MD5 presenta falle di sicurezza ed è vulnerabile a attacchi di collisione e di pre-filtraggio, è necessario utilizzare un algoritmo di crittografia più sicuro in scenari con requisiti di alta sicurezza.
Algoritmo di crittografia SHA
SHA (Secure Hash Algorithm) è un algoritmo di crittografia che converte i dati (messaggi) di lunghezza arbitraria in valori hash di lunghezza fissa ed è solitamente utilizzato per garantire l'integrità e la sicurezza dei dati. L'algoritmo SHA è stato sviluppato dalla National Security Agency (NSA) degli Stati Uniti e attualmente esistono diverse versioni, le più popolari delle quali sono SHA-1, SHA-2 e SHA-3.
SHA-1 (Secure Hash Algorithm 1) è una delle prime versioni ampiamente utilizzate dell'algoritmo SHA, che converte un messaggio di qualsiasi lunghezza in un valore hash a 160 bit. SHA-2 include quattro varianti di SHA-224, SHA-256, SHA-384 e SHA-512, che convertono i messaggi in hash di 224 bit, 256 bit, 384 bit e 512 bit, rispettivamente. SHA-3 è l'ultima versione dell'algoritmo SHA, che converte i messaggi in valori hash di lunghezza fissa. A differenza di SHA-2, la progettazione dell'algoritmo SHA-3 si basa sull'algoritmo Keccak.Il principio di crittografia dell'algoritmo SHA può essere riassunto brevemente nei seguenti passaggi:1. Preelaborazione dei dati (padding): L'algoritmo SHA prima riempie i dati di input per far sì che la loro lunghezza soddisfi i requisiti dell'algoritmo. Il metodo di riempimento specifico è correlato alla versione dell'algoritmo.2. Valori hash iniziali: L'algoritmo SHA imposta un valore hash iniziale fisso come costante.3. Raggruppamento dei messaggi: L'algoritmo SHA divide i dati di input in più blocchi di messaggi di lunghezza fissa (512 bit). Dopo che ogni blocco di messaggi ha subito una serie di calcoli, verrà ottenuto un valore hash a 256 bit.4. Calcolo iterativo del valore hash: L'algoritmo SHA utilizzerà il valore hash del blocco di messaggi precedente come input del blocco di messaggi successivo e svolgerà il calcolo iterativo fino a quando non saranno calcolati i valori hash di tutti i blocchi di messaggi.5. Uscita: L'algoritmo SHA infine combina i valori hash di tutti i blocchi di messaggi per generare un valore hash finale come output.Poiché la lunghezza del valore hash dell'algoritmo SHA è fissa e molto grande, l'algoritmo SHA ha un'elevata sicurezza e irreversibilità e può essere utilizzato per la verifica dell'integrità dei dati, la firma digitale e altre applicazioni di sicurezza.
Algoritmo di crittografia AES
AES (Advanced Encryption Standard) è uno standard di crittografia avanzato, noto anche come algoritmo Rijndael, ed è uno degli algoritmi di crittografia simmetrica più utilizzati al momento. L'algoritmo di crittografia AES utilizza la stessa chiave per crittografare e decrittografare i dati ed è quindi classificato come algoritmo di crittografia simmetrica.
Il principio di crittografia AES può essere riassunto brevemente nei seguenti passaggi:
1. Espansione della chiave: L'algoritmo AES ha bisogno prima di espandere la chiave di input in una grande matrice di chiavi, che viene utilizzata per le successive operazioni di crittografia e decrittografia.
2. Round iniziale (Initial Round): L'algoritmo AES esegue una serie di preelaborazioni sui dati di input, tra cui la suddivisione dei dati di input, l'aggiunta di chiavi di round, la sostituzione di byte e lo spostamento di righe.
3. Round: L'algoritmo AES utilizza più round di iterazioni per le operazioni di crittografia, e ogni round di iterazioni include quattro fasi: sostituzione di byte, spostamento di righe, confusione di colonne e aggiunta di chiavi di round.
4. Round finale: L'algoritmo AES esegue una elaborazione speciale sull'ultimo blocco di dati, tra cui sostituzione di byte, spostamento di righe e aggiunta di chiave di round.
5. Uscita: L'algoritmo AES produce come output il blocco di dati crittografato come testo cifrato e l'operazione di decrittografia inserisce il testo cifrato nell'algoritmo AES per la decrittografia.
Nell'algoritmo AES, le operazioni di crittografia e decrittografia sono reversibili e i dati crittografati possono essere decrittografati utilizzando la stessa chiave. L'algoritmo AES fornisce tre lunghezze di chiavi: 128 bit, 192 bit e 256 bit. Maggiore è la lunghezza della chiave, maggiore è la sicurezza dell'algoritmo.
L'algoritmo AES ha un'elevata sicurezza ed efficienza ed è ampiamente utilizzato in vari scenari di sicurezza, come la trasmissione di dati crittografati, lo storage di file crittografati, la firma digitale, ecc.
Algoritmo di decodifica AES
L'algoritmo per decodificare i dati crittografati AES è lo stesso dell'algoritmo di crittografia, ad eccezione del fatto che la chiave viene utilizzata in modo diverso.
Ecco i passaggi per decodificare i dati crittografati AES utilizzando la chiave:
1. Ottenere dati e chiave crittografati AES.
2. Raggruppare le chiavi per lunghezza della chiave, ad esempio una chiave a 128 bit verrà divisa in quattro parole a 32 bit.
3. Determinare il numero di round richiesti in base alla lunghezza della chiave. Ad esempio, utilizzando una chiave a 128 bit sono necessari 10 round, una chiave a 192 bit richiede 12 round e una chiave a 256 bit richiede 14 round.
4. Utilizzare la chiave per decodificare i dati crittografati. Il processo di decodifica include più passaggi, tra cui l'aggiunta di chiave di round, la sostituzione di byte, lo spostamento di riga e l'oscuramento di colonna.
5. Ripetere il processo di decodifica per diversi round.
6. Eseguire un round finale di decodifica, ma omettere lo step di oscuramento di colonna.
7. Infine, i dati decodificati sono ottenuti.
Si noti che la lunghezza della chiave utilizzata dall'algoritmo di crittografia AES deve essere di 128 bit, 192 bit o 256 bit. Pertanto, quando si utilizza l'algoritmo di decodifica AES, deve essere utilizzata una chiave con la stessa lunghezza dell'algoritmo di crittografia per decodificare correttamente i dati.
La dimensione del file supera il limite.
Non puoi caricare altri file.