Mathematical engineering [Pillole]
Mi è capitato tra le mani questo problemino, assegnato nell’edizione 2002 dell’IMO (le Olimpiadi matematiche). Sapreste risolverlo al volo, senza sbirciare la soluzione sotto?
Il numero n è il prodotto di quattro numeri primi distinti a, b, c, d tali che:
- a + c = d;
- a(a + b + c + d) = c(d − b);
- 1 + bc + d = bd.
Determinare n.
Il grosso guaio di questi problemi è che sono costruiti “alla rovescia”, nel senso che si cercano alcune relazioni legate al numero e poi si rendono note solo le relazioni. In questi casi, soprattutto nella teoria dei numeri, non ci sono tecniche vere e proprie per risolvere i problemi, e si viaggia a vista. Se volete, è la stessa logica alla base della crittografia a chiave pubblica, dove si cercano due numeri primi grandi, si calcola il loro prodotto e lo si rende noto sapendo che trovare i due numeri di partenza è virtualmente impossibile allo stato attuale delle conoscenze. Ma i cracker sanno come aggirare questi problemi: le cosiddette tecniche di social engineering non si applicano agli algoritmi, e cercano di ricavare le informazioni direttamente dall’anello più debole, cioè le persone. Tutte le mail di phishing, o se preferite i sedicenti tecnici che suonano alla porta per “fare un controllo del contatore”, si basano sul social engineering.