1. Trang chủ
  2. » Công Nghệ Thông Tin

Phát triển thuật toán xác lập khóa cho các hệ mật mã khóa đối xứng

4 8 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 325,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài báo đề xuất xây dựng 2 dạng thuật toán xác lập khóa mới cho các hệ mật mã khóa đối xứng. Các thuật toán mới đề xuất có ưu điểm là việc thiết lập khóa được thực hiện chỉ sau một lần truyền thông tin thiết lập khóa. Hơn nữa, khóa bí mật còn được xác thực về nguồn gốc nên các thuật toán được đề xuất ở đây có thể chống lại các kiểu tấn công giả mạo rất hiệu quả. Mời các bạn cùng tham khảo!

Trang 1

Hoàng Văn ViӋt1, NguyӉn Ĉӭc Thөy2, Bùi ThӃ TruyӅn3, Lѭu Hӗng DNJng3

1Bӝ tѭ lӋnh Thông tin liên lҥc, 2Trѭӡng Cao ÿҷng Kinh tӃ - Kӻ thuұt TP Hӗ Chí Minh, 3Hӑc viӋn Kӻ thuұt Quân sӵ Email: viethv76@gmail.com, thuyphulam2013@gmail.com, buithetruyen@gmail.com, luuhongdung@gmail.com

Abstract — Bài báo ÿӅ xuҩt xây dӵng 2 dҥng thuұt toán xác lұp

khóa m ӟi cho các hӋ mұt mã khóa ÿӕi xӭng Các thuұt toán mӟi

ÿӅ xuҩt có ѭu ÿiӇm là viӋc thiӃt lұp khóa ÿѭӧc thӵc hiӋn chӍ sau

m ӝt lҫn truyӅn thông tin thiӃt lұp khóa Hѫn nӳa, khóa bí mұt

còn ÿѭӧc xác thӵc vӅ nguӗn gӕc nên các thuұt toán ÿѭӧc ÿӅ xuҩt

ӣ ÿây có thӇ chӕng lҥi các kiӇu tҩn công giҧ mҥo rҩt hiӋu quҧ

Bài báo cNJng trình bày các phân tích, ÿánh giá vӅ mӭc ÿӝ an toàn

c ӫa thuұt toán mӟi ÿӅ xuҩt, cho thҩy khҧ năng ӭng dөng cӫa nó

trong th ӵc tӃ

Keywords- Symmetrical Key Cryptography S ystem, Key

Establishment, Key Agreement Protocols, Key Exchange Protocol,

Key Transport Protocols

I ĈҺTVҨNĈӄ Trong lƭnh vӵc bҧo mұt thông tin, các hӋ mұt mã khóa ÿӕi

xӭng (Symmetrical Key Cryptography System) có ѭu thӃ lӟn

vӅ tӕc ÿӝ thӵc hiӋn so vӟi các hӋ mұt mã khóa công khai

(Public Key Cryptography System), vì vұy chúng thѭӡng ÿѭӧc

sӱ dөng ÿӇ mã hóa các khӕi dӳ liӋu có kích thѭӟc lӟn, ÿһc biӋt

là trong các giao dӏch trӵc tuyӃn

Trong các hӋ mұt mã khóa ÿӕi xӭng, viӋc thiӃt lұp mӝt

khóa chung (Key Establishment) cho cҧ bên gӱi/mã hóa và bên

nhұn/giҧi mã là mӝt vҩn ÿӅ rҩt quan trӑng, phӭc tҥp và thѭӡng

ÿѭӧc hiӋn bҵng: a) các giao thӭc thӓa thuұn khóa (Key

Agreement Protocols), ӣ ÿó mӛi bên tham gia sӁ tҥo ra thông

tin ÿӇ thӓa thuұn cho viӋc thiӃt lұp 1 khóa bí mұt dùng chung

rӗi trao ÿәi cho nhau, vì thӃ các giao thӭc thӓa thuұn khóa còn

ÿѭӧc gӑi là giao thӭc trao ÿәi khóa (Key Exchange Protocol)

