Phát triển một số thuật toán mật mã khóa công khai - Trường Đại Học Quốc Tế Hồng Bàng

7 11 0
Phát triển một số thuật toán mật mã khóa công khai - 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

Adleman, A Method for Obtaining Digital Signatures and Public Key Cryptosystems / Commun.. of the ACM, Vol.[r]

(1)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012

Phát triển số thuật tốn mật mã khóa cơng khai

Development of some public key cryptographic algorithms

Lưu Hồng Dũng1, Trần Trung Dũng2, Vũ Tất Thắng3

luuhongdung@gmail.com, ttdung@ictu.edu.vn, vtthang@ioit.ac.vn

1 Khoa Công ngh

ệ Thông tin – Học viện Kỹ thuật Quân sự

Đại học CNTT Truyền thông – Đại học Thái Nguyên 3 Vi

ện Công nghệ Thông tin – Viện Khoa học Công nghệ Việt nam

Tóm ttBài báo đề xut mt s thut tốn mt mã khóa cơng khai được phát trin t h mt ElGamal Ưu đim ca thut toán mi đề xut cho phép bo mt xác thc thông tin mt cách đồng thi Hơn na, mc độ an toàn ca thut tốn mi đề xut khơng nh hơn mc độ an tồn ca thut tốn ElGamal

T khoáa: Public Key Cryptosystem, SignCryption

Algorithm, Digital Signature, Hash Function I ĐẶTVẤNĐỀ

Thuật toán mật mã RSA [1] ElGamal [2] thuật tốn mật mã khóa cơng khai biết đến sử dụng phổ biến thực tế Nhược điểm thuật toán khơng có chế xác thực thơng tin bảo mật (nguồn gốc, tính tồn vẹn), khơng có khả chống lại số dạng cơng giả mạo thực tế Đã có số kết đạt từ việc phát triển thuật toán nhằm khắc phục yếu điểm nói Trong

[3]đề xuất thuật toán cải tiển từ ElGamal việc sử dụng chữ ký sốđể tạo chế xác thực nguồn gốc tính tồn vẹn cho thông tin (bản tin, thông điệp liệu, ) bảo mật Đặc điểm thuật toán chữ ký sốđược hình thành trực tiếp từ rõ nên phù hợp với ứng dụng mà tin truyền trực tiếp đối tượng gửi/mã hóa nhận/giải mã Do đặc điểm trên, bị hạn chế số tình ứng dụng tin mật truyền từ người gửi/mã hóa đến người nhận/giải mã phải chuyển tiếp qua số khâu trung gian, mà ởđó cần phải xác thực nguồn gốc tính tồn vẹn trước gửi đến khâu trung gian khác hay đến đối tượng nhận Vấn đề chỗ, khâu trung gian không phép biết nội dung tin, để xác thực nguồn gốc tính tồn vẹn tin cần phải giải mã, nghĩa thông tin bị lộở khâu trung gian mà lẽ không phép Thuật toán thứ đề xuất ởđây cho phép khắc phục nhược điểm nói thuật tốn [3] nhờ việc hình thành chữ ký số từ mã khơng phải từ rõ Do đó, với thuật toán đề xuất việc giải mã tin bảo mật không cần thiết phải xác thực nguồn gốc tính tồn vẹn khâu trung gian Bốn thuật toán phát triển từ thuật toán ElGamal nhằm bảo đảm khả xác thực nguồn gốc không xác thực tính tồn vẹn tin đề xuất ởđây

II PHÁTTRIỂNMỘTSỐTHUẬTTỐNMẬTMÃ KHĨACƠNGKHAI

A. Các thuật toán sở

Các thuật toán sởởđây bao gồm thuật tốn mật mã khóa cơng khai El Gamal thuật toán chữ ký số DSA Thuật toán mật mã Elgama đề xuất vào năm 1985, thuật toán xây dựng sở toán logarith rời rạc sử dụng Cơ quan An ninh Quốc gia Mỹ - NSA (National Security Agency) Thuật toán chữ ký số DSA (Digital Signature Algorithm) phát triển từ thuật toán chữ ký số ElGamal DSA NSA đề xuất NIST (National Institute of Standards and Technology) công nhận làm chuẩn chữ ký số Mỹ từ năm 1994 [4].Các thuật toán sử dụng để phát triển số thuật toán mật mã có khả bảo mật xác thực thơng tin cách đồng thời

