Ади Шамир — тот самый Шамир из RSA — ещё в 1979 году придумал, как разделить секрет так, чтобы ни один человек не мог им единолично воспользоваться. Идея до смешного проста и основана на школьной геометрии.
Две точки задают прямую. Если спрятать секрет в точке пересечения прямой с вертикальной осью (скажем, число 7), то каждая точка на этой прямой — это доля ключа. Одна точка ничего не даёт: через неё можно провести бесконечное число прямых, и каждая даст свой "секрет". Но как только у вас есть две точки — прямая восстанавливается однозначно, и секрет прочитан. Это схема 2-из-n.
Если нужно, чтобы секрет могли восстановить трое, берётся парабола — кривая, которая определяется тремя точками. Четверо — кубическая кривая. В общем случае для порога k используется многочлен степени k-1. Секрет — значение этого многочлена в нуле, случайные коэффициенты его маскируют, а доли — это просто точки на графике.
Самое важное: с неполным набором долей вы не получаете никакой информации о секрете. Вообще никакой. Не "очень сложно вычислить", а "невозможно узнать ничего". Любой вариант секрета остаётся равновероятным.
Эту математику использует Ente в своём Legacy Kit. Но там схема Шамира — только один слой. Сами карточки не содержат ключа восстановления. Они локально собирают отдельный секрет, который затем участвует в восстановлении через сервер. Так выданные карты можно отозвать, а потерянная карта не превращается в вечную проблему. Речь в статье — только о математической части "любые два, но никогда один".