Lược đồ chia sẻ bí mật

Một phần của tài liệu Nghiên cứu ứng dụng hạ tầng cơ sở mật mã khoá công khai cho hệ thống đấu thầu qua mạng (Trang 50)

Có nhiều lược đồ chia sẻ khoá bí mật được ứng dụng, tuy nhiên, lược đồ được trình bày dưới đây được ưa thích hơn cả.

Giả sử có n thực thể A0, A1, ..., An-1 với n > 0. Một người được uỷ quyền giả sử là A cho n thực thể như trên, A biết được toàn bộ bí mật S  N. Mỗi Aj chỉ nắm được một phần bí mật của N, không một nhóm k (k ≤ n-1) thực thể nào có thể tìm được bí mật của S nhưng nếu cả n thực thể hợp lại thì bí mật S được xác định hoàn toàn. Bài toán đó được giải quyết như sau:

1. A chọn ngẫu nhiên một số nguyên tố p đủ lớn sao cho n << p1/2 và lấy một số ngẫu nhiên bí mật S  Zp

2. A chọn 2n – 1 số ngẫu nhiên a1, a2, ..., an-1 và v0, v1, ..., vn-1 sao cho vi ≠ vj với mọi i ≠ j.

3. A lập đa thức f(x) = an-1xn-1 + ... + a1x + S (mod p) sau đó gửi cho mỗi Aj cặp số (vj, f(vj)). Chú ý rằng cặp số này thuộc không gian (Zp x Zp), cặp này được Aj giữ bí mật.

Để xác định được bí mật thì tất cả n thực thể hợp lực lại với nhau và đa thức để khôi phục S là:

g(x) = n-1

j=0 f(vj) 0≤i≠<n (vi - vj)-1 (vi - xi) mod p Thật vậy, ta có định lý sau đây:

Định lý: Cả n thực thể mới xác định được bí mật S = g(0) = f(0)

Chứng minh: Thật vậy, ta thấy ngay rằng g(x) chính là hàm nội suy Lagrange của hàm f(x) tại các giá trị (vj, f(vj)) (j = 0, 1, ..., n-1) với cấp bé hơn n và thoả mãn điều kiện g(vj) = f (vj) với j = 0, 1, ..., n-1

Do đó hàm h = f – g là một đa thức trên Zp có cấp bé hơn n mà lại có ít nhất n nghiệm phân biệt và h(r) = 0 với mọi r  Zp suy ra f(a) = g(a) với mọi a  Zp suy ra f(0) = g(0) = S

Một phần của tài liệu Nghiên cứu ứng dụng hạ tầng cơ sở mật mã khoá công khai cho hệ thống đấu thầu qua mạng (Trang 50)