1) Thuật tốn mật mã ElGamal

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ã Elgamal trước tiên thực q trình hình thành khóa sau:

• Chọn số nguyên tốđủ lớn p cho toán logarit Zp khó giải

• Chọn phần tử sinh g nhóm ∗

p

Z

• Chọn khóa mật x số ngun thỏa mãn: ( 1)

1< x< p− Tính khóa công khai y theo công thức: y=gxmodp

Giả sử người gửi/mã hóa A, người nhận/giải mã B Người A có khóa bí mật xA khóa cơng khai yA Người

B có khóa bí mật xB khóa cơng khai yB Khi đó, để

gửi tin M cho B, với: 0≤M < p, người gửi A thực bước sau:

• Chọn số ngẫu nhiên k thỏa mãn: 1<k<(p−1); • Tính giá trịR theo cơng thức:

p g

(2)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012

• Sử dụng khóa cơng khai B để tính: p y

M

C = ×( B)k mod

• Gửi mã (C,R) đến người nhận B

Để 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:

• Tính giá trị Z theo cơng thức: p R

Z = −1mod • Khơi phục tin ban đầu (M):

( )Z p C

M = × xB mod 2) Thuật tốn chữ ký số DSA

Thủ tục hình thành tham số khóa bao gồm bước thực sau:

• Chọn cặp số nguyên tố p q cho tốn logarit Zp khó giải thỏa mãn:

) 1 ( | p

q ;

• Chọn g=h(p−1)/qmodp phần tử sinh có bậc q nhóm ∗

p

Z , nghĩa là: 1<g< p và: p

gq ≡1mod Ở đây: h số nguyên thỏa mãn: 1<h< p;

• Khóa bí mật x giá trị chọn khoảng: 1<x<q

• Khóa cơng khai y tính theo cơng thức: p

g

y= xmod

Thủ tục hình thành chữ ký lên tin M bao gồm bước sau:

• Chọn giá trịk thỏa mãn: 1<k<q

• Tính thành phần thứ R chữ ký theo công thức:

R=(gkmodp)modq

• Thành phần thứ hai S chữ ký tính theo cơng thức:

(H M x R) q k

S= −1× ( )+ × mod ,

Với: |q| = 160 bit, hàm băm H(.) chọn SHA-1

Thủ tục kiểm tra tính hợp lệ chữ ký bao gồm bước sau:

• Tính giá trị: W =S−1modq: • Tính giá trị: U =W.H( )M modq • Tính giá trị: V =W.Rmodq

• Kiểm tra R=(gU ×yV modp)modq thì chữ ký (R,S) hợp lệ, nguồn gốc tính tồn vẹn tin M cơng nhận

B. Thuật tốn mật mã khóa cơng khai phát triển dựa hệ mật ElGamal DSA

1) Thuật toán thứ

Thuật toán thứ đề xuất phát triển từ việc kết hợp thuật toán mật mã El Gamal thuật tốn chữ sơ DSA nhằm bảo đảm khả bảo mật xác thực thông tin Ởđây thông tin xác thực đồng thời nguồn gốc tính tồn vẹn

a) Thủ tục hình thành tham số khóa

Thủ tục hình thành tham số khóa hồn tồn tương tự nhưở thuật tốn DSA, bao gồm bước sau:

• Chọn cặp số nguyên tố p q cho toán logarit Zp khó giải thỏa mãn:

) 1 ( | p

q ;

• Chọn g h(p−1)/qmodp

= phần tử sinh có bậc q nhóm Zp, với h số nguyên thỏa mãn:

p h< <

1 ;

• Khóa bí mật x giá trị chọn khoảng: 1<x<q Khóa cơng khai y tính theo cơng thức: y=gxmodp;

• Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority)đáng tin cậy

b) Thủ tục mã hóa

Giả sử người gửi/mã hóa A, người nhận/giải mã 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, với: 0≤M < p, A thực bước sau:

• Chọn giá trịkA thỏa mãn: 1<kA <q khơng lặp

lại

• Sử dụng khóa cơng khai B để mã hóa M theo công thức:

(y ) p

M

C kA

B mod

×

= ,

• Tính thành phần R theo cơng thức:

(g p) q

(3)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012

( )k (C x R) q S= A 1ì + Aì mod , ã Gi bn mó gm (C,R,S)đến B

c) Thủ tục giải mã

Từ mã (C,R,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:

• Tính giá trị nghịch đảo S: q S

w= −1mod

• Tính giá trịu theo cơng thức: (C w) q

u= ì mod ,

ã Tính giá trịv theo cơng thức: (R w) q

v= ì mod ,

ã Tớnh giỏ tr R theo công thức: ( )g ( )y p

R A v

u mod

×

= ,

• Tính giá trị M theo cơng thức:

( )R p C

M xB mod

×

= ,

• Tính giá trị Rtheo cơng thức:

( )R q

R = mod ,

• So sánh R với R, R =R M =M tin nhận (C,R,S) có nguồn gốc từ đối tượng gửi A

d) Tính đắn thuật toán đề xuất

Điều cần chứng minh ởđây là: Cho: p, q số nguyên tố phân biệt thỏa mãn:

) 1 ( | p

q , 1<h< p, p

h

g = (p−1)/qmod

, 1< xA,xB <q, p

g

y xA

A = mod ,y g B p x

B = mod , 1<kA <q,

(y ) p

M

C kA

B mod

×

= , R=(gkA modp)modq,

( )k (C x R) q S = A −1× + A× mod Νếu:

q S

w= −1mod

,

(C w) q

u= × mod , v=(R×w)modq, ( )g ( )y p

R= u× A vmod , M C ( )R xB p mod − ×

= ,

( )R q

R = mod Thì : M =M R =R Chứng minh:

Thật vậy, ta có:

( )

( )

( ) ( )

( )

( ) ( )

(g y ) p

p y

g

p y

g R

S R A S C

w R A w C

v A u

mod mod mod )

(

1

1 −

− ×

×

× ×

× =

× =

× =

Mặt khác, từ:

( )k (C x R) q

S A A mod

1

× + ×

= − ,

Suy ra:

(C x R) q S

kA = −1× + A× mod

Nên:

( ) ( )

( ) ( )

( ) ( )

( )y p

g

p p

g p g

p g

g

p g

p g

S R A S C

S R x S

C

S R x S

C

R x C S k

A A

A A

mod

mod mod

mod

mod mod mod

1

1

1

1

− −

− −

− −

× ×

× ×

× × ×

× + ×

× =

   

 

× =

× =

=

Từđây suy ra:

(4)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thơng- Hà Nội, 03-04/12/2012

Do đó:

( ) (( ) )

( )

( )

( )

( )

( )

( )

( ) (( ) )

( ) ( )

(M g g ) p M

p p

g p g

M

p p

g p g

M

p p

p g

p p

y M

p p

R p C

p R

C M

A B A B

A B A

B

B A A

B B A

A B B

k x k x

k x k

x

x k k

x x k

k B

x x

= ×

× =

× ×

=

× ×

= ×

× ×

=

× =

× =

× ×

× ×

− −

mod

mod mod

mod

mod mod

mod

mod mod

mod

mod mod

mod mod

mod

mod ) (

Và:

R =( )R modq=(gkA modp)modq=R Đây điều cần chứng minh

e) Mức độ an tồn thuật tốn đề xuất Mức độ an tồn thuật tốn đề xuất có thểđánh giá qua khả năng:

• Chống cơng làm lộ khóa mật • Chống thám mã

• Chống giả mạo nguồn gốc nội dung tin Có thể thấy rằng, thủ tục hình thành khóa thuật tốn đề xuất thuật tốn El Gamal, DSA thực chất Vì vậy, kết luận khả chống cơng làm lộ khóa mật thuật tốn đề xuất tương đương với khả chống công làm lộ khóa mật thuật tốn El Gamal DSA

Về khả chống thám mã, xét trường hợp cơng trực tiếp vào thuật tốn mã hóa:

(y ) p

M

C kA

B mod

×

= thuật toán giải mã:

( )R p C

M xB mod

×

= , cho thấy mức độ an tồn thuật tốn đề xuất thuật toán El Gamal tương đương

Ở thuật toán đề xuất, chế xác thực nguồn gốc tính tồn vẹn tin thiết lập sở thủ tục hình thành xác minh chữ ký số thuật tốn DSA Vì vậy, mức độ an tồn thuật toán đề xuất xét theo khả chống giả mạo nguồn gốc nội dung tin tương đương khả chống giả mạo chữ ký thuật toán DSA

2) Thuật toán thứ

Thuật toán thứ đề xuất ởđây phát triển từ thuật toán mật mã El Gamal Điểm khác biệt với thuật toán El Gamal chỗ thuật tốn đề xuất có chế xác thực nguồn gốc thông tin chiều thiết lập dựa việc sử dụng khóa cơng khai người nhận (yB)

thủ tục mã hóa khóa công khai người gửi (yA)

thủ tục giải mã

a) Thủ tục hình thành tham số khóa

• Chọn số ngun tố lớn p cho tốn logarit Zp khó giải

• Chọn g phần tử sinh ∗

p

Z

• Chọn khóa mật x số nguyên thỏa mãn:

( 1)

1< x< p

• Tính khóa cơng khai y theo công thức: p

g

y= xmod

• Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority)đáng tin cậy

b) Thủ tục 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: 0≤M < p, A thực bước sau:

• Chọn số ngẫu nhiên kA thỏa mãn:

) 1 (

1<kA < p− Tính giá trịR theo công thức:

p g

R= kA mod

• Sử dụng khóa cơng khai B để tính: p y

M

C kA xA

B) mod

( +

ì

=

ã Gi bn mã gồm (C,R) đến người nhận B c) Thủ tục giải 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:

• Tính giá trịZ theo công thức:

(R y ) p

Z A mod

1

− ×

=

• Khơi phục tin ban đầu (M): ( )Z p C

M = × xB mod d) Tính đắn thuật tốn đề xuất

Điều cần chứng minh ởđây là: cho p số nguyên tố, g phần tử sinh Zp∗ , 1<xA,xB <(p−1) ,

p g

y xA

A = mod , y g p

B x

B = mod , ( 1)

(5)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012

(y ) p

M

C kA xA

B mod

+ ×

= , R=( )gkA modp N

ếu:

(R y ) p

Z A mod

1

− ×

= , M C ( )Z xB modp

×

= thì:

M M =

Chứng minh: Thật vậy, ta có:

( ) ( )

( )

( )

( )

( )

( )

( ) ( )

( )

( )

( ) ( ( ) )

( ) ( )

M p g

g M

p p

g p g

M

p p

p g

p g

p p

g M

p p

y R

p y

M

p Z

C M

B A A B A A

B A A B

A A

B A

A

A A B

B A A

B

x x k x x k

x x k x

x k

x x

k

x k x

x A

x k B

x

= ×

× =

× ×

=

= ×

×

× ×

=

= ×

×

× ×

=

= ×

=

+ − +

+ − +

− + −

+

mod

mod mod

mod

mod mod

mod mod

mod mod

mod mod

mod mod

1

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

Ở thuật tốn đề xuất, việc cơng trực tiếp vào thủ tục mã hóa khó khăn thuật tốn El Gamal, thuật tốn khóa bí mật ngắn hạn (kA) dài hạn

(xA) người gửi sử dụng để mã hóa tin

Do đó, việc thám mã giả mạo, xét trường hợp này, thực thành cơng khóa bí mật đồng thời bị lộ Từđây thấy rằng, mức độ an tồn thuật tốn đề xuất xét theo khả chống thám mã chống cơng làm lộ khóa mật khơng nhỏ mức độ an tồn thuật tốn El Gamal mức độ chống giả mạo nguồn gốc tin bảo mật lại cao thuật toán El Gamal

3) Thuật toán thứ

Thuật tốn thứ đề xuất ởđây có chế xác thực tương tự thuật toán thứ hai, có cách thức thực dạng giao thức (protocol) Ngoài ra, mã tạo thuật tốn có thành phần

a) Thủ tục hình thành tham số khóa

• Chọn số nguyên tố lớn p cho tốn logarit Zp khó giải

• Chọn g phần tử sinh Zp

• Chọn khóa mật x số ngun thỏa mãn:

( 1)

1< x< p

• Tính khóa cơng khai y theo cơng thức: p

g

y= xmod

• Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority)đáng tin cậy

b) Thủ tục 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 đó, thủ tục để

A gửi tin M cho B, với: 0≤M < p, bao gồm bước sau:

Bước 1: Đối tượng B thực hiện:

• Chọn giá trịkB thỏa mãn: 1<kB <(p−1)

• Tính giá trịRB theo cơng thức:

p g

R kB

B = mod

• Gửi giá trị RB cho đối tượng A

