Vai al contenuto

Guida pratica all’Advanced Encryption Standard (AES)

cryptography 1091256 1280

Vuoi inviare SMS pubblicitari? Prova SMSHosting (clicca qui) . PROMO sconto sul primo acquisto: usa il codice PRT96919

Aggiornato il: 21-08-2023 12:06
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.


Vuoi inviare SMS pubblicitari? Prova SMSHosting (clicca qui) . PROMO sconto sul primo acquisto: usa il codice PRT96919

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

Ti potrebbe interessare:  Temi gratis per WordPress - Oltre 100 da scaricare!


Questo blog pubblica contenuti ed offre servizi free da 12 anni. – Leggi un altro articolo a caso – Per informazioni contattaci
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

image

Tutorial, approfondimenti tematici e notizie in ambito tecnologico. Credits immagini: pexels.com, pixabay.com, wikipedia.org, Midjourney, StarryAI, se non diversamente specificato. Questo articolo non contiene necessariamente suggerimenti, pareri o endorsement diretti da parte del proprietario del progetto. Per contatti clicca qui


Segui il canale Youtube @Tecnocrazia23