Tải bản đầy đủ (.pdf) (29 trang)

Bài báo cáo: Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (811.59 KB, 29 trang )






Bài báo cáo

Sơ đồ chia sẻ bí mật
dựa trên không gian
vectơ Brickell













Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 1 Lớp CT 702
LỜI GIỚI THIỆU

1. Bỏ phiếu điện tử - thực trạng

Trong suốt nhiều thế kỷ gần đây trong lịch sử thế giới, các cuộc bầu cử đã giữ một vai trò


quan trọng trong việc xác lập các thể chế chính trị của các quốc gia từ lớn đến nhỏ. Trong
thế giới hiện đại, việc bỏ phiếu bầu quốc hội (ở Anh, Mỹ là Hạ Nghị Viện, ở Nga là
Duma quốc gia ) là một trong số những sự kiện quan trọng nhất của đất nước. từ những
năm 1990, khi internet bùng nổ, một câu hỏi đã được quan tâm là: liệu một ngày nào đó,
có thể thực hiện việc bỏ phiếu qua internet? Nhiều nước ở châu Âu đã chuẩn bị nghiên
cứu với nhiều dự án cùng nhiều chiến lược khác nhau, dưới nhiều góc độ: Kỹ thuật, Luật,
Chính sách, Xã hội. Ngoài ra, bỏ phiếu điện tử cũng được nghiên cứu ở các nước khác
như Mỹ, Braxin, Mêhicô, Nga, Ấn Độ.
Người ta đã bỏ ra rất nhiều công sức vào việc cải tiến các phương thức bầu cử, khiến cho
các cuộc bầu cử ngày càng trở lên tốt hơn. Các phương thức này được thay đổi theo từng
thời kỳ, theo sự tiến bộ của xã hội. Trong xu thế thực hiện “chính phủ điện tử” thì việc số
hóa cuộc bầu cử để thay thế cho phương thức truyền thống là điều sẽ phải diễn ra trong
tương lai gần.
Trong các ứng dụng an toàn thông tin, thì bỏ phiếu điện tử (E-Voting) là ứng dụng đòi hỏi
tính bảo mật cao nhất. Vì chính sự thành công hay thất bại của nó có ảnh hưởng nhiều
nhất đến bộ mặt chính trị, xã hội của tổ chức, quốc gia đó.

2. Bỏ phiếu điện tử và sơ đồ chia sẻ bí mật

Sơ đồ chia sẻ bí mật không phải là một lĩnh vực mới mẻ của an toàn bảo mật thông tin,
nhưng hứa hẹn sẽ mang đến nhứng ứng dụng rộng khắp, quan trọng nhất là ứng dụng bỏ
phiếu điện tử.
Sơ đồ chia sẻ bí mật chính là phương thức dùng đề chia một bí mật ra làm nhiều phần
riêng biệt sau đó phân phối tới những người tham gia. Trong đó chỉ những người được chỉ
định trước mới có khả năng khôi phục bí mật bằng cách gộp những phần thông tin của họ,
những người không được chỉ định sẽ không thu được bất kỳ thông tin gì về bí mật.






Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 2 Lớp CT 702
CHƢƠNG 1

KIẾN THỨC CƠ BẢN

1.1. Cơ sở toán học
1.1.1.Ước số - Bội số
1.1.2.Số nguyên tố
1.1.3.Phép chia hết và không chia hết
1.1.4.Phi Euler
1.1.5.Đồng dư
1.1.6.Số nghịch đảo
1.1.7.Thặng dư bậc hai
1.1.8.Nhóm
1.1.9.Nhóm nhân
1.1.10.Nhóm Cylic
1.1.11.Không gian vectơ
1.1.1.12.Trường hữu hạn
1.1.1.13.Các thuật toán trong trường hữu hạn
1.1.1.14.Độ phức tạp của thuật toán
1.2. Các hệ mật mã















Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 3 Lớp CT 702
Sơ đồ khối một hệ truyền tin mật















Định nghĩa : Một hệ mật mã là một bộ năm (P, C, K, E, D) trong đó :
 P là tập hữu hạn các bản rõ (có thể có)
 C là tập hữu hạn các bản mã (có thể có)

 K là tập hữu hạn các khóa
 Với mỗi k

K, có một hàm lập mã e
k


E:
e
k
: P → C
và một hàm giải mã dk

D:
d
k
: C → P sao cho d
k
(e
k
(x)) = x với mọi x

P

1.2.1.Mã cổ điển

B
A
Bản tin mật mã
Kênh công cộng

Kênh an toàn
Bản tin gốc
Bộ mã
hoá
Bộ giải

Hinh 1.1 Sơ đồ truyền tin trong hệ mật
khoá đối xứng

Nguồn tin
Bộ mã hóa
Kênh mở
(không an toàn)
Bộ giải mã
Nhận tin
Thám mã
Kênh an toàn
Nguồn khóa
Bản rõ
Bản mã
Bản mã
K
D
K
E
B
A
Bản rõ
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell


Sinh viên thực hiện: Trần Trung Hiếu 4 Lớp CT 702
Hệ mã cổ điển (hệ mã đối xứng) là hệ mật mã mà khóa mã hóa có thể dễ dàng tìm
được từ khóa giải mã và ngược lại. Trong nhiều trường hợp, khóa mã hóa và khóa giải mã
là giống nhau.
Hệ mật mã cổ điển yêu cầu người gửi và người nhận phải thỏa thuận một mã trước khi
tin tức được gửi đi, khóa này phải được cất giữ bí mật. Độ an toàn của hệ này phụ thuộc
vào khóa. Nếu để lộ khóa, thì bất kỳ người nào cũng có thể mã hóa và giải mã thông điệp
đó.
Ƣu điểm:
- Thủ tục mã hóa và giải mã đơn giản, dễ cài đặt.
- Tốc độ tính toán nhanh
Nhƣợc điểm:
- Độ an toàn không cao
- Yêu cầu một kênh truyền riêng để trao đổi khóa
Ứng dụng:
Do ưu điểm về tốc độ lập mã cũng như giải mã, Các hệ mã cổ điển thường được dùng
để mã hóa những dữ liệu có khối lượng thông tin lớn nhưng không quá quan trọng về mặt
đảm bảo bí mật.
1.2.1.1. Mã dịch chuyển
Định nghĩa : Mã dịch chuyển: (P, C, K, E, D)
P = C = K = Z
26
với k  K, định nghĩa e
k
(x) = (x + k) mod 26
d
k
(y) = (y – k) mod 26
(x, y  Z
26

)
1.2.1.2. Mã thay thế
Định nghĩa Mã thay thế: (P, C, K, E, D)
P = C = Z
26
, K = S (Z
26
) Với mỗi π є K, tức là một hoán vị trên Z
26
, ta xác định
e
π
(x) = π (x)
d
π
(y) = π
-1
(y)
với x, y є Z
26
, π
-1
là nghịch đảo của π
1.2.1.3. Mã Affine
Định nghĩa Mã Affine: (P, C, K, E, D)
P = C = Z
26
, K = { (a, b) є Z
26
x Z

26
: (a, 26) = 1 }
với mỗi k = (a, b) є K ta định nghĩa:
e
k
(x) = ax + b mod 26
d
k
(y) = a
-1
(y – b) mod 26 , trong đó x, y

Z
26
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 5 Lớp CT 702
1.2.1.4. Mã Vingenere
Định nghĩa Mã Vingenere: (P, C, K, E, D)
Cho m là số nguyên dương.
P = C = K = (Z
26
)
m
với mỗi khoá k = (k
1
, k
2
,…,k
m

)  K có:
e
k
(x
1
, x
2
,…, x
m
) = (x
1
+ k
1
, x
2
+ k
2
,…, x
m
+ k
m
)
d
k
(y
1
, y
2
,…, y
m

) = (y
1
– k
1
, y
2
– k
2
,…, y
m
– k
m
)
các phép cộng phép trừ đều lấy theo modulo 26
1.2.1.5. Mã Hill
Định nghĩa Mã Hill: (P, C, K, E, D)
Cho m là số nguyên dương.
P = C = (Z
26
)
m
K = { k  (Z
26
)
mxm
mxm :
 
26 det(k),
= 1 }
với mỗi k  K định nghĩa:

