Phát triển thuật toán mật mã khóa công khai dựa trên hệ mật Elgamal - Trường Đại Học Quốc Tế Hồng Bàng

5 12 0
Phát triển thuật toán mật mã khóa công khai dựa trên hệ mật Elgamal - Trường Đại Học Quốc Tế Hồng Bàng

Đang tải... (xem toàn văn)

Thông tin tài liệu

PHÁT TRIỂN THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI DỰA TRÊN HỆ MẬT ELGAMAL.. 1..[r]

(1)

Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số (28), tháng 12/2012

22 Abstract: This paper proposed a new public key cryptographic algorithm based on the ElGamal cryptosystem This algorithm has the capacity of information security and anthentication information The paper also offers analysis on the safety of the proposed schemes, has shown the ability to apply it in practice.

I. ĐẶT VẤN ĐỀ

Trong thực tế, nhiều ứng dụng địi hỏi việc bảo mật thơng tin cần phải thực đồng thời với việc xác thực nguồn gốc tính tồn vẹn thơng tin Nội dung báo đề xuất thuật tốn mật mã khóa công khai phát triển dựa hệ mật ElGamal [1] cho phép giải tốt yêu cầu nêu

II. PHÁT TRIỂN THUẬT TOÁN MẬT MÃ KHĨA CƠNG KHAI DỰA TRÊN HỆ MẬT ELGAMAL

1 Hệ mật Elgamal

Hệ mật Elgama đề xuất vào năm 1984 sở tốn logarith rời rạc Sau đó, chuẩn chữ ký số DSS [2] Mỹ GOST R34.10-94

[3] Liên bang Nga phát triển

sở thuật toán chữ ký số hệ mật

1.1 Thut tốn hình thành tham s khóa

Các thành viên hệ thống muốn trao đổi thơng tin mật với thuật tốn mật mã Elgamma trước tiên thực trình hình thành khóa sau:

1- Chọn số ngun tố đủ lớn p cho toán logarit Zp khó giải

2- Chọn gZ*p phần tử nguyên thủy 3- Chọn khóa mật x số ngẫu nhiên cho:

p x< <

1 Tính khóa cơng khai y theo cơng

thức: y= gxmodp

1.2 Thut toán mã hóa

Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Khi đó, để gửi tin M cho B, với:

p M < ≤

0 , người gửi A thực bước sau:

1- Chọn số ngẫu nhiên k thỏa mãn: p

k < <

1 Tính giá trịR theo cơng thức: R= gk modp

2- Sử dụng khóa cơng khai B để tính: C =M×(yB)kmodp

3- Gửi mã gồm (C,R) đến người nhận B

1.3 Thut tốn gii mã

Để khơi phục tin ban đầu (M) từ mã (C,R) nhận được, người nhận B thực bước sau:

1- Tính giá trị Z theo cơng thức: Z = RxB modp=gk.xB modp 2- Tính gía trị nghịch đảo Z:

Z−1=(gk.xB)−1modp=gk.xBmodp 3- Khôi phục tin ban đầu (M):

M =C×Z−1modp

1.4 Tính đúng đắn ca thut toán mt mã Elgamal

Giả sử tin nhận sau trình giải mã (C,R) M , thì:

PHÁT TRIỂN THUẬT TỐN MẬT MÃ KHĨA CƠNG KHAI DỰA TRÊN HỆ MẬT ELGAMAL

DEVELOPMENT OF PUBLIC KEY CRYPTOGRAPHIC ALGORITHM BASED ON ELGAMAL CRYPTOSYSTEM

(2)

Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số (28), tháng 12/2012

M

p g

g M

p p

g p y

M

p Z

C M

B B

B

x k x k

x k k

B

=

× × =

× ×

=

= ×

=

− −

mod

