我們直接做一個可計算的實例,用最經典的:
由 Adi Shamir 在 1979 年提出。Shamir 秘密分享(Shamir’s Secret Sharing)
🎯 目標
我要把「秘密數字」:
S = 123
拆成 5 份碎片,
其中 至少 3 份 才能還原。
這叫做:
(3,5) 門檻秘密分享
🧠 核心原理
利用一個數學事實:
2 個點可以決定一條直線
3 個點可以決定一條二次曲線
所以:
- 若門檻是 3
- 就建立一個「二次多項式」
🔢 Step 1:建立多項式
我們隨機選兩個係數:
a1 = 45
a2 = 78
建立多項式:

注意:
常數項就是秘密 123
🔢 Step 2:生成 5 個分享點
計算:

得到(假設在 mod 251 下計算):

這些就是:
(1,246)
(2,223)
(3,54)
(4,241)
(5,33)
分給五個人。
🔐 關鍵特性
- 任意 2 份 → 無法還原
- 任意 3 份 → 可用插值法還原
🔢 Step 3:用 3 份還原秘密
假設拿到:
(1,246)
(2,223)
(3,54)
使用:
拉格朗日插值法
公式:

經計算後:

成功還原。
📐 為什麼安全?
因為:
如果只有兩個點,
可能的曲線有無限多條。
也就是:
可能秘密 = 任何數
資訊理論上是安全的。
📊 幾何直觀
- 曲線截距 = 秘密
- 需要足夠點數才能確定曲線
🏦 真實應用場景
1️⃣ 加密貨幣私鑰管理
例如:
- 多人共同管理冷錢包
- 丟失一份仍可恢復
2️⃣ 銀行金庫
- 3 把鑰匙才能開
3️⃣ 分散式系統
- 防止單點故障
🧮 本質總結
Shamir 秘密分享的本質:
用「多項式的不確定性」
製造資訊安全
它不是加密,
而是:
把秘密變成數學幾何問題。