e
k
(x
1
, x
2
,…, x
m
) = (x
1
, x
2
,…, x
m
).k
d
k
(y
1
, y
2
,…, y
m
) = (y
1
, y
2
,…,y
m
).k

-1

1.2.1.6. Mã hoán vị
Định nghĩa Mã hoán vị: (P, C, K, E, D)
Cho m là số nguyên dương.
P = C = Z
26
, K = S
m

 
mk
xxxe ,,,
21
=
     
 
m
xxx

,,,
21

 
mk
yyyd ,,,
21
=
     
 

m
yyy
111
,,,
21



với mỗi k = π  S
m
, ta có
Trong đó π
-1
là hoán vị nghịch đảo của π







Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 6 Lớp CT 702
1.2.2. Mã hóa khóa công khai



Là loại mã hóa trong đó quá trình lập mã và giải mã dùng hai khóa khác nhau(một bí
mật và một công khai).

A muốn gửi một bản tin cho B, A sẽ dùng khóa công khai cua B để lập mã, sau đó gửi
bản mã cho B. B với khóa bí mật của mình có thể dẽ dàng giải mã bản tin mã hóa để thu
được bản tin gốc.
Ƣu điểm:
-Độ an toàn của các hệ mã này là rất cao
-Bản mã và khóa công khai có thể truyền trên kênh truyền chung
Nhƣợc Điểm:
-Tốc độ mã hóa và giải mã chậm
Ứng dụng
Sử dụng chủ yếu trên các mạng công khai như Internet, khi mà việc trao chuyển khóa
bí mật tương đối khó khăn. Ứng dụng để mã hóa những dữ liệu không quá lớn và yêu
cầu bí mật cao.

1.2.2.1. Mã RSA
Hệ mật này sử dụng tính toán trong Z
n
, trong đó n là tích của 2 số nguyên tố phân biệt
p và q. Ta thấy rằng (n) = (p – 1).(q – 1).
Định nghĩa
Cho n = p.q trong đó p và q là các số nguyên tố. Đặt P = C = Z
n
và định nghĩa:
K = {(n, p, q, a, b): n = p.q, p, q là các số nguyên tố, a.b  1 mod (n)}
Với K = (n, p, q, a, b) ta xác định: e
K
(x) = x
b
mod n
và d
K

(y) = y
a
mod n
(x, y  Z
n
) Các giá trị n và b được công khai và các giá trị p, q, a được giữ kín
1.2.2.2. Mã Elgamal
(1) Public key
(2) Bản mã
Kênh công cộng
Bản tin gốc
A
Bản tin gốc
Bộ lâp mã
(public key)
Bộ giải mã
(public key)
Hinh 1.2 Sơ đồ truyền tin trong hệ mật mã
khoá công khai
B
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 7 Lớp CT 702
Hệ mật mã ElGamal được T.ElGamal đề xuất năm 1985, dựa vào độ phức tạp của bài
toán tính lôgarit rời rạc, và sau đó đã nhanh chóng được sử dụng rộng rãi không những
trong vấn đề bảo mật truyền tin mà còn trong các vấn đề xác nhận và chữ ký điện tử.
Bài toán logarithm rời rạc trong Z
p
là đối tượng trong nhiều công trình nghiên cứu và
được xem là bài toán khó nếu p được chọn cẩn thận. Cụ thể là không có một thuật toán

thời gian đa thức nào cho bài toán logarithm rời rạc. Để gây khó khăn cho các phương
pháp tấn công đã biết, p phải có ít nhất 150 chữ số và (p – 1) phải có ít nhất một thừa số
nguyên tố lớn. Hệ mật Elgamal là một hệ mật không tất định vì bản mã phụ thuộc vào cả
bản rõ x lẫn giá trị ngẫu nhiên k do G chọn. Bởi vậy sẽ có nhiều bản mã được mã từ cùng
một bản rõ.
Bài toán logarithm rời rạc trong Z
p
:
Đặc trưng của bài toán: I = (p, , ) trong đó p là số nguyên tố,  
p
Z

phần tử nguyên thuỷ (hay phần tử sinh),  
*
p
Z

Mục tiêu: Hãy tìm một số nguyên duy nhất a, 0  a  p – 2 sao cho:

a
  (mod p)
Ta sẽ xác định số nguyên a bằng log

.
Định nghĩa mã hoá công khai Elgamal trong
*
p
Z
:
Cho p là số nguyên tố sao cho bài toán logarithm rời rạc trong

p
Z
là khó giải.
Cho  
*
p
Z
là phần tử nguyên thuỷ. Giả sử P =
*
p
Z
, C =
*
p
Z
x
*
p
Z
. Ta định
nghĩa: K = {(p, , a, ):   
a
(mod p)}
Các giá trị p, ,  được công khai, còn a giữ kín.
Với K =(p, , a, ) và một số ngẫu nhiên bí mật k 
1p
Z
, ta xác định:
e
K

(x, k) = (y
1
, y
2
).
Trong đó: y
1
= 
k
mod p
y
2
= x. 
k
mod p
với y
1
, y
2

*
p
Z
ta xác định:
d
K
(y
1
, y
2

) = y
2
(y
1
a
)
– 1
mod p






CHƢƠNG 2

Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 8 Lớp CT 702
CHỮ KÝ ĐIỆN TỬ

2.1. Chữ ký điện tử là gì ?
Về căn bản, khái niệm chữ ký điện tử (electronic signature) cũng giống như chữ viết
tay. Bạn dùng nó để xác nhận lời hứa hay cam kết của mình và sau đó không thể rút lại
được. Chữ ký điện tử không đòi hỏi phải sử dụng giấy mực, nó gắn đặc điểm nhận dạng
của người ký vào một bản cam kết nào đó,nó là đoạn dữ liệu ngắn đính kèm với văn bản
gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội
dung văn bản gốc.Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một
chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest) hay còn gọi là
fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để

gửi đi. khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại
fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số.
So sánh chữ ký thông thƣờng và chữ ký diện tử
Chữ ký thông thƣờng
Chữ ký điện tử
Vấn đề ký một tài liệu
Chữ ký chỉ là một phần vật lý của tài
liệu
Vấn đề ký một tài liệu
Chữ ký điện tử không gắn kiểu vật lý
vào bức thông điệp nên thuật toán được
dùng phải “không nhìn thấy” theo một
cách nào đó trên bức thông điệp
Vấn đề về kiểm tra
Chữ ký được kiểm tra bằng cách so
sánh nó với chữ ký xác thực khác. Tuy
nhiên, đây không phải là một phương
pháp an toàn vì nó dễ bị giả mạo.
Vấn đề về kiểm tra
Chữ ký điện tử có thể kiểm tra nhờ
dùng một thuật toán “kiểm tra công
khai”. Như vậy, bất kì ai cũng có thể
kiểm tra được chữ ký điện tử. Việc dùng
chữ ký điện tử an toàn có thể chặn được
giả mạo.
Bản copy thông điệp được ký bằng
chữ ký thông thường lại có thể khác với
bản gốc.
Bản copy thông điệp được ký bằng
chữ ký điện tử thì đồng nhất với bản

gốc, điều này có nghĩa là cần phải ngăn
chặn một bức thông điệp ký số không bị
dùng lại.
2.2.Định nghĩa về sơ đồ ký điện tử
Một sơ đồ chữ ký S là một bộ năm
S = (P , A , K , S , V)
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 9 Lớp CT 702
trong đó: P là một tập hữu hạn các thông báo có thể có,
A là một tập hữu hạn các chữ ký có thể có,
K là một tập hữu hạn các khoá, mỗi khoá K  K gồm có hai phần K=(K’,K''), K' là
khoá bí mật dành cho việc ký, còn K'' là khoá công khai dành cho việc kiểm thử chữ ký.
Với mỗi K =(K’,K''), trong S có một thuật toán ký sig
k’
: P → A, và trong V có một
thuật toán kiểm thử ver
k”
: PxA → {đúng,sai} thoả mãn điều kiện sau đây đối với mọi
thông báo x  P và mọi chữ ký y  A :
ver
k”
(x, y) = đúng ↔ y = sig
k’
(x )
Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khoá K =(K’,K''), công bố công khai
khoá K'' để mọi người có thể kiểm thử chữ ký của mình, và giữ bí mật khoá K’ để thực
hiện chữ ký trên các thông báo mà mình muốn gửi đi. Các hàm ver
k”
và sig

k’

(khi biết K’) phải tính được một cách dễ dàng (trong thời gian đa thức), tuy nhiên
hàm y = sig
k’
(x ) là khó tính được nếu không biết K’ - điều đó bảo đảm bí mật cho việc
ký, cũng tức là bảo đảm chống giả mạo chữ ký.
2.3. Sơ đồ chữ ký RSA
Sơ đồ chữ ký RSA được cho bởi bộ năm
S = (P , A , K , S , V)
trong đó P = A =Z
n
, với n =p.q là tích của hai số nguyên tố lớn p,q, K là tập các cặp
khoá K =(K’,K''), với K’ = a và K'' = (n,b), a 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) = x
a
modn ,

ver
k”
(x,y ) = đúng ↔ x ≡ y
b
(modn).
Dễ chứng minh được rằng sơ đồ được định nghĩa như vậy là hợp thức, tức là với
mọi x  P và mọi chữ ký y  A:
ver
k”
(x,y ) = đúng ↔ y = sig
k’
(x)
Chú ý rằng tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giống
nhau, nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi thông báo x cho B, để
B có căn cứ xác nhận đó đúng thực là thông báo do A gửi, A phi gửi kèm theo chữ ký
sig
k’
(x), tức là A gửi cho B (x, sig
k’
(x)), trong các thông tin gửi đi đó, thông báo x hoàn
toàn không được giữ bí mật. Cũng tương tự như vậy, nếu dùng sơ đồ mật mã RSA, khi
một chủ thể A nhận được một bản mật mã e
k’
(x) từ B thì A chỉ biết rằng thông báo x được
bảo mật, chứ không có gì để xác nhận x là của B.
Nếu ta muốn hệ truyền tin của ta vừa có tính bảo mật vừa có tính xác nhận, thì ta
phải sử dụng đồng thời cả hai hệ mật mã và xác nhận (bằng chữ ký). Giả sử trên mạng
truyền tin công cộng, ta có cả hai hệ mật mã khoá công khai S
1
và hệ xác nhận bằng chữ

