---
# System prepended metadata

title: Toán học đằng sau Shamir’s Secret Sharing
tags: ["isomorphism\_", SSS]

---

Bạn có bao giờ nghĩ rằng bí mật (private key, seed phrase) có thể được **bẻ nhỏ** thành nhiều mảnh vô nghĩa, rồi chỉ cần ghép đủ mảnh thì bí mật mới hiện ra nguyên vẹn?
Nghe như ma thuật, nhưng thực chất đây là ứng dụng của **isomorphism, đa thức và nội suy Lagrange** – nền tảng của **Shamir's Secret Sharing (SSS)**.

---

## 1. Từ isomorphism đến bảo mật

Trong toán học, **isomorphism** có nghĩa là hai cấu trúc khác nhau nhưng giống hệt nhau về bản chất.
Ví dụ: nhóm nhân $(\mathbb{Z}_5^*, \cdot)$ là isomorphic với nhóm cộng $(\mathbb{Z}_4, +)$. Điều này cho phép ta đổi một phép nhân phức tạp thành phép cộng đơn giản.

Trong SSS, ý tưởng tương tự: thay vì làm việc trực tiếp với seed phrase, ta ánh xạ nó thành một số nguyên trong một nhóm modulo lớn. Nhờ đó, ta có thể áp dụng công cụ đại số để chia tách và tái tạo bí mật mà vẫn giữ nguyên cấu trúc.

---

## 2. Đa thức làm công cụ chia sẻ

Bí mật $s$ được giấu trong hệ số tự do của một đa thức ngẫu nhiên bậc $k-1$:

$$
  f(x) = s + a_1x + a_2x^2 + \dots + a_{k-1}x^{k-1} \pmod p
$$

* Mỗi người chơi nhận một share: $(i, f(i))$.
* Cần ít nhất $k$ điểm để xác định duy nhất đa thức → chỉ khi đủ $k$ người hợp tác thì bí mật mới khôi phục được.

---

## 3. Nội suy Lagrange – mảnh ghép trở lại bí mật
![output](https://hackmd.io/_uploads/HyBkASpixl.png)

Muốn tái tạo $s = f(0)$, ta dùng công thức **nội suy Lagrange**:

$$
s = f(0) = \sum_{i=1}^k y_i \cdot \prod_{\substack{j=1 \\ j \neq i}}^k \frac{-x_j}{x_i - x_j} \pmod p
$$

* Nếu đủ $k$ shares → duy nhất một đa thức → bí mật xuất hiện.
* Nếu ít hơn $k$ → tồn tại vô số đa thức phù hợp → bí mật vẫn an toàn.

---

## 4. Polynomial Commitment – đảm bảo không ai gian lận

Một nhược điểm của SSS thuần là bạn phải **tin tưởng dealer** phát share. Nhưng nếu dealer gửi share sai thì sao?
Đây là lúc **Polynomial Commitment** (cam kết đa thức) ra đời:

* Dealer công khai $C_j = g^{a_j}$ cho từng hệ số.
* Người chơi có thể kiểm tra share của mình:

  $$
  g^{f(i)} \overset{?}{=} \prod_{j=0}^{k-1} C_j^{i^j} \pmod p
  $$
* Nếu đúng → share hợp lệ. Nếu sai → biết ngay có gian lận.

Cơ chế này được gọi là **Feldman’s Verifiable Secret Sharing (VSS)**. Nó đảm bảo mọi mảnh ghép thực sự thuộc cùng một đa thức.

---

## 5. Ví dụ trực quan

Giả sử bí mật là $s=123$, chọn $k=3$:

$$
  f(x) = 123 + 50x + 30x^2
$$

* A giữ share (1,203)
* B giữ share (2,343)
* C giữ share (3,543)

Nếu chỉ có A và B, có vô số parabol đi qua 2 điểm. Nhưng khi A, B, C hợp tác, chỉ còn **một parabol duy nhất** → khôi phục được $f(0)=123$.

---

## 6. Ứng dụng thực tế

* **Quản lý khóa**: Chia private key để nhiều quản trị viên cùng giữ.
* **Tiền mã hóa**: Bảo vệ seed phrase trong ví, chống mất mát.
* **Đa chữ ký (multi-sig)**: Tài nguyên quan trọng chỉ mở khi đủ người đồng thuận.
* **MPC & DKG**: Đảm bảo không ai gửi share gian lận.

---

## 7. Kết luận

Shamir’s Secret Sharing là ví dụ tuyệt vời của việc toán học **không chỉ là lý thuyết**.
Isomorphism giúp ánh xạ dữ liệu vào nhóm dễ thao tác, đa thức phân chia bí mật thành mảnh nhỏ, nội suy Lagrange ghép mảnh trở lại, và Polynomial Commitment đảm bảo mọi thứ minh bạch.

Nhờ vậy, bí mật quan trọng có thể được bảo vệ, chia sẻ và phục hồi an toàn trong thế giới phân tán ngày nay.