mod )] mod (

) mod ) ( [(

mod

Như vậy, tin nhận sau giải mã (M ) tin ban đầu (M)

1.5 Mc độ an toàn ca h mt ElGamal

Hệ mật ElGamal bị phá vỡ khóa mật x k tính Để tính x k, cần phải giải hai toán logarit rời rạc, chẳng hạn: y= gxmodp hay: R= gk modp

Tuy nhiên, việc giải tốn logarit rời rạc việc khó [4]

Một điểm yếu bị cơng hệ mã ElGamal giá trịk bị sử dụng lại Thực vậy, giả sử giá trịkđược sử dụng để mã hóa hai tin M M* mã tương ứng (C,R) (C*,R*) Khi ta có:

p g

M g

M C C

k x k

x

mod ) ) ( ( ) (

) (

1 *

1 *

− −

× × ×

≡ ×

Suy ra:

MC×(C*)−1 ≡Mmodp

Nghĩa là, cần biết nội dung hai tin M M* dễ dàng biết nội dung tin

Một vấn đề đặt không với hệ

ElGamal nói riêng mà với hệ mật khóa cơng khai nói chung là: Giả sử người gửi A mã hóa tin Mđược mã C gửi C cho người nhận B Sẽ có tình xảy sau:

- Người nhận B biết chắn tin nhận (M) có nguồn gốc từ người gửi A - Giả sử mã C bị thay đổi thành C*

người nhận giải mã tin M* Trường hợp này, người nhận khẳng định nội

dung tin nhận (M*) bị thay đổi hay khơng

Thuật tốn mật mã đề xuất báo phát triển sở hệ mật ElGamal

là giải pháp cho vấn đề nêu

2 Thut toán mt mã khóa cơng khai da h mt Elgamal

2.1 Thut tốn hình thành tham s khóa

1- Phát sinh cặp số nguyên tố p q đủ lớn và:

) ( | p

q cho toán logarit p

Z khó giải

2- Chọn g (p−1)/qmodp

=α ,là phần tử sinh có bậc q nhóm Zp*, nghĩa là: 1<g < p và:

p

gq ≡1mod Ở đây: α số ngun thỏa mãn: 1<α <(p−1)

3- Khóa bí mật x giá trịđược chọn ngẫu nhiên khoảng: 1< x<q Khóa cơng khai yđược tính theo công thức:

y=gxmodp

4- Lựa chọn hàm băm (hash) H:{ } aZq

*

1 ,

0

(Ví dụ: SHA-1, MD5) 2.2 Thuật tốn mã hóa

Giả sử người gửi A, người nhận B Người gửi A có khóa bí mật xA khóa cơng khai yA Người nhận B có khóa bí mật xB khóa cơng khai yB Để gửi tin M cho B, A thực bước sau:

1- Chọn số ngẫu nhiên k thỏa mãn: 1<k <q 2- Tính giá trị R theo cơng thức:

R=gk modp (1) 3- Tính thành phần E theo công thức:

(3)

24Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số (28), tháng 12/2012

22 24 4- Tính thành phần S theo cơng thức:

S =[k+xA×E]modq (3)

5- Sử dụng khóa cơng khai B để tính thành phần C theo cơng thức:

C =M ×(yB)kmodp (4) 6- Gửi mã gồm (C,E,S) đến B

Tương tự thuật toán Elgamal, thuật toán mật mã đề xuất bị cơng sử dụng lại giá trị k Có thể khắc phục yếu điểm sử

dụng giá trị H(x||M) thay cho k, với H(.) hàm băm kháng va chạm (chẳng hạn SHA-1, MD5, ) “||” toán tử nối/xáo trộn xâu Khi thuật tốn mã hóa sẽđược mơ tả lại sau:

1- Tính giá trị R theo công thức:

R= gH(xA||M)modp 2- Tính thành phần E theo cơng thức: E= H(R||M)modq 3- Tính thành phần S theo cơng thức:

S =[H(xA||M)+xA×E]modq 4- Sử dụng khóa cơng khai yb của người nhận để

tính thành phần C theo cơng thức:

C=M×(yB)H(xA||M)modp 5- Gửi mã gồm (C,E,S) đến người nhận B 2.3 Thuật toán giải mã

Từ mã (C,E,S) nhận được, B khôi phục kiểm tra nguồn gốc tính tồn vẹn tin ban đầu (M) sau:

1- Tính giá trị R theo công thức:

R g yA E p

S

mod ) (

×

= (5)

2- Khôi phục tin ban đầu theo cơng thức: M =C×(R)xBmodp (6)

3- Tính thành phần E theo cơng thức: E =H(R ||M)modq (7) 4- Kiểm tra E =E M =M M

nguồn gốc từ người gửi A Chú ý:

Trường hợp sử dụng giá trị H(x||M) thay cho k, thuật toán giải mã giữ nguyên

2.4 Tính đúng đắn ca thut tốn mi đề xut

Tính đắn hệ mật đề xuất phù hợp thuật toán giải mã với thuật toán mã hóa

Điều cần chứng minh ởđây là:

Cho: p, q số nguyên tố độc lập, p

g =α(p−1)/qmod , g =α(p−1)/qmodp,

*

p Z

α , xA,xB∈[1,q−1], y g xA p

A mod

= ,

p g

y xB

A mod

= , H { } aZp

*

1 ,

: ,

p g

R= H(xA||M)mod , E=H(R||M)modq,

q E

x M x H

S=[ ( A|| )+ A× ]mod ,

p y

M

C= ×( B)H(xA||M)mod Nếu:

p y

g

R =( )S×( A)Emod , p R

C

M = ×( )xBmod , E =H(R ||M)modq

thì: M =M E = E Chứng minh:

Thật vậy, thay (3) vào (5) ta có:

p g

p g

g g

p g

g

p y

g R

k

E x E x k

E x E x k

E A S

A A

A A

mod

mod mod ) (

mod ) (

=

× ×

=

× =

× =

− ×

− × +

(8)

Từ (8) suy ra: R gk p

mod

(4)

Các cơng trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số (28), tháng 12/2012 M p g g M p p g p y M p R C M B B B B x k x k x k k B x = × × = × × × = × = − mod mod } mod ) ( mod ) ( { mod ) ( (10)

Từ (8) suy ra:

R =R (11) Thay (10) (11) vào (7) ta được:

E q M R H q M R H E = = = mod ) || ( mod ) || (

Đây điều cần chứng minh

2.5 Mc độ an tồn ca thut tốn mi đề xut

Mức độ an tồn thuật tốn đề xuất

đánh giá bằng:

1) Khả chống thám mã

2) Khả chống giả mạo nguồn gốc nội dung tin

Về khả chống thám mã, thấy mức độ an tồn thuật tốn mật mã đề xuất hoàn toàn tương đương với thuật toán Elgamal Hệ mật bị phá vỡ khóa mật x tính

được từ việc giải toán logarit rời rạc: p

g y= −xmod

hay từ:

S =[H(x||M)+x×E]modq

Khả chống giả mạo nguồn gốc nội dung tin của thuật toán mật mã đề xuất phụ thuộc vào mức độ khó việc tạo cặp

( * * *)

,

,E S

C giả mạo thỏa mãn điều kiện kiểm tra thuật toán giải mã: E =E.Xét số trường hợp sau:

- Trường hợp thứ nhất: Giả mạo nội dung nguồn gốc tin, tin nhận

( * * *)

,

,E S

C có thành phần giả mạo Rõ ràng là, để công nhận hợp lệ cặp

( *, *, *)

S E

C giả mạo cần phải thỏa mãn:

E H g yA E p M q S mod ) || ) mod ) ( (( * * * ∗ × =

với:

M C g y E p xB p

A S mod ] ) mod ) ( ( [ × ∗ × ∗ = ∗ ∗

- Trường hợp thứ hai: Giả mạo nguồn gốc không giả mạo nội dung, trường hợp mã nhận (C,E*,S*) có cặp

( * *)

,S

E giả mạo, việc giả mạo

thành công (C,E*,S*)thỏa mãn:

E* =H((gS*×(yA)E*modp)||M)modq với:

M C g y E p xB p

A S mod ] ) mod ) ( ( [ × ∗× ∗ =

- Trường hợp thứ ba: Giả mạo nội dung không giả mạo nguồn gốc, trường hợp mã nhận (C∗,E,S)

chỉ có thành phần C∗ giả mạo, việc giả mạo sẽđược chấp nhận điều kiện sauthỏa mãn:

E H g yA E p M q S mod ) || ) mod ) ( (( × ∗ =

với:

M C g y E p xB p

A S mod ] ) mod ) ( ( [ × × = ∗ ∗

Cần ý trường hợp trên, biểu thức tính M M* xB khóa bí mật người nhận mà kẻ giả mạo Mặt khác, với việc sử dụng H(.) hàm băm có tính kháng va chạm việc tìm cặp (C*,E*,S*) giả mạo khó thực

III.KẾT LUẬN

Bài báo đề xuất thuật toán mật mã khóa cơng khai phát triển dựa hệ mật ElGamal có khả đồng thời:

1) Bảo mật thông tin

(5)

26Các công trình nghiên cứu, phát triển ứng dụng CNTT-TT Tập V-1, Số (28), tháng 12/2012

22 26 3) Xác thực tính tồn vẹn thơng tin

Hơn nữa, mã tạo thuật toán đề xuất bao gồm thành phần (C,E,S) độ dài khơng lớn độ dài mã thành phần (C,R) mà thuật toán ElGamal tạo Giả sử |p| = 512 bit, |q| = 160 bit độ dài mã thuật toán ElGamal tạo là: |C| + |R| = 512 bit + 512 bit = 1024 bit Trong đó, mã với khả xác thực nguồn gốc tính tồn vẹn nội dung tin thuật toán đề xuất tạo có độ dài: |C| + |E| + |S| = 512 bit + 160 bit + 160 bit = 832 bit

Những phân tích mức độ an toàn cho thấy khả

năng ứng dụng thuật tốn đề xuất hồn tồn thực tế

TÀI LIỆU THAM KHẢO

[1] T ElGamal A public key cryptosystem and a signature scheme based on discrete logarithms IEEE Transactions on Information Theory 1985, Vol IT-31, No pp.469–472

[2] National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, U.S Department of Commerce,1994

SƠ LƯỢC VỀ TÁC GIẢ

LƯU HỒNG DŨNG

Sinh năm 1966 Hưng Yên

Tốt nghiệp đại học ngành Vô tuyến Điện tử Học viện Kỹ thuật Quân năm 1989

Hiện công tác khoa CNTT- Học viện KTQS

Hướng nghiên cứu: An tồn bảo mật thơng tin Email: luuhongdung@gmail.com

[3] GOST R 34.10-94 Russian Federation Standard Information Technology Cryptographic data Security Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm Government Committee of the Russia for Standards, 1994 (in Russian)

[4] D.R Stinson, Cryptography: Theory and Practice, CRC Press 1995

Ngày đăng: 01/04/2021, 15:52

Tài liệu cùng người dùng

Tài liệu liên quan