Phát triển lược đồ chữ ký số mù
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 LѬӦC ĈӖ CHӲ KÝ SӔ MÙ NguyӉn TiӅn Giang , NguyӉn Ĉӭc Thөy2, Lê Ĉình Sѫn 3, Lѭu Hӗng DNJng3 Cөc Công NghӋ Thông Tin – Bӝ QP, Trѭӡng Cao ÿҷng Kinh tӃ - Kӻ thuұt TP Hӗ Chí Minh, Hӑc viӋn Kӻ thuұt Quân sӵ Email: ntgiang77@gmail.com, thuyphulam2013@gmail.com, ledinhson@gmail.com, luuhongdung@gmail.com bҧn tin M yêu cҫu A ký lên M (ngѭӡi yêu cҫu ký) ĈӇ che dҩu danh tính cӫa B sau bҧn tin M ÿã ÿѭӧc ký, thӫ tөc hình thành chӳ ký (“ký mù”) ÿѭӧc thӵc hiӋn qua bѭӟc nhѭ sau: B˱ͣc 1: B làm “mù” bҧn tin M bҵng cách chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn: < k < n k nguyên tӕ vӟi n , sau ÿó B tính: m' = m × k e mod n , ӣ ÿây: m = H (M ) giá trӏ ÿҥi diӋn cӫa bҧn tin cҫn ký M H(.) hàm băm kháng va chҥm B gӱi bҧn tin ÿã ÿѭӧc làm mù (m’) cho A B˱ͣc 2: A sӁ ký lên m’ bҵng thuұt toán ký cӫa lѭӧc ÿӗ RSA: s' = (m' ) d mod n rӗi gӱi lҥi s’ cho B B˱ͣc 3: B “xóa mù” s’ nhұn ÿѭӧc chӳ ký s nhѭ sau: s = s'×k −1 mod n ViӋc kiӇm tra tính hӧp lӋ cӫa s ÿó tính tồn vҽn cӫa M ÿѭӧc thӵc hiӋn nhѭ ӣ lѭӧc ÿӗ RSA Vҩn ÿӅ ӣ ÿây là, mӝt ÿӕi tѭӧng bҩt kǤ có thӇ kiӇm tra tính hӧp lӋ cӫa s, tӯ ÿó khҷng ÿӏnh tính tồn vҽn cӫa M danh tính ngѭӡi ký bҵng thuұt tốn kiӇm tra RSA, nhѭng khơng thӇ xác ÿӏnh ÿѭӧc bҧn tin M tҥo Nghƭa danh tính cӫa B ÿã ÿѭӧc giҩu kín 2.1.2 Tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký Vӟi lѭӧc ÿӗ chӳ ký sӕ mù RSA nhѭ ÿã mơ tҧ ӣ trên, viӋc xác ÿӏnh danh tính cӫa ngѭӡi tҥo bҧn tin ÿѭӧc ký M có thӇ thӵc hiӋn ÿѭӧc Bӣi tҥi thӡi ÿiӇm ký, ngѭӡi ký (A) chӍ không biӃt nӝi dung cӫa M, nhѭng danh tính cӫa B A hồn tồn biӃt rõ, ÿiӅu hiӇn nhiên A chӍ ký biӃt rõ B Giҧ sӱ danh tính cӫa B ÿѭӧc ký hiӋu IDB, ÿӇ xác ÿӏnh danh tính cӫa ngѭӡi yêu cҫu ký tӯ bҧn tin M chӳ ký s tѭѫng ӭng sau thӡi ÿiӇm ký (khi M s ÿã ÿѭӧc công khai), ӣ mӛi lҫn ký chӍ cҫn A lѭu trӳ giá trӏ s’ IDB mӝt cѫ sӣ dӳ liӋu Tӯ ÿó, viӋc xác ÿӏnh danh tính cӫa ngѭӡi u cҫu ký IDB tӯ bҧn tin ÿѭӧc ký M chӳ ký s hồn tồn có thӇ thӵc hiӋn ÿѭӧc bҵng mӝt thuұt toán nhѭ sau: Thuұt toán 1.1: Input: (M,s), {(si’, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: ( si ' , IDBi ) [3] k ∗ ← si '×m − d mod n Tóm t̷t— Bài báo ÿӅ xuҩt xây dӵng lѭӧc ÿӗ chӳ ký sӕ mù tӯ viӋc phát triӇn lѭӧc ÿӗ chӳ ký sӕ cѫ sӣ toán logarithm rӡi rҥc Các lѭӧc ÿӗ mӟi ÿӅ xuҩt ӣ ÿây có mӭc ÿӝ an tồn cao hѫn vӅ khҧ chӕng tҩn công làm lӝ nguӗn gӕc cӫa bҧn tin ÿѭӧc ký so vӟi mӝt sӕ lѭӧc ÿӗ ÿã biӃt trѭӟc ÿó thӵc tӃ Tͳ khóa- Digital Signature, Blind Signature, Digital Signature Scheme, Blind Signature Scheme I ĈҺT VҨN Ĉӄ Khái niӋm chӳ ký sӕ mù ÿѭӧc ÿӅ xuҩt bӣi D Chaum vào năm 1983 [1], ÿây mӝt loҥi chӳ ký sӕ ÿѭӧc sӱ dөng ÿӇ xác thӵc tính tồn vҽn cӫa mӝt bҧn tin ÿiӋn tӱ danh tính cӫa ngѭӡi ký, nhѭng không cho phép xác thӵc nguӗn gӕc thӵc sӵ cӫa bҧn tin ÿѭӧc ký Nói cách khác, loҥi chӳ ký cho phép ҭn danh ngѭӡi tҥo bҧn tin ÿѭӧc ký Trong [2-4] ÿã chӍ ӭng dөng cӫa loҥi chӳ ký cҫn bҧo vӋ tính riêng tѭ cӫa khách hàng hӋ thӕng toán ÿiӋn tӱ hay vҩn ÿӅ ҭn danh cӫa cӱ tri viӋc tә chӭc bҫu cӱ trӵc tuyӃn [5] Mӝt ÿiӇm cҫn ý ӣ ÿây là, vӟi loҥi chӳ ký sӕ thơng thѭӡng ngѭӡi ký cNJng ngѭӡi tҥo bҧn tin ÿѭӧc ký, cịn vӟi chӳ ký sӕ mù ngѭӡi ký ngѭӡi tҥo bҧn tin ÿѭӧc ký ÿӕi tѭӧng hồn tồn khác Ĉây tính chҩt ÿһc trѭng cӫa chӳ ký sӕ mù cNJng mӝt tiêu chí quan trӑng ÿӇ ÿánh giá mӭc ÿӝ an tồn cӫa loҥi chӳ ký sӕ Trong [1-5] tác giҧ ÿã ÿӅ xuҩt mӝt sӕ lѭӧc ÿӗ chӳ ký sӕ mù ӭng dөng cҫn bҧo vӋ tính riêng tѭ cӫa khách hàng hӋ thӕng toán ÿiӋn tӱ hay vҩn ÿӅ ҭn danh cӫa cӱ tri viӋc tә chӭc bҫu cӱ trӵc tuyӃn Tuy nhiên, ÿiӇm yӃu chung cӫa lѭӧc ÿӗ khơng có khҧ chӕng lҥi kiӇu tҩn cơng làm lӝ nguӗn gӕc cӫa bҧn tin ÿѭӧc ký, thӃ khҧ ӭng dөng cӫa lѭӧc ÿӗ thӵc tӃ rҩt hҥn chӃ Nӝi dung báo tұp trung phân tích ÿiӇm yӃu có thӇ tҩn cơng làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký cӫa mӝt sӕ lѭӧc ÿӗ chӳ ký sӕ mù ÿã ÿѭӧc công bӕ, tӯ ÿó ÿӅ xuҩt xây dӵng mӝt lѭӧc ÿӗ mӟi có ÿӝ an tồn cao hѫn vӅ khҧ giӳ bí mұt nguӗn gӕc cӫa bҧn tin ÿѭӧc ký có thӇ ÿáp ӭng yêu cҫu mà thӵc tӃ ÿһt II TҨN CÔNG LÀM LӜ NGUӖN GӔC BҦN TIN ĈӔI VӞI MӜT SӔ LѬӦC ĈӖ CHӲ KÝ SӔ MÙ [4] if gcd( k , n) ≠ then [4.1] i ← i + [4.2] goto [2] [5] s ∗ ← si '×(k ∗ ) −1 mod n [6] if (s ∗ ≠ s) then ∗ 2.1 Tҩn công lѭӧc ÿӗ chӳ ký sӕ mù RSA 2.1.1 Lѭӧc ÿӗ chӳ ký sӕ mù RSA Lѭӧc ÿӗ chӳ ký sӕ mù RSA ÿѭӧc phát triӇn tӯ lѭӧc ÿӗ chӳ ký sӕ RSA [6] Lѭӧc ÿӗ chӳ ký sӕ mù RSA có thӇ mơ tҧ nhѭ sau: Giҧ sӱ A ngѭӡi ký có khóa bí mұt (d), cơng khai (n,e) ÿѭӧc hình thành theo lѭӧc ÿӗ chӳ ký RSA B ngѭӡi tҥo ISBN: 978-604-67-0635-9 112 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) +ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7 [8] return IDBi Nh̵n xét: Tѭѫng tӵ nhѭ vӟi lѭӧc ÿӗ chӳ ký mù RSA, tӯ Thu̵t toán 1.2 cho thҩy, nӃu N khơng ÿӫ lӟn viӋc xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi yêu cҫu ký (ngѭӡi tҥo bҧn tin ÿѭӧc ký) hồn tồn có thӇ thӵc hiӋn ÿѭӧc Nói cách khác, lѭӧc ÿӗ chӳ ký sӕ mù DSA cNJng sӁ khơng an tồn xét theo khía cҥnh chӕng tҩn công làm lӝ nguӗn gӕc bҧn tin nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký không ÿӫ lӟn 2.3 Tҩn công lѭӧc ÿӗ chӳ ký sӕ mù Nyberg-Rueppel 2.3.1 Lѭӧc ÿӗ chӳ ký sӕ Nyberg-Rueppel Tham sӕ hӋ thӕng cӫa lѭӧc ÿӗ chӳ ký sӕ K Nyberg R A Rueppel ÿӅ xuҩt [7] ÿѭӧc lӵa chӑn tѭѫng tӵ nhѭ ӣ lѭӧc ÿӗ DSA ĈӇ ký lên mӝt bҧn tin M có giá trӏ ÿҥi diӋn m ∈ Z p , [6.1] i ← i + [6.2] goto [2] [7] return IDBi Nh̵n xét: Tӯ Thu̵t toán 1.1 cho thҩy, nӃu N khơng ÿӫ lӟn viӋc xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi yêu cҫu ký (ngѭӡi tҥo bҧn tin ÿѭӧc ký) hồn tồn có thӇ thӵc hiӋn ÿѭӧc Nói cách khác, lѭӧc ÿӗ chӳ ký sӕ mù RSA khơng an tồn nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký không ÿӫ lӟn 2.2 Tҩn công lѭӧc ÿӗ chӳ ký sӕ mù DSA 2.2.1 Lѭӧc ÿӗ chӳ ký sӕ mù DSA Tӯ lѭӧc ÿӗ chӳ ký sӕ DSA [8], nhóm tác giҧ Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler ÿӅ xuҩt mӝt lѭӧc ÿӗ chӳ ký sӕ mù [8] vӟi thӫ tөc hình thành tham sӕ hӋ thӕng bao gӗm mӝt sӕ nguyên tӕ p, mӝt sӕ nguyên tӕ q ѭӟc cӫa (p-1) phҫn tӱ sinh g ∈ Z *p có bұc q Ngѭӡi ký có ngѭӡi ký chӑn ngүu nhiên mӝt giá trӏ k ∈ Z q tính: r = m × g k mod p , s = k + x.r mod q khóa bí mұt x ∈ Z q khóa cơng khai tѭѫng ӭng Chӳ ký lên bҧn tin M ӣ ÿây cһp (r,s) Chӳ ký ÿѭӧc coi hӧp lӋ nӃu thӓa mãn phѭѫng trình kiӇm tra: m = y − s × g r × r mod p Ӣ ÿây m giá trӏ ÿҥi diӋn cӫa bҧn tin cҫn thҭm tra M: m = H (M ) , vӟi H(.) hàm băm 2.3.2 Lѭӧc ÿӗ chӳ ký sӕ mù Nyberg-Rueppel CNJng nhóm tác giҧ Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler [8] ÿã ÿӅ xuҩt mӝt lѭӧc ÿӗ chӳ ký sӕ mù ÿѭӧc phát triӇn tӯ lѭӧc ÿӗ chӳ ký Nyberg-Rueppel vӟi thӫ tөc hình thành chӳ ký “mù” bao gӗm bѭӟc nhѭ sau: Ngѭӡi ký (A) chӑn mӝt giá trӏ k ∈ Z q tính y = g x mod p Thӫ tөc hình thành chӳ ký “mù” bao gӗm bѭӟc nhѭ sau: a) Ngѭӡi ký (A) chӑn mӝt giá trӏ k ∈ Z q tính R ' = g k mod p b) A kiӇm tra nӃu gcd( R ' , q ) ≠ thӵc hiӋn lҥi bѭӟc a) Ngѭӧc lҥi, A gӱi R cho ngѭӡi yêu cҫu ký (B) a) Ngѭӡi yêu cҫu ký B chӑn giá trӏ α , β ∈ Z q tính α R = (R ' ) × g β mod p b) B kiӇm tra nӃu gcd( R' , q) = tính tiӃp giá trӏ m ' = α × m × R '× R −1 mod q rӗi gӱi m’ cho A NӃu ÿiӅu kiӋn chӍ không thӓa mãn, B thӵc hiӋn lҥi bѭӟc a) Ngѭӡi ký A tính giá trӏ s' = (k × m'+ x × R ' ) mod q rӗi gӱi cho B Ngѭӡi yêu cҫu ký B tính thành phҫn (r,s) cӫa chӳ ký: r = R mod q , s = ( s'× R × (R ')−1 + β × m) mod q Thӫ tөc kiӇm tra tính hӧp lӋ cӫa chӳ ký hồn toàn tѭѫng tӵ nhѭ ӣ lѭӧc ÿӗ chӳ ký DSA 2.2.2 Tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký ĈӇ tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký M, ngѭӡi ký A cҫn lѭu trӳ giá trӏ tham sӕ {R’,m’,s’} IDB ӣ mӛi lҫn ký A có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa B bҵng Thu̵t toán 1.2 nhѭ sau: Thuұt toán 1.2: Input: (M,r,s), {(Ri’, mi’,si’,IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: ( Ri ' , mi ' , si ' , IDBi ) r' = g k mod p rӗi gӱi cho ngѭӡi yêu cҫu ký (B) a) B chӑn ngүu nhiên giá trӏ α ∈ Z q , β ∈ Z q* tính r = m × g α × (r ' ) mod p , m' = r × β −1 mod q b) B kiӇm tra nӃu m' ∈ Z q* gӱi m’ cho ngѭӡi ký A β Ngѭӧc lҥi, B thӵc hiӋn lҥi bѭӟc a) A tính giá trӏ s' = ( k + x × m' ) mod q rӗi gӱi cho B B tính s = ( s'×β + α ) mod q chӳ ký cӫa A lên M cһp (r,s) Thӫ tөc kiӇm tra tính hӧp lӋ cӫa chӳ ký tѭѫng tӵ nhѭ ӣ lѭӧc ÿӗ chӳ ký Nyberg-Rueppel Nghƭa là: chӳ ký (r,s) ÿѭӧc coi hӧp lӋ nӃu thӓa mãn phѭѫng trình kiӇm tra: m = y − s × g r × r mod p Ӣ ÿây m giá trӏ ÿҥi diӋn cӫa bҧn tin cҫn thҭm tra M 2.3.3 Tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký ĈӇ tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký M, ngѭӡi ký A cҫn lѭu trӳ giá trӏ tham sӕ {r’,m’,s’} IDB ӣ mӛi lҫn ký Tӯ ÿó, A có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa B bҵng thuұt toán nhѭ sau: Thuұt toán 1.3: Input: (M,r,s), {(ri’, mi’,si’, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: (ri ' , mi ' , si ' , IDBi ) [3] α ← mi '×m −1 × r × (R')−1 mod q [4] β ← m −1 × s − si '×r × (R ')−1 mod q ( ) [5] R ← (Ri ' ) × g mod p [6] r ∗ ← R mod q [7] if (r ∗ ≠ r ) then [7.1] i ← i + [7.2] goto [2] α β [3] β ← r × (mi ' )−1 mod q 113 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) [4] α ← ( s − si '×β ) mod q [5] T ∗ = Ti × yτ × g ε mod p [6] e∗ = FH (T ∗ || M ) [7] if (e∗ ≠ e' ) then [5] r * = m × g α × (ri ' )β mod p ( r* ≠ r ) then [6.1] i ← i + [6] if [7.1] i ← i + [7.2] goto [2] [8] return IDBi Nh̵n xét: Tѭѫng tӵ nhѭ thuұt toán ký mù ÿã xét ӣ trên, Thu̵t toán 1.4 cho thҩy lѭӧc ÿӗ chӳ ký mù Moldovyan khơng an tồn nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký (N) không ÿӫ lӟn, ÿó viӋc xác ÿӏnh nguӗn gӕc bҧn tin có thӇ thӵc hiӋn ÿѭӧc [6.2] goto [2] [7] return IDBi Nh̵n xét: Tѭѫng tӵ nhѭ thuұt toán ký mù ÿã xét ӣ trên, Thu̵t toán 1.3 cho thҩy lѭӧc ÿӗ chӳ ký mù Nyberg-Rueppel không an tồn nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký khơng ÿӫ lӟn, ÿó viӋc xác ÿӏnh nguӗn gӕc bҧn tin có thӇ thӵc hiӋn ÿѭӧc 2.4 Tҩn cơng lѭӧc ÿӗ chӳ ký sӕ mù Moldovyan 2.4.1 Lѭӧc ÿӗ chӳ ký sӕ mù Moldovyan Ĉây lѭӧc ÿӗ chӳ ký sӕ mù ÿѭӧc N.A Modovyvan [9] ÿӅ xuҩt cѫ sӣ phát triӇn tӯ chuҭn chӳ ký sӕ cӫa Belarusian STB 1176.2-9 [12] Các tham sӕ hӋ thӕng bao gӗm sӕ nguyên tӕ p, q thӓa mãn: q|(p-1) phҫn tӱ sinh có bұc q Ngѭӡi ký có khóa bí mұt III XÂY DӴNG LѬӦC ĈӖ CHӲ KÝ SӔ MÙ Qua phân tích lѭӧc ÿӗ chӳ ký sӕ mù ÿây ÿã cho thҩy viӋc làm “mù” bҧn tin vӟi mӝt tham sӕ bí mұt nhѭ ӣ lѭӧc ÿӗ chӳ ký sӕ mù RSA, hay vӟi tham sӕ nhѭ ӣ lѭӧc ÿӗ DSA, Nyberg-Rueppal Moldovyan ngѭӡi ký vүn có thӇ tìm ÿѭӧc nguӗn gӕc thӵc sӵ cӫa bҧn tin ÿѭӧc ký (danh tính cӫa ngѭӡi yêu cҫu ký) Mөc ÿӅ xuҩt viӋc phát triӇn lѭӧc ÿӗ chӳ ký sӕ mù tӯ mӝt lѭӧc ÿӗ chӳ ký cѫ sӣ ÿѭӧc cҧi tiӃn tӯ lѭӧc ÿӗ chӳ ký Schnorr [13] mӝt lѭӧc ÿӗ xây dӵng toán logarit rӡi rҥc – DLP (Discrete Logarithm Problem) [14] Ѭu ÿiӇm cӫa lѭӧc ÿӗ mӟi cNJng chӍ sӱ dөng tham sӕ bí mұt nhѭ ӣ lѭӧc ÿӗ mù DSA, Nyberg-Rueppal hay Moldovyan, nhѭng không cho phép ngѭӡi ký hay bҩt kǤ mӝt ÿӕi tѭӧng khác có thӇ xác ÿӏnh ÿѭӧc nguӗn gӕc thӵc sӵ cӫa bҧn tin nhѭ ӣ lѭӧc ÿӗ ÿã ÿѭӧc cơng bӕ trѭӟc ÿó [1-5] 3.1 Xây dӵng lѭӧc ÿӗ chӳ ký cѫ sӣ 3.1.1 Lѭӧc ÿӗ chӳ ký cѫ sӣ LD 15.01A Lѭӧc ÿӗ chӳ ký cѫ sӣ ӣ ÿây, ký hiӋu LD 15.01A, ÿѭӧc cҧi tiӃn tӯ lѭӧc ÿӗ chӳ ký do C Schnorr ÿӅ xuҩt vào năm 1991 ÿѭӧc sӱ dөng làm cѫ sӣ ÿӇ phát triӇn lѭӧc ÿӗ chӳ ký sӕ mù ӣ phҫn tiӃp theo Lѭӧc ÿӗ chӳ ký LD 15.01A bao gӗm thuұt tốn hình thành tham sӕ khóa, thuұt tốn hình thành kiӇm tra chӳ ký nhѭ sau: a) Thu̵t tốn hình thành tham s͙ khóa Thuұt tốn 2.1a: Input: p, q|(p-1), x – khóa bí mұt cӫa A Output: g, y, H(.) [1] g ← h ( p −1) / q mod p , < h < p g ∈ Z *p x ∈ Z q khóa cơng khai tѭѫng ӭng y = g mod p Thӫ tөc hình thành chӳ ký “mù” bao gӗm bѭӟc nhѭ sau: Ngѭӡi ký A chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn: k < k < q tính T = g mod p rӗi gӱi T cho ngѭӡi yêu cҫu ký B B chӑn ngүu nhiên giá trӏ IJ ࣅ rӗi tính: T ' = T × yτ × g ε mod p , e' = FH (T ' || M ) e = (e'−τ ) mod q , ӣ ÿây: FH(.) hàm băm “||” toán tӱ nӕi xâu bit Sau ÿó B gӱi e cho A A tính giá trӏ s = ( k − x × e) mod q rӗi gӱi cho B B tính thành phҫn thӭ cӫa chӳ ký: s ' = ( s + ε ) mod q chӳ ký cӫa A lên M cһp (e' , s ' ) Thӫ tөc kiӇm tra tính hӧp lӋ cӫa chӳ ký tѭѫng tӵ nhѭ ӣ STB 1176.2-9, nhѭ sau: KiӇm tra nӃu: < s' < q < e' < q chuyӇn sang x bѭӟc Ngѭӧc lҥi, (e' , s ' ) sӁ bӏ tӯ chӕi vӅ tính hӧp lӋ Tính giá trӏ: T ∗ = g s ' × y e ' mod p Tính giá trӏ: e∗ = FH (T ∗ || M ) KiӇm tra nӃu: e∗ = e' (e' , s ' ) ÿѭӧc công nhұn hӧp lӋ Ngѭӧc lҥi, (e' , s ' ) sӁ bӏ tӯ chӕi 2.4.2 Tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký ĈӇ tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký M, ngѭӡi ký A cҫn lѭu trӳ giá trӏ tham sӕ {T,e,s} IDB ӣ mӛi lҫn ký Tӯ ÿó, A có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa B bҵng Thu̵t toán 1.4 nhѭ sau: Thuұt toán 1.4: Input: (M,e’,s’), {(ei, si,Ti, IDBi)| i=0,1,2,…N} Output: IDBi [1] m ← H (M ) , i = [2] select: (ei , si , Ti , IDBi ) [3] τ ← (e'−ei ) mod q [2] select H : {0,1} Z t , q < t < p ∗ [3] y ← g − x mod p [4] return {g,y,H(.)} b) Thu̵t toán ký Thuұt toán 2.2a: Input: p, q, g, x, k, M – bҧn tin cҫn ký Output: (e,s) – chӳ ký cӫa A lên M [1] r ← g k mod p [2] e ← H (r || M ) mod q [3] s ← ( k + x × e ) mod q [4] return (e,s) Chú thích: - Tốn tӱ “||” ӣ ÿây phép nӕi xâu bit [4] ε ← ( s '− si ) mod q 114 (2.1a) (2.2a) (2.3a) (2.4a) 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) Lѭӧc ÿӗ chӳ ký cѫ sӣ ÿӅ xuҩt ӣ ÿây, ký hiӋu LD 15.01B, ÿѭӧc xây dӵng dӵa tính khó cӫa tốn DLP ÿѭӧc sӱ dөng ÿӇ phát triӇn lѭӧc ÿӗ chӳ ký sӕ mù phҫn tiӃp theo a) Thu̵t tốn hình thành tham s͙ khóa Thuұt tốn 21b: Input: p, q|(p-1), x – khóa bí mұt cӫa A Output: g, y, H(.) [1] g ← h ( p −1) / q mod p , < h < p c) Thu̵t toán ki͋m tra Thuұt toán 2.3a: Input: p, q, g, y, M, (e,s) Output: (e,s) = true / false [1] u ← g s × y e mod p (2.5a) (2.6a) [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } else {return false } Chú thích: - NӃu kӃt quҧ trҧ vӅ true chӳ ký (e,s) hӧp lӋ, ÿó nguӗn gӕc tính tồn vҽn cӫa bҧn tin cҫn thҭm tra M ÿѭӧc công nhұn - NӃu kӃt quҧ trҧ vӅ false chӳ ký (e,s) giҧ mҥo, hoһc nӝi dung bҧn tin M ÿã bӏ sӱa ÿәi d) Tính ÿúng ÿ̷n cͯa l˱ͫc ÿ͛ c˯ sͧ LD 15.01A ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q sӕ nguyên tӕ thӓa mãn ÿiӅu kiӋn q | ( p − 1) , g = h ( p −1) / q mod p vӟi: < h < p , H : {0,1}∗ Z t vӟi: q < t < p , < x, k < q , y = g − x mod p , r = g k mod p , [2] select H : {0,1}∗ Z t , q < t < p −1 [3] y ← g x mod p [4] return {g,y,H(.)} b) Thu̵t toán ký Thuұt toán 2.2b: Input: p, q, g, x, k, M – bҧn tin cҫn ký Output: (e,s) – chӳ ký cӫa A lên M [1] r ← g k mod p [2] e ← H (r || M ) mod q [3] s ← x × ( k + e ) mod q [4] return (e,s) c) Thu̵t toán ki͋m tra Thuұt toán 2.3b: Input: p, q, g, y, M, (e,s) Output: (e,s) = true / false e = H (r || M ) mod q , u = g s × y e mod p NӃu: s = ( k + x × e) mod q v = H (u || M ) mod q thì: v = e Thұt vұy, tӯ (2.1a), (2.3a), (2.4a) (2.5a) ta có: u = g s × y e mod p = g k + x.e × g − x.e mod p (2.7a) [1] u ← g − e × y s mod p [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } else {return false } = g x.e+k − x.e mod p = g k mod p Tӯ (2.2a) (2.7a), suy ra: u = r (2.8a) Thay (2.8a) vào (2.6a) ta ÿѭӧc: (2.9a) v = H (u || M ) mod q = H ( r || M ) mod q Tӯ (2.3a) (2.9a), suy ra: v = e Ĉây ÿiӅu cҫn chӭng minh e) Mͱc ÿ͡ an toàn cͯa l˱ͫc ÿ͛ c˯ sͧ Mӭc ÿӝ an toàn cӫa mӝt lѭӧc ÿӗ chӳ ký sӕ nói chung ÿѭӧc ÿánh giá qua khҧ năng: - Chӕng tҩn cơng làm lӝ khóa mұt - Chӕng tҩn công giҧ mҥo chӳ ký V͉ kh̫ ch͙ng ṱn cơng làm l͡ khóa mât: Tӯ (2.1a) cho thҩy mӭc ÿӝ an tồn xét theo khҧ chӕng tҩn cơng làm lӝ khóa mұt cӫa lѭӧc ÿӗ cѫ sӣ phө thuӝc vào mӭc ÿӝ khó giҧi cӫa tốn logarit rӡi rҥc, hoàn toàn tѭѫng tӵ nhѭ vӟi lѭӧc ÿӗ chӳ ký DSA [9] , GOST R34.10-94 [10] Schnorr [13] V͉ kh̫ ch͙ng ṱn công gi̫ m̩o chͷ ký: Tӯ (2.3a), (2.5a) (2.6a) cӫa lѭӧc ÿӗ cѫ sӣ cho thҩy, mӝt cһp (e,s) bҩt kǤ (không ÿѭӧc tҥo bӣi Thu̵t toán ký 2.2a cӫa lѭӧc ÿӗ tӯ khóa bí mұt x cӫa ngѭӡi ký) nhѭng vүn sӁ ÿѭӧc công nhұn chӳ ký hӧp lӋ cӫa ÿӕi tѭӧng sӣ hӳu khóa cơng khai y lên bҧn tin M nӃu thӓa mãn ÿiӅu kiӋn: (2.10a) e = H (( g s × y e mod p) || M ) mod q Tѭѫng tӵ nhѭ ӣ lѭӧc ÿӗ chӳ ký Schnorr, có thӇ thҩy rҵng (2.10a) mӝt dҥng tốn khó nӃu tham sӕ p, q kích thѭӟc cӫa dӳ liӋu ÿҫu hàm băm H(.) ÿѭӧc chӑn ÿӫ lӟn 3.1.2 Lѭӧc ÿӗ chӳ ký cѫ sӣ LD 15.01B (2.1b) (2.2b) (2.3b) (2.4b) (2.5b) (2.6b) d) Tính ÿúng ÿ̷n cͯa l˱ͫc ÿ͛ c˯ sͧ LD 15.01B ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q sӕ nguyên tӕ thӓa mãn ÿiӅu kiӋn q | ( p − 1) , g = h ( p −1) / q mod p vӟi: < h < p , H : {0,1}∗ Z t vӟi: q < t < p , < x, k < q , −1 y = g x mod p , r = g k mod p , e = H (r || M ) mod q , NӃu: s = x × ( k + e ) mod q u = g − e × y s mod p v = H (r || M ) mod q thì: v = e Thұt vұy, tӯ (2.1b), (2.3b), (2.4b) (2.5b) ta có: u = g − e × y s mod p = g − e × g x x =g e +k −e −1 ( k + e ) mod p (2.7b) mod p = g mod p k Tӯ (2.2b) (2.7b), suy ra: u=r (2.8b) Thay (2.8b) vào (2.6b) ta ÿѭӧc: (2.9b) v = H (u || M ) mod q = H (r || M ) mod q Tӯ (2.3b) (2.9b), suy ra: v = e Ĉây ÿiӅu cҫn chӭng minh e) Mͱc ÿ͡ an toàn cͯa l˱ͫc ÿ͛ c˯ sͧ LD 15.01B Tѭѫng tӵ lѭӧc ÿӗ LD 15.01A, mӭc ÿӝ an toàn xét theo khҧ chӕng tҩn cơng làm lӝ khóa mұt cӫa lѭӧc ÿӗ LD15.01B phө thuӝc vào mӭc ÿӝ khó giҧi cӫa tốn logarit rӡi rҥc, cịn kh̫ ch͙ng ṱn cơng gi̫ m̩o chͷ ký phө thuӝc vào ÿӝ khó cӫa viӋc giҧi (2.10b): (2.10b) e = H ((g −e × y s mod p) || M ) modq 115 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) +ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7 3.2 Xây dӵng lѭӧc ÿӗ chӳ ký sӕ mù 3.2.1 Lѭӧc ÿӗ chӳ ký sӕ mù LD 15.02A Lѭӧc ÿӗ chӳ ký sӕ mù ӣ ÿây ÿѭӧc phát triӇn tӯ lѭӧc ÿӗ cѫ sӣ LD 15.01A Giҧ sӱ A ngѭӡi ngѭӡi ký có khóa cơng khai ÿѭӧc hình thành theo Thu̵t toán 2.1a cӫa lѭӧc ÿӗ cѫ sӣ B ngѭӡi tҥo bҧn tin M ÿѭӧc ký Khi ÿó, thuұt toán ký kiӇm tra chӳ ký cӫa lѭӧc ÿӗ ÿѭӧc chӍ nhѭ sau: a) Thu̵t toán ký Thuұt toán 3.1a: Input: p, q, g, x, y, Į, ȕ, k , M Output: (e,s) [1] ← g k mod p (3.1a) [2] rb ← (ra ) × ( y × g ) mod p [3] e ← H (rb || M ) mod q α u = g s × y e mod p = g (α sa + β ) × y (α eb + β ) mod p = g α ( k + x eb ) + β × g − x (α eb + β ) mod p = g k α × g x eb α × g β × g − x eb α × g − x β mod p α = (ra ) × y β × g β mod p = (ra ) × ( y × g ) β mod p α u = g −β × g − x α = (ra ) × g v = H (u || M ) mod q thì: NӃu: (3.4a) e (3.10a) × y mod p v = H (u || M ) mod q = H ( rb || M ) mod q (3.5a) u = ( g ) s × ( y ) mod p mod p β (3.11a) (3.12a) Tӯ (3.2a) (3.12a), suy ra: v = e Ĉây ÿiӅu cҫn chӭng minh d) Mͱc ÿ͡ an toàn cͯa l˱ͫc ÿ͛ LD 15.02A Tѭѫng tӵ nhѭ vӟi lѭӧc ÿӗ cѫ sӣ, mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ chӳ ký mù mӟi ÿӅ xuҩt cNJng ÿѭӧc ÿánh giá qua khҧ năng: - Chӕng tҩn cơng làm lӝ khóa mұt - Chӕng giҧ mҥo chӳ ký Ngoài ra, vӟi mӝt lѭӧc ÿӗ chӳ ký sӕ mù, mӭc ÿӝ an tồn cӫa cịn ÿѭӧc ÿánh giá qua khҧ chӕng tҩn cơng làm lӝ nguӗn gӕc bҧn tin sau ÿѭӧc ký Yêu cҫu ÿһt ÿӕi vӟi lѭӧc ÿӗ mӟi ÿӅ xuҩt bҧn tin M sau ÿã ÿѭӧc ký, ngѭӡi ký A hay bҩt kǤ mӝt ÿӕi tѭӧng sӱ dөng khác cNJng hồn tồn khơng thӇ biӃt ÿѭӧc bҧn tin M ÿѭӧc tҥo tӯ ÿӕi tѭӧng B Kh̫ ch͙ng ṱn cơng làm l͡ khóa m̵t gi̫ m̩o chͷ ký Mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ chӳ ký mù mӟi ÿӅ xuҩt ÿѭӧc thiӃt lұp dӵa mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ cѫ sӣ Vì thӃ, vӅ cѫ bҧn khҧ chӕng tҩn cơng làm lӝ khóa mұt khҧ chӕng giҧ mҥo chӳ ký cӫa lѭӧc ÿӗ tѭѫng ÿѭѫng nhѭ Kh̫ ch͙ng ṱn công làm l͡ ngu͛n g͙c cͯa b̫n tin ÿ˱ͫc ký Thuұt toán ký cӫa lѭӧc ÿӗ mӟi ÿӅ xuҩt cho thҩy, nӃu ӣ mӛi lҫn ký bҵng viӋc lѭu trӳ tham sӕ {sa,ra,eb,k} vӟi ÿӏnh danh cӫa ngѭӡi yêu cҫu ký (IDB), ngѭӡi ký A có thӇ xác ÿӏnh ÿѭӧc mӕi quan hӋ giӳa {M,(e,s)} vӟi IDB, nghƭa tӯ bҧn tin M chӳ ký tѭѫng ӭng (e,s) có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi u cҫu ký B, vӟi ÿiӅu kiӋn ngѭӡi ký A biӃt ÿѭӧc tham sӕ (Į,ȕ) Thұt vұy, biӃt (Į,ȕ) ngѭӡi ký A có thӇ xác ÿӏnh ÿѭӧc IDB bҵng Thu̵t toán 3.3a nhѭ sau: < x, k < q , < α , β < q , y = g − x mod p , α β = g k mod p , rb = (ra ) × ( y × g ) mod p , e = H (rb || M ) mod q , , , sa = (k + x × eb ) mod q eb = α −1 × (e − β ) mod q −β Thay (3.11a) vào (3.8a) ta có: , s = (α × s a + β ) mod q −k α Tӯ (3.2) (3.10), suy ra: u = rb [1] u ← g s × ye mod p (3.7a) (3.8a) [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } else {return false } Chú thích: - NӃu kӃt quҧ trҧ vӅ true tính hӧp lӋ cӫa chӳ ký (e,s) ÿѭӧc cơng nhұn, ÿó tính tồn vҽn cӫa bҧn tin cҫn thҭm tra M danh tính cӫa ngѭӡi ký (A) ÿѭӧc khҷng ÿӏnh - NӃu kӃt quҧ trҧ vӅ false chӳ ký (e,s) giҧ mҥo, hoһc nӝi dung bҧn tin M ÿã bӏ sӱa ÿәi c) Tính ÿúng ÿ̷n cͯa l˱ͫc ÿ͛ LD 15.02A ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q sӕ nguyên tӕ thӓa mãn ÿiӅu kiӋn q | ( p − 1) , g = h ( p −1) / q mod p vӟi: < h < p , ∗ β ( ) × (g ) [6] s ← (α × sa + β ) mod q (3.6a) [7] return (e,s) Chú thích: - Các bѭӟc [1], [5] ngѭӡi ký A thӵc hiӋn - Các bѭӟc [2], [3], [4], [6] [7] ngѭӡi có bҧn tin cҫn ký B thӵc hiӋn - Tham sӕ k A lӵa chӑn thӓa mãn: 1< k < q - Tham sӕ Į, ȕ B lӵa chӑn thӓa mãn: < Į, ȕ < q - {x,y} cһp khóa bí mұt/cơng khai cӫa A b) Thu̵t tốn ki͋m tra Thuұt toán 3.2a: Input: p, q, g, y, M – bҧn tin cҫn thҭm tra, (e,s) – chӳ ký cӫa A Output: (e,s) = true / false H : {0,1} Z q α Tӯ (2.1a), (3.1a) (3.9a) ta có: (3.3a) [4] eb ← α −1 × (e − β ) mod q [5] sa ← (k + x × eb ) mod q β = (g k ) × (g − x ) × g β mod p (3.2a) β (3.9a) Thuұt toán 3.3a: Input: {(rai,ebi,sai,ki,IDBi)| i=0,1,2,…N}, M, (e,s), Į, ȕ Output: IDBi [1] m ← H (M ) , i = [2] select: (rai , ebi , sai , ki , IDBi ) v = e Thұt vұy, tӯ (3.4a), (3.5a), (3.6a) (3.7a) ta có: [3] rbi * ← (rai )α × ( g × y )β mod p [4] e∗ ← H (rbi * || M ) mod q 116 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) [4] eb ← α −1 × (e + β ) mod q [5] sa ← x × (k + eb ) mod q [5] if e∗ ≠ e then [5.1] i ← i + ; [5.2] goto [2]; [6] ebi∗ ← α −1 × (e − β ) mod q [7] if [6] s ← α × (sa + β ) mod q (3.6b) [7] return (e,s) Chú thích: - Các bѭӟc [1], [5] ngѭӡi ký A thӵc hiӋn - Các bѭӟc [2], [3], [4], [6] [7] ngѭӡi có bҧn tin cҫn ký B thӵc hiӋn - Tham sӕ k A lӵa chӑn thӓa mãn: 1< k < q - Tham sӕ Į, ȕ B lӵa chӑn thӓa mãn: < Į, ȕ < q - {x,y} cһp khóa bí mұt/cơng khai cӫa A b) Thu̵t tốn ki͋m tra Thuұt toán 3.2b: Input: p, q, g, y, M – bҧn tin cҫn thҭm tra, (e,s) – chӳ ký cӫa A Output: (e,s) = true / false ebi∗ ≠ ebi then [7.1] i ← i + ; [7.2] goto [2]; [8] sai∗ ← (ki + x × ebi ) mod q [9] if sai∗ ≠ sai then [9.1] i ← i + ; [9.2] goto [2]; [10] s ∗ ← (α × sai + β ) mod q [11] if s ∗ ≠ s then [11.1] i ← i + ; [11.2] goto [2]; [12] return IDBi Nh̵n xét: [1] u ← g −e × y s mod p [2] v ← H (u || M ) mod q [3] if ( v = e ) then {return true } else {return false } Thuұt tốn 3.3a có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi yêu cҫu ký B nӃu biӃt ÿѭӧc tham sӕ bí mұt (Į,ȕ) B tҥo Nói cách khác, mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ mӟi ÿӅ xuҩt xét theo khҧ giӳ bí mұt nguӗn gӕc cӫa bҧn tin phө thuӝc vào mӭc ÿӝ khó cӫa viӋc tìm ÿѭӧc tham sӕ bí mұt (Į,ȕ) Tӯ thuұt toán ký cӫa lѭӧc ÿӗ mӟi ÿӅ xuҩt cho thҩy tҥi thӡi ÿiӇm ký A chӍ biӃt ÿѭӧc tham sӕ ra, eb, sa ĈiӅu ÿó có nghƭa ÿӇ tính ÿѭӧc (Į,ȕ), A cҫn phҧi giҧi (3.13a): (3.7b) (3.8b) c) Tính ÿúng ÿ̷n cͯa l˱ͫc ÿ͛ LD 15.02B ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q sӕ nguyên tӕ thӓa mãn ÿiӅu kiӋn q | ( p − 1) , g = h ( p −1) / q mod p vӟi: < h < p , H : {0,1} Z t vӟi: q < t < p , < x, k < q , ∗ < α, β < q −1 , β rb ← (ra ) × g × y β α β , mod p × (e + β ) mod q e = H (rb || M ) mod q NӃu: u = g × y mod p s = α × (s a + β ) mod q v = H (u || M ) mod q thì: v = e Thұt vұy, tӯ (3.4b), (3.5b), (3.6b) (3.7b) ta có: u = g − e × y s mod p = g β −α eb × g x Mһt khác, mӛi bѭӟc thӵc hiӋn cӫa thuұt toán ký (Thu̵t toán 3.1a) ÿӅu sӱ dөng tham sӕ bí mұt (Į,ȕ) B tҥo nên dҥng tҩn công làm lӝ nguӗn gӕc bҧn tin nhѭ thuұt toán ÿã chӍ ӣ Mөc (Thu̵t toán 1.1, 1.2, 1.3 1.4) không khҧ thi ÿӕi vӟi lѭӧc ÿӗ mӟi ÿӅ xuҩt 3.2.2 Lѭӧc ÿӗ chӳ ký sӕ mù LD 15.02B Lѭӧc ÿӗ chӳ ký sӕ mù, ký hiӋu LD-15.02B, ÿѭӧc phát triӇn tӯ lѭӧc ÿӗ cѫ sӣ LD-15.01B CNJng giҧ thiӃt rҵng A ngѭӡi ký có khóa cơng khai ÿѭӧc hình thành theo Thu̵t tốn 2.1b cӫa lѭӧc ÿӗ cѫ sӣ LD 15.01B B ngѭӡi tҥo bҧn tin M ÿѭӧc ký Khi ÿó, thuұt tốn ký kiӇm tra chӳ ký cӫa lѭӧc ÿӗ ÿѭӧc chӍ nhѭ sau: a) Thu̵t toán ký Thuұt toán 3.1b: Input: p, q, g, x, y, Į, ȕ, k , M Output: (e,s) [1] ← g k mod p (3.1b) , , , −e Tuy nhiên, tӯ kӃt quҧ nghiên cӭu ÿã ÿѭӧc cơng bӕ có thӇ thҩy rҵng (3.13a) mӝt dҥng tốn khó chѭa có lӡi giҧi nӃu tham sӕ p, q ÿѭӧc chӑn ÿӫ lӟn ÿӇ phѭѫng pháp vét cҥn không khҧ thi ӭng dөng thӵc tӃ , = g k mod p sa = x × (k + eb ) mod q eb = α (3.13a) −1 , y = g x mod p α eb = α −1 × ( H ((ra )α × (g × y ) mod p || M ) mod q − β ) mod q [2] rb ← (ra )α × g β × y α β mod p [3] e ← H (rb || M ) mod q (3.4b) (3.5b) =g β −α eb ×g β − eb α β − eb α = g ×g = g ×g −1 x −1 α ( β + x (k + eb )) ×g x −1 α β x −1 −1 ( k + eb ) ( ) × (g ) × g α β ( ) α ( β + sa ) mod p mod p × g x α x α β −1 s k α ×g mod p α eb mod p (3.9b) α = gβ × gx × (g k ) mod p Tӯ (2.1b), (3.1b) (3.9b) ta có: −1 α β ( ) × (g ) mod p u = gβ × gx α β = (ra ) × g × y α β k α (3.10b) mod p Tӯ (3.2) (3.10), suy ra: u = rb (3.11b) Thay (3.11) vào (3.8) ta có: (3.12b) v = H (u || M ) mod q = H (rb || M ) mod q Tӯ (3.2b) (3.12b), suy ra: v = e Ĉây ÿiӅu cҫn chӭng minh d) Mͱc ÿ͡ an toàn cͯa l˱ͫc ÿ͛ LD 15.02B Mӭc ÿӝ an tồn xét vӅ khía cҥnh chӕng tҩn cơng làm lӝ khóa mұt chӕng giҧ mҥo chӳ ký cӫa LD 15.02B có thӇ phân tích tѭѫng tӵ nhѭ vӟi lѭӧc ÿӗ cѫ sӣ LD 15.01B hay nhѭ (3.2b) (3.3b) 117 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) vӟi lѭӧc ÿӗ chӳ ký hӑ ElGamal nhѭ: DSA, GOST R34.1094, Schnorr … Tѭѫng tӵ lѭӧc ÿӗ LD 15.02A, khҧ chӕng tҩn công làm lӝ nguӗn gӕc cӫa bҧn tin sau ký cӫa lѭӧc ÿӗ LD15.02B cNJng có thӇ ÿѭӧc ÿánh giá qua phân tích khҧ thӵc hiӋn thuұt tҩn công làm lӝ nguӗn gӕc bҧn tin ÿѭӧc ký nhѭ sau: Thuұt toán 3.3b: Input: {(rai,ebi,sai,ki,IDBi)| i=0,1,2,…N}, M, (e,s), Į, ȕ Output: IDBi [1] m ← H (M ) , i = IV Tӯ viӋc phân tích ÿiӇm yӃu cӫa mӝt sӕ lѭӧc ÿӗ chӳ ký sӕ mù ÿã ÿѭӧc công bӕ, báo ÿӅ xuҩt lѭӧc ÿӗ chӳ ký sӕ mù mӟi ÿѭӧc phát triӇn tӯ lѭӧc ÿӗ chӳ ký cѫ sӣ xây dӵng dӵa tính khó cӫa tốn logarit rӡi rҥc, lѭӧc ÿӗ mӟi có mӭc ÿӝ an toàn cao hѫn lѭӧc ÿӗ ÿã biӃt vӅ khҧ chӕng tҩn công làm lӝ nguӗn gӕc cӫa bҧn tin ÿѭӧc ký Ĉây mӝt yӃu tӕ quan trӑng cho phép lѭӧc ÿӗ mӟi ÿӅ xuҩt có tính khҧ thi ӭng dөng thӵc tӃ TÀI LIӊU THAM KHҦO [2] select: (rai , ebi , sai , ki , IDBi ) [1] [3] rbi * ← (rai )α × g β × y α β mod p [4] e ∗ ← rbi *×H (M ) mod q [2] [3] e∗ ≠ e then [5.1] i ← i + ; [5] if [4] [5.2] goto [2]; [6] ebi∗ ← α −1 × (e + β ) mod q [5] ebi∗ ≠ ebi then [7.1] i ← i + ; [7] if [6] [7.2] goto [2]; [8] s ai∗ ← x × (k i + ebi ) mod q [7] sai∗ ≠ sai then [8] [9.1] i ← i + ; [9.2] goto [2]; [10] s ∗ ← α × (sai + β ) mod q [9] [9] if [11] if KӂT LUҰN [10] s ∗ ≠ s then [11] [11.1] i ← i + ; [11.2] goto [2]; [12] return IDBi Nh̵n xét: [12] Thu̵t tốn 3.3b cho phép A có thӇ xác ÿӏnh ÿѭӧc danh tính cӫa B nӃu có thӇ tính (Į,ȕ) nhӡ giҧi (3.13b): [13] eb = α −1 × ( H ((( ) α × g β × y α β mod p ) || M ) mod q + β ) mod q [14] (3.13b) Tuy nhiên, (3.13b) mӝt dҥng tốn khó nӃu tham sӕ p, q ÿѭӧc chӑn ÿӫ lӟn Mһt khác, dҥng tҩn công làm lӝ nguӗn gӕc bҧn tin nhѭ thuұt toán ÿã chӍ ӣ Mөc (Thu̵t tốn 1.1, 1.2, 1.3 1.4) khơng khҧ thi ÿӕi vӟi lѭӧc ÿӗ mӟi ÿӅ xuҩt 118 D Chaum, Blind Signature Systems, Advances in Cryptology, Crypto’ 83, Plenum Press, pp 153 D Chaum, A Fiat, M Naor, “Untraceable Electronic Cash”, Advances in Cryptology,Crypto’ 88, LNCS 403, Springer Verlag, pp 319-327 D Chaum, “Privacy Protected Payment”, SMART CARD 2000, Elsevier Science Publishers B.V., 1989, pp 69-93 N Ferguson, “Single Term Off-line Coins”, Advances in Cryptology, Eurocrypt’93, LNCS 765, Springer Verlag, pp 318-328 D Chaum, B den Boer, E van Heyst, S Mjolsnes, A Steenbeek, “Efficient Offline Electronic Checks”, Advances in Cryptology, Eurocrypt’89, LNCS 434, Springer Verlag, pp 294-301 B C Rivest R., Shamir A., Adleman L (1978), “A Method for Obtaining Digital Signatures and Public Key Cryptosystems”, Communications of the ACM, Vol 21, No 2, pp 120 – 126 K Nyberg, R A Rueppel, A New Signature Scheme Base on the DSA Giving Message Recovery, 1st ACM conference on Computer and Communications Security, November – 5, Fairfax, Virginia Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler, Blind Signatures Base on Discrete Logarithm Problem, Swiss KWF Foundation, grant no 2724.1 Nikolay A Moldovyan, Blind Collective Signature Protocol, Computer Science Journal of Moldova, vol.19, no.1(55), 2011 National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, U.S Department of Commerce, 1994 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) Kharin Yu.S., Bernik V.I., Matveev G.V., Aguievich S.V Mathematic and computer foundations of cryptology, Novoe znanie, Minsk, 2003 381 p (in Russian) C P Schnorr, “Efficient signature generation by smart cards”, Journal of Cryptology, vol 4, pp 161 – 174, 1991 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 ... thành theo lѭӧc ÿӗ chӳ ký RSA B ngѭӡi tҥo ISBN: 97 8-6 0 4-6 7-0 63 5-9 112 Hội Thảo Quốc Gia 2015 Điện Tử, Truyền Thông Công Nghệ Thông Tin (ECIT 2015) +ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UXӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7... (e,s) Chú thích: - Các bѭӟc [1], [5] ngѭӡi ký A thӵc hiӋn - Các bѭӟc [2], [3], [4], [6] [7] ngѭӡi có bҧn tin cҫn ký B thӵc hiӋn - Tham sӕ k A lӵa chӑn thӓa mãn: 1< k < q - Tham sӕ Į, ȕ B lӵa... (e,s) Chú thích: - Các bѭӟc [1], [5] ngѭӡi ký A thӵc hiӋn - Các bѭӟc [2], [3], [4], [6] [7] ngѭӡi có bҧn tin cҫn ký B thӵc hiӋn - Tham sӕ k A lӵa chӑn thӓa mãn: 1< k < q - Tham sӕ Į, ȕ B lӵa