Cryptology Academy · Lezione

Generazione delle chiavi RSA passo per passo

Generi p, q, n, e, d e comprenda il ruolo di ciascun parametro.

Lezione 2 di 413 passaggi

Generazione delle chiavi RSA passo per passo è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 2 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 Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Benvenuto

In questa lezione genereremo da zero una coppia di chiavi RSA, seguendo ogni passaggio matematico, dalla scelta dei numeri primi ai parametri della chiave.

Passaggio 1: scelga due grandi numeri primi

Scelga due grandi numeri primi casuali p e q. In produzione: p,q ≥ 2^1023 (per RSA a 2048 bit). A scopo dimostrativo: p=61, q=53.

Passaggio 2: calcoli il modulo

n = p × q = 61 × 53 = 3233. Il modulo n è il componente pubblico. RSA-2048 utilizza n ≈ 2^2048. Fattorizzare n è computazionalmente impraticabile per valori grandi.

Passaggio 3: calcoli la funzione totiente

φ(n) = (p-1)(q-1) = 60 × 52 = 3120. Questo valore viene mantenuto segreto dopo la generazione della chiave: insieme alla fattorizzazione, permette di calcolare la chiave privata.

Passaggio 4: scelga l'esponente pubblico e

Scelga e in modo che 1 < e < φ(n) e GCD(e, φ(n)) = 1. Scelta standard: e = 65537 (0x10001). È un numero primo, ha un basso peso di Hamming, consente una cifratura rapida ed è ampiamente supportato.

Passaggio 5: calcoli l'esponente privato d

d = e^(-1) mod φ(n): trovi d in modo che e×d ≡ 1 (mod 3120). Per e=17, φ=3120: d=2753 (verifica: 17×2753 = 46801 = 15×3120 + 1 ✓). Python: d = pow(e, -1, phi_n)

La coppia di chiavi

Chiave pubblica: (e=17, n=3233) — condivisibile Chiave privata: (d=2753, n=3233) — segreta Condivida liberamente (e, n). Protegga d con la massima cura. Non riveli mai p, q o φ(n) dopo la generazione della chiave.

Dimensioni delle chiavi nella pratica

RSA-1024: obsoleto dal 2010. RSA-2048: minimo consigliato. RSA-4096: sicurezza elevata, ma 4 volte più lento. La maggior parte dei certificati TLS utilizza RSA-2048 o ECDSA-256, con sicurezza equivalente e velocità molto maggiore.

Ottimizzazione CRT

Il Teorema cinese del resto (CRT) accelera la decifratura RSA di circa 4 volte. Memorizzi la chiave privata come (p, q, dp, dq, qInv) invece del solo d. Esegua i calcoli separatamente modulo p e modulo q, quindi combini i risultati.

Generazione delle chiavi in Python

from cryptography.hazmat.primitives.asymmetric import rsa private_key = rsa.generate_private_key( public_exponent=65537, key_size=2048 ) public_key = private_key.public_key()

Serializzazione delle chiavi

from cryptography.hazmat.primitives import serialization pem = private_key.private_bytes( serialization.Encoding.PEM, serialization.PrivateFormat.PKCS8, serialization.BestAvailableEncryption(b'passphrase') )

Verifica rapida

Nella generazione di una chiave RSA con p=7 e q=11, qual è il valore corretto di n?

Riepilogo

Ora è in grado di generare chiavi RSA da zero. Applicheremo quindi queste chiavi per cifrare e decifrare messaggi usando l'elevamento a potenza modulare.
Gratis per iniziare

Impara Cryptology Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
67
Lezioni
261

Domande Frequenti

La lezione «Generazione delle chiavi RSA passo per passo» è gratuita?

Sì — il testo completo di «Generazione delle chiavi RSA passo per passo» è 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 Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Generazione delle chiavi RSA passo per passo»?

Generi p, q, n, e, d e comprenda il ruolo di ciascun parametro. Eserciti Cryptology 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 Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology 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 2 di 4.

Quanto tempo richiede la lezione «Generazione delle chiavi RSA passo per passo»?

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 Cryptology Academy?

Sì. Ogni lezione Cryptology 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

  1. Concetti di crittografia a chiave pubblica
  2. Generazione delle chiavi RSA passo per passo
  3. Matematica della cifratura e decifratura RSA
  4. Casi d'uso reali di RSA e dimensioni delle chiavi
← Torna a Cryptology Academy