Lo Standard Advanced Encryption Standard (AES), in italiano “Standard di Crittografia Avanzata”, è un algoritmo di crittografia simmetrica largamente utilizzato per proteggere dati sensibili e informazioni confidenziali. È considerato uno dei metodi di crittografia più sicuri e affidabili al momento della sua introduzione, ed è ancora ampiamente utilizzato per scopi di sicurezza informatica.
L’AES è stato selezionato come standard ufficiale dal National Institute of Standards and Technology (NIST) degli Stati Uniti nel 2001, dopo un processo di selezione competitivo in cui sono stati valutati vari algoritmi. L’obiettivo era sostituire il precedente standard di crittografia a chiave simmetrica, il Data Encryption Standard (DES), a causa delle preoccupazioni sulla sua sicurezza e sulla lunghezza della chiave relativamente breve.
L’algoritmo AES opera su blocchi di dati di dimensioni fisse e utilizza chiavi di crittografia simmetriche, il che significa che la stessa chiave viene utilizzata sia per crittografare che per decrittografare i dati. Le dimensioni delle chiavi supportate sono 128 bit, 192 bit e 256 bit, determinando il livello di sicurezza offerto dall’algoritmo. L’AES è noto per la sua resistenza a diverse tecniche di attacco, tra cui attacchi di brute force e crittoanalisi. La sua efficacia e sicurezza sono state ampiamente testate e accettate dalla comunità crittografica e dalla sicurezza informatica in generale, rendendolo uno degli standard fondamentali nella protezione delle informazioni digitali sensibili.
Viene usato da molte VPN, tra cui NordVPN.
AES in Python
Di seguito ti fornirò un esempio semplificato di come utilizzare l’algoritmo AES per cifrare e decifrare un messaggio utilizzando il linguaggio Python. Per usare AES in Python potete prendere come template questo codice sorgente (Ricorda che questo è solo un esempio semplice e didattico. Nella pratica, è importante gestire in modo standardizzato le chiavi, i vettori di inizializzazione e altri aspetti della sicurezza, come la generazione casuale dei vettori di inizializzazione e l’uso corretto dei metodi di crittografia e decrittografia, evitando di cablare nel codice aspetti chiave):
Usa il codice
189ed7ca010140fc2065b06e3802bcd5
per ricevere 5 € dopo l’iscrizione
from cryptography.hazmat.primitives import padding from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import rsa from cryptography.hazmat.primitives.asymmetric import padding as asymmetric_padding from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends import default_backend # Passo 1: Genera una chiave segreta (128, 192 o 256 bit) e un vettore di inizializzazione (IV) key = b'mia_chiave_segre' iv = b'mio_vettore_iniz' # Passo 2: Crea un oggetto AES Cipher con la chiave e la modalità di cifratura cipher = Cipher(algorithms.AES(key), modes.CFB(iv), backend=default_backend()) encryptor = cipher.encryptor() # Passo 3: Cifra il messaggio plaintext = b'Questo è il messaggio da cifrare' ciphertext = encryptor.update(plaintext) + encryptor.finalize() # Passo 4: Decifra il messaggio decryptor = cipher.decryptor() decrypted_text = decryptor.update(ciphertext) + decryptor.finalize() # Passo 5: Stampa i risultati print("Messaggio iniziale:", plaintext) print("Messaggio cifrato:", ciphertext) print("Messaggio decifrato:", decrypted_text)
Assicurati di aver installato la libreria cryptography
prima di eseguire il codice:
pip3 install cryptography
Foto di tumbledore da Pixabay
👇 Da non perdere 👇
- Lavoro 🔧
- Marketing & SEO 🌪
- Mondo Apple 🍎
- Scrivere 🖋
- Sicurezza & Privacy 👁
- Spiegoni artificiali 🎓
- 💬 Il nostro canale Telegram: iscriviti
- 🟠 Come aprire un file epub
- 🔴 Come cercare una parola in un PDF scansionato: usare ocrmypdf
- 🟢 WordPress ti chiede le credenziali FTP quando installi plugin? Ecco cosa fare