Bước 2: Đối tượng A thực hiện: • Mã hóa tin M theo cơng thức:

(R y ) p

M

C xA

B

B × mod

×

=

• Gửi mã C đến đối tượng nhận B c) Thủ tục giải mã

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

• Tính giá trị Z theo cơng thức:

( )y p

Z A mod

1

=

• Khơi phục tin ban đầu (M):

( )Z p

C

M = × kB+xB mod d) Tính đắn thuật toán đề xuất

Điều cần chứng minh ởđây là: cho p số nguyên tố, g phần tử sinh Zp∗ , 1<xA,xB <(p−1) ,

p g

y xA

A = mod , y g p

B x

B = mod , ( 1)

1<kB < p− , R ( )g B p

k B = mod

(R y ) p

M

C xA

B

B × mod

×

= Nếu:

( )y p

Z A mod

1

= , M =C×( )Z kB+xB modp thì: M

(6)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ( ) ) ( ) ( ) M p g g M p p g p g M p p p g p p g p g M p p y p y R M p Z C M A B B A B B A B B A B B B B A A B B B B A B B x x k x x k x x k x x k x k x x x k x k A x B B x k = × × = × × = = × × × × = = × × × × = = × = + − + + − + + − + − + mod mod mod mod mod mod mod mod mod mod mod mod mod mod 1

e) Mức độ an toàn thuật toán đề xuất

Ở thuật toán đề xuất, khả chống thám mã xét trường hợp cơng trực tiếp vào thủ tục mã hóa tương đương với thuật toán El Gamal, thủ tục giải mã thuật tốn đề xuất có khả chống thám mã cao so với thuật toán El Gamal việc sử dụng kết hợp đồng thời khóa bí mật ngắn hạn (kB) dài hạn (xB)

người nhận (B) 4) Thuật toán

Thuật toán thứ đề xuất ởđây có chế xác thực cách thức thực tương tự thuật toán thứ ba, có mức độ an tồn xét theo khả chống thám mã giả mạo cao thủ tục mã hóa sử dụng đồng thời khóa bí mật ngắn hạn dài hạn người gửi, thủ tục giải mã lại sử dụng đồng thời khóa bí mật ngắn hạn dài hạn người nhận Ở thuật toán thứ tư này, việc thám mã giả mạo thực thành cơng bị lộđồng thời khóa bí mật ngắn hạn dài hạn

a) Thủ tục hình thành tham số khóa

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

• Chọn g phần tử sinh Zp

• Chọn khóa mật x số nguyên thỏa mãn:

( 1)

1< x< p

• Tính khóa cơng khai y theo công thức: p

g

y= xmod

• Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority)đáng tin cậy

b) Thủ tục 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 đó, thủ tục để

A gửi tin M cho B, với: 0≤M < p, bao gồm bước sau:

Bước 1: Đối tượng B thực hiện:

• Chọn giá trịkB thỏa mãn: 1<kB <(p−1)

• Tính giá trịRB theo công thức:

p g

R kB

B = mod

• Gửi giá trị RB cho đối tượng A

Bước 2: Đối tượng A thực hiện:

• Chọn giá trịkA thỏa mãn: 1<kA <(p−1)

• Hình thành phần thứ mã theo công thức:

(R y ) p

M

C kA xA

B B mod + ì ì =

ã Hình thành phần thứ hai mã: R=gkAmodp

• Gửi mã (C,R) đến đối tượng nhận B c) Thủ tục giải mã

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

• Tính giá trị Z theo cơng thức:

(R y ) p

Z A mod

1

ì

=

ã Khụi phục tin ban đầu (M):

( )Z p

C

M = × kB+xB mod d) Tính đắn thuật tốn đề xuất

Điều cần chứng minh ởđây là: cho p số nguyên tố, g phần tử sinh Zp∗ , 1<xA,xB <(p−1) ,

p g

y xA

A = mod , y g p

B x

B = mod , ( 1)

,

1<kA kB < p− , R ( )gkB p

B = mod

(R y ) p

M

C kA xA

B

B mod

+ × ×

= , R=( )gkA modp

Nếu: Z (R yA) modp

− ×

= ,

( )Z p

C

M = × kB+xB mod thì:

M M = Chứng minh:

(7)

Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc Công nghệ thông tin truyền thông- Hà Nội, 03-04/12/2012

e) Mức độ an toàn thuật toán đề xuất

Ở thuật toán đề xuất, khóa bí mật ngắn hạn (kA) dài hạn (xA) người gửi (A) khóa bí mật

ngắn hạn (kB) dài hạn (xB) người nhận (B)

sử dụng kết hợp thủ tục mã hóa giải mã Vì vậy, mức độ an tồn thuật tốn đề xuất xét theo khả chống thám mã trường hợp công trực tiếp vào thủ tục mã hóa giải mã cao thuật toán El Gamal

5) Thuật toán thứ

Thuật toán thứ đề xuất xây dựng theo nguyên tắc tương tự thuật toán thứ

a) Thủ tục hình thành tham số khóa

• Chọn số ngun tố lớn p cho tốn logarit Zp khó giải

• Chọn g phần tử sinh Zp

• Chọn khóa mật x số nguyên thỏa mãn: ( 1)

1< x< p

• Tính khóa cơng khai y theo cơng thức: p

g yxmod

=

• Giữ bí mật: x; cơng khai: p, q, g, y Khóa cơng khai y cần phải chứng thực CA (Certificate Authority)đáng tin cậy

b) Thủ tục 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 đó, thủ tục để

A gửi tin M cho B, với: 0≤M < p, bao gồm bước sau:

Bước 1: Đối tượng B thực hiện:

• Chọn giá trịkB thỏa mãn: 1<kB <(p−1)

• Tính giá trịRB theo công thức:

p g

R kB

B = mod

• Gửi giá trị RB cho đối tượng A

Bước 2: Đối tượng A thực hiện:

• Chọn giá trịkA thỏa mãn: 1<kA <(p−1)

• Hình thành phần thứ mã theo công thức:

(R ) (y ) p M

C A kA

B x

B × mod

×

=

• Hình thành phần thứ hai mã: R=gkA modp

• Gửi mã (C,R) đến đối tượng nhận B c) Thủ tục giải mã

Từ mã nhận (C,R), người nhận B khôi phục lại tin ban đầu theo công thức:

( )R (y ) p C

M B kB

A x

mod

× ×

=

d) Tính đắn thuật tốn đề xuất

Điều cần chứng minh ởđây là: cho p số nguyên tố, g phần tử sinh ∗

p

Z , 1<xA,xB <(p−1) ,

p g

y xA

A mod

= , y g xB p

B mod

= ,

( 1)

,

1<kA kB < p− , R ( )gkB p

B = mod (R ) (y ) p

M

C A kA

B x

B × mod

×

= , R=( )gkA modp

Nếu: M C ( )R B ( )y kB p

A x

mod

× ×

= thì: M =M

Chứng minh: Thật vậy, ta có:

( ) ( )

( ) ( )

( )

( ) ( )

( ) ( )

( ) ( )

M

p g

g g

g M

p p

g p g

p g

p g

M

p y

R

p y

R M

p y

R C M

A B B A B A A B

B A

B A

A B

A B

B B

A A

B B

x k x k x k x k

k x

x k

k x

x k

k A x

k B x B

k A x

=

× ×

× ×

=

= ×

×

× ×

× =

= ×

×

× ×

× =

= ×

× =

− −

− −

mod mod mod

mod

mod mod

mod mod

mod

e) Mức độ an toàn thuật tốn đề xuất

Phân tích tương tự với thuật tốn thứ 4, thấy mức độ an tồn thuật tốn

III KẾTLUẬN

Bài 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, thuật toán bảo đảm đồng thời khả bảo mật xác thực nguồn gốc thông tin Hơn nữa, mức độ an tồn thuật tốn đề xuất ởđây khơng nhỏ mức độ an tồn thuật toán El Gamal xét theo khả chống thám mã công trực tiếp vào thủ tục mã hóa giải mã

TÀILIỆUTHAMKHẢO

[1] R L Rivest, A Shamir, and L M Adleman, A Method for Obtaining Digital Signatures and Public Key Cryptosystems / Commun of the ACM, Vol 21, No 2, 1978, pp 120-126

[2] 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

[3] Lưu Hồng Dũng, Nghiên cứu phát triển thuật tốn mật mã khóa cơng khai dựa hệ mật ElGamal, Chuyên san CNTT TT, Bộ Thông tin Truyền thông, số 8(28), 12-2012

[4] National Institute of Standards and Technology, NIST

Ngày đăng: 01/04/2021, 00:58

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

Tài liệu liên quan