147 / 691SSS

Shamir Secret Sharing

Compartición de secretos con umbral de Shamir

Shamir Secret Sharing divide un secreto en participaciones: un umbral elegido lo recupera; menos participaciones no cambian lo conocido del secreto en el modelo ideal.

Shamir Secret Sharing es una construcción publicada por Adi Shamir en 1979. Codifica un secreto como constante de un polinomio aleatorio sobre un cuerpo finito; no recorta una frase ni constituye por sí sola un protocolo de firma.

Un esquema k de n recupera el secreto con cualesquiera k participaciones válidas y distintas del mismo conjunto. Tolera perder n−k, pero también permite que k titulares colaboradores obtengan el secreto. Por ejemplo, 3 de 5 tolera dos pérdidas, no tres. El umbral equilibra disponibilidad y tamaño del grupo capaz de recuperar. [Adi Shamir — How to Share a Secret (1979)]

Para el secreto S se elige f(x)=S+a1*x+…+a(k−1)*x^(k−1). Los demás coeficientes son elementos independientes y uniformemente aleatorios del cuerpo. Una participación es (x,f(x)) con x distinto y no nulo; x=0 revelaría S directamente. La interpolación de Lagrange con k puntos determina f(0). Dos copias del mismo punto no añaden otra ecuación. [Adi Shamir — How to Share a Secret (1979)]

Solo como enseñanza, tomemos S=5 y f(x)=5+3*x mod 17. Las participaciones son (1,8), (2,11), (3,14). Las dos primeras dan pendiente 3 y constante 8−3=5; las tres parejas recuperan 5. El punto (1,8) encaja con todo S entre 0 y 16 si a=8−S mod 17. Este cuerpo pequeño no es un diseño de cartera. [Adi Shamir — How to Share a Secret (1979)]

En el esquema ideal, menos de k participaciones completas no aportan información sobre S, ni siquiera con cálculo ilimitado. Esto presupone coeficientes independientes correctos y el modelo de observación indicado. Aleatoriedad débil, coeficientes reutilizados, canales laterales o datos de comprobación adicionales requieren análisis separado. Compartir no fortalece un secreto débil adivinable por otros medios. [Adi Shamir — How to Share a Secret (1979)] [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

Recuperar exige el mismo cuerpo, codificación, índices e identidad del conjunto. GF(p), con p primo, usa inversos modulares, no división decimal; GF(256) tiene operaciones diferentes de los restos módulo 256. SLIP-39 añade diccionario, metadatos, grupos, cifrado y comprobaciones específicos. Dos programas llamados Shamir no tienen por qué producir participaciones compatibles. [Adi Shamir — How to Share a Secret (1979)] [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes]

La interpolación básica no autentica el origen de la participación ni la honestidad del distribuidor. Un punto dañado puede devolver otro secreto en vez de solo indicar insuficiencia. Detección, corrección de errores y verifiable secret sharing son construcciones adicionales con supuestos propios. SLIP-39 añade checksum y digest; estos complementos no pertenecen automáticamente a todo Shamir Secret Sharing. [SLIP-0039 — Shamir Secret-Sharing for Mnemonic Codes] [NIST — Multi-Party Threshold Cryptography]

La recuperación ordinaria expone S completo en un entorno que puede filtrarlo. A diferencia de Multisig, Shamir Secret Sharing no establece varias claves independientes de firma on-chain. La firma umbral puede utilizar un protocolo MPC adicional para operar con participaciones sin reconstruir la clave, como distingue NIST. Dividir y luego combinar no aporta esa propiedad. [NIST — Multi-Party Threshold Cryptography]

Cinco archivos en una cuenta no separan riesgos de pérdida o compromiso. Registre parámetros y compruebe la recuperación en un dispositivo confiable. Un polinomio aleatorio nuevo con el mismo S crea otro conjunto que no debe mezclarse con el anterior. Un conjunto antiguo suficiente todavía recupera S; volver a dividir no invalida participaciones obtenidas previamente ni un secreto filtrado. [Adi Shamir — How to Share a Secret (1979)] [Trezor — Multi-share Backup]

Para obtener la imagen más completa, lee esta entrada junto con SLIP-39, Multisig, Seed Phrase, Clave privada, Bitcoin Inheritance Plan. También enlazan con esta entrada SLIP-39, FROST.

DOC · 001Adi Shamir — How to Share a Secret (1979)Fuente primariaDOC · 002SLIP-0039 — Shamir Secret-Sharing for Mnemonic CodesEspecificaciónDOC · 003NIST — Multi-Party Threshold CryptographyFuente primariaDOC · 004Trezor — Multi-share BackupDocumentación
Fuentes primero · No es asesoramiento financiero