Chương trình chia sẻ khóa bí mật

Xem: 1043    Tải: 0   Thảo luận: 0   Mục: Visual studio & .NET   Lĩnh vực: Khác

9 điểm   ( 6 đánh giá ) File đã được kiểm thử


 
 

Bài toán

Chia khoá bí mật  K trong Zp thành t mảnh, phân cho mỗi người  giữ  1 mảnh,  t ≤  m.  t thành viên “khớp t mảnh”  sẽ nhận được  K.

1. Chia sẻ khoá bí mật K

Khởi tạo:         Chọn số nguyên tố   p.

1/. D chọn m phần tử xi  khác nhau, ≠ 0  trong Zp,

1≤ i ≤m (m < p, xi khác nhau, ≠ 0  trong Zp ). D trao xi cho thành viên Pi . Giá trị xi là công khai.

Phân phối mảnh khoá K Î Zp

2/. D chọn bí mật (ngẫu nhiên, độc lập) t-1 phần tử ÎZp là a1, …, at-1.

3/. Với 1≤i≤m, D tính: yi = P(xi), P(x) = K + ∑j=1 t -1   aj  xj mod p

4/. Với 1≤i≤m, D sẽ trao mảnh yi cho Pi .

2. Khôi phục khóa K từ t thành viên

Phương pháp: Giải hệ phương trình tuyến tính t ẩn, t phương trình

Vì P(x) có bậc lớn nhất là (t-1) nên ta có thể viết:

P(x) = K + a1 x 1 + a2 x 2 +…+ at-1 x t-1

Các hệ số K, a1,…,at-1 là các phần tử chưa biết của Zp, a0= K là khoá. Vì      yij  = P (xi j ), nên có thể thu được t phương trình tuyến tính t ẩn a0, a1,…,at-1, Nếu các phương trình độc lập tuyến tính thì sẽ có một nghiệm duy nhất và ta được giá trị khoá a0 = K.

Chú ý: các phép tính số học đều thực hiện trên Zp.

Chia sẻ khóa :

 

Khôi Phục khóa :

  

Chương trình chia sẻ khóa bí mật

Chương trình chia sẻ khóa bí mật Đăng ngày 26-03-2014  Chia khoá bí mật K trong Zp thành t mảnh, phân cho mỗi người giữ 1 mảnh, t ≤ m. t thành viên “khớp t mảnh” sẽ nhận được K. 1.5/10 1043

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 

File tải nhiều nhất

Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;
logo megacode

Megacode đã đăng ký với Bộ Công Thương
Thư viện mã nguồn mở lớn nhất Việt Nam.



Hỗ trợ khách hàng trên Megacode
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+84) 246. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn