MakarovSuites
Italiano
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contatti e licenze

Math

RSA su numeri piccoli

Un messaggio attraversa due potenze modulari su un tavolo di legno e ottone. Esegui i passi interi, esplora la permutazione e cerca un divisore con un contatore esatto.

RSA su numeri piccoli — Immagine reale dell’applicazione
Immagine reale dell’applicazione

Cosa succede

Un messaggio attraversa due potenze modulari su un tavolo di legno e ottone. Esegui i passi interi, esplora la permutazione e cerca un divisore con un contatore esatto.
Legno e ottone sono un’illustrazione, non una macchina cifrante storica. Trascina con il tasto destro per ruotare il laboratorio.
Aritmetica didattica con piccoli interi. Senza codifica OAEP/PSS né formato sicuro dei messaggi. La divisione per tentativi non misura la sicurezza del vero RSA.

Equazioni del modulo
Equazioni
chiave da manuale p = 61, q = 53:  n = 3233,  phi = (p−1)(q−1) = 3120,  e = 17,  d = e^(−1) mod phi = 2753,  e·d mod phi = 1
  65 -> 2790 -> 65
la cifratura è una PERMUTAZIONE di Z_n per primi distinti p, q e gcd(e, phi) = 1:  m -> m^e dà esattamente n immagini distinte (3233 su 3233), e OGNI messaggio ritorna
compresi i 113 messaggi che hanno un fattore in comune con n - è il teorema cinese del resto, NON il teorema di Eulero, che su di essi non dice nulla
messaggi che si cifrano in se stessi:  esattamente (1 + gcd(e−1, p−1))·(1 + gcd(e−1, q−1))
(61, 53, 17) -> 25;  (11, 13, 7) -> 21;  (17, 19, 5) -> 15;  (31, 37, 11) -> 33;  mai meno di quattro, e questa è aritmetica, non un difetto
numero di divisioni di prova finché si trova un fattore (non è il miglior attacco di fattorizzazione noto):
n = 3233 -> 52 con tutti i divisori, 16 con i soli primi (fino al fattore 53)
n = 1022117 -> 1008 con tutti i divisori, 169 con i soli primi (fino al fattore 1009)
sqrt(n) è solo una scala di riferimento per la divisione di prova; i conteggi dipendono dal fattore più piccolo. Questi conteggi non misurano la sicurezza reale di RSA. L'RSA grezzo è didattico; la cifratura/firma reale usa schemi come OAEP/PSS.
Dominio della chiave didattica: primi distinti p, q; 3 <= e < n; gcd(e,phi(n)) = 1; 0 <= m, c < n. I rappresentanti fuori intervallo vengono rifiutati, non ridotti in silenzio.

Altri esperimenti

Torna al catalogo
Hash e cestini — Immagine reale dell’applicazione

Math

Hash e cestini

Un tavolo di smistamento: le chiavi sono cartellini di carta, un carrello calcola l’hash di ciascuna e la lascia cadere nel cestino che il suo hash nomina, una collisione sono due chiavi diverse in un solo cestino. L’hash è una funzione con nome – somma dei codici, polinomio in base 31, FNV-1a – oppure l’oracolo uniforme dietro la curva dei compleanni. Modifica una chiave, guarda il suo hash calcolato carattere per carattere, inverti un bit e conta i bit dell’hash che cambiano; confronta due funzioni sulle stesse chiavi.

Gara di ordinamenti — Immagine reale dell’applicazione

Math

Gara di ordinamenti

Tre ordinamenti percorrono lo stesso array alla stessa velocità in CONFRONTI, e arriva primo chi ha chiesto meno. A decidere è il disordine, non la dimensione: su un ingresso già ordinato l'inserzione usa 63 confronti e il quicksort 2016.

Ampiezza e profondità — Immagine reale dell’applicazione

Math

Ampiezza e profondità

Due copie di un labirinto, due percorsi, una cella per battuta. Lo strato in cui l'ampiezza trova una cella È la distanza minima: un'identità. La profondità non è mai più corta, e di quanto sia più lunga dipende da dove si va.