Herramienta gratuita

Dividir un secreto en partes

Una frase semilla es una contradicción: una sola copia se pierde, muchas copias son cada una un riesgo más. Esta página corta el secreto en varias partes de modo que cualesquiera K necesarias lo recomponen, mientras que menos no dicen nada de él. Tres partes entre tres personas de confianza, dos cualesquiera lo recuperan, y ninguna por sí sola puede nada.

Todo se calcula en el navegador: ni el secreto ni las partes se envían a ningún sitio.

Ni el secreto ni las partes se envían a ningún sitio: toda la matemática se calcula en esta pestaña.

Cómo funciona

Esquema de Shamir. Cada byte del secreto se esconde en un polinomio: el término independiente es el propio byte, los demás coeficientes son aleatorios, y el grado es uno menos que el umbral. La parte número x es el valor del polinomio en el punto x. Por cualesquiera K puntos pasa exactamente un polinomio del grado necesario, así que K partes dan el byte original sin ambigüedad. Por K−1 puntos pasan infinitos polinomios así, y todos los términos independientes son igual de probables: por eso menos partes no dicen absolutamente nada.

Todo se calcula en el cuerpo GF(256), el mismo que hay dentro de AES. Los bytes siguen siendo bytes, las partes salen cortas y escribirlas en papel es realista.

Cómo usarlo con sentido común

El esquema más práctico para guardar en casa: tres partes con umbral dos. Una contigo, una con un familiar, una en una caja de seguridad o con otra persona de confianza. Si pierdes la tuya, la recuperas con las dos restantes. Si roban una, el ladrón no tendrá nada, ni una pista.

Lo que no hay que hacer: guardar dos partes en el mismo sitio (es lo mismo que guardar una sola copia) y poner un umbral igual al número de partes (entonces perder cualquier parte es perder el secreto).

Cerca: la comprobación de frases semilla, cifrar un archivo con contraseña y cifrar un texto.

No guardamos nada de esto

Ni secretos, ni partes, ni contraseñas, igual que no hay registros de visitas en la propia VPN. No hay nada que entregar ante una petición.

Cómo funciona →

Preguntas frecuentes

guest@404vpn:~$ cat secret-split-faq.md
[01] $ ¿Por qué es mejor que cortar la frase en tres trozos sin más?
> Porque un trozo de una frase normal ya es parte de la respuesta: con ocho palabras de doce, el resto se adivinan por fuerza bruta. Aquí cada parte por separado no dice nada del secreto: hasta reunir el número necesario de partes, ni siquiera se puede saber con certeza la longitud del texto original. Es una propiedad matemática del esquema, no una promesa.
[02] $ ¿Cuántas partes hago y cuántas exijo?
> Para guardar cosas en casa se suelen tomar tres partes con umbral dos: si una se pierde, aún puedes recuperarlo; si una la roban, el ladrón no obtiene nada. Un umbral igual al número de partes (tres de tres) es peligroso: perder cualquier parte es perder el secreto para siempre.
[03] $ ¿Dónde guardo las partes?
> Por separado y en sitios distintos: ese es todo el sentido. Dos partes en una misma caja fuerte no son mejores que una sola copia. Las partes se pueden escribir en papel: son cortas y están hechas de letras y cifras normales.
[04] $ ¿Y si una parte está dañada o es de otro secreto?
> Lo notamos. Antes de cortar se añaden al secreto dos bytes de su hash, y al recomponer se comprueban. Si las partes no son del mismo secreto, o una está estropeada, la página lo dice en lugar de devolver basura verosímil.
[05] $ ¿Podéis ver mi secreto?
> No. La página no hace ni una petición de red al dividir ni al recomponer: toda la matemática ocurre en tu pestaña. Lo puedes ver en la pestaña Red de las herramientas de desarrollo.