- Lược đồ ký gồm bộ 5 phần tử: (P, A, K, S, V) trong đó: + P: là tập hữu hạn các thông báo. + A: là tập hữu hạn các chữ ký có thể. + K: là tập hữu hạn các khóa, không gian khóa
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
- o0o
-ĐỒ ÁN TỐT NGHIỆP
Đề tài
SƠ ĐỒ CHIA SẺ BÍ MẬT DỰA TRÊN KHÔNG GIAN VECTƠ BRICKELL
Giáo viên hướng dẫn: TS.Lê Phê Đô
Sinh viên thực hiện: Trần Trung Hiếu
Trang 2NỘI DUNG KHÓA LUẬN
CHƯƠNG 1: CÁC HỆ MẬT MÃ
CHƯƠNG 2: CHỮ KÝ ĐIỆN TỬ
CHƯƠNG 3: SƠ ĐỒ CHIA SẺ BÍ MẬT
Trang 4Bản tin mật mã Kênh công cộng
Bản tin gốc
Bộ mã hoá
Bộ giải mã
Sơ đồ một hệ truyền tin trong mã hóa cổ điển
Trang 5Bản tin gốc
Bộ lâp mã (public key)
Bộ giải mã (public key)
Sơ đồ một hệ truyền tin trong hệ mật mã khóa công khai
Trang 6+ K: là tập hữu hạn các khóa, không gian khóa.
với mỗi k K,có sigk S và verk V
Mỗi sigk : P → A và verk : P * A → {True, False}
Là những hàm ký và kiểm thử sao cho:
ver(x, y) = True, khi y = sig(x)
Ngược lại: ver(x, y) = False, khi y ≠ sig(x)
- Với mỗi k K, các hàm sigk và verk là các hàm thời gian đa thức
- ver là hàm công khai, sig là hàm bí mật
Trang 7a và b là hai số thuộc Z n* thoả mãn a.b ≡ 1(mod (n))
Các hàm sig k ’ và ver k ” được xác định như sau:
sig k ’ (x) = xa modn ,
ver k ” (x,y ) = đúng ↔ x ≡ yb (modn).
Trang 8 = (x - a)k-1 mod(p-1).
- Kiểm tra chữ ký:
verK’’(x(γ, δ)) = True βγ.γδ = αx (mod p)
Trang 9CHƯƠNG 3: SƠ ĐỒ CHIA SẺ BÍ MẬT
Định nghĩa :
Sơ đồ chia sẻ bí mật là một phương thức để chia sẻ một bí mật ra nhiều phần sau đó phân phối cho một tập hợp những người tham gia sao cho các tập con nào đó trong số những người này được chỉ định có khả năng khôi phục lại bí mật bằng cách kết hợp dữ liệu của họ Một sơ đồ chia sẻ
bí mật là hoàn hảo nếu bất kỳ một tập hợp những người tham gia mà không được chỉ định từ trước sẽ tuyệt đối không thu được thông tin gì về
bí mật.
Các thành phần của sơ đồ chia sẻ bí mật :
Dealer: người trực tiếp chia bí mật ra thành nhiều phần
Những người tham gia nhận dữ liệu từ Dealer ký hiệu P
Nhóm có khả năng khôi phục bí mật (ký hiệu ): Là tập con của P
Trang 10MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
Bí mật được chia ra thành nhiều phần một cách đơn giản, sau đó được phân phối cho nhiều người
xét một sơ đồ chia sẻ bí mật sơ khai trong đó bí mật là từ khóa “password”
Bí mật được chia ra làm 4 phần cho 4 người khác nhau
Một người nếu chỉ biết bí mật có 8 chữ cái sẽ phải đoán 268 khả năng
Một người biết một phần của bí mật sẽ phải đoán 266 khả năng
Trong sơ đồ bảo mật thì chỉ thiếu một phần thông tin cũng có thể đối mặt với
268 khả năng
Trang 11MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
Có một vài sơ đồ chia sẻ bí mật trong đó yêu cầu tất cả những người tham gia phải cùng nhau khôi phục lại bí mật
Mã hóa bí mật thành một số nguyên S Đưa cho mỗi người tham gia i một
số ngẫu nhiên ri (trừ một người)
Đưa cho người cuối cùng số (S-r1-r2-…-rn-1)
Bí mật là tổng của các số
Mã hóa bí mật bằng 1 byte S Đưa cho mỗi người tham gia i một byte bi
(trừ một người)
Đưa cho người cuối cùng byte (S XOR b1 XOR b2 …XOR bn-1)
Bí mật là b1 XOR b2 …XOR bn-1 XOR bn
Trang 12MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
(Threshold secret sharing schemes)
Mục tiêu của sơ đồ dạng này là chia một ít dữ liệu D ra thành nhiều phần D1 ,
D2,…, Dn sao cho :
Nếu biết k hoặc nhiều hơn các phần Di có thể dễ dàng suy ngược lại D
Nếu biết k-1 hoặc ít hơn các phần Di không thể suy ngược lại D
Sơ đồ này được gọi là sơ đồ ngưỡng giới hạn (k,n) Nếu k = n thì tất cả mọi thành viên phải cùng nhau mới có thể suy ngược lại bí mật
Dưới đây là 2 sơ đồ bí mật dạng (k,n):
Sơ đồ chia sẻ bí mật Blakley
Sơ đồ chia sẻ bí mật Shamir
Trang 13SƠ ĐỒ CHIA SẺ BÍ MẬT BLAKLEY
Trang 14SƠ ĐỒ CHIA SẺ BÍ MẬT BLAKLEY
Thông tin của mỗi người tham gia là một mặt phẳng và bí mật chính là một đơn
tọa độ của giao điểm của 3 mặt phẳng đó.(ví dụ tọa độ x của giao điểm)
Thông tin của 2 người không đủ để chỉ ra được bí mật mặc dù chúng đã thu hẹp được phạm vi của bí mật là 1 điểm nằm trên giao tuyến của 2 mặt phẳng đã biết
Bí mât được tính toán bằng cách tìm giao điểm của 3 mặt phẳng
Trang 15SƠ ĐỒ CHIA SẺ BÍ MẬT SHAMIR
Ý tưởng của sơ đồ chia sẻ bí mật Shamir dựa trên tính chất:
- Hai điểm có thể định nghĩa một đường thẳng
- Ba điểm có thể định nghĩa một parabol
- Bốn điểm có thể định nghĩa một hình lập phương
- Tổng quát cần n+1 điểm để định nghĩa một đa thức bậc nGiả sử chúng ta muốn sử dụng sơ đồ (k,n) để chia sẻ bí mật S với k < n
Chọn ngẫu nhiên (k-1) hệ số a1,…,ak-1 và đặt a0 =S
Trang 16SƠ ĐỒ CHIA SẺ BÍ MẬT SHAMIR
Ví dụ:
Bước 1: Chia sẻ bí mật
Giả sử bí mật là một số: 1234
Chia bí mật thành 6 phần,chúng ta muốn 3 phần bất kỳ trong đó có thể cùng nhau
suy ngược lại bí mật
Lấy 2 số ngẫu nhiên 166,94 (a1=166;a2=94).
Trang 17SƠ ĐỒ CHIA SẺ BÍ MẬT SHAMIR
Bước 2: Khôi phục bí mật
Chúng ta hãy coi (x0,y0)=(2,1942); (x1,y1)=(4,3402); (x2,y2)=(5,4414) Chúng ta sẽ tính toán hệ số Lagrange
Do đó :
Trang 18SƠ ĐỒ CHIA SẺ BÍ MẬT DỰA TRÊN KHÔNG GIAN VECTƠ BRICKELL
Bí mật là 1 phần tử trong trong trường giới hạn GF(q)
Người phân phối chọn một vectơ a = (a0 ,…, at ) với t bất kỳ, mà aj GF(q) và a0 là
bí mật Đánh dấu những người tham gia bằng Pi với 1 ≤ i ≤ n
Với mỗi Pi, người phân phối sẽ lấy 1 vectơ đơn vị vi trên GF(q)
Tất cả các vectơ vi , 1 ≤ i ≤ n sẽ được công khai Phần chia mà nguời phân phối đưa
cho Pi sẽ là si = vi a
Ký hiệu ei là vectơ đơn vị t chiều thứ i (ví du e1=(1,0,…,0))
Định lý 1: Đặt γ = (Pi1 ,…,Pik ) là tập những người tham gia
(1)Những người tham gia trong γ có thể chỉ ra được bí mật nếu tập
‹ vi1 ,…,vik › chứa e1
(2)Những người tham gia trong γ không nhận được một ít
thông tin nào về bí mật nếu tập ‹ vi1,…,vik › không chứa e1
Trang 19SƠ ĐỒ CHIA SẺ BÍ MẬT ĐA CẤP
Đặt Γ là một cấu trúc truy cập đa mức với các mức l1< l2 <…< lR Đặt Nr là
số người tham gia ở mức lr Đánh dấu những người tham gia bằng Pi
với 1 ≤ i ≤ n và đặt Li là cấp của Pi
Chúng ta sẽ sử dụng sơ đồ chia sẻ bí mật cơ bản Vì thế chúng ta chỉ cần chỉ
ra Dealer sẽ chọn các vectơ vi như thế nào
Với mỗi Pi, Dealer sẽ lấy một xi GF(q) Đặt vi là vectơ lR hướng
j i
Trang 20SƠ ĐỒ CHIA SẺ BÍ MẬT ĐA MỨC
Định lý 1: Đặt Γ là một cấu trúc đa truy cập với các mức l1 < l2 <…< lR Đặt Lr
là số những người tham gia có cùng cấp lr
Gọi n là tổng số người tham gia
Nếu q >
Khi đó có một sơ đồ chia sẻ bí mật hoàn hảo với Γ trên GF(q)
Định lý 2: Đặt Γ là cấu trúc truy cập đa mức với các mức
1= l0< l1 <…< lR Lấy q là một số nguyên tố thỏa mãn q > Nr + 1
Trang 21SƠ ĐỒ CHIA SẺ BÍ MẬT RIÊNG PHẦN
Trong sơ đồ chia sẻ bí mật riêng phần, tập hợp những người tham gia được chia
ra thành những phần riêng biệt
Bí mật chỉ có thể được khôi phục lại nếu số lượng những người tham gia trong
mỗi phần phải lớn hơn ngưỡng giới hạn của mỗi phần và tổng số những người tham gia phải lớn hơn ngưỡng giới hạn toàn cục Cấu trúc truy cập bao gồm các tập con của những người tham gia chứa ít nhất ti người trong Ci với i=1,…,u và tổng số ít nhất t người tham gia Đặt n là tổng số những người tham gia
Định lý 3: Đặt Γ là cấu trúc truy cập riêng phần
(compartmented access structure)
Nếu
khi đó có một sơ đồ chia sẻ bí mật với Γ trên GF(q)
t n
q
Trang 22VẤN ĐỀ CHỐNG GIAN LẬN TRONG SƠ ĐỒ CHIA SẺ BÍ MẬT
Như ta đã biết, mọi sơ đồ chia sẻ bí mật đêu tồn tại ít nhất 2 giao thức Đó là:
(1) Giao thức Phân phối: Bí mật được Dealer phân phối tới tập những người
tham gia
(2) Giao thức khôi phục dữ liệu: Trong đó bí mật được khôi phục lại bằng cách
gộp thông tin của những người tham gia nằm trong một tập hợp được chỉ định trước
Các sơ đồ cơ bản giải quyết những vấn đề đó trong trường hợp tất cả những người tham gia trong sơ đồ là trung thực.Trong trường hợp một hoặc nhiều
người trong sơ đồ không trung thực thì sơ đồ không còn tác dụng nữa.Để giải quyết vấn đề này chúng ta sử dụng sơ đồ có xác minh
Sơ đồ chia sẻ bí mật có xác minh (VSS),sẽ kiểm tra các gian lận bao gồm:
1) Dealer gửi thông tin sai đến cho 1 hoặc nhiều người trong sơ đồ
2) Người tham gia cung cấp sai thông tin trong thủ tục khôi phục bí mật
Trang 23VẤN ĐỀ CHỐNG GIAN LẬN TRONG SƠ ĐỒ CHIA SẺ BÍ MẬT
Sơ đồ chia sẻ bí mật xác minh công khai, không giao tiếp (PVSS)
Nét đặc trưng của sơ đồ này là không có kênh truyền riêng giữa Dealer và
những người tham gia.Tất cả các quá trình truyền tin đều qua các kênh công cộng (đã được ủy thác) sử dụng mã hóa khóa công khai
Các thủ tục trong PVSS:
Chú ý trong quá trình khởi tạo, không có sự giao tiếp giữa Dealer và người tham gia Người tham gia có thể rời bỏ hoặc một người khác có thể tham gia vào sơ đồ một cách tự động.Yêu cầu duy nhất là mỗi người tham gia giữ một khóa công khai đã được đăng ký
Quá trình khởi tạo: mỗi người tham gia Pi sẽ đăng ký một khóa công khai được dùng trong thủ tục mã hõa Ei
Trang 24VẤN ĐỀ CHỐNG GIAN LẬN TRONG SƠ ĐỒ CHIA SẺ BÍ MẬT
Giao thức phân phối bí mật : Giao thức này có 2 bước:
Phân phối các phần bí mật:
Với mỗi người tham gia Pi, Dealer sẽ công bố phần chia đã được mã hóa Ei(si).Dealer đồng thời cũng công bố một chuỗi PROOFD để chỉ ra rằng mỗi Ei mã hóa một phần chia si
Xác minh các phần chia:
Bất kỳ bên nào biết được các khóa công khai của phương thức mã hóa Ei có thể xác minh các phần chia.Với mỗi người tham gia Pi,một thuật toán xác
minh không cần giao tiếp có thể được chay trên PROOFD để xác minh rằng
Ei(si) là một mã hóa đúng của phần chia của người Pi
Trang 25VẤN ĐỀ CHỐNG GIAN LẬN TRONG SƠ ĐỒ CHIA SẺ BÍ MẬT
Giao thức khôi phục lại bí mật: Cũng bao gồm 2 bước
Giải mã các phần chia: Những người tham gia giải mã các phần chia của họ từ
Ei(si) Những người tham gia sẽ thu được si cùng với chuỗi PROOFPi chỉ ra rằng phần chia của bí mật là đúng
Kết hợp các phần chia: Chuỗi PROOFPi được sử dụng để lọai trừ những người tham gia không trung thực hoặc bị lỗi khi giải mã phần chia của họ.Việc khôi phục lại bí mật có thể hoàn tất bằng các phần chia của bất kỳ tập nào đã được chỉ định từ trước là có khả năng khôi phục bí mật
Chúng ta đã đưa thêm yêu cầu cho thủ tục khôi phục bí mật Đó là những
người tham gia phải cung cấp bằng chứng về sự chính xác của quá trình giải
mã thông tin phần chia của họ Bất cứ người nào cũng có thể xác minh sự
chính xác của các phần chia và gộp chúng lại để tạo ra bí mật
Trang 26SƠ ĐỒ CHIA SẺ BÍ MẬT ĐỒNG CẤU
Chia sẻ bí mật đồng cấu đề cập tới việc kết hợp các phần chia của các bí mật độc lập sao cho quá trình khôi phục từ các phần chia được kết hợp này trả về một bí mật được kết hợp Trong trường hợp của PVSS, có một toán tử trên các phần chia và một toán tử trên các phần chia đã được mã hóa sao cho với tất cả những người tham gia :
Trang 27BỎ PHIẾU ĐIỆN TỬ
Một cuộc bỏ phiếu sẽ gồm 2 giai đoạn
Trong giai đoạn thứ nhất, những người bỏ phiếu sẽ tham gia bỏ phiếu kín trong
đó chứa những lá phiếu theo một định chuẩn đã được mã hóa
Trong giai đoạn thứ hai những người kiểm phiếu sẽ sử dụng khóa bí mật của họ
để cùng nhau tính toán kết quả cuối cùng cho những lá phiếu hợp lệ
Về mặt kỹ thuật, mỗi cử tri sẽ đóng vai trò là 1 Dealer trong sơ đồ PVSS, trong khi mỗi người kiểm phiếu sẽ đóng vai trò một người tham gia Quá trình khởi tạo PVSS được chạy, và chúng ta giả sử rằng mỗi người kiểm phiếu đã đăng ký một khóa công khai yi
Trang 28BỎ PHIẾU ĐIỆN TỬ
Giao thức bỏ phiếu
Một người cử tri sẽ bỏ phiếu v {0,1} mà không để lộ giá trị của v bằng cách sử
dụng thủ tục phân phối cho PVSS, sử dụng một giá trị bí mật ngẫu nhiên
và tính toán giá trị U= Gs+v Ngoài ra cử tri sẽ xây dựng một bằng chứng
PROOFU chỉ ra rằng mà không để lộ bất kỳ thông tin về v PROOFU
ám chỉ giá trị C0 =gs được công bố như một phần của thủ tục phân phối trong PVSS và chỉ ra:
logG U =logg C0 logG U =1+ logg C0
Phiếu bầu cho cử tri V bao gồm đầu ra trong thủ tục phân phối của PVSS, giá trị
U và PROOFU
Do khả năng xác minh công khai của sơ đồ PVSS và PROOFU , phiếu bầu có thể được kiểm tra bởi bảng tin (bulletin board) khi mà cử tri đưa ra lựa chọn của họ Không có một sự dính dáng nào của người kiểm phiếu trong quá trình này
Trang 29BỎ PHIẾU ĐIỆN TỬ
Giao thức kiểm phiếu
Giả sử các cử tri Vj ,j=1, ,m có các lá phiếu hợp lệ Giao thức kiểm phiếu sử dụng giao thức khôi phục bí mật của sơ đồ PVSS đặc biệt, ngoại trừ đầu tiên chúng ta phải khai thác thuộc tính đồng cấu của nó Chúng ta đầu tiên phải gom tất cả các phần chia đã mã hóa tương ứng của từng người, đó là chúng ta sẽ tính giá trị Yi* :
Trang 30KẾT LUẬN
Khóa luận đã đi sâu tìm hiểu các kiến thức của mật mã học cũng như các sơ đồ chia sẻ bí mật Do giới hạn về thời gian cũng như khả năng của tác giả nên không thể tránh khỏi những thiếu sót Em rất mong sẽ nhận được những ý kiến xây dựng của quý thầy cô cũng như các bạn.
Em xin chân thành cảm ơn TS Lê Phê Đô đã tận tình giúp đỡ em trong quá trình thực tập cũng như thời gian làm khóa luận.
Từ kết quả của đồ án, hướng phát triển tiếp theo là xây dựng một quy trình bỏ phiếu điện tử trong một pham vi nhỏ cho phép các thành viên trong một tổ chức có thể bỏ phiếu lấy ý kiến từ xa bằng cách sử dụng máy tính các nhân Sau đó nghiên cứu cách triển khai sơ đồ chia sẻ bí mật này trên điện thoại di dộng giúp việc bỏ phiếu đơn giản và tiện lợi