mà giao thӭc ÿҫu tiên thuӝc loҥi này ÿѭӧc ÿӅ xuҩt bӣi W

Diffie và M Hellman vào năm 1976 và ÿѭӧc gӑi là giao thӭc

trao ÿәi khóa Diffie-Hellman (Diffie-Hellman Key Exchange

Protocol) [1]; b) các giao thӭc chuyӇn khóa (Key Transport

Protocols), trong ÿó khóa bí mұt ÿѭӧc sinh bӣi mӝt trong hai

ÿӕi tѭӧng gӱi hoһc nhұn, rӗi ÿѭӧc mã hóa và truyӅn ÿӃn ÿӕi

tѭӧng kia bҵng mӝt thuұt toán mұt mã khóa công khai nhѭ

RSA [2] hay ElGamal [3] Tuy nhiên, thӓa thuұn khóa bҵng

giao thӭc Diffie-Hellman hay viӋc sӱ dөng các thuұt toán mұt

mã khóa công khai nhѭ RSA hay ElGamal trong các giao thӭc

chuyӇn khóa ÿӅu có chung mӝt nhѭӧc ÿiӇm căn bҧn là không

có khҧ năng chӕng lҥi mӝt sӕ dҥng tҩn công giҧ mҥo nhѭ tҩn

công “kҿ ÿӭng giӳa” (Man-In-the-Middle Attack) [4-6], do

chúng không có cѫ chӃ xác thӵc bҧn tin khi nhұn ÿѭӧc Bài báo

ÿӅ xuҩt xây dӵng mӝt dҥng thuұt toán xác lұp khóa mӟi, ѭu

ÿiӇm cӫa các thuұt toán mӟi ÿӅ xuҩt là có khҧ năng xác thӵc vӅ

nguӗn gӕc cӫa khóa bí mұt ÿѭӧc tҥo ra, nên có thӇ chӕng ÿѭӧc

các kiӇu tҩn công giҧ mҥo ÿã biӃt trong thӵc tӃ Mһt khác, quá

trình thiӃt lұp khóa chung bҵng các thuұt toán này chӍ cҫn thӵc

hiӋn 1 lҫn truyӅn dӳ liӋu nên có thӇ sӁ phù hӧp vӟi các ӭng dөng ÿòi hӓi tӕc ÿӝ thӵc hiӋn cao

II PHÁTTRIӆNTHUҰTTOÁNXÁCLҰPKHÓAMӞI

CHOCÁCHӊMҰTKHÓAĈӔIXӬNG 2.1 Thuұt toán xác lұp khóa dҥng 1

2.1.1 Thӫ tөc hình thành các tham sӕ hӋ thӕng và khóa công khai

Thӫ tөc bao gӗm các bѭӟc nhѭ sau:

1 - Chӑn mӝt nhóm Zp vӟi p là mӝt sӕ nguyên tӕ lӟn sao

cho bài toán logarit trong ∗

p

Z là khó giҧi và g là phҫn tӱ sinh cӫa ∗

p

2 - Khóa riêng x cӫa các ÿӕi tѭӧng tham gia trao ÿәi khóa

ÿѭӧc FKӑn là mӝt sӕnguyên thӓa mãn: 1<x<(p−1)

3 - Khóa công khai tѭѫng ӭng y cӫa các ÿӕi tѭӧng tham gia trao ÿәi khóa ÿѭӧc tính theo công thӭc:

p g

y= xmod (1.1) 4- Công khai các giá trӏ: p, g, y Giӳ bí mұt: x

2.1.2 Thӫ tөc xác lұp khóa Giҧ sӱ các ÿӕi tѭӧng tham gia trao ÿәi khóa ӣ ÿây là A và

B Giҧ thiӃt các ÿӕi tѭӧng A và B cNJng ÿã thӕng nhҩt sӱ dөng mӝt thuұt toán mұt mã khóa ÿӕi xӭng (ví dө: DES, AES, ) ÿӇ

mã hóa thông tin (văn bҧn, tài liӋu, ) cҫn trao ÿәi vӟi nhau

Ĉӕi tѭӧng A có khóa riêng là x A, khóa công khai tѭѫng ӭng là

