Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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.
Sinh viên thực hiện: Trần Trung Hiếu 1 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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ã
Sinh viên thực hiện: Trần Trung Hiếu 2 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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
Sinh viên thực hiện: Trần Trung Hiếu 3 Lớp CT
702
BA
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
mã
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
BA
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
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
1.2.1.4. Mã Vingenere
Sinh viên thực hiện: Trần Trung Hiếu 4 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
Đị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 π
Sinh viên thực hiện: Trần Trung Hiếu 5 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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
Sinh viên thực hiện: Trần Trung Hiếu 6 Lớp CT
702
(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
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
là
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
CHỮ KÝ ĐIỆN TỬ
Sinh viên thực hiện: Trần Trung Hiếu 7 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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)
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à
Sinh viên thực hiện: Trần Trung Hiếu 8 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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 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
Sinh viên thực hiện: Trần Trung Hiếu 9 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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ó :
β
γ
. γ
δ
≡ α
aγ
. α
kδ
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 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ẽ
Sinh viên thực hiện: Trần Trung Hiếu 10 Lớp CT
702
Báo cáo tóm tắt Sơ đồ chia sẻ bí mật dựa trên không gian vectơ Brickell
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 :
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
Sinh viên thực hiện: Trần Trung Hiếu 11 Lớp CT
702