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 7 0
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

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

Thông tin tài liệu

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!

Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) PHÁT TRIӆN THUҰT TỐN XÁC LҰP KHĨA CHO CÁC Hӊ MҰT MÃ KHĨA ĈӔI XӬNG Hoàng Văn ViӋt1, NguyӉn Ĉӭc Thөy2, Bùi ThӃ TruyӅn3, Lѭu Hӗng DNJng3 Bӝ 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 dҥng thuұt tốn xác lұp khóa mӟi cho hӋ mұt mã khóa ÿӕi xӭng Các thuұt tốn mӟi ÿӅ xuҩt có ѭu ÿiӇm 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 xác thӵc vӅ nguӗn gӕc nên thuұt tốn ÿѭӧc ÿӅ xuҩt ӣ ÿây có thӇ chӕng lҥi kiӇu tҩn công giҧ mҥo rҩt hiӋu quҧ Bài báo cNJng trình bày phân tích, ÿánh giá vӅ mӭc ÿӝ an tồn cӫa thuұt tốn mӟi ÿӅ xuҩt, cho thҩy khҧ ӭng dөng cӫa thӵc tӃ trình thiӃt lұp khóa chung bҵng thuұt toán chӍ cҫn thӵc hiӋn lҫn truyӅn dӳ liӋu nên có thӇ sӁ phù hӧp vӟi ӭng dөng ÿòi hӓi tӕc ÿӝ thӵc hiӋn cao II PHÁT TRIӆN THUҰT TỐN XÁC LҰP KHĨA MӞI CHO CÁC Hӊ MҰT KHĨA ĈӔI XӬNG 2.1 Thuұt tốn xác lұp khóa dҥng 2.1.1 Thӫ tөc hình thành tham sӕ hӋ thӕng khóa cơng khai Thӫ tөc bao gӗm bѭӟc nhѭ sau: - Chӑn mӝt nhóm Zp vӟi p mӝt sӕ nguyên tӕ lӟn Keywords- Symmetrical Key Cryptography System, Key Establishment, Key Agreement Protocols, Key Exchange Protocol, Key Transport Protocols cho toán logarit I ĈҺT VҨN Ĉӄ sinh cӫa Z ∗p Trong lƭnh vӵc bҧo mұt thông tin, 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 hӋ mұt mã khóa cơng khai (Public Key Cryptography System), vұy chúng thѭӡng ÿѭӧc sӱ dөng ÿӇ mã hóa khӕi dӳ liӋu có kích thѭӟc lӟn, ÿһc biӋt giao dӏch trӵc tuyӃn - Khóa riêng x cӫa ÿӕi tѭӧng tham gia trao ÿәi khóa ÿѭӧc FKӑn mӝt sӕnguyên thӓa mãn: < x < ( p − 1) - Khóa cơng khai tѭѫng ӭng y cӫa ÿӕi tѭӧng tham gia trao ÿәi khóa ÿѭӧc tính theo cơng thӭc: (1.1) y = g x mod p 4- Công khai giá trӏ: p, g, y Giӳ bí mұt: x 2.1.2 Thӫ tөc xác lұp khóa Giҧ sӱ ÿӕi tѭӧng tham gia trao ÿәi khóa ӣ ÿây A B Giҧ thiӃt ÿӕi tѭӧng A B cNJng ÿã thӕng nhҩt sӱ dөng mӝt thuұt tố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 Ĉӕi tѭӧng A có khóa riêng xA, khóa cơng khai tѭѫng ӭng yA; ÿӕi tѭӧng B có khóa riêng xB khóa cơng khai cӫa B yB Khóa cơng khai cӫa A B ÿѭӧc hình thành theo Thͯ tͭc hình thành tham s͙ h͏ th͙ng khóa cơng khai ӣ Mͭc 2.1.1 Ӣ ÿây yA 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 ÿӕi tѭӧng A B thiӃt lұp mӝt khóa bí mұt chung K, bao gӗm bѭӟc nhѭ sau: B˱ͣc 1: chӍ thӵc hiӋn bӣi A - Chӑn mӝt giá trӏ ngүu nhiên k thӓa mãn: < k < ( p − 1) Tính giá trӏ R theo công thӭc: k (1.2) R = ( y A ) mod p - Gӱi R cho B B˱ͣc 2: ÿѭӧc thӵc hiӋn bӣi cҧ A B - A hình thành khóa bí mұt chung KAB theo công thӭc: (k +1) x (1.3) K AB = ( y B ) mod p - B hình thành khóa bí mұt chung KBA theo cơng thӭc: x (1.4) K BA = (R × y A ) mod p Trong 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 bên nhұn/giҧi mã mӝt vҩn ÿӅ rҩt quan trӑng, phӭc tҥp thѭӡng ÿѭӧc hiӋn bҵng: a) giao thӭc thӓa thuұn khóa (Key Agreement Protocols), ӣ ÿó mӛi bên tham gia sӁ tҥo thông tin ÿӇ thӓa thuұn cho viӋc thiӃt lұp khóa bí mұt dùng chung rӗi trao ÿәi cho nhau, thӃ giao thӭc thӓa thuұn khóa cịn ÿѭӧc gӑi giao thӭc trao ÿәi khóa (Key Exchange Protocol) mà giao thӭc ÿҫu tiên thuӝc loҥi ÿѭӧc ÿӅ xuҩt bӣi W Diffie M Hellman vào năm 1976 ÿѭӧc gӑi giao thӭc trao ÿәi khóa Diffie-Hellman (Diffie-Hellman Key Exchange Protocol) [1]; b) giao thӭc chuyӇn khóa (Key Transport Protocols), ÿó khóa bí mұt ÿѭӧc sinh bӣi mӝt hai ÿӕi tѭӧng gӱi hoһc nhұn, rӗi ÿѭӧc mã hóa truyӅn ÿӃn ÿӕi tѭӧng bҵng mӝt thuұt tố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 thuұt tốn mұt mã khóa cơng khai nhѭ RSA hay ElGamal giao thӭc chuyӇn khóa ÿӅu có chung mӝt nhѭӧc ÿiӇm bҧn khơng có khҧ 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], chúng khơng có cѫ chӃ xác thӵc bҧn tin nhұn ÿѭӧc Bài báo ÿӅ xuҩt xây dӵng mӝt dҥng thuұt tốn xác lұp khóa mӟi, ѭu ÿiӇm cӫa thuұt tốn mӟi ÿӅ xuҩt có khҧ 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 kiӇu tҩn cơng giҧ mҥo ÿã biӃt thӵc tӃ Mһt khác, ISBN: 978-604-67-0635-9 Z ∗p khó giҧi g phҫn tӱ A B 232  Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Khóa bí mұt chung K cӫa A B ӣ ÿây là: x K BA = (R × y A ) B mod p K = K AB = K BA = g k x A mod p × g x A mod p ( = (g ( Chú ý: Có thӇ gia tăng tính ngүu nhiên cho khóa bí mұt chung cӫa A B bҵng cách sӱ dөng hàm băm (Hash function) H(.) nhѭ sau: K A = H ( K AB ) và: Tӯ (1.3) (1.4) cho thҩy, mӝt ÿӕi tѭӧng thӭ (kҿ tҩn cơng) muӕn tính ÿѭӧc khóa bí mұt chung (K) cҫn phҧi biӃt ÿѭӧc k xA hoһc xB nhӡ giҧi (1.1) (1.2) ViӋc giҧi (1.1) (1.2) thӵc chҩt giҧi toán logarit rӡi rҥc - DLP (Discrete Logarithm Problem) [4-6] Nhѭ vұy, khҧ 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 tốn logarit rӡi rҥc HiӋn tҥi, toán logarit rӡi rҥc vүn ÿѭӧc coi toán khó nӃu tham sӕ p giá trӏ k , xA , xB ÿѭӧc chӑn ÿӫ lӟn ÿӇ tҩn công theo kiӇu “vét cҥn” không khҧ thi ӭng dөng thӵc tӃ b) Kh̫ ch͙ng ṱn công gi̫ m̩o Giҧ sӱ C kҿ tҩn công giҧ mҥo, vҩn ÿӅ ÿһt 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 tố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: < k < p − tính: R = g k mod p , 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) ÿѭӧc: K BA = g (k +1) xA xB mod p Trong ÿó, C cNJng tính khóa bí mұt chung vӟi B theo (1.3), nhѭng không biӃt xA, nên C phҧi chӑn ngүu nhiên giá trӏ ngүu nhiên ∗ A B phҧi nhҩn mҥnh rҵng, viӋc lӵa chӑn x A ÿӇ x A = x A ӣ ÿây ÿѭӧc loҥi trӯ, ÿiӅu ÿó xҧy cNJng ÿӗng nghƭa vӟi viӋc giҧi ÿѭӧc 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: < k < p − ÿӇ tính R theo (1.2) rӗi gӱi cho B, mà thӵc chҩt ngѭӡi nhұn ӣ ÿây C Sau ÿó A sӁ tính khóa bí mұt chung KAB 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 nhұn ÿѭӧc: ( k +1) x A xB Khi nhұn ÿѭӧc R, C tính khóa bí K AB = g mod p mұt chung vӟi A theo (1.4), ÿiӅu cҫn ý ӣ ÿây C khơng biӃt ÿѭӧc khóa bí mұt xB cӫa B nên C phҧi chӑn ngүu ∗ y A = g x A mod p , yB = g x mod p , < k < ( p − 1) NӃu: (k +1) x A k mod p , K BA = (R × y A )x mod p R = ( y A ) mod p , K AB = ( y B ) thì: K AB = K BA B B Chͱng minh: (k +1) x A x∗A ÿӇ tính KAB, nên sӁ nhұn ÿѭӧc: K AB = g (k +1) x x mod p Do: x∗A ≠ x A , nên: K AB ≠ K BA , nghƭa C ÿã thҩt bҥi viӋc mҥo danh A ÿӇ thiӃt lұp khóa bí mұt chung vӟi B CNJng cҫn ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p sӕ nguyên tӕ g phҫn tӱ sinh cӫa nhóm Z *p , < x A , xB < ( p − 1) , (1.5) (k +1) x A x B = (g mod p ) mod p = g mod p Mһt khác, tӯ (1.1), (1.2) (1.4) ta lҥi có: xB ) a) Kh̫ ch͙ng ṱn cơng làm l͡ khóa bí m̵t B Thұt vұy, tӯ (1.1) (1.3) ta có: (k +1) x A K AB = ( y B ) mod p xB k +1) x A Mӭc ÿӝ an toàn cӫa thuұt tốn mӟi ÿӅ xuҩt có thӇ ÿѭӧc ÿánh giá qua khҧ nhѭ sau: Khi ÿó khóa bí mұt chung cӫa A B sӁ là: K = KA = KB Ӣ ÿây: KA khóa bí mұt chung bên A tҥo ra, cịn KB khóa bí mұt chung ÿѭӧc tҥo phía bên B Ví dө: Giҧ sӱ A 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 B có thӇ sӱ dөng hàm băm MD hoһc SHA-256 ÿӇ gia tăng tính ngүu nhiên cho khóa mұt nhѭ sau: K A = MD5( K AB ) hoһc: K A = SHA − 256( K AB ) và: K B = MD5( K BA ) hoһc: K B = SHA − 256( K BA ) Nh̵n xét: Ӣ thuұt tốn mӟi ÿӅ xuҩt, khóa bí mұt chung cӫa ÿӕi tѭӧng A B là: K = K AB = K BA = g ( k +1) x x mod p , cịn thơng tin A gӱi cho B là: R = g k mod p Nhѭ vұy, thông tin mà A chuyӇn cho B không phҧi khóa bí mұt nhѭ giao thӭc chuyӇn khóa (sӱ dөng mұt mã khóa cơng khai nhѭ RSA, El Gamal, ) mà chӍ thông tin ÿӇ thiӃt lұp khóa, tӯ ÿó B sӁ tҥo nên khóa bí mұt chung cho Vì vұy, thuұt tốn mӟi ÿӅ xuҩt khơng phҧi mӝt giao thӭc chuyӇn khóa ÿã ÿѭӧc biӃt ÿӃn 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 bӣi bên gӱi cho bên mà không phҧi cҧ tҥo rӗi trao ÿәi cho nhѭ ӣ giao thӭc thӓa thuұn khóa kiӇu DiffieHellman Tӯ ÿó cho thҩy thuұt toán ÿѭӧc ÿӅ xuҩt ӣ ÿây mӝt dҥng giao thӭc xác lұp khóa mӟi cho 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 (1.6) mod p mod p mod p = g (k +1) x A x B mod p Tӯ (1.5) (1.6) suy ÿiӅu cҫn chӭng minh là: K AB = K BA 2.1.4 Mӭc ÿӝ an tồn cӫa thuұt tốn mӟi ÿӅ xuҩt K B = H ( K BA ) A xB ) * ∗ nhiên mӝt giá trӏ x B vӟi xác suҩt ÿӇ xB∗ = xB rҩt nhӓ Do ÿó giá trӏ KBA mà C nhұn ÿѭӧc ӣ ÿây sӁ là: ∗ K BA = g ( k +1) x A xB mod p DӉ dàng thҩy rҵng: K AB ≠ K BA 233  Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) xB∗ ≠ xB Nói cách khác, C ÿã khơng thiӃt lұp ÿѭӧc khóa chung vӟi A Nhѭ vұy cҧ trѭӡng hӧp C ÿӅu khơng ÿҥt ÿѭӧc mөc ÿích giҧ mҥo cӫa 2.2 Thuұt tốn xác lұp khóa dҥng (2.8) K BA = ( R × y A ) xB mod p 2.2.1 Thӫ tөc hình thành tham sӕ hӋ thӕng khóa Thӫ tөc bao gӗm bѭӟc nhѭ sau: - Sinh sӕ nguyên tӕ lӟn mҥnh: p q, cho: q | ( p − 1) hay: p = N × q + , vӟi N sӕ nguyên - Chӑn g = α ( p −1) / q mod p , phҫn tӱ sinh có bұc q cӫa * nhóm Zp , nghƭa là: < g < p và: g q ≡ mod p , ӣ * ÿây: α∈Zp - Khóa riêng x ÿѭӧc Kunh WKjnh bҵng Fich FKӑn sӕ nguyên thӓa mãn: < x < q - Khóa cơng khai ÿѭӧc tính theo cơng thӭc: (2.1) y = g x mod p - Công khai 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 thӕng nhҩt chӑn tham sӕ p , q g rӗi chӑn khóa riêng tính khóa cơng khai cӫa 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 A có khóa bí mұt xA, khóa cơng khai tѭѫng ӭng cӫa A yA; Ĉӕi tѭӧng nhұn/giҧi mã thông tin ký hiӋu B có khóa bí mұt xB khóa cơng khai cӫa B yB Ӣ ÿây yA 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 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, ÿó thuұt tố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 bѭӟc nhѭ sau: B˱ͣc 1: ChӍ thӵc hiӋn bӣi A - Chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn: < k < q - Tính giá trӏ R theo cơng thӭc: k (2.2) R = ( y A ) mod p - Tính thành phҫn E theo cơng thӭc: (2.3) E = R mod q - Tính thành phҫn S theo cơng thӭc: (2.4) S = x A × (k − E ) mod q - Gӱi (E,S) cho ÿӕi tѭӧng B B˱ͣc 2: Ĉѭӧc thӵc hiӋn bӣi cҧ A B - A hình thành khóa bí mұt KAB theo cơng thӭc: x ( k +1) (2.5) K AB = ( y B ) A mod p - B hình thành khóa bí mұt KBA theo bѭӟc: 2.1 - Tính giá trӏ R theo cơng thӭc: E (2.6) R = g S × ( y A ) mod p 2.2 - Tính giá trӏ E theo công thӭc: (2.7) E = R mod q Khóa bí mұt chung K cӫa A B ӣ ÿây là: K = K AB = K BA Nh̵n xét: - Tѭѫng tӵ thuұt toán ÿӅ xuҩt Mͭc 2.1, thuұt toán ÿӅ xuҩt ӣ ÿây cNJng mӝt dҥng giao thӭc xác lұp khóa mӟi mà khơng phҧi dҥng giao thӭc chuyӇn khóa hay thӓa thuұn khóa ÿã biӃt thӵc tӃ - Thay gӱi cho B giá trӏ R nhѭ ӣ thuұt toán dҥng 1, ӣ thuұt toán dҥng A gӱi cho B cһp (E,S) ÿѭӧc tҥo tӯ R khóa bí mұt xA cӫa theo (2.3) (2.4) Nhӡ ÿó B có thӇ khơi phөc lҥi giá trӏ R tӯ cһp (E,S) nhұn ÿѭӧc khóa cơng khai yA cӫa A theo (2.6) Tӯ giá trӏ R (trong B˱ͣc ÿѭӧc ký hiӋu R ), B sӁ tҥo ÿѭӧc khóa bí mұt dùng chung vӟi A Vҩn ÿӅ quan trӑng ӣ 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 tӯ khóa bí mұt cӫa theo (2.3) (2.4) ĈiӅu ÿó có nghƭa (E,S) ÿó khóa bí mұt mà B tҥo ÿѭӧc (KBA) phҧi có nguӗn gӕc tӯ A Ĉây cѫ chӃ xác thӵc nguӗn gӕc khóa bí mұt cӫa thuұt tốn mӟi ÿӅ xuҩt, nhӡ ÿó có thӇ chӕng ÿѭӧc kiӇu tҩn cơng giҧ mҥo khóa bí mұt - Trong B˱ͣc cӫa thuұt tốn mӟi ÿӅ xuҩt, B chӍ tҥo khóa bí mұt chung vӟi A kiӇm tra thҩy thӓa mãn ÿiӅu kiӋn: E = E Tӯ (2.3), (2.4), (2.6) (2.7) cho thҩy ÿiӅu kiӋn 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 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ҧ ÿ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Ӎ ÿѭӧc thӓa mãn giá trӏ R ÿѭӧc tҥo ӣ phía bên A sӁ ÿѭӧc khơi phөc xác ӣ phía bên B ( R = R ) ÿó khóa bí mұt chung KBA ÿѭӧc tҥo phía bên B sӁ bҵng khóa bí mұt ÿѭӧc tҥo ӣ phía bên A Nói khác ÿi, khóa bí mұt ÿã ÿѭӧc truyӅn tồn vҽn tӯ phía A sang cho phía B Ĉây cѫ chӃ xác thӵc tính tồn vҽn cӫa khóa bí mұt ӣ thuұt toán mӟi ÿӅ xuҩt dҥng 2.2.3 Tính ÿúng ÿҳn cӫa thuұt tốn ÿӅ xuҩt ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q sӕ nguyên tӕ ÿӝc lұp thӓa mãn: q | ( p − 1) , g = α ( p −1) / q mod p , α ∈ Z *p , < x A , xB < q , y A = g x mod p , y B = g xB mod p , 1< k < q , k , , ( ) S = x × k − E mod q NӃu: R = ( y A ) mod p E = R mod q A x (k +1 ) E S K AB = ( y B ) mod p , R = g × ( y A ) mod p , A A , x K BA = (R × y A ) B mod p E = R mod q thì: E =E K AB = K BA Chӭng minh: Thұt vұy, tӯ (2.1) (2.4) ta có: E R = g S × ( y A ) mod p = g x A (k − E ) × g x A mod p ( ( = g k xA ×g − xA E ×g xA E E ) mod p )mod p k xA (2.9) = g mod p Tӯ (2.2) (2.9) suy ra: R = R (2.10) Tӯ (2.3), (2.7) (2.10) suy ÿiӅu cҫn chӭng minh thӭ nhҩt: 2.3 - KiӇm tra nӃu E = E hình thành khóa bí mұt KBA theo công thӭc: E = R mod q = R mod q = E 234  Hội+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ (&,7 Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) Tӯ (2.1), (2.2) (2.5) ta có: K AB = ( y B ) = (g xB x A (k + )1 III mod p x A ( k +1) mod p ) Bài báo ÿӅ xuҩt dҥng thuұt tốn xác lұp khóa mӟi cho hӋ mұt khóa ÿӕi xӭng, thuұt tốn mӟi ÿӅ xuҩt có ÿһc ÿiӇm cѫ bҧn nhѭ sau: - ThiӃt lұp khóa bí mұt chung giӳa ÿӕi tѭӧng tham gia giao dӏch chӍ phҧi thӵc hiӋn mӝt lҫn truyӅn dӳ liӋu nhҩt tѭѫng tӵ nhѭ 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 khóa bí mұt mà chӍ thơng tin dùng ÿӇ thiӃt lұp khóa chung giӳa ÿӕi tѭӧng, tѭѫng tӵ nhѭ thông tin dùng ÿӇ thӓa thuұn khóa giao thӭc trao ÿәi khóa Tuy nhiên, thông tin chӍ cҫn truyӅn ÿi theo chiӅu, ÿó ӣ thuұt tốn mӟi ÿӅ xuҩt viӋc truyӅn dӳ liӋu chӍ cҫn thӵc hiӋn lҫn nhҩt - Khóa bí mұt chung ÿѭӧc xác thӵc vӅ nguӗn gӕc tính tồn vҽn (chӍ có ӣ dҥng thuұt tốn thӭ 2), thӃ thuұt tốn có khҧ chӕng ÿѭӧc dҥng tҩn cơng giҧ mҥo ÿã biӃt thӵc tӃ Tính hiӋu quҧ mӭc ÿӝ an tồn cӫa thuұt tốn mӟi ÿӅ xuҩt cho thҩy khҧ ӭng dөng cӫa chúng thӵc tӃ rҩt khҧ quan (2.11) mod p = g (k +1) x A x B mod p Mһt khác, tӯ (2.1), (2.8) (2.10) ta lҥi có: xB K BA = (R × y A ) mod p (2.12) x = (R × y A ) B mod p = g k x A mod p × g x A mod p ( =g ( k +1) x A xB xB ) KӂT LUҰN mod p mod p Tӯ (2.11) (2.12) ta có ÿiӅu cҫn chӭng minh thӭ hai: K AB = K BA = K Nhѭ vұy tính ÿúng ÿҳn cӫa thuұt tốn mӟi ÿӅ xuҩt ÿã ÿѭӧc chӭng minh 2.2.4 Tính an tồn cӫa thuұt tốn mӟi ÿӅ xuҩt Mӭc ÿӝ an tồn cӫa thuұt tốn mӟi ÿӅ xuҩt ӣ dҥng cNJng ÿѭӧc ÿánh giá qua khҧ nhѭ sau: a) Kh̫ 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ҧ chӕng tҩn cơng làm lӝ khóa bí mұt cӫa thuұt tốn nhѭ ÿӅu phө thuӝc vào tính khó giҧi cӫa toán logarit rӡi rҥc b) Kh̫ ch͙ng ṱn công gi̫ m̩o Nhѭ ÿã chӍ 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 B có thӇ khҷng ÿӏnh cһp (E,S) nhұn ÿѭӧc hoһc khơng phҧi A gӱi ÿӃn hoһc ÿã bӏ thay ÿәi q trình truyӅn ÿi tӯ A, thӃ khóa mұt chung vӟi A sӁ không ÿѭӧc tҥo Phân tích tѭѫng tӵ nhѭ ӣ mөc 2.1.4 b) cho thҩy 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Ӎ cNJng khơng thӇ thiӃt lұp ÿѭӧc khóa bí mұt chung vӟi B TÀI LIӊU THAM KHҦO [1] [2] [3] [4] [5] [6] 235  W Diffie & M Hellman, “New Directions in Cryptography”, IEEE Trans On Info Theory, IT-22(6):644-654, 1976 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 T ElGamal, “A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory Vol IT-31, No pp.469–472, 1985 A Menezes, P van Oorschot and S Vanstone, “Handbook of Applied Cryptography”, Boca Raton, Florida: CRC Press, 1997 D.R Stinson, “Cryptography: Theory and Practice”, CRC Press 1995 Wenbo Mao, “Modern Cryptography: Theory and Practice”, Prentice Hall PTR, 2003 ... thuұt tốn xác lұp khóa mӟi cho hӋ mұt mã khóa ÿӕi xӭng Các thuұt tốn mӟi ÿӅ xuҩt có ѭu ÿiӇm 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... gӱi cho bên mà không phҧi cҧ tҥo rӗi trao ÿәi cho nhѭ ӣ giao thӭc thӓa thuұn khóa kiӇu DiffieHellman Tӯ ÿó cho thҩy thuұt toán ÿѭӧc ÿӅ xuҩt ӣ ÿây mӝt dҥng giao thӭc xác lұp khóa mӟi cho hӋ mұt khóa. .. 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 bên nhұn/giҧi mã mӝt vҩn ÿӅ rҩt quan trӑng, phӭc tҥp thѭӡng ÿѭӧc hiӋn bҵng: a) giao thӭc thӓa thuұn khóa

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

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

Tài liệu liên quan