yA; ÿӕi tѭӧng B có khóa riêng là xB và khóa công khai cӫa B

là yB Khóa công khai cӫa A và B ÿѭӧc hình thành theo Thͯ

t ͭc hình thành các tham s͙ h͏ th͙ng và khóa công khai ӣ Mͭc 2.1 1 Ӣ ÿây yA và yB cҫn phҧi ÿѭӧc chӭng thӵc bӣi mӝt CA (Certificate Authority) ÿáng tin cұy Thuұt toán cho phép các

ÿӕi tѭӧng A và B thiӃt lұp mӝt khóa bí mұt chung K, bao gӗm

các bѭӟc nhѭ sau:

B ˱ͣc 1: chӍ thӵc hiӋn bӣi A

1 - Chӑn mӝt giá trӏ ngүu nhiên k thӓa mãn:

1<k< p− Tính giá trӏ R theo công thӭc:

R= A kmod (1.2)

2 - Gӱi R cho B

B ˱ͣc 2: ÿѭӧc thӵc hiӋn bӣi cҧ A và B

1 - A hình thành khóa bí mұt chung KAB theo công thӭc:

B

AB + 1 mod

= (1.3)

2 - B hình thành khóa bí mұt chung KBA theo công thӭc:

A

BA= × mod (1.4)



ISBN: 978-604-67-0635-9

Trang 2

Khóa bí mұt chung K cӫa A và B ӣ ÿây là:

BA

AB K K

Chú ý:

Có thӇ gia tăng tính ngүu nhiên cho khóa bí mұt chung

cӫa A và B bҵng cách sӱ dөng hàm băm (Hash function) H(.)

nhѭ sau:

) ( AB

K =

và:

) ( BA

K =

Khi ÿó khóa bí mұt chung cӫa A và B sӁ là:

B

K

Ӣ ÿây: K A là khóa bí mұt chung do bên A tҥo ra, còn KB

khóa bí mұt chung ÿѭӧc tҥo ra phía bên B

Ví dө: Giҧ sӱ A và B thӕng nhҩt sӱ dөng hӋ mã AES vӟi

khóa 128 bit hoһc 256 bit ÿӇ trao ÿәi thông tin mұt Khi ÿó, A

và B có thӇ sӱ dөng hàm băm MD 5 hoһc SHA-256 ÿӇ gia

tăng tính ngүu nhiên cho khóa mұt nhѭ sau:

) (

K = hoһc: K A =SHA−256(K AB)

và:

) (

K = hoһc: K B =SHA−256(K BA)

Nh ̵n xét:

Ӣ thuұt toán mӟi ÿӅ xuҩt, khóa bí mұt chung cӫa 2 ÿӕi

tѭӧng A và B là: K K K g k x A x B p

BA

=

=

tin A gӱi cho B là: R=g kmodp Nhѭ vұy, thông tin mà A

chuyӇn cho B không phҧi là khóa bí mұt nhѭ trong các giao

thӭc chuyӇn khóa (sӱ dөng mұt mã khóa công khai nhѭ RSA,

El Gamal, ) mà chӍ là thông tin ÿӇ thiӃt lұp khóa, tӯ ÿó B sӁ

tҥo nên khóa bí mұt chung cho mình Vì vұy, thuұt toán mӟi

ÿӅ xuҩt không phҧi là mӝt giao thӭc chuyӇn khóa ÿã ÿѭӧc biӃt

ÿӃn trong thӵc tӃ Mһt khác, thông tin dùng ÿӇ thiӃt lұp khóa

bí mұt chung ӣ ÿây chӍ ÿѭӧc tҥo ra bӣi 1 trong 2 bên và gӱi

cho bên kia mà không phҧi do cҧ 2 cùng tҥo ra rӗi trao ÿәi cho

nhau nhѭ ӣ các giao thӭc thӓa thuұn khóa kiӇu

Diffie-Hellman Tӯ ÿó cho thҩy thuұt toán ÿѭӧc ÿӅ xuҩt ӣ ÿây là mӝt

dҥng giao thӭc xác lұp khóa mӟi cho các hӋ mұt khóa ÿӕi

xӭng

2.1.3 Tính ÿúng ÿҳn cӫa thuұt toán mӟi ÿӅ xuҩt

ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p là sӕ nguyên tӕ và g

là phҫn tӱ sinh cӫa nhóm *

p

Z , 1<x A,x B<(p−1) ,

p

g

y x A

R= A kmod , K (y )(k )x A p

B

A

BA= × mod thì: K AB=K BA

Ch ͱng minh:

Thұt vұy, tӯ (1.1) và (1.3) ta có:

( )( )

p g

p p

g

p y

K

B A A

B

A

x x k x

k x

x k B

AB

mod mod

mod

mod

1

1

1

+ +

+

=

=

Mһt khác, tӯ (1.1), (1.2) và (1.4) ta lҥi có:

p p

g p g

p y

R K

B A B

A

B A

A

B

x x k x

x k

x x

x

x A BA

mod mod

mod

mod mod

mod

mod

1

1

+ +

=

=

×

=

×

=

(1.6)

Tӯ (1.5) và (1.6) suy ra ÿiӅu cҫn chӭng minh là:

BA

AB K

2.1.4 Mӭc ÿӝ an toàn cӫa thuұt toán mӟi ÿӅ xuҩt Mӭc ÿӝ an toàn cӫa thuұt toán mӟi ÿӅ xuҩt có thӇ ÿѭӧc ÿánh giá qua các khҧ năng nhѭ sau:

a) Kh ̫ năng ch͙ng ṱn công làm l͡ khóa bí m̵t