ký S
2
. Gi sử B có bộ khoá mật mã K = (K', K'') với K' = (n, e) và K'' = d trong hệ S
1
, và A
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 10 Lớp CT
702
có bộ khoá chữ ký K
s
= (K’
s
, K''
s
) với K’
s
= a và K''
s
= (n,b) trong hệ S
2
. A có thể gửi đến
B một thông báo vừa bảo mật vừa có chữ ký để xác nhận như sau: A ký trên thông báo x
trước, rồi thay cho việc gửi đến B văn bản cùng chữ ký (x,sig
k’s
(x)) thì A sẽ gửi cho B bản
mật mã của văn bản đó được lập theo khoá công khai của B, tức là gửi cho B e
k’
((x, sig
k’s


(x)). Nhận được văn bản mật mã đó B sẽ dùng thuật toán giải mã d
k’’
của mình để thu
được (x, sig
k’s
(x)), sau đó dùng thuật toán kiểm thử chữ ký công khai ver
k”s
của A để xác
nhận chữ ký sig
k’s
(x) đúng là của A trên x.
2.4.Sơ đồ chữ ký Elgamal
Sơ đồ chữ ký ElGamal được đề xuất năm 1985, gần như đồng thời với sơ đồ hệ mật
mã ElGamal, cũng dựa trên độ khó của bài toán lôgarit rời rạc. Sơ đồ được thiết kế đặc
biệt cho mục đích ký trên các văn bản điện tử, được mô tả như một hệ:
S = (P , A , K , S , V)
trong đó P = Z
*
p
, A = Z
*
p
x Z
p-1
, với p là một số nguyên tố sao cho bài toán tính
lôgarit rời rạc trong Z
*
p
là rất khó. Tập hợp K gồm các cặp khoá K=(K’,K''), với K’=a là

một số thuộc Z
*
p
, K'' =(p, α , β), α là một phần tử nguyên thuỷ của Z
*
p
, và β=α
a
modp. K’
là khoá bí mật dùng để ký, và K'' là khoá công khai dùng để kiểm thử chữ ký. Các thuật
toán ký và kiểm thử chữ ký được xác định như sau: Với mỗi thông báo x, để tạo chữ ký
trên x ta chọn thêm môt số ngẫu nhiên k  Z
*
p-1
, rồi tính :
sig
k’
(x,k ) = (γ , δ) với
γ = α
k
modp,
δ = (x – a.γ). k
-1
mod(p -1).
Thuật toán kiểm thử được định nghĩa bởi:
ver
k”
(x,(γ , δ)) = đúng ↔ β
γ
. γ

δ
≡ α
x
(modp).
Dễ thấy rằng sơ đồ chữ ký được định nghĩa như trên là hợp thức. Thực vậy, nếu
sig
k’
(x,k ) = (γ , δ) thì ta có :
β
γ
. γ
δ
≡ α

. α

modp
≡ α
x
modp,
vì k.δ +a.γ ≡ x mod(p -1). Do đó, ver
k”
(x,(γ , δ)) = đúng.
CHƢƠNG 3
SƠ ĐỒ CHIA SẺ BÍ MẬT


3.0. Đị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

Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 11 Lớp CT
702
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
sẽ tuyệt đối không thu được thông tin gì về bí mật.
3.1 Các thành phần của sơ đồ chia sẻ bí mật :
Người phân phối bí mật (Dealer): Là 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 (Participant) ký hiệu P
Nhóm có khả năng khôi phục bí mật (Acess structure): Là tập con của P trong đó có
các tập con có khả năng khôi phục bí mật.
3.2 Một số sơ đồ chia sẻ bí mật:
3.2.1 Sơ đồ chia sẻ bí mật sơ khai:
Một sơ đồ chia sẻ bí mật đảm bảo tính bảo mật là sơ đồ trong đó bất kỳ người nào
có ít hơn t phần dữ liệu (là số lượng đủ để khôi phục bí mật) không có nhiều thông tin hơn
một người không có dữ liệu. Xem xét sơ đồ chia sẻ bí mật sơ khai trong đó cụm từ bí mật
“password” được chia thành các phần “pa…”,”ss…”,”wo…”và ”rd…”. Một người không
có một trong các phần bí mật đó chỉ biết mật khẩu có 8 chữ cái. Anh ta sẽ phải đoán mật
khẩu đó từ 2
26
=8 tỷ khả năng có thể xảy ra. Một người có một phần trong số 6 phần của
mật khẩu đó sẽ phải đoán 6 chữ cái tương đương với 2
26
khả năng. Hệ thống này không
phải là một sơ đồ chia sẻ bí mật bảo mật bởi vì một người tham gia có ít hơn t phần dữ
liệu thu được một phần đáng kể thông tin về bí mật.Trong một sơ đồ bảo mật, mặc dù một
người tham gia chỉ thiếu một phần dữ liệu cũng có thể sẽ đối mặt với 26
8

= 208 tỷ khả
năng.
3.2.2 Sơ đồ chia sẻ bí mật tầm thường
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 r
i
(trừ một người).
Đưa cho người cuối cùng một số (S- r
1
- r
2
-…- r
n-1
).
Bí mật chính là tổng của các số của tất cả những người tham gia vào sơ đồ.
 Mã hóa bí mật bằng 1 byte S. Đưa cho mỗi người tham gia i một byte b
i
(trừ một
người), đưa cho người cuối cùng byte (S XOR b
1
XOR b
2
…XOR b
n-1
)
3.2.3 Sơ đồ chia sẻ bí mật có ngưỡng giới hạn
(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

D
1
,D
2
,…,D
n
sao cho :
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 12 Lớp CT
702
 Nếu biết k hoặc nhiều hơn các phần D
i
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 D
i
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).
3.2.3.1 Sơ đồ chia sẻ bí mật Blakley
Hai đường thẳng không song song nằm trong cùng một mặt phẳng cắt nhau tại một
điểm duy nhất. Ba mặt phẳng không song song trong không gian cắt nhau tại một điểm
duy nhất.Tổng quát hơn, bất kỳ n mặt siêu phẳng nào cũng cắt nhau tại một điểm cụ thể.
Bí mật có thể được mã hóa là một đơn tọa độ của giao điểm đó. Nếu bí mật được mã hóa
bằng cách sử dụng tất cả các tọa độ, mặc dù chúng là ngẫu nhiên, khi đó một người tham
gia (ai đó sở hữu một hoặc nhiều các siêu mặt n chiều) thu được thông tin về bí mật do
anh ta biết nó nhất định phải nằm trên mặt mà anh ta sở hữu. Nếu một người trong cuộc
mà thu được nhiều thông tin hơn một người ngoài cuộc về bí mật, khi đó hệ thống này
không còn bảo mật nữa. Nếu chỉ có một trong số các tọa độ được sử dụng, khi đó một

người trong cuộc không biết về bí mật hơn một người ngoài cuộc (thí dụ:Bí mật phải nằm
trên trục x trong hệ trục tọa đồ Decac). Mỗi người tham gia được đưa đủ thông tin để định
nghĩa một siêu mặt; bí mật được khôi phục bằng cách tính toán điểm giao nhau của các
mặt và lấy một tọa độ cố định của giao điểm đó.

Sơ đồ của Blakley trong hệ tọa độ không gian 3 chiều: 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à giao điểm của 3 mặt phẳng đó. 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.
Sơ đồ của Blakley có hiệu quả không gian ít hơn sơ đồ của Shamir dưới đây; trong
khi với sơ đồ của Shamir, mỗi một phần chia chỉ lớn bằng bí mật ban đầu. Các phần chia
của Blakley lớn hơn t lần, với t là số người tham gia vừa đủ thu được bí mật. Sơ đồ của
Blakley có thể được thu gọn bằng cách giới hạn mặt nào có thể sử dụng làm phần chia.
Kết quả thu được sẽ là một sơ đồ tương đương với sơ đồ của Shamir.
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 13 Lớp CT
702
3.2.3.2 Sơ đồ chia sẻ bí mật Shamir
Ý tưởng về sơ đồ ngưỡng giới hạn của Shamir dựa trên tính chất: Hai điểm có thể
định nghĩa một đường thẳng, 3 điểm định nghĩa được 1 parabol, 4 điểm định nghĩa được
một hình lập phương, cứ như thế một cách tổng quát cần n+1 điểm để định nghĩa một đa
thức bậc n.
Giả sử chúng ta muốn sử dụng sơ đồ ngưỡng (k,n) để chia sẻ bí mật S với k < n. Sự
lựa chọn giá trị của k và n quyết định sức mạnh của hệ thống.
Chọn ngẫu nhiên (k-1) hệ số a
1
,…, a
k-1
và đặt a

0
= S.
Xây dựng đa thức f(x)=a
0
+ a
1
x + a
2
x
2
+…+a
k-1
x
k-1

Chúng ta sẽ vẽ n điểm bất kỳ ví dụ tập i = 1,2, ,n tính được (i, f(i)). Mỗi người sẽ
nhận được một cặp tọa độ thỏa mãn điều kiện là đầu vào và đầu ra của đa thức trên.
Đưa bất kỳ một tập k các cặp tọa độ trên, chúng ta có thể dễ dàng các hệ số của đa
thức bằng phép nội suy và tính được a
0
là bí mật.
Ví dụ:
Bƣớc 1: Chia sẻ bí mật
Giả sử bí mật của chúng ta là một mã số ATM :1234 (S = 1234)
Chúng ta muốn chia bí mật thành 6 phần (n=6), với bất kỳ 3 phần trong đó (k=3) có
đủ khả năng suy ngược lại bí mật. Một cách ngẫu nhiên chúng ta thu được 2 số 166,94
(a
1
=166;a
2

=94)
Đa thức của chúng ta do đó sẽ là f(x)=1234 + 166x + 94x
2

Chúng ta lấy 6 điểm thỏa mãn là nghiệm của đa thức đó
(1,1494);(2,1942);(3,2578);(4,3402);(5,4414);(6,5614)
Chúng ta đưa cho mỗi người tham gia trong sơ đồ một điểm khác nhau
(cả x và f(x))
Bƣớc 2: Khôi phục bí mật
Chúng ta hãy coi (x
0
,y
0
)=(2,1942); (x
1
,y
1
)=(4,3402); (x
2
,y
2
)=(5,4414)
Chúng ta sẽ tính toán hệ số Lagrange



Do đó :
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 14 Lớp CT

702



Bí mật của chúng ta chính là hệ số tự do của đa thức. Nghĩa là S=1234
3.3.Sơ đồ chia sẻ bí mật dựa trên không gian vector Brickell
3.3.1.Sơ đồ chia sẻ bí mật cơ bản
Điều 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 = (a
0
,…, a
t
) với t bất kỳ, mà a
j
GF(q) và a
0
là bí mật. Đánh dấu những người
tham gia bằng P
i
với 1 ≤ i ≤ n.
Với mỗi P
i
, người phân phối sẽ lấy 1 vectơ đơn vị v
i
trên GF(q).
Tất cả các vectơ v
i
, 1 ≤ i ≤ n sẽ được công khai. Phần chia mà nguời phân phối đưa cho
P
i

sẽ là s
i
= v
i
.a
Ký hiệu e
i
là vectơ đơn vị t chiều thứ i (ví du e
1
=(1,0,…,0))
Định lý 1: Đặt γ = (Pi
1
,…,Pi
k
) 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

‹ v
i1
,…,v
ik
› chứa e
1
(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 ‹ v
i1
,…,v
ik
› không chứa e
1

Chứng minh:
Đặt M là ma trận với các hàng v
i1
,…,v
ik
. Đặt s = (s
i1
,…,s
ik
).
Để chứng minh (1), đặt w là vectơ sao cho wM = e
1
. Khi đó wMa = a
0
.
Do đó w.s = a
0
.
Để chứng minh (2), đặt w
0
,…, w
t
là cột của vectơ M. Nếu w
0

<w
1
, ,w
t
> khi đó

tồn tại d sao cho d.w
i
= 0 với 1≤ i ≤ t và d.w
0
= 1. Do đó dM = e
1
nhưng điều này trái với
giả thiết e

(v
i1
,…, v
ik
). Do đó w
0
 (w
1
,…, w
t
). Vì vậy tồn tại b sao cho
Mb = 0 và b
0
≠ 0. Thông tin duy nhất mà những người tham gia trong γ biết về a
0
là Ma =
s . Nhưng s = Ma = M(a + αb) với tất cả α  GF(q).
Bởi vậy cho trước bất kỳ c
0
 GF(q),
tồn tại c = (c

0
,…,c
t
) với c
i
 GF(q), 1 ≤ i ≤ t sao cho Mc = s.
Do đó những người tham gia trong γ không thể loại bỏ bất kỳ phần tử nào trong
GF(q) có khả năng là a
0
3.3.2.Sơ đồ chia sẻ bí mật đa cấp
Trong phần này chúng ta sẽ đưa ra một chứng mính có sẵn là bất kỳ cấu trúc truy
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 15 Lớp CT
702
cập đa mức (multilevel access structure) nào cũng có thể tìm được trong một sơ đồ
chia sẻ bí mật hoàn hảo. Sau đó chúng ta sẽ đưa ra 1 cấu trúc khác yêu cầu khối lượng
tính toán ít hơn cho công việc của người phân phối.
Sơ đồ đa cấp cơ bản: Đặt Γ là một cấu trúc truy cập đa mức với các mức l
1
<
l
2
<…< l
R
. Đặt N
r
là số người tham gia ở mức l
r
. Đánh dấu những người tham gia bằng

P
i
với 1 ≤ i ≤ n và đặt L
i
là cấp của P
i
.
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ơ v
i
như thế nào. Với mỗi P
i
, Dealer sẽ lấy một
x
i
 GF(q). Đặt v
i
là vectơ l
R
hướng (1, x
i
, x
i
2
,…, x
1
i
L
i
, 0,…, 0).

Chú ý rằng nếu l
1
= 1 và P
i
là một người tham gia có L
i
= 1, khi đó v
i
= e
1
.
Định nghĩa một hàm đa thức f
j
(x)=



1
0
j
i
i
xa
i
. Phần chia s
i
mà Dealer đưa cho P
i
sẽ
thỏa mãn s

i
= f
L
i
(x
i
).
Để hoàn chứng minh tồn tại 1 sơ đồ chia sẻ bí mật cho bất kỳ cấu trúc truy cập đa
cấp nào, chúng ta chỉ cần chỉ ra rằng với bất kỳ cấu trúc truy cập đa cấp nào cũng có 1
phương thức cho Dealer chon x
i
sao cho
vik ,vi1,
chứa e
1
nếu
{P
i1
,…, P
ik
}  Γ. Trong phần còn lại của đoạn này chúng ta sẽ đưa ra 3 phương thức
khác nhau để Dealer chon x
i
.
Định lý 1: Đặt Γ là một cấu trúc đa truy cập với các mức l
1
< l
2
<…< l
R

. Đặt L
r
là số những người tham gia có cùng cấp l
r
.
Gọi n là tổng số người tham gia.

Nếu q >
 








n
l
R
R
l
1
1
. Khi đó có một sơ đồ chia sẻ bí mật hoàn hảo với Γ trên
GF(q).
Chứng minh: Chúng ta sẽ sử dụng cấu trúc sơ đồ đa cấp cơ bản. Chúng ta chỉ
cần chỉ ra Dealer sẽ chọn x
i
như thế nào. Đặt v

0
= e
1
(mặc dù không có người tham gia
P
0
).
Giả sử Dealer đã chọn x
i
với tất cả i sao cho 0 ≤ i ≤ h.
Đặt Ω là tập các khoảng con được nối với nhau bởi vài tập con có kích thước L
h
-
1 của vectơ v
i
{ v
i
| 0 ≤ i ≤ h }.
| Ω | < (l
R
-1)










h
L
h
1
Dealer khi đó sẽ chọn x
h
sao cho vector L
R
thành phần
V
h =
(1, x
h
, x
h
2
,…, x
h
L
1
h
, 0,…, 0) không nằm trong bất kỳ khoảng con nào trong
Ω. Để thấy điều đó là có thể thực hiện được, đặt H  Ω,
w = (w
0
, w
1
,…, w
Lh-
, 0,…, 0) là một vectơ pháp tuyến của H.

Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 16 Lớp CT
702
Khi đó



1
1
h
L
i
i
i
xw
=0 có nhiều nhất L
h
-1 nghiệm trên GF(q)
Giả sử rằng k người tham gia P
i1
,…,P
ik
của mức cao nhất k cố gắng tìm lại
bí mật và giả sử không có tập con nào của tập này chứa l người tham gia của mức cao
nhất l với bất kỳ l < k.
Các vector v
i1
,…,v
ik

là độc lập và được chứa trong một khoảng kích thước k tạo
bởi bởi e
1,
….,e
k
. Do vậy e
1
 (v
i1
,…,v
ik
) và do đó theo định lý 1, những người tham gia
có thể chỉ ra được điều bí mật.
Bây giờ giả sử rằng 1 tập γ

Γ của những người tham gia thử tìm lại bí mật
Đặt γ = {P
i1,
…,P
ik
}. Do các vectơ e
1
,v
i1
,…,v
ik


độc lập. Theo Định lý 1, những
người tham gia này không thu được bất kỳ thông tin nào về a

0.

Sơ đồ của Blakley cũng có thể chỉnh sửa để bổ sung một cấu trúc truy cập đa
mức. Dealer lại một lần nữa chọn g là trục tọa độ thứ nhất và một dãy các mặt phẳng
F
i
sao cho: F
1

F
2




F
R
, F
1


g là không rỗng và G không là tập con của F
R
.
Điều bí mật là P = F
1

g. Một người ở mức r sẽ được cho trước một điểm trên F
r-1
.

Các điểm phải được chọn sao cho bất kỳ r người tham gia nào của mức cao nhất r có
thể chỉ ra điểm P và mặt phẳng F, được tạo ra bởi một nhóm của những người tham gia
trong đó với bất kỳ r không có một tập con nào của r người tham gia mà tất cả có mức
cao nhất r, F


G phải là rỗng. Công thức này cũng được Simmons tìm ra [6].
Một vấn đề đáng quan tâm khác là khối lượng tính toán cần thiết để cho Dealer
xây dựng lên hệ thống.Với hệ thống ban đầu của Blakley thì Dealer phải làm phép
kiểm tra để chắc chắn rằng các điểm là nằm trong vùng chung, phương pháp rõ ràng để
làm việc này yêu cầu








k
n
lần nhưng nếu các điểm đã được chọn cẩn thận thì không
phép kiểm tra nào là cần thiết. Cũng vậy không phép kiểm tra nào là cần thiết cho sơ
đồ của Shamir. Thật không may là thuộc tính này lại không nằm trong cấu trúc với sơ
đồ đa mức trên. Cách thông thường để thực thi sơ đồ trình bày trong Định lý 1 sẽ yêu
cầu rất nhiều phép kiểm tra để chắc chắn rằng các điểm nằm trong vị trí chung. Tuy
nhiên chúng ta cũng đã tìm ra một cách xây dựng không yêu cầu kiểm tra.
Mô hình đầu tiên mà chúng ta đề cập đến chỉ khả thi nếu không có quá nhiều
mức trong đó. Chúng ta sẽ sử dụng sơ đồ đa mức cơ bản và vì thế chúng ta sẽ dễ
dàng miêu tả cách mà Dealer chon x

i
. Để minh họa, giả sử rằng chúng ta muốn cho
phép mức 2 hoặc 3. Chọn q = p
2
. Đặt α là một đại số bậc 2 (algebraic of degree 2) trên
GF(p) (Ví dụ α thỏa mãn một đa thức bậc 2 tối giản trên GF(p) ). Dealer lấy 1 phần tử
y
i
trong GF(p) với mỗi người tham gia P
i
sao cho nếu i ≠ j và L
i
= L
j
, khi đó y
i
≠ y
j

Với một người tham gia ở mức 3, Dealer sẽ đặt x
i
= y
i
. Với một người tham gia ở mức
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 17 Lớp CT
702
2, anh ta sử dụng x
i

= αy
i
. Hệ thống này sẽ có các thuộc tính mong muốn. Để thấy rằng
3 người tham gia P
i
1
, P
i
2
, P
i
3
với L
i
1

= 2, L
i
2
= L
i
3

= 3 có thể chỉ ra bí mật. Coi như
ma trận M tạo thành bởi v
i1
, v
i2
, v
i3

. Định thức của ma trận này là một đa thức với α có
bậc cao nhất là l. Có thể chỉ ra rằng giới hạn trong đa thức này là khác 0. Do α là một
số đại số bậc 2, giá trị của đa thức đó phải khác 0.
Trong công thức chung hơn, với các mức l
1
<….< l
R
, Dealer lấy α
1
,…, α
R-1
mà α
R

thỏa mãn một đa thức không thể rút gọn bậc
1
2
2







r
l
trên

Dealer sau đó đặt x

i =
αL
i
y
i
. Chứng minh hệ thống này có các thuộc tính mong
muốn, là một mở rộng cho lý luận bên trên. Chúng ta sẽ không đưa nó vào đây bởi vì
định lý dưới đây xây dựng các sơ đồ đa mức hiệu quả hơn.
Định lý 2: Đặt Γ là cấu trúc truy cập đa mức với các mức
1= l
0
< l
1
<…< l
R
. Lấy q là một số nguyên tố thỏa mãn q > N
r
+ 1
với 1 ≤ r ≤ R.Đặt β = RL
R
2
. Khi đó có một sơ đồ chia sẻ bí mật hoàn hảo cho Γ
trên GF( q
β
) có thể xây dựng được trong thời gian đa thức (N
1
,…, N
R
, q).
Chứng minh: Một lần nữa, chúng ta chỉ cần chỉ ra Dealer sẽ lấy x

i
như thế nào để
sử dụng trong sơ đồ đa mức cơ bản. Nếu không có người tham gia nào ở mức 1 thì
thêm 1 người tham gia P
0
với L
0
=1. Dealer chọn một y
i
cho mỗi P
i
sao cho y
i
≠ y
j
nếu
L
i
= L
j


i ≠ j. Định nghĩa ρ(i) là một số nguyên j sao cho L
i
= l
j
. Dealer cũng lấy α
thỏa mãn bậc không rút gọn được Rl
R
2

trên GF(p).
Đặt x
i
= y
i
α
R-ρ(i)
.
Đặt γ = {P
i1
,…, P
ik
} là một tập của k người tham gia, mỗi người trong đó có mức
cao nhất là k và giả sử là không có tập con nào của γ mà chứa nhiều hơn l người tham
gia có mức cao nhất là l với mọi l < k. Gọi n
j
là số người tham gia đó có cấp cao nhất
l
j
. Đặt M’(γ) là ma trận trong đó có các hàng là các vectơ v
i1
,…, v
ik
Đặt M(γ) là ma
trận bao gồm mỗi k cột đầu tiên của M’(γ). M(γ) về cơ bản là giống ma trận M’(γ) khi
các cột bị rời đi có giá tri là 0.
Để chỉ ra M = M(γ) không phải là số ít, chúng ta sẽ chỉ ra rằng đinh thức của M
có thể được viết dưới dạng đa thức theo α với bậc nhỏ hơn Rl
2
R

. Chúng ta sẽ chỉ ra
rằng đa thức này không bằng 0 bằng cách chỉ ra rằng giới hạn số của nó là khác không.
Xem như định thức của m là một đa thức theo α. Đặt M = (m
i
,j). Nhớ lại là định
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 18 Lớp CT
702
thức là tổng các phép nhân sơ cấp của M mà mỗi phép nhân sơ cấp là phép nhân của
các số hạng m
1,c1
,…,m
k,ck
với dấu thích hợp mà c
1
,…,c
k
là một phép hoán vị của
1,…, k. Mọi phép nhân khác 0 cơ bản sẽ thỏa mãn c
i
≤ L
i
với 1≤ i ≤ k Số mũ lớn nhất
của α trong hàng i của M là
(R-ρ(i))(L
i
-1).
Do đó số mũ lớn nhất của α trong phép nhân sơ cấp


  
2
1
1
1
1
1
R
R
r
rRrr
R
r
RlnRlnlrR 






Đặt T
-1
=0 và đặt T
j =


j
i 0
n
i

với 0 ≤ j ≤ R. Số mũ của α trong kết quả của một
phép nhân khác 0 sẽ là
    
iRc
k
i
i



0
1
. Phép tính tổng này thu được kết quả nhỏ
nhất khi {C
Tr-1
+1,…, C
Tr
} = { T
r-1
+1,…, T
r
}
với 0 ≤ r ≤ R
Đặt D
r
là ma trận con n
r
x n
r
của M được tạo bởi các hàng và các cột

T
r-1
+1,…, T
r

Đặt z là số mũ nhỏ nhất của α trong định thức của M.
Khi đó số hạng θα
2
với θ

GF(q) trong định thức cuả M thỏa mãn
θα
2
=


R
r 1
|D
r
|
Khi đó mỗi D
r
là một phép nhân của ma trận Van der Monde, |D
r
| ≠0. Do vậy hệ
số của α
z
là khác không. Như vậy, bởi vì M(γ) không phải là số ít, những người tham
gia trong γ có thể chỉ ra a

0
.
Giả sử bây giờ γ là 1 tập của k-1 người tham gia mỗi người có mức tối đa là k
và không có tập con γ’ chứa nhiều hơn l người tham gia của mức tối đa l với bất kỳ
l<k.

Đặt γ’=γ
U
{P
0
}. Bây giờ γ’ là tập hợp của k người tham gia với mức tối đa là k
và không có tập con cua γ’ mà chứa nhiều hơn l người tham gia có mức tối đa là l với
mọi l<k. Ma trận M(γ’) sẽ vì thế mà không phải là số ít.
Do vậy e
1

(v
i
|P
i
 γ)
Từ định lý 1, những người tham gia trong γ không nhận được thông tin về giá trị
của a
0
3.3.4.Sơ đồ riêng phần (compartmented schemes)
Trong một sơ đồ Riêng phần, có các tập tách rời của những người tham gia
C
1
,…,C
u

. 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
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 19 Lớp CT
702
nhất t
i
trong C
i
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 q>






t
n
, khi đó có một sơ đồ chia sẻ bí mật với Γ trên GF(q)
Chứng minh : chúng ta có thể thừa nhận rằng T = t-


u
i
i
t

1
≥ 0. Dealer chọn 1
vectơ a = (a
0
,…,a
t-1
) với a
0
là bí mật. Đặt T
0
= T, đặt T
i
= T+


u
i
i
t
1
với 1≤ i ≤ u.
Đánh dấu những người tham gia bằng P
r,i
với P
r,i
nằm trong phần C
r
. Với người
tham gia P
i

Dealer sẽ lấy 1 vector t thành phần trên GF(q) theo dạng :

Với vài v
r,i


GF(q). Như trong Định lý 1, Dealer sẽ phải cẩn thận để chọn ra x
r,i

Đặt đánh dấu theo thứ tự từ điển sắp xếp các cặp. Ví dụ : (r,i) (s,j) nếu r
< s hoăc (r = s và i<j).Đặt v
0,0
= e
1
. Giả sử rằng Dealer đã chọn x
r,i
với tất cả (r,i)
(s,j). Khi đó Dealer phải chọn x
s,j
≠1 do vậy vectơ v = s,j

không nằm trong bất kỳ
khoảng con nào được span bởi một tập hợp của các vectơ bao gồm ít nhất t
r
của v
r,i
với
mỗi r < s và ít nhất t
*
s

= min(t
s
-1,j-1) của v
s,i
với i < j và tổng của tối đa T + t
*
s
+



1
1
s
r
r
t
với (0,0) (r,i) (s,j)
Do q >
 
N
t
, có thể thấy rằng điều đó là có khả năng bằng cách sử dụng lý luận
tương tự với chúng như trong Định lý 1
Một tập của những người tham gia trong Γ có thể chỉ ra bí mật vì vectơ v
r,i

độc lập. Ngược lại giả sử một tập γ = P
r,i ,
|(r,i) Є I} của những người tham gia không

có trong Γ
Giả sử có C
s
sao cho γ không chứa ít nhất t
s
những người tham gia trong C
s
. Đặt
M là ma trận với các hàng v
r,i
với (r,i)

I. Đặt M’ là ma trận bao gồm các cột 1,T
s

+1,…,T
s
+ t
s
của M. Có mỗi t
s
hàng phân biệt trong M’, chúng tương ứng với các vectơ
v
r,i
với r = s và (r,i)

I, và vectơ (1,1,…,1).
Đặt {i
1
,…, i

ts-1
} = {i|(s,i)

I}.
Đặt M’’ là ma trận bao gồm các hàng e
1
, v
s,i1
,….,v
s,i
1
s
t
.
Khi đó |M’’| = |M’’
11
| với M’’
11
là ma trận M’’ với hàng thứ nhất và cột đã bị
loại bỏ. Nhưng M’’ lại là một ma trận Van de Monde với hàng i
j
nhân với x
T
s,ij
với 1≤
j ≤ t
s
-1.
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell


Sinh viên thực hiện: Trần Trung Hiếu 20 Lớp CT
702
Vì vậy |M’’
11
| ≠0.
Do vậy e
1
không nằm trong (v
r,i
| (r,i)

I ). Nếu γ chứa ít nhất t
r
người tham gia
từ C
r
với 1 ≤ r ≤ u, nhưng không chứa tổng của ít nhất t người tham gia, khi đó những
người tham gia trong γ không nhận được thông tin về a
0
vì vậy e
1
và vectơ v
r,i


với (r,i)

I là độc lập
Cách xây dựng giới thiệu trong Định lý 3 yêu cầu Dealer kiểm tra theo hàm mũ
rất nhiều khoảng con. Thật dễ dàng đưa ra một sự thực thi có hiệu quả trong trường

hợp mà t=


u
i
i
t
0

Dealer có thể chọn a
0
làm bí mật một cách đơn giản và ngẫu nhiên lấy b
1
,…,b
u

sao cho a
0
=


u
t
i
t
0
. Khi đó anh ta sẽ sử dụng một sơ đồ giới hạn với 1 giới han t
i
và bí
mật b

i
để phân phối các phần đến những người tham gia trong C
i
. Tuy nhiên chúng ta
đã không tìm ra một cấu trúc tổng quát đầy đủ cho cấu trúc truy cập riêng phần






3.4.Vấn đề chống gian lận trong sơ đồ chia sẻ bí mật
3.4.1.Mô hình PVSS không tương tác
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 (Blakley và Shamir) 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 VSS
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ơ đồ và
2) Người tham gia cung cấp sai thông tin trong thủ tục khôi phục bí mật
Chúng ta sẽ tìm hiểu sơ đồ chia sẻ bí mật có khả năng xác minh được
3.4.1.1.Sơ đồ chia xẻ bí mật xác minh công khai, không giao tiếp (PVSS)
Chúng ta chú ý rằng một nét đặc trưng khác của PVSS là không có các kênh truyền
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell


Sinh viên thực hiện: Trần Trung Hiếu 21 Lớp CT
702
riêng và bí mật 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. Do vậy bí mật
sẽ chỉ được tính toán ẩn(hiden).
Trong một sơ đồ PVSS, một Dealer D muốn phân phối các phần chia của bí mật S


∑ tới n người tham gia P
1
,…,P
n
. Một cấu trúc truy cập monotone (monotone access
structure) miêu tả những tập con nào của những người tham gia được chỉ định khôi phục
lại bí mật. Ví dụ một cấu trúc truy cập có thể là một sơ đồ (t,n) nghĩa là bất kỳ tập con nào
với t hoặc nhiều hơn số người tham gia sẽ có đủ khả năng khôi phục bí mật ; bất kỳ tập
con nào ít hơn t người tham gia sẽ không thu được thông tin gì về bí mật (trừ trường hợp
năng lực tính toán của máy tính cực lớn)
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 tham số của hệ thống được sinh ra như một phần của quá
trình khởi tạo. Ngoài ra mỗi người tham gia P
i
sẽ đăng ký một khóa công khai được dùng
trong thủ tục mã hõa E
i
. Toàn bộ tập hợp những người đang tham gia vào PVSS phải là
một tập con của những người tham gia đã đăng ký. Không làm mất tính tổng quát, giả sử

những người tham gia P
1
,…,P
i
tham gia toàn bộ vào PVSS dưới đây.
Giao thức phân phối bí mật : Giao thức này có 2 bước:
(1) Phân phối các phần bí mật: Việc phân phối bí mật S ∑ được thực hiện
bởi Dealer
Dealer sẽ tạo các phần chia riêng s
i
cho mỗi người tham gia P
i
với 1≤ i ≤ n. Với mỗi
người tham gia P
i
, Dealer sẽ công bố phần chia đã được mã hóa E
i
(s
i
).Dealer đồng thời
cũng công bố một chuỗi PROOF
D
để chỉ ra rằng mỗi E
i
mã hóa một phần chia s
i
Ngoài ra
chuỗi PROOF
D
đưa Dealer đến giá trị của s

i
, và nó cũng đảm bảo thủ tục khôi phục bí
mật sẽ trả về kết quả s tương tự.
(2) 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 E
i
có thể xác minh các phần chia.Với mỗi người tham gia P
i
,một
thuật toán xác minh không cần giao tiếp có thể được chay trên PROOF
D
để xác minh
rằng E
i
(s
i
) là một mã hóa đúng của phần chia của người P
i
. Do vậy mỗi người có thể xác
minh một phần chia, nó có thể được dùng để loại bỏ tình huống một người tham gia phàn
nàn trong khi đã nhận một phần chia đúng.Trong trường hợp một hoặc nhiều sự xác minh
có lỗi, chúng ta khi đó sẽ nói rằng Dealer lỗi và thủ tục này bị bỏ dở (Nếu nằm trong mức
sai sót có thể chấp nhận được thì có thể tiếp tục chạy sơ đồ đó và coi như nó là sơ đồ (k,n-
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 22 Lớp CT
702
c) với c là số phần bị lỗi).
Giao thức khôi phục lại bí mật: Cũng bao gồm 2 bước
(1) 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ừ E
i
(s
i
). Không bắt buộc tất cả những người tham gia phải thành công khi làm việc đó,
miễn là một tập được chỉ định của những người tham gia thực hiện thành công. Những
người tham gia sẽ thu được s
i
cùng với chuỗi PROOF
Pi
chỉ ra rằng phần chia của bí mật là
đúng.
(2) Kết hợp các phần chia: Chuỗi PROOF
Pi
đượ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ằng chứng đó đồng thời không ảnh hưởng lẫn nhau bởi vậy bất kỳ một bên
nào cũng có thể lấy ra những phần chia chính xác và gộp chúng lại với nhau.
Chúng ta đã giới hạn sự miêu tả cho những sơ đồ PVS không tương tác bằng cách
yêu cầu tất cả các PROOF có thể được xác minh một cách không tương tác. Trên thực tế,
một cách tự nhiên đã làm giảm số lượng tương tác giữa những người tham gia thậm chí
nhiều hơn so với các sơ đồ VSS. Những sơ đồ VSS không tương tác vẫn còn bao gồm
một quá trình trong đó những người tham gia đưa ra những phàn nàn nếu họ nhận được
một phần chia không chính xác. Rồi thì những điều phàn nàn này phải được giải quyết để
quyết định xem sự phân chia thông tin của bí mật có thực hiên một cách thành công hay
không. Trong PVSS chúng ta đã thậm chí loại bỏ cả bước giao tiếp này: Do bất kỳ bên

nào cũng có thể xác minh đầu ra của Dealer, do đó không cần mỗi người tham gia kiểm
tra chính phần chia của họ.
3.4.1.2.Sơ đồ chia sẻ bí mật đồng cấu (Homomorphic secret sharing)
Khái niệm chia sẻ bí mật đồng hình là của Benaloh, trong đó sự liên quan của nó tới
một vài ứng dụng của chia sẻ bí mật đã được miêu tả, nói riêng trong bỏ phiếu điện tử.
Một cách dễ hiể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 :
E
i
( s
i
)

E
i
(s’
i
) =E
i
(s
i
s’
i
)
Như vậy bằng cách giải mã phần chia được tổng hợp qua toán tử


, bí mật phục
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 23 Lớp CT
702
hồi được sẽ tương đương với s s’, thừa nhận rằng sơ đồ chia sẻ bí mât cơ bản là đồng
hình . Trong phần sau chúng ta sẽ giới thiệu một sơ đồ bầu cử điện tử dựa vào sơ đồ
PVSS đồng hình.
3.4.1.3.Sơ đồ PVSS đặc biệt
Chúng ta sẽ miêu tả cách xây dựng cấu trúc truy cập ngưỡng giới hạn (t,n), nhưng
chúng có thể áp dụng vào bất kỳ cấu trúc truy cập monotone nào của các sơ đồ chia sẻ bí
mật đã có.
Đặt G
q
là một nhóm các số nguyên tố có bậc là q, sao cho việc tính toán logarit rời
rạc trong nhóm này là không thể. Đặt g,G là ký hiệu các generator được lựa chon một
cách độc lập của G
q
, vì vậy không người nào biết log của g đối với G. Chúng ta giải
quyết vấn đề chia sẻ một cách hiệu quả. Dealer sẽ làm được việc này bằng cách đầu tiên
sẽ lựa chọn s R Z
q
và sau đó phân phối các phần chia của bí mật S=G
s
. Phương pháp
này cho phép chúng ta làm cho bằng chứng yêu cầu đơn giản và hiệu quả.
Chúng ta sẽ sử dụng giao thức của Chaum và Pedersen như là một giao thức con để
chứng minh rằng log
g1

h
1
= log
g2
h
2
với các generator g
1
,h
1
,g
2
,h
2
G
q
. Chúng ta sẽ ký
hiệu giao thức này là DLEG(g
1
,h
1
,g
2
,h
2
), và nó tồn tại các bước sau đây, ở đó người kiểm
tra biết α thỏa mãn h
1
= g
1

α
và h
2
= g
2

α
:
1. Người kiểm tra gửi a
1
=g
1
w
và a
2
= g
2
w
đến người xác minh với w R Z
q

2. Người xác minh gửi một yêu cầu ngẫu nhiên c R Z
q
đến người kiểm tra
3. Người kiểm tra đáp ứng lại với r = w-αc(mod q).
4. Người xác minh kiểm tra xem a
1
= g
1
r

h
1
c
và a
2
= g
2
r
h
2
c

Sự khởi tạo
Nhóm G
q
và các generator g,G được lựa chọn bằng cách sử dụng một thủ tục công
khai thích hợp. Người tham gia P
i
sẽ tạo một khóa bí mật x
i
R Z
q
*
và đăng ký y
i
= G
xi

làm khóa công khai của nó.
Giao thức phân phối: Giao thức này có 2 bước:

Phân phối các phần chia: Không mất tính tổng quát, giả sử rằng Dealer muốn phân
phối bí mật cho những người tham gia P
1
, ,P
n
. Dealer sẽ lấy một đa thức ngẫu nhiên có
bậc lớn nhất là t-1 với các hệ số trong Z
q
:
p(x)=



1
0
t
j
j
j
xa

Và đặt s=a
0
. Dealer sẽ giữ bí mật đa thức này nhưng sẽ công bố phần liên quan
c
j
= G
α
j
với 0 . Dealer đồng thời cũng công bố các phần chia đã được mã

hóa Y
i
=y
i
p(i)
,với 1 , sử dụng khóa công khai của những người tham gia.
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell

Sinh viên thực hiện: Trần Trung Hiếu 24 Lớp CT
702
Cuối cùng, đặt X
i
=



1
0
t
j
i
j
j
C

Dealer chỉ ra rằng các phần chia đã được mã hóa là không thay đổi bằng cách đưa ra
chứng minh tính duy nhất của p(i) với 1 , thỏa mãn :
X
i
= g

p(i)
và Y
i
= y
i
p(i

)
.

Chứng minh không giao tiếp là n bước trong các thủ tục của DLEQ(g,X
i
,y
i
,Y
i
)
Ứng dụng phương pháp của Fiats-Shamir, yêu cầu c của giao thức được tính bằng
hàm băm của X
i
, Y
i
, a
1i
, a
2i
với 1 . Sự kiểm chứng gồm có yêu cầu chung c và n
đáp ứng r
i
.

Xác minh các phần chia
Người xác minh sẽ tính X
i
=



1
0
t
j
i
j
j
C
Từ các giá trị C
j
. Sử dụng y
i
, X
i
,Y
i
,r
i
với 1
và c như là đầu vào, Người xác minh tính toán a
1i
, a
2i

bằng công thức:
a
1i
= g
i
r
X
i
c
, a
2i
=y
i
r
i
Y
i
c
Và kiểm tra giá trị hash của X
i
,Y
i
, a
1i
,a
2i
, với 1 có phù hợp với c
Giao thức khôi phục bí mật : Giao thức này có 2 bước
1. Giải mã các phần chia: Bằng cách sử dụng khóa bí mật của họ, mỗi người
tham gia sẽ tìm thấy phần chia của mình S

i
= G
p(i)
từ Y
i
bằng cách tính S
i
= Y
i
1/Xi
.
Họ công bố S
i
cộng với một bằng chứng giá trị S
i
là kết quả giải mã đúng từ Y
i

Đến đây đủ để chứng minh giá trị của α thỏa mãn y
i
=G
α
và Y
i
=S
i
α
, cái mà được
thực hiện bởi phiên bản không tương tác của giao thức DLEQ(G,y
i

,S
i
,Y
i
)
2. Gộp các phần chia: Không làm mất tính tổng quát, giả sử những người tham
gia P
i
đưa ra những giá trị đúng cho S
i
với i=1,…,t. Bí mật G
S
thu được bằng hệ thức
Lagrange


t
i
i
i
S
1

=
 
 


t
i

ip
i
G
1

= G
 


t
i
i
ip
1

= G
p(0)
=G
S

Trong đó




ij
i
ij
j


là một hệ số Lagrange.
Chú ý rằng những người tham gia không cần và cũng không tìm hiểu giá trị của các số
mũ p(i). Chỉ các giá trị liên quan S
i
=G
p(i)
là yêu cầu bắt buộc cho quá trình xây dựng lại bí
mật S=G
s
. Đồng thời cũng chú ý rằng những người tham gia cũng không phơi bày khóa bí
mật s
i
của họ. Bởi vậy người tham gia P
i
có thể sử dụng khóa của mình trong nhiều lần sử
dụng PVSS. Kiểu mã hóa của các phần chia đã được tối ưu về hiệu suất.
Tuy nhiên nếu cần cũng có thể sử dụng sơ đồ mã hóa Elgamal chuẩn để thay thế.
Rõ ràng sơ đồ là đồng cấu. Ví dụ cho trước đầu ra của Dealer là các bí mật G
S1

×