Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Khôi phục bí mật Shamir bằng nội suy Lagrange

    Trong lược đồ chia sẻ bí mật Shamir ngưỡng (k,n)(k, n)(k,n), bí mật SSS được chọn làm hệ số tự do f(0) mod pf(0) \bmod pf(0)modp của một đa thức fff bậc k−1k-1k−1 trên trường Zp\mathbb{Z}_pZp​ (ppp là số nguyên tố). Mỗi mảnh là một điểm (xi,yi)(x_i, y_i)(xi​,yi​) với yi=f(xi) mod py_i = f(x_i) \bmod pyi​=f(xi​)modp và xi≢0(modp)x_i \not\equiv 0 \pmod pxi​≡0(modp).

    Cho đúng kkk mảnh phân biệt (đủ để xác định duy nhất đa thức bậc k−1k-1k−1), hãy khôi phục bí mật S=f(0) mod pS = f(0) \bmod pS=f(0)modp bằng công thức nội suy Lagrange:

    f(0)=∑i=1kyi∏j≠i−xjxi−xj(modp),f(0) = \sum_{i=1}^{k} y_i \prod_{j \ne i} \frac{-x_j}{x_i - x_j} \pmod p,f(0)=∑i=1k​yi​∏j=i​xi​−xj​−xj​​(modp),

    trong đó phép chia được hiểu là nhân với nghịch đảo modulo ppp.

    Ví dụ: với p=97,k=2p = 97, k = 2p=97,k=2 và hai điểm (1,55),(2,68)(1, 55), (2, 68)(1,55),(2,68), đa thức là f(x)=42+13xf(x) = 42 + 13xf(x)=42+13x, bí mật là f(0)=42f(0) = 42f(0)=42.

    • Định dạng đầu vào:

      Dòng đầu tiên chứa hai số nguyên p kp\ kp k (ppp là số nguyên tố, 3≤p<1093 \le p < 10^{9}3≤p<109, 2≤k≤102 \le k \le 102≤k≤10). kkk dòng tiếp theo, mỗi dòng chứa hai số nguyên xi yix_i\ y_ixi​ yi​ (1≤xi≤p−11 \le x_i \le p-11≤xi​≤p−1, 0≤yi≤p−10 \le y_i \le p-10≤yi​≤p−1), là tọa độ một mảnh. Các xix_ixi​ đôi một khác nhau.

    • Định dạng đầu ra:

      In ra một số nguyên duy nhất là bí mật SSS (0≤S≤p−10 \le S \le p-10≤S≤p−1).

    Ví dụ:

    Đầu vào:

    97 2
    1 55
    2 68
    

    Đầu ra:

    42
    

    Đầu vào:

    10007 3
    1 1298
    2 1380
    3 1480
    

    Đầu ra:

    1234
    

    Đang tải editor...