Tӯ (1.3) và (1.4) cho thҩy, mӝt ÿӕi tѭӧng thӭ 3 (kҿ tҩn công) muӕn tính ÿѭӧc khóa bí mұt chung (K) thì cҫn phҧi biӃt ÿѭӧc k

và xA hoһc xB nhӡ giҧi (1.1) và (1.2) ViӋc giҧi (1.1) và (1.2) thӵc chҩt là giҧi bài toán logarit rӡi rҥc - DLP (Discrete Logarithm Problem) [4-6] Nhѭ vұy, khҧ năng chӕng tҩn công làm lӝ khóa bí mұt chung cӫa thuұt toán mӟi ÿӅ xuҩt phө thuӝc vào mӭc ÿӝ khó cӫa bài toán logarit rӡi rҥc HiӋn tҥi, bài toán logarit rӡi rҥc vүn ÿѭӧc coi là bài toán khó nӃu tham sӕ p và các giá trӏ k, x A , x B ÿѭӧc chӑn ÿӫ lӟn ÿӇ tҩn công theo kiӇu

“vét cҥn” là không khҧ thi trong các ӭng dөng thӵc tӃ

b) Kh̫ năng ch͙ng ṱn công gi̫ m̩o

Giҧ sӱ C là kҿ tҩn công giҧ mҥo, vҩn ÿӅ ÿһt ra là C có thӇ mҥo danh A ÿӇ thiӃt lұp ÿѭӧc khóa bí mұt chung vӟi B hoһc

C mҥo danh B ÿӇ thiӃt lұp khóa bí mұt chung vӟi A bҵng thuұt toán mӟi ÿӅ xuҩt hay không?

Tr ˱ͥng hͫp thͱ nh̭t, C mҥo danh A ÿӇ thiӃt lұp khóa bí

mұt chung vӟi B Ĉҫu tiên C chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn: 1<k<p−1 và tính: R=g kmodp, rӗi gӱi R cho B Khi nhұn ÿѭӧc R, B sӁ tính khóa bí mұt chung vӟi A theo (1.4) và ÿѭӧc: ( )

p g

K k x A x B

tính khóa bí mұt chung vӟi B theo (1.3), nhѭng do không biӃt

x A, nên C phҧi chӑn ngүu nhiên 1 giá trӏ ngүu nhiên ∗

A

x ÿӇ

tính K AB, nên sӁ nhұn ÿѭӧc: ( )

p g

K k x A x B

+

A

x ≠∗ , nên: K ABK BA, nghƭa là C ÿã thҩt bҥi trong viӋc mҥo danh A ÿӇ thiӃt lұp khóa bí mұt chung vӟi B CNJng cҫn phҧi nhҩn mҥnh rҵng, viӋc lӵa chӑn ∗

A

x ÿӇ x =AxA ӣ ÿây ÿѭӧc loҥi trӯ, vì ÿiӅu ÿó xҧy ra cNJng ÿӗng nghƭa vӟi viӋc giҧi ÿѭӧc bài toán logarit rӡi rҥc

Tr ˱ͥng hͫp thͱ hai, C mҥo danh B ÿӇ thiӃt lұp khóa

chung vӟi A Khi ÿó, A sӁ chӑn k thӓa mãn: 1<k< p−1ÿӇ

tính R theo (1.2) rӗi gӱi cho B, mà thӵc chҩt ngѭӡi nhұn ӣ

ÿây là C Sau ÿó A sӁ tính khóa bí mұt chung K AB theo (1.3)

Do C mҥo danh B, nên A sӁ sӱ dөng khóa công khai cӫa B ÿӇ tính khóa bí mұt chung và nhұn ÿѭӧc:

g

K k x A x B

AB + 1 mod

= Khi nhұn ÿѭӧc R, C tính khóa bí

mұt chung vӟi A theo (1.4), ÿiӅu cҫn chú ý ӣ ÿây là do C không biӃt ÿѭӧc khóa bí mұtxB cӫa B nên C phҧi chӑn ngүu nhiên mӝt giá trӏ x*B vӟi xác suҩt ÿӇ x =BxB là rҩt nhӓ Do

ÿó giá trӏ K BA mà C nhұn ÿѭӧc ӣ ÿây sӁ là:

g

K k x A x B

+

= DӉ dàng thҩy rҵng: K ABK BA do



Trang 3

B

x ≠∗ Nói cách khác, C ÿã không thiӃt lұp ÿѭӧc khóa

chung vӟi A

Nhѭ vұy là trong cҧ 2 trѭӡng hӧp C ÿӅu không ÿҥt ÿѭӧc

mөc ÿích giҧ mҥo cӫa mình

2.2 Thuұt toán xác lұp khóa dҥng 2

2.2.1 Thӫ tөc hình thành tham sӕ hӋ thӕng và khóa

Thӫ tөc bao gӗm các bѭӟc nhѭ sau:

1 - Sinh 2 sӕ nguyên tӕ lӟn và mҥnh: p và q, sao cho:

) 1

(

| p

q hay:p=N×q+1, vӟi N là sӕ nguyên

2 - Chӑn g ( −p1 ) /qmodp

=α , là phҫn tӱ sinh có bұc q cӫa nhóm Zp*, nghƭa là: 1<g < p và: g q ≡1modp, ӣ

p Z

3 - Khóa riêng x ÿѭӧc Kunh WKjnh bҵng Fich FKӑn sӕ

nguyên thӓa mãn: 1<x < q

4 - Khóa công khai ÿѭӧc tính theo công thӭc:

p g

y= xmod (2.1)

5 - Công khai các giá trӏ: p, g, y Giӳ bí mұt: x

2.2.2 Thӫ tөc xác lұp khóa

Các ÿӕi tѭӧng cҫn trao ÿәi thông tin mұt cùng thӕng nhҩt

chӑn các tham sӕ p , q và g rӗi chӑn khóa riêng và tính khóa

công khai cӫa mình theo Thͯ tͭc hình thành khóa công khai ӣ

M ͭc 2.2.1 Giҧ sӱ ÿӕi tѭӧng gӱi/mã hóa thông tin ký hiӋu là A

có khóa bí mұt là x A, khóa công khai tѭѫng ӭng cӫa A là y A;

Ĉӕi tѭӧng nhұn/giҧi mã thông tin ký hiӋu là B có khóa bí mұt

là x B và khóa công khai cӫa B là y B Ӣ ÿây yA và yB cNJng cҫn

phҧi ÿѭӧc chӭng thӵc bӣi mӝt CA (Certificate Authority)

ÿáng tin cұy Các ÿӕi tѭӧng A và B thӕng nhҩt sӱ dөng mӝt

thuұt toán mұt mã khóa ÿӕi xӭng (ví dө: DES, AES, ) ÿӇ mã

hóa thông tin (văn bҧn, tài liӋu, ) cҫn trao ÿәi vӟi nhau, khi

ÿó thuұt toán ÿӇ thiӃt lұp mӝt khóa bí mұt chung cho phép A

mã hóa thông tin, B giҧi mã thông tin hoһc ngѭӧc lҥi, bao gӗm

các bѭӟc nhѭ sau:

B ˱ͣc 1: ChӍ thӵc hiӋn bӣi A

1 - Chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn: 1<k < q

2 - Tính giá trӏ R theo công thӭc:

3 - Tính thành phҫn E theo công thӭc:

4 - Tính thành phҫn S theo công thӭc:

x

5 - Gӱi (E,S) cho ÿӕi tѭӧng B

B ˱ͣc 2: Ĉѭӧc thӵc hiӋn bӣi cҧ A và B

1 - A hình thành khóa bí mұt K AB theo công thӭc:

K AB B x A +k1 mod

2 - B hình thành khóa bí mұt K BA theo các bѭӟc:

2.1 - Tính giá trӏ R theo công thӭc:

(y ) p g

R= S× A Emod (2.6)

2.2 - Tính giá trӏ E theo công thӭc:

E=Rmodq (2.7)

2.3 - KiӇm tra nӃu E = E thì hình thành khóa bí mұt

K BA theo công thӭc:

p y

R

A

Khóa bí mұt chung K cӫa A và B ӣ ÿây là:

BA

K

Nh̵n xét:

- Tѭѫng tӵ thuұt toán ÿӅ xuҩt trong Mͭc 2.1, thuұt toán ÿӅ

xuҩt ӣ ÿây cNJng là mӝt dҥng giao thӭc xác lұp khóa mӟi mà không phҧi là các dҥng giao thӭc chuyӇn khóa hay thӓa thuұn khóa ÿã biӃt trong thӵc tӃ

- Thay vì gӱi cho B giá trӏ R nhѭ ӣ thuұt toán dҥng 1, ӣ

thuұt toán dҥng này A gӱi cho B cһp (E,S) ÿѭӧc tҥo ra tӯ R và

khóa bí mұt x A cӫa mình theo (2.3) và (2.4) Nhӡ ÿó B có thӇ khôi phөc lҥi giá trӏ R tӯ cһp (E,S) nhұn ÿѭӧc và khóa công khai y A cӫa A theo (2.6) Tӯ giá trӏ R này (trong B˱ͣc 2 ÿѭӧc

ký hiӋu là R), B sӁ tҥo ÿѭӧc khóa bí mұt dùng chung vӟi A

Vҩn ÿӅ quan trӑng là ӣ chӛ, R ÿѭӧc khôi phөc tӯ (E,S) nhӡ

khóa công khai cӫa A theo (2.6) chӭng tӓ rҵng (E,S) phҧi ÿѭӧc

A tҥo ra tӯ khóa bí mұt cӫa mình theo (2.3) và (2.4) ĈiӅu ÿó

có nghƭa là (E,S) và do ÿó khóa bí mұt mà B tҥo ÿѭӧc (K BA)

phҧi có nguӗn gӕc tӯ A Ĉây chính là cѫ chӃ xác thӵc nguӗn

gӕc khóa bí mұt cӫa thuұt toán mӟi ÿӅ xuҩt, nhӡ ÿó có thӇ

chӕng ÿѭӧc các kiӇu tҩn công giҧ mҥo khóa bí mұt

- Trong B ˱ͣc 2 cӫa thuұt toán mӟi ÿӅ xuҩt, B chӍ tҥo khóa

bí mұt chung vӟi A khi kiӇm tra thҩy thӓa mãn ÿiӅu kiӋn:

E

E = Tӯ (2.3), (2.4), (2.6) và (2.7) cho thҩy ÿiӅu kiӋn này

chӍ ÿѭӧc thӓa mãn nӃu (E,S) ÿѭӧc truyӅn tӯ A sang B nguyên

vҽn mà không có bҩt kǤ sӵ thay ÿәi nào cҧ Mӝt sӵ thay ÿәi giá trӏ cӫa E hoһc S hay ÿӗng thӡi cҧ hai ÿӅu dүn ÿӃn kӃt quҧ

là ÿiӅu kiӋn: E = E sӁ không ÿѭӧc thӓa mãn ĈiӅu ÿó có nghƭa

rҵng, nӃu ÿiӅu kiӋn ÿã chӍ ra ÿѭӧc thӓa mãn thì giá trӏ R ÿѭӧc

tҥo ra ӣ phía bên A sӁ ÿѭӧc khôi phөc chính xác ӣ phía bên B (R = R) và do ÿó khóa bí mұt chung K BAÿѭӧc tҥo ra phía bên

B sӁ bҵng chính khóa bí mұt ÿѭӧc tҥo ra ӣ phía bên A Nói khác ÿi, khóa bí mұt ÿã ÿѭӧc truyӅn toàn vҽn tӯ phía A sang cho phía B Ĉây chính là cѫ chӃ xác thӵc tính toàn vҽn cӫa khóa bí mұt ӣ thuұt toán mӟi ÿӅ xuҩt dҥng 2

2.2.3 Tính ÿúng ÿҳn cӫa thuұt toán ÿӅ xuҩt

ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q là 2 sӕ nguyên tӕ

ÿӝc lұp thӓa mãn: q| (p− 1 ) , g (p− 1 ) /qmodp

p

Z

q x

x A B<

< ,

A= mod , y g x B p

B= mod , 1<k < q ,

R= A kmod , E=Rmodq , S x (k E) q

K AB B x A +k1 mod

A

S× mod

A

BA= × mod , E=Rmodq thì: E = E

BA

Chӭng minh:

Thұt vұy, tӯ (2.1) và (2.4) ta có:

p g

p g

g g

p p

g g

p y

g R

A

A A A

A A

x

E x E x x

E x

E k x

E A S

mod

mod

mod mod

mod

.

.

.

=

×

×

=

×

=

×

=

Tӯ (2.2) và (2.9) suy ra: R = R (2.10)

Tӯ (2.3), (2.7) và (2.10) suy ra ÿiӅu cҫn chӭng minh thӭ

nhҩt:

E q R q R



Trang 4

Tӯ (2.1), (2.2) và (2.5) ta có:

g

p p

g

p y

K

B A

A B

A

x x

k

k x x

k x B AB

mod

mod mod

mod

.

1

1

1

+

+ +

=

=

=

(2.11)

Mһt khác, tӯ (2.1), (2.8) và (2.10) ta lҥi có:

p g

p p g p g

p y

R

p y

R

K

B A

B A A

B B

x x

k

x x x

x A

x A BA

mod

mod mod mod

mod mod

.

.

1

.

+

=

×

=

×

=

×

=

(2.12)

Tӯ (2.11) và (2.12) ta có ÿiӅu cҫn chӭng minh thӭ hai:

K K

K AB= BA=

Nhѭ vұy tính ÿúng ÿҳn cӫa thuұt toán mӟi ÿӅ xuҩt ÿã

ÿѭӧc chӭng minh

2.2.4 Tính an toàn cӫa thuұt toán mӟi ÿӅ xuҩt

Mӭc ÿӝ an toàn cӫa thuұt toán mӟi ÿӅ xuҩt ӣ dҥng 2 cNJng

ÿѭӧc ÿánh giá qua các khҧ năng nhѭ sau:

a) Kh ̫ năng ch͙ng ṱn công làm l͡ khóa bí m̵t

Phân tích tѭѫng tӵ nhѭ ӣ Mөc 2.1.4 a) có thӇ thҩy rҵng

khҧ năng chӕng tҩn công làm lӝ khóa bí mұt cӫa 2 thuұt toán

này là nhѭ nhau và ÿӅu phө thuӝc vào tính khó giҧi cӫa bài

toán logarit rӡi rҥc

b) Kh̫ năng ch͙ng ṱn công gi̫ m̩o

Nhѭ ÿã chӍ ra trong phҫn Nh̵n xét cӫa Mͭc 2.2.2, nӃu

ÿiӅu kiӋn kiӇm tra: E = E không ÿѭӧc thӓa mãn thì B có thӇ

khҷng ÿӏnh cһp (E,S) nhұn ÿѭӧc hoһc không phҧi do A gӱi ÿӃn

hoһc ÿã bӏ thay ÿәi trong quá trình truyӅn ÿi tӯ A, vì thӃ khóa

mұt chung vӟi A sӁ không ÿѭӧc tҥo ra Phân tích tѭѫng tӵ nhѭ

ӣ mөc 2.1.4 b) cho thҩy ngay cҧ trѭӡng hӧp kҿ tҩn công mҥo

danh A tҥo ÿѭӧc cһp (E,S) thӓa mãn ÿiӅu kiӋn kiӇm tra nhѭ ÿã

chӍ ra thì cNJng không thӇ thiӃt lұp ÿѭӧc khóa bí mұt chung vӟi

B

III KӂTLUҰN Bài báo ÿӅ xuҩt 2 dҥng thuұt toán xác lұp khóa mӟi cho các hӋ mұt khóa ÿӕi xӭng, các thuұt toán mӟi ÿӅ xuҩt có các ÿһc ÿiӇm cѫ bҧn nhѭ sau:

- ThiӃt lұp khóa bí mұt chung giӳa các ÿӕi tѭӧng tham gia giao dӏch chӍ phҧi thӵc hiӋn mӝt 1 lҫn truyӅn dӳ liӋu duy

nhҩt tѭѫng tӵ nhѭ các giao thӭc chuyӇn khóa sӱ dөng mұt mã khóa công khai

- Thông tin ÿѭӧc chuyӇn tӯ ÿӕi tѭӧng gӱi/mã hóa sang ÿӕi tѭӧng nhұn/giҧi mã hoһc ngѭӧc lҥi, không phҧi là khóa bí

mұt mà chӍ là thông tin dùng ÿӇ thiӃt lұp khóa chung giӳa 2 ÿӕi tѭӧng, tѭѫng tӵ nhѭ thông tin dùng ÿӇ thӓa thuұn khóa trong các giao thӭc trao ÿәi khóa Tuy nhiên, thông tin này chӍ

cҫn truyӅn ÿi theo 1 chiӅu, do ÿó ӣ các thuұt toán mӟi ÿӅ xuҩt

viӋc truyӅn dӳ liӋu chӍ cҫn thӵc hiӋn 1 lҫn duy nhҩt

- Khóa bí mұt chung ÿѭӧc xác thӵc vӅ nguӗn gӕc và tính toàn vҽn (chӍ có ӣ dҥng thuұt toán thӭ 2), vì thӃ các thuұt toán này có khҧ năng chӕng ÿѭӧc các dҥng tҩn công giҧ mҥo ÿã

biӃt trong thӵc tӃ

Tính hiӋu quҧ và mӭc ÿӝ an toàn cӫa các thuұt toán mӟi

ÿӅ xuҩt cho thҩy khҧ năng ӭng dөng cӫa chúng trong thӵc tӃ là

rҩt khҧ quan

TÀILIӊUTHAMKHҦO [1] W Diffie & M Hellman, “New Directions in Cryptography”, IEEE Trans On Info Theory, IT-22(6):644-654, 1976

[2] 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, pp 120-126, 1978

[3] T ElGamal, “A public key cryptosystem and a signature scheme based

on discrete logarithms”, IEEE Transactions on Information Theory Vol IT-31, No 4 pp.469–472, 1985

[4] A Menezes, P van Oorschot and S Vanstone, “Handbook of Applied Cryptography”, Boca Raton, Florida: CRC Press, 1997

[5] D.R Stinson, “Cryptography: Theory and Practice”, CRC Press 1995 [6] Wenbo Mao, “Modern Cryptography: Theory and Practice”, Prentice Hall PTR, 2003



Ngày đăng: 27/04/2022, 10:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm