Cấu trúc mạch đơn điệu

Một phần của tài liệu Nghiên cứu vấn đề chia sẻ bí mật và ứng dụng trong bỏ phiếu điện tử (Trang 55 - 62)

Một số ký hiệu:

 Ґ là tập các tập con của P mà các tập con trong Ґ là các tập con các thành viên có khả năng tính khoá.

 Ґ gọi là một cấu trúc truy nhập và các tập con trong Ґ đƣợc gọi là các tập con hợp thức.

Một sơ đồ chia sẻ bí mật là hoàn thiện nếu:

 Nếu một tập con hợp thức các thành viên BP góp chung các mảnh của họ thì họ có thể xác định đƣợc giá trị của K.

 Nếu một tập con không hợp thức các thành viên B P góp chung các mảnh của họ thì không thể xác định giá trị khoá K.

Giả sử Ґ0 là cơ sở của Ґ. Khi đó ta xây dựng công thức Boolean dạng tuyển chuẩn sau:  BҐ0 (  PiB Pi)

Ví dụ:

Nếu có một tập gồm các thành viên {P1, P2, P3, P4}trong đó: Ґ0 = {{P1, P2, P4}, {P1, P3, P4}, {P2, P3}}.

Khi đó ta sẽ thu đƣợc công thức Boolean sau: (P1P2 P4 ) (P1 P3 P4)(P2 P3)

Mỗi mệnh đề trong công thức Boolean ứng với một cổng “và” của mạch đơn điệu tƣơng ứng, phép tuyển cuối cùng ứng với cổng “hoặc”.

Thuật toán giúp cho D (ngƣời phân chia khoá) xây dựng sơ đồ chia sẻ bí mật hoàn thiện thực hiện Ґ nhƣ sau:

Thuật toán thực hiện phép gán một gia trị f(W)K cho mỗi dây W trong mạch. Thoạt đầu, dây ra Wout của mạch sẽ đƣợc gán giá trị khoá K. Thuật toán sẽ lặp lại một số lần cho đến khi mỗi dây có một giá trị gán vào nó. Cuối cùng, mỗi thành viên Pi sẽ đƣợc cho một danh sách các giá trị f(W) sao cho W là một dây vào của mạch có đầu vào xi .

Cấu trúc mạch đơn điệu

1. f(Wout) = K.

2. While tồn tại một dây W sao cho f(W) không đƣợc xác định do

3. Tìm một cổng G của C sao cho f(WG) đƣợc xác định, trong đó WG

là dây ra của G nhƣng f(W) không đƣợc xác định với bất kỳ dây nào của G.

4. if G là một cổng “hoặc” then

5. f(W) = f(WG) với mỗi dây vào W của G

6. else (G là một cổng “và”)

7. Cho các dây vào của G là W1, …, Wt

8. Chọn độc lập và ngẫu nhiên t-1 phần tử của Zm và ký hiệu chúng là: yG,1, …, yG,t-1. 9. Tính: yG,t = f(WG) -   1 1 t i yG,t-1 mod m. 10. for 1≤ i ≤ w do f(Wi) = yG,i Ví dụ một mạch đơn điệu

Hình 2.1: Phân chia khóa dựa vào mạch đơn điệu

    X1 X2 X3 X4 K a1 a2 K-a1-a2 b1 b2 K-b1-a2 c1 K-c1 K K K K

Căn cứ vào mạch đơn điệu trên ta có: 1. P1 nhận a1, b1

2. P2 nhận a2, c1 3. P3 nhận b2, K-c1

4. P4 nhận K-a1-a2, K-b1-b2

Nhƣ vậy, mỗi thành viên nhận 2 phần tử trong Zp làm mảnh của mình. Ta đi chứng minh sơ đồ trên là hoàn thiện.

Trƣớc hết ta thấy mỗi tập cơ sở có thể tính đƣợc K.

Tập con hợp thức {P1, P2, P4}có thể tính K = a1+a2+(K-a1-a2) mod m {P1, P3, P4} có thể tính K = b1+b2+(K-b1-b2) mod m {P2, P3} có thể tính K = c1+(K-c1) mod m

Nhƣ vậy, mọi tập con hợp thức đều có thể tính đƣợc K.

Với các tập con không hợp thức: ta kiểm tra các tập con không hợp thức tối đa: {P1, P2}, {P1, P3},{P1, P4}{P2, P4}{P3, P4}

Dễ dàng thấy rằng, trong mỗi trƣờng hợp K không thể tính đƣợc.

Có thể biến đổi công thức Boolean về dạng hội chuẩn để nhận đƣợc một sơ đồ khác thể hiện cùng một cấu trúc truy nhập bằng cách sử dụng một mạch khác.

Tốc độ thông tin

Bất kỳ một cấu trúc truy nhập đơn điệu nào đều có thể thực hiện đƣợc bằng một sơ đồ chia sẻ bí mật hoàn thiện. Bây giờ ta xét hiệu quả của các sơ đồ nhận đƣợc. Trong trƣờng hợp sơ đồ ngƣỡng (t,w), ta có thể xây dựng một mạch ứng với công thức Boolean dạng tuyển chuẩn có Ct

w cổng. Mảnh của mỗi thành viên sẽ là Cw-1

t-1 phần tử trong Zm. Ví dụ, với sơ đồ ngƣỡng (t,w) = (2,3) thì:

- Số cổng 1 + C2 3 = 4

- Mảnh cuả mỗi thành viên C1 2 = 2

Hình 2.2: Mạch đơn điệu thể hiện cấu trúc truy nhập

Dùng cấu trúc mạch đơn điệu rất kém hiệu quả vì sơ đồ ngƣỡng Sharmir (t,w) cho phép cung cấp khoá chia sẻ mà mỗi thành viên chỉ phải giữ 1 mảnh thông tin.

Giả sử ta có một sơ đồ chia sẻ bí mật hoàn thiện thể hiện cấu trúc truy nhập Ґ. Tốc độ thông tin đối với Pi là tỷ số:

ρi = log2|S(Pi)| | | 2 log K trong đó S(Pi) ký hiệu tập các mảnh có thể mà Pi có thể nhận đƣợc. Khi đó tốc độ thông tin (ký hiệu ρ) đƣợc xác định bằng :

ρ =min{ρi :1≤ i ≤ wi}

Định lý

Cho C là một mạch Boolean bất kỳ. Khi đó tồn tại một sơ đồ chia sẻ bí mật hoàn thiện thể hiện cấu trúc truy nhập Ґ(C) có tốc độ thông tin: ρ = max{1/ri :1≤ i ≤ w} trong đó ri ký hiệu số dây vào mang đầu vào xi.

    X1 X2 X3 K K K K

Với các cấu trúc truy nhập ngƣỡng, ta thấy rằng sơ đồ ngƣỡng Sharmir có tốc độ thông tin bằng 1 (đó là giá trị tối ƣu). Trong khi đó, sơ đồ ngƣỡng (t,w) dùng mạch Boolean dạng tuyển chuẩn chỉ có tốc độ thông tin là

) 1 / 1 ( 1   t w

Kết luận: với các sơ đồ ngƣỡng (w,t) thì dùng sơ đồ ngƣỡng Sharmir là đạt hiệu quả cao nhất, nhƣng với các sơ đồ chia sẻ bí mật tổng quát thì phƣơng pháp dùng cấu trúc mạch đơn điệu là dễ thực hiện và nếu có sự biến đổi thích hợp thì cũng đạt đƣợc hiệu quả tốt.

Cải thiện tốc độ thông tin của các mạch đơn điệu

Nếu có một tập gồm các thành viên {P1, P2, P3, P4}trong đó: Ґ0 = {{P1, P2}, {P2, P3}, {P2, P4}, {P3, P4}}.

Nếu xây dựng công thức Boolean dạng tuyển chuẩn nhƣ sau: (P1 P2) (P2 P3) (P2 P4) (P3 P4) (*) thì tốc độ thông tin đƣợc xác định: Ta biết: ρi = log2|S(Pi)| | | 2 log K  ρ = log2 k 2 log m m

= k trong đó k là số mảnh tối đa mà Pi có thể nhận đƣợc .

Theo công thức Boolean trên ta có: ρ = 1/3 Mạch đơn điệu tƣơng ứng là:

Hình 2.3: Cấu trúc mạch đơn điệu có tốc độ thông tin ρ = 1/3

Căn cứ vào mạch đơn điệu trên ta có: 1. P1 nhận a1

2. P2 nhận K-a1 , b1, c1 3. P3 nhận K-b1, d1 4. P4 nhận K-c1, K-d1

Nhƣ vậy, mỗi thành viên 2 nhận 3 phần tử trong Zp làm mảnh của mình. Đây là số mảnh tối đa nên ρ = 1/3.

Ta có thể xây dựng một mạch đơn điệu khác cũng thể hiện cấu trúc truy nhập trên nhƣng có tốc độ thông tin cao hơn (ρ = 1/2) bằng cách biển đổi công thức (*) về dạng hội chuẩn:

Theo yêu cầu ρ = 1/2  k = 2.

Điều đó có nghĩa là ta phải xây dựng mạch đơn điệu mà các đầu vào xi chỉ có thể nhận tối đa 2 giá trị.

Ta xây dựng công thức Boolean sau:

(*) (P1 P2) [P2 (P3P4)] (P3 P4) (**) Mạch đơn điệu tƣơng ứng với (**) là:

    X1 X2 X3 X4 K a1 K-a1 b1 K-d1 d1 K-b1 c1 K-c1 K K K K  K

Hình 2.4: Cấu trúc mạch đơn điệu có tốc độ thông tin ρ = 1/2

Căn cứ vào mạch đơn điệu trên ta có: 1. P1 nhận a1

2. P2 nhận K-a1 , b1 3. P3 nhận K-b1, c1 4. P4 nhận K-b1, K-c1

Nhƣ vậy, mỗi thành viên nhận tối đa 2 phần tử trong Zp làm mảnh của mình. Đây là số mảnh tối đa nên ρ = 1/2.

Sơ đồ lý tưởng

Các sơ đồ chia sẻ bí mật có tốc độ thông tin bằng 1 đƣợc gọi là các sơ đồ lý tƣởng. Sơ đồ ngƣỡng Shamir là một ví dụ về sơ đồ chia sẻ bí mật lý tƣởng. Không tồn tại sơ đồ lý tƣởng cho các cấu trúc truy nhập bất kỳ.

   X1 X2 X3 X4 K a1 a2 K-a1 c1 K-c1 K K K K  K-b1 b1 K-b1 K-b1 

Một phần của tài liệu Nghiên cứu vấn đề chia sẻ bí mật và ứng dụng trong bỏ phiếu điện tử (Trang 55 - 62)

Tải bản đầy đủ (PDF)

(78 trang)