Tải bản đầy đủ (.pptx) (19 trang)

Tìm hiểu sơ đồ chữ ký số ELGAMAL

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 (568.26 KB, 19 trang )

MÔN AN NINH VÀ BẢO MÂT DỮ LIỆU

Đề
Đề tài:
tài: Tìm
Tìm hiểu
hiểu sơ
sơ đồ
đồ chữ
chữ ký
ký số
số ELGAMAL
ELGAMAL

Giảng viên hướng dẫn: Ths.Trần Duy Hùng

Sinh viên thực hiện: Đỗ Thị Vân Anh – 17A03
Nguyễn Văn Lộc – 17A03
Lê Quỳnh Trang – 17A03

1


NỘI DUNG BÁO CÁO

01

Giới thiệu chung về chữ ký số

02


Sơ đồ chữ ký số ELGAMAL

Mật độ của sơ đồ chữ ký số ELGAMAL

03

Độ an toàn của hệ chữ ký ELGAMAL

04

2


I. Giới thiệu chung về chữ ký số



Thông thường chữ ký viết tay trên các văn bản, trên các tài liệu hay trên các hợp đồng kinh tế …vv.. thì được dùng để xác
nhận người ký nó.



Sơ đồ chữ ký (hay còn gọi là chữ ký số) là phương pháp ký một bức thư điện lưu dưới dạng điện tử. Chẳng hạn một bức thư
điện có chữ ký được truyền trên mạng máy tính.



Một sơ đồ chữ ký số thường chứa hai thành phần:




Thuật toán ký.



Thuật toán xác minh.

3


I. Giới thiệu chung về chữ ký số



Định nghĩa hình thức của chữ ký số:



Một sơ đồ chữ ký số là bộ 5 ( P, A, K, S, V ) thỏa mãn các điều kiện sau:

 P: là tập hữu hạn các bức điện có thể.
 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, mỗi khóa K∈ K gồm có 2 phần K= ( K’, K’’) , với K’ là bí mật và K’’ là công
khai

 Với mọi K=(K’,K’’) tồn tại một thuật toán ký Sigk ∈S và một thuật toán kiểm thử Verk ∈ V .

4



I. Giới thiệu chung về chữ ký số

 Mỗi SigK: P -> A và VerK:P x A ->{TRUE ,FALSE } là những hàm sao cho mỗi bức điện x ∈P và mỗi bức
điện y ∈ A thoả mãn phương trình sau đây:

TRUE nếu y = Sig(x)

Ver (x,y) =
FALSE nếu y # Sig(x)

 Với mọi K ∈ K , hàm SigK và VerK là các hàm thời gian đa thức. Verk sẽ là hàm công khai còn Sigk là hàm mật. Ta gọi
Alice là người gửi còn Bob là người nhận. Không thể dễ dàng tính toán để giả mạo chữ ký của Bob trên bức điện x.
Nghĩa là với x cho trước, chỉ có Bob mới có thể tính được chữ ký y để Ver (x,y) = TRUE.

5


II. Sơ đồ chữ ký số ELGAMAL



Sơ đồ Elgamal được thiết kế với mục đích dùng riêng cho chữ ký số, điểm mạnh của nó là cùng số nguyên tố p trong
cùng một sơ đồ thì với k ngẫu nhiên nên ta có thể có nhiều chữ ký số, không nhất định giống như hệ thống mã khóa
công khai.

 Elgamal, ở sơ đồ chữ ký RSA ta chỉ thấy trên cùng một sơ đồ với cùng một số nguyên tố p thì ta chỉ có một chữ ký số.
Điều này có nghĩ là nhiều chữ ký hợp lệ trên bức điện cho trước bất kì. Thuật toán xác minh phải có khả năng chấp
nhận bất kỳ chữ ký hợp lệ nào khi xác thực chữ ký đó.

6



II. Sơ đồ chữ ký số ELGAMALl

 Định nghĩa:


k
-1
Sigk(x,k) = (γ,δ). Trong đó γ = α mod p và δ = (x-a γ)k mod (p-1).



Với x, γ ∈Zp* và δ ∈Zp-1 ta định nghĩa




γ δ x
Ver(x,y,δ) = True ↔ β γ ≡α (mod p).

γ δ
aγ kδ
x
Nếu chữ ký được thiết lập đúng thì xác minh sẽ thành công vì : β γ ≡ α α (mod p) ≡ α (mod p ).



Ở đây ta dùng hệ thức: a γ + k δ ≡ x (mod p-1).
7



II. Sơ đồ chữ ký số ELGAMALl



Ở đây ta dùng hệ thức:

a γ + k δ ≡ x (mod p-1).



Bob tính chữ ký bằng cách dùng cả giá trị mật a (là một phần của khoá ) lẫn số ngẫu nhiên mật k ( dùng để ký
lên bức điện x ). Việc xác minh có thể thực hiện duy nhất bằng thông tin công khai.

8


II. Sơ đồ chữ ký số ELGAMALl

Ta xét một ví dụ sau:



Giả sử : Cho p =467 , α=2 , a=127 khi đó:
a
127
β = α mod p = 2
mod 467 = 132.




Nếu Bob muốn ký lên bức điện x = 100 và chọn số ngẫu nhiên k = 213.

-1
Chú ý : USCLN(213,466) =1 và (213 )mod466 =431.



