Condivisione del segreto di Shamir
Dividi una password o una frase di recupero in N quote, di cui M qualsiasi la ricostruiscono, con lo schema di Shamir su GF(256), nel tuo browser.
La divisione e la ricomposizione avvengono interamente nel tuo browser. Il segreto e le quote non vengono mai inviati; i numeri casuali provengono da crypto.getRandomValues.
Dividi un segreto
Ricomponi le quote
Come dividere un segreto
- Scrivi o incolla il testo da proteggere in Segreto (testo): una frase di recupero, una password principale, una chiave di cifratura…
- Imposta il Numero di quote (N) e le Quote necessarie per ricostruire (M). Per esempio, N = 5 e M = 3 significa che 3 quote qualsiasi su 5 ricostruiscono il segreto, mentre 2 quote non rivelano nulla.
- Premi Dividi segreto. Ogni quota compare su una riga a sé con un pulsante Copia; puoi anche usare Copia tutte le quote o Scarica le quote (.txt).
- Premi Prova: ricomponi le prime M quote per verificare che le quote funzionino prima di distribuirle.
- Affida ogni quota a una persona diversa o conservala in un luogo diverso. Non tenerle tutte insieme, altrimenti la divisione non serve a nulla.
Come ricostruire il segreto
- Incolla almeno M quote in Quote, una per riga, in qualsiasi ordine. Le righe vuote vengono ignorate.
- Premi Ricomponi quote. Il testo compare in Segreto recuperato e lo stato indica quali numeri di quota sono stati usati.
- Se una quota contiene un errore di battitura, proviene da un’altra divisione o compare due volte con contenuti diversi, lo strumento ti dice quale e perché, invece di restituire dati senza senso.
Come funziona lo schema di Shamir
Adi Shamir ha pubblicato lo schema nel 1979. Per condividere un byte s con soglia M si sceglie un polinomio casuale di grado M − 1 il cui termine noto è s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). La quota numero x è il valore f(x). M punti qualsiasi determinano il polinomio, quindi l’interpolazione di Lagrange in x = 0 restituisce s; con meno di M punti ogni valore di s è ugualmente probabile, perciò le quote non rivelano nulla del segreto.
Lo strumento lavora nel campo finito GF(256) (quello usato da AES, con il polinomio di riduzione x⁸ + x⁴ + x³ + x + 1), quindi ogni byte del segreto in UTF-8 ha il proprio polinomio e le quote sono lunghe esattamente quanto il segreto. I coefficienti casuali provengono da crypto.getRandomValues, il generatore crittografico di numeri casuali del browser. Tutto avviene in locale: il segreto e le quote non lasciano mai il tuo dispositivo.
Formato delle quote
Una quota ha questo aspetto: 3-2-5f1c…, cioè la soglia M, il numero di quota X (da 1 a 255) e poi i dati in esadecimale. I dati contengono i valori del polinomio per il segreto seguiti da un CRC-32 di 4 byte del segreto, e terminano con un checksum CRC-32 di 4 byte della quota stessa. Il checksum individua gli errori di copiatura; il CRC interno rivela quando sono state mescolate quote di segreti diversi. Le quote create con altri strumenti Shamir usano formati diversi e non possono essere ricomposte qui.
Domande frequenti
Come scelgo N e M?
M indica quante persone o quanti luoghi devono collaborare, N − M quante quote puoi permetterti di perdere. 3 su 5 è una scelta comune: due quote possono andare perse o distrutte e nessuna coppia di detentori può ricostruire il segreto da sola.
È sicuro conservare una quota nel cloud?
Una singola quota, o qualsiasi gruppo inferiore a M, non rivela nulla del segreto. Tieni comunque meno di M quote in un unico account o luogo, altrimenti quel luogo da solo contiene il segreto.
Questo strumento cifra il segreto?
Non nel senso abituale: non c’è una password. La protezione deriva dalla soglia. Puoi combinare le due cose, per esempio dividendo la passphrase di un file cifrato.
Cosa succede se fornisco più di M quote?
Le prime M quote ricostruiscono il segreto e quelle in più vengono confrontate con esse. Una quota che non torna viene segnalata, il che aiuta a individuare una quota danneggiata o estranea.
Posso dividere un file?
Lo strumento divide testi fino a 10.000 byte. Per un file, cifralo con una passphrase casuale e robusta e dividi invece la passphrase.
Strumenti correlati
- Generatore di password Generatore di password gratuito che crea password casuali e robuste da 4 a 128 caratteri nel browser, con un RNG sicuro. Nulla viene salvato o inviato.
- Generatore di passphrase Crea passphrase robuste e facili da ricordare dalla lista EFF inglese o da una lista francese, con l'entropia in bit. Generate in modo sicuro nel browser.
- Cifra testo con password Cifra e decifra testo con una passphrase nel browser, con AES-256-GCM e PBKDF2 a 600.000 iterazioni. Nulla viene caricato. Limiti spiegati con onestà.
- Generatore di codici TOTP e HOTP Genera codici 2FA TOTP e HOTP da un segreto Base32 o un URI otpauth://, con SHA-1, SHA-256 o SHA-512, conto alla rovescia e codice QR per le app.