División de Secretos Shamir (SSS)

Una implementación solo en navegador del esquema de división de secretos de Adi Shamir de 1979.

Cómo usar

1
Elige N y K

2-of-3 personal, 3-of-5 equipo.

2
Escribe el secreto

Contraseña maestra, frase semilla.

3
Distribuye las partes

A diferentes personas, lugares, dispositivos.

4
Recupera cuando lo necesites

Reúne K partes y combina.

Divide una contraseña maestra o frase semilla en N piezas — K de ellas la recuperan

Recibirás N partes. K de ellas reconstruyen el secreto. Menos de K no revelan nada.
Todas las partes de abajo pertenecen a un mismo conjunto. Volver a dividir crea un conjunto NUEVO y las partes anteriores dejan de funcionar — solo puedes recuperar un secreto a partir de partes del mismo conjunto.

Qué hace la División de Secretos Shamir

  • Seguridad teórico-informacional: con menos de K partes, un atacante NO aprende NADA del secreto.
  • Cada parte incluye una pequeña cabecera (versión, umbral, id de conjunto) más una etiqueta de integridad de 4 bytes, de modo que Combinar puede verificar una recuperación correcta y señalar claramente partes incompatibles o insuficientes.
  • Usa el esquema byte-wise estándar sobre GF(2⁸) — la misma álgebra que AES.
  • Distribuye partes entre personas, dispositivos, ubicaciones geográficas.
  • Esta implementación NO añade capa de contraseña — las partes SON la protección.
Copiado

Funciones

Seguridad teórico-informacional
K−1 partes no contienen información.
GF(2⁸) byte a byte
Cada byte se divide de forma independiente con la misma álgebra de campo finito que usa AES — comprobada, rápida y estándar.
Hasta 255 partes
(K, N) arbitrario.
Recuperación verificada
Una etiqueta de integridad incorporada significa que Combinar confirma que el secreto se reconstruye exactamente — y da un error claro ante partes incompatibles, insuficientes o de conjuntos distintos, en lugar de devolver basura en silencio.
Aleatoriedad segura
crypto.getRandomValues.
Se ejecuta en su navegador
La división y la recombinación se realizan en la pestaña de su navegador mediante la Web Crypto API. La interpolación polinómica sobre GF(2⁸) se calcula del lado del cliente en JavaScript — no existe ningún endpoint /split ni /combine para esta herramienta, el algoritmo se envía en los recursos de la página.

Preguntas frecuentes

¿En qué difiere de cifrar y distribuir la contraseña?

Shamir divide el secreto directamente en N piezas; K−1 no revelan NADA matemáticamente.

¿Qué (K, N) es bueno?

2-of-3 individuos, 3-of-5 equipos pequeños.

¿Puedo confiar en la implementación?

La división y la combinación se ejecutan en tu navegador mediante la Web Crypto API.

¿Y si se pierde una parte?

Mientras queden al menos K, se puede recuperar.

¿Y si una parte se filtra?

Si se filtran menos de K, el secreto sigue seguro.

¿Qué formato de parte utiliza?

La matemática subyacente es el esquema canónico byte a byte sobre GF(2⁸) con el polinomio de reducción estándar 0x11b. Cada parte se envuelve en un pequeño contenedor autodescriptivo (versión, umbral, id de conjunto y una etiqueta de integridad) para que la herramienta pueda verificar la recuperación y detectar partes incompatibles — recupera las partes con esta herramienta en lugar de con una librería GF(256) en crudo.

¿Cómo valoras esta herramienta?

¡Gracias por tu valoración!
¿Quieres contar más? ¡Deja un comentario!
¡Gracias! Tu comentario aparecerá tras la moderación.
Publicada Autores: