El secreto es el término constante de un polinomio aleatorio de grado k − 1 sobre un cuerpo finito; cada fragmento es el valor del polinomio en un punto distinto y no nulo, y la interpolación de Lagrange con k fragmentos cualesquiera recupera la constante. Las implementaciones suelen trabajar byte a byte en GF(2⁸), así que cada fragmento ocupa lo mismo que el secreto más un índice. La seguridad es incondicional, en el sentido de la teoría de la información: menos de k fragmentos no dan ninguna información, sea cual sea la potencia de cálculo.
El esquema de Shamir básico no ofrece integridad: un fragmento corrupto o malicioso hace que se reconstruya en silencio un secreto erróneo, así que los esquemas prácticos añaden una suma de comprobación o un resumen del secreto, o usan compartición de secretos verificable (Feldman, Pedersen). También exige un momento en el que el secreto completo existe en un solo lugar, al dividirlo y al reconstruirlo; las firmas de umbral lo evitan porque nunca reconstruyen la clave.
Se usa en ceremonias de claves de HSM y de CA (tarjetas de operador m de n), copias de seguridad de claves raíz y de recuperación, copias de seguridad de billeteras SLIP-39 y las claves de desellado (unseal keys) de HashiCorp Vault. La herramienta de compartición de secretos de Shamir divide y combina secretos localmente en el navegador.