Guida pratica all’Advanced Encryption Standard (AES)


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):

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

Annuncio:
Pagamenti più facili? Satispay
a

👇 Da non perdere 👇



Trovalost esiste da 4554 giorni (12 anni), e contiene ad oggi 4154 articoli (circa 3.323.200 parole in tutto) e 20 servizi online gratuiti. – Leggi un altro articolo a caso
Privacy e termini di servizio / Cookie - Il nostro network è composto da Lipercubo , Pagare.online e Trovalost
Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Questo sito contribuisce alla audience di sè stesso.