BỘ 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
Lớp: CT702
Nghành: Công nghệ Thông tin
NỘ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
CHƯƠNG 1: CÁC HỆ MẬT MÃ
Đị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 là tập hữu hạn các bản mã
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ã d
k
∈ D,d
k
: C → P:
d
k
(e
k
(x)) = x với mọi x ∈P
CHƯƠNG 1: CÁC HỆ MẬT MÃ
Hệ mật mã cổ điển
Mã Dịch chuyển
Mã Thay thế
Mã Apphin
Mã Vigenère
Mã Hill
Mã Hoán vị
K
BA
Bả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
CHƯƠNG 1: CÁC HỆ MẬT MÃ
Hệ mật mã khóa công khai
Hệ mật mã RSA
Hệ mật mã Elgamal
(1) Public key
(2) Bản mã
A
Bản tin gốc
Bộ lâp mã
(public key)
Bộ giải mã
(public key)
Kênh công cộng
B
Sơ đồ một hệ truyền tin trong hệ mật mã khóa công khai
CHƯƠNG 2: CHỮ KÝ ĐIỆN TỬ
Định nghĩa:
- 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.
với mỗi k ∈K,có sig
k
∈ S và ver
k
∈ V.
Mỗi sig
k
: P → A và ver
k
: 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 sig
k
và ver
k
là các hàm thời gian đa thức.
- ver
k
là hàm công khai, sig
k
là hàm bí mật.
CHƯƠNG 2: CHỮ KÝ ĐIỆN TỬ
Sơ đồ ký RSA
Sơ đồ chữ ký RSA được cho bởi bộ năm
S = (P , A , K , S , V)
Trong đó P = A =Z
n
n = p.q là tích của hai số nguyên tố lớn p,q
φ
(n) = (p-1)(q-1)
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).
CHƯƠNG 2: CHỮ KÝ ĐIỆN TỬ
Chữ ký Elgamal.
+ ĐN: Sơ đồ ký Elgamal được cho bởi bộ năm (P, A, K, S, V) trong đó:
P = Z
p
*
, A = Z
p
*
x Z
*
p-1
;
Với p là số nguyên tố.
Giả sử α ∈ Z*
p
là phầ tử nguyên thủy theo mod p.
- K là tập các khóa; K = (K’, K’’); K’ = a, K’’ = (p, α, β).
β = αa mod p.
Các giá trị a bí mật dùng để ký, các giá trị p, α, β dùng để kiểm tra.
- Tạo chữ ký:
Với mỗi K = (p, a, α, β) và với số ngẫu nhiên k ∈Zp - 1, rồi tính:
sigK’ = (x, k) = (γ, δ), với
γ = αk modp.
δ = (x - aγ)k-1 mod(p-1).
- Kiểm tra chữ ký:
verK’’(x(γ, δ)) = True βγ.γδ = αx (mod p).
CHƯƠ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
Γ
MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
Sơ đồ chia sẻ bí mật sơ khai
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 26
8
khả năng
Một người biết một phần của bí mật sẽ phải đoán 26
6
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 26
8
khả năng.
pa ss wo rd
MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
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 số (S-r
1
-r
2
-…-r
n-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 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
)
Bí mật là b
1
XOR b
2
…XOR b
n-1
XOR b
n
.
MỘT SỐ SƠ ĐỒ CHIA SẺ BÍ MẬT
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 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