213
Khi đó : γ = 2
mod 467 =29 và δ = (100 – 127 × 29 ) 431 mod 466 = 51



Bất kì ai cũng có thể xác minh chữ ký này bằng cách kiểm tra :
29 51
100
132 29 = 189 (mod 467 ) và 2
= 189 (mod 467 )

=> Vì thế chữ ký là hợp lệ.
9


III. Độ Mật Của Sơ Đồ Chữ Ký ELGAMAL



Giả sử, Oscar thử giả mạo chữ ký trên bức điện x cho trước mà không biết a. Nếu Oscar chọn γ và sau đó thử tìm giá trị

x -γ
δ tương ứng. Anh ta phải tính Logarithm rời rạc Logγα β Mặt khác, nếu đầu tiên anh ta chọn δ và sau đó thử tìm γ và
thử giải phương trình:

γ δ
x
β γ ≡ α ( mod p )



Để tìm γ. Đây là bài toán chưa có lời giải nào, tuy nhiên, dường như nó chưa được gắn với đến bài toán đã nghiên cứu
kỹ nào nên vẫn còn khả năng có cách nào đó để tính δ và γ đồng thời để (δ , γ ) là một chữ ký. Hiện thời không ai tìm
được cách giải song cũng không ai khẳng định được rằng nó không thể giải được.

10


III. Độ Mật Của Sơ Đồ Chữ Ký ELGAMAL



Nếu Oscar chọn γ và δ và sau đó thử giải tìm x, anh ta sẽ phải đối mặt với bài toán Logarithm rời rạc, tức bài toán tính
γ δ
Logαβ γ . Vì thế Oscar không thể ký một bức điện ngẫu nhiên bằng biện pháp này.



Cuối cùng, ta sẽ nêu cách có thể phá được sơ đồ này nếu không áp dụng nó một cách cẩn thận. Trước hết, giá trị k
ngẫu nhiên đựợc dùng để tính chữ ký phải được giữ kín không được để lộ. Vì nếu k bị lộ, khá đơn giản để tính:


a = (x-k γ )δ

-1

mod ( p –1 ).

11


III. Độ Mật Của Sơ Đồ Chữ Ký ELGAMAL



Dĩ nhiên, một khi a bị lộ thì hệ thống bị phá và Oscar có thể dễ dàng giả mạo chữ ký.



Một kiểu dùng sai sơ đồ nữa là dùng cùng giá trị k để ký hai bức điện khác nhau. Điều này cũng tạo thuận lợi cho Oscar
tính a và phá hệ thống. Sau đây là cách thực hiện. Giả sử ( γ,δ1 ) là chữ ký trên x1 và

( γ,δ2 ) là chữ ký trên x2.



Khi đó ta có:

γ δ1
x1
γ δ2
x2

β γ
≡ α (mod p) và β γ
≡ α (mod p)



Như vậy:

α

x1 ..x2

≡γ

δ1δ2

(mod p).
12


III. Độ Mật Của Sơ Đồ Chữ Ký ELGAMAL



Khi đó ta có:

γ δ1
x1
γ δ2
x2

β γ ≡ α (mod p) và β γ ≡ α (mod p)
=> Như vậy: α



x1 ..x2

≡γ

δ1δ2

(mod p).

k
Nếu viết γ = α ta nhận được phương trình tìm k chưa biết sau:

α

x1 ..x2

≡α

k( δ1- δ2)

( mod p )

tương đương với phương trình:

x1 - x2 ≡ k (δ1-δ2) (mod p-1).




Bây giờ giả sử : d = USCLN (δ1-δ2 ,p –1).
Vì: d | ( p –1) và d | (δ1-δ2 ) nên suy ra d | (x1-x2).



Ta định nghĩa:

x’ = (x1-x2 )/d;

δ’ = ( δ1-δ2 ) / d;

p’ = ( p-1 ) / d

13


III. Độ Mật Của Sơ Đồ Chữ Ký ELGAMAL



Khi đó đồng dư thức trở thành:

x’ ≡ k δ’ ( mod p’ )



Vì USCLN (δ’,p’ ) =1, nên ta có thể tính:


ε = ( δ’ ) –1 mod p’.



Khi đó giá trị k xác định theo modulo p sẽ là :

k = x’ ε mod p’



Phương trình này cho d giá trị có thể của k:

k = x’ ε + i p’ mod p



Với i nào đó, 0 ≤ i ≤ d-1. Trong đó d giá trị có thể này có thể xác định được một giá trị đúng duy nhất qua việc kiểm tra
điều kiện:

k
γ ≡ α ( mod p )

14


IV.Độ An Toàn Của Hệ Chữ Ký ELGAMAL

15



IV.Độ An Toàn Của Hệ Chữ Ký ELGAMAL
Ta xét ví dụ:

thử
16


IV.Độ An Toàn Của Hệ Chữ Ký ELGAMAL

17


IV.Độ An Toàn Của Hệ Chữ Ký ELGAMAL



Như vậy với cả hai cách giả mạo trên đều cho chữ ký đúng trên tài liệu tương ứng, nhưng đó
không phải tài liệu được chọn theo ý của người giả mạo. Tài liệu đó đều được tính sau khi
tính chữ ký, vì vậy giả mạo loại này trong thực tế cũng không có ý nghĩa gì nhiều.

18


THANKS FOR WATCHING

19




×