Phát triển lược đồ chữ ký số mù
Trang 1NguyӉn TiӅn Giang 1, Nguy Ӊn Ĉӭc Thөy2, Lê Ĉình Sѫn 3, L ѭu Hӗng DNJng3
1 Cөc Công NghӋ Thông Tin – Bӝ QP, 2 Trѭӡng Cao ÿҷng Kinh tӃ - Kӻ thuұt TP Hӗ Chí Minh, 3 Hӑc viӋn Kӻ thuұt Quân sӵ Email: ntgiang77@gmail.com, thuyphulam2013@gmail.com, ledinhson@gmail.com, luuhongdung@gmail.com
Tóm t̷t— Bài báo ÿӅ xuҩt xây dӵng 2 lѭӧc ÿӗ chӳ ký sӕ mù tӯ
vi Ӌc phát triӇn lѭӧc ÿӗ chӳ ký sӕ trên cѫ sӣ bài toán logarithm
rӡi rҥc Các lѭӧc ÿӗ mӟi ÿӅ xuҩt ӣ ÿây có mӭc ÿӝ an toàn cao
h ѫn vӅ khҧ năng 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 ÿó trong thӵc tӃ
T ͳ khóa- Digital Signature, Blind Signature, Digital Signature
Scheme, Blind Signature Scheme
I ĈҺTVҨNĈӄ Khái niӋm chӳ ký sӕ mù ÿѭӧc ÿӅ xuҩt bӣi D Chaum vào
năm 1983 [1], ÿây là mӝt loҥi chӳ ký sӕ ÿѭӧc sӱ dөng ÿӇ xác
thӵc tính toàn vҽn cӫa mӝt bҧn tin ÿiӋn tӱ và 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ý này cho phép
ҭn danh ngѭӡi tҥo ra bҧn tin ÿѭӧc ký Trong [2-4] ÿã chӍ ra
ӭng dөng cӫa loҥi chӳ ký này khi cҫn bҧo vӋ tính riêng tѭ cӫa
các khách hàng trong các hӋ thӕng thanh toán ÿiӋn tӱ hay vҩn
ÿӅ ҭn danh cӫa cӱ tri trong viӋc tә chӭc bҫu cӱ trӵc tuyӃn [5]
Mӝt ÿiӇm cҫn chú ý ӣ ÿây là, vӟi các loҥi chӳ ký sӕ thông
thѭӡng thì ngѭӡi ký cNJng chính là ngѭӡi tҥo ra bҧn tin ÿѭӧc
ký, còn vӟi chӳ ký sӕ mù thì ngѭӡi ký và ngѭӡi tҥo ra bҧn tin
ÿѭӧc ký là 2 ÿӕi tѭӧng hoàn toàn khác nhau Ĉây là tính chҩt
ÿһc trѭng cӫa chӳ ký sӕ mù và cNJng là mӝt tiêu chí quan trӑng
ÿӇ ÿánh giá mӭc ÿӝ an toàn cӫa loҥi chӳ ký sӕ này
Trong [1-5] các tác giҧ ÿã ÿӅ xuҩt mӝt sӕ lѭӧc ÿӗ chӳ ký sӕ
mù ӭng dөng khi cҫn bҧo vӋ tính riêng tѭ cӫa các khách hàng
trong các hӋ thӕng thanh toán ÿiӋn tӱ hay vҩn ÿӅ ҭn danh cӫa
cӱ tri trong viӋc tә chӭc bҫu cӱ trӵc tuyӃn Tuy nhiên, ÿiӇm
yӃu chung cӫa các lѭӧc ÿӗ trên là không có khҧ năng chӕng lҥi
kiӇu tҩn công làm lӝ nguӗn gӕc cӫa bҧn tin ÿѭӧc ký, vì thӃ khҧ
năng ӭng dөng cӫa các lѭӧc ÿӗ này trong thӵc tӃ là rҩt hҥn chӃ
Nӝi dung bài 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 toàn cao hѫn vӅ khҧ năng giӳ bí mұt nguӗn gӕc cӫa
bҧn tin ÿѭӧc ký có thӇ ÿáp ӭng các yêu cҫu mà thӵc tӃ ÿһt ra
II TҨNCÔNGLÀMLӜNGUӖNGӔCBҦNTINĈӔI
VӞIMӜTSӔLѬӦCĈӖCHӲKÝSӔMÙ
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 là 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 là ngѭӡi tҥo ra
bҧn tin M và 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 khi bҧn tin M ÿã ÿѭӧc ký, thӫ tөc hình thành chӳ ký (“ký mù”) ÿѭӧc thӵc hiӋn qua các 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: 1<k < n và k nguyên tӕ cùng nhau vӟi
n , sau ÿó B tính: m'=m×k emodn, ӣ ÿây: m = H (M) là giá trӏ
ÿҥi diӋn cӫa bҧn tin cҫn ký M và H(.) là 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')dmodn rӗi gӱi lҥi s’ cho B
B˱ͣc 3: B “xóa mù” s’ và nhұn ÿѭӧc chӳ ký s nhѭ sau:
n k s
s ' − 1mod
×
ViӋc kiӇm tra tính hӧp lӋ cӫa s và do ÿó là tính toà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 toàn vҽn cӫa M và danh tính ngѭӡi ký bҵng thuұt toán kiӇm tra RSA, nhѭng không thӇ xác ÿӏnh ÿѭӧc bҧn tin M là do ai tҥo ra Nghƭa là 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 ra bҧn tin ÿѭӧc ký M là có thӇ thӵc hiӋn ÿѭӧc Bӣi vì 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 thì A hoàn toàn biӃt rõ, ÿiӅu này là hiӇn nhiên vì A chӍ ký khi biӃt rõ B là
ai Giҧ sӱ danh tính cӫa B ÿѭӧc ký hiӋu là IDB, ÿӇ xác ÿӏnh danh tính cӫa ngѭӡi yêu cҫu ký tӯ bҧn tin M và chӳ ký s tѭѫng ӭng sau thӡi ÿiӇm ký (khi M và s ÿã ÿѭӧc công khai), ӣ mӛi lҫn ký chӍ cҫn A lѭu trӳ giá trӏ s’ và IDB trong mӝt cѫ sӣ dӳ liӋu Tӯ ÿó, viӋc xác ÿӏnh danh tính cӫa ngѭӡi yêu cҫu ký - IDB tӯ bҧn tin ÿѭӧc ký M và chӳ ký s là hoàn toà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 = 0
[2] select: (s i ,'ID Bi) [3] k s m d n
∗
×
←
[4] if gcd( k∗, n ) ≠ 1 then
[4.1] i ← i+1
[4.2] goto [2]
[5] s∗ s i' (k∗)− 1modn
×
←
[6] if (s ≠∗ s) then
ISBN: 978-604-67-0635-9
Trang 2[6.1] i ← i+1
[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 thì viӋc
xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi yêu cҫu ký (ngѭӡi tҥo ra
bҧn tin ÿѭӧc ký) là hoàn toàn có thӇ thӵc hiӋn ÿѭӧc Nói cách
khác, lѭӧc ÿӗ chӳ ký sӕ mù RSA là không an toà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 là
ѭӟc cӫa (p-1) và phҫn tӱ sinh *
p
Z
g ∈ có bұc là q Ngѭӡi ký có khóa bí mұt x ∈ Z q và khóa công khai tѭѫng ӭng là
p
g
y= xmod Thӫ tөc hình thành chӳ ký “mù” bao gӗm các
bѭӟc nhѭ sau:
1 a) Ngѭӡi ký (A) chӑn mӝt giá trӏ k ∈ Z q và tính
p g
R' = kmod
b) A kiӇm tra nӃu gcd(R,'q)≠1 thì 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)
2 a) Ngѭӡi yêu cҫu ký B chӑn 2 giá trӏ α,β∈Z q và tính
( )R g p
R 'α βmod
×
b) B kiӇm tra nӃu gcd(R,'q)=1 thì tính tiӃp giá trӏ
q R R m
×
×
×
=α rӗi gӱi m’ cho A NӃu ÿiӅu
kiӋn chӍ ra không thӓa mãn, B thӵc hiӋn lҥi bѭӟc a)
3 Ngѭӡi ký A tính giá trӏ s'=(k×m'+x×R')modq rӗi
gӱi cho B
4 Ngѭӡi yêu cҫu ký B tính các thành phҫn (r,s) cӫa chӳ
ký:r=Rmodq, s (s' R ( )R' 1 m)modq
× +
×
×
Thӫ tөc kiӇm tra tính hӧp lӋ cӫa chӳ ký hoà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ӏ các tham sӕ {R’,m’,s’} và 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 = 0
[2] select: ( ,' ,' ,' )
Bi i i
i m s ID R
[3] m i' m− 1 r ( )R'− 1modq
×
×
×
←
α
[4] m− 1 (s s i' r ( )R'− 1)modq
×
×
−
×
←
β
[5] R (R i')α gβmodp
×
←
[6] r∗←Rmodq
[7] if (r ≠∗ r) then
[7.1] i ← i+1
[7.2] goto [2]
[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 thì viӋc xác ÿӏnh ÿѭӧc danh tính cӫa ngѭӡi yêu cҫu ký (ngѭӡi tҥo ra bҧn tin ÿѭӧc ký) là hoàn toà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 toà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ӕ do K Nyberg và
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,
ngѭӡi ký chӑn ngүu nhiên mӝt giá trӏ k ∈ Z q và tính:
p g m
r= × kmod , s=k+x.rmodq
Chӳ ký lên bҧn tin M ӣ ÿây là cһp (r,s) Chӳ ký ÿѭӧc coi là
hӧp lӋ nӃu thӓa mãn phѭѫng trình kiӇm tra:
p r g y
m= −s× r× mod
Ӣ ÿây m là giá trӏ ÿҥi diӋn cӫa bҧn tin cҫn thҭm tra M:
)
(M H
m = , vӟi H(.) là 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 các bѭӟc nhѭ sau:
1 Ngѭӡi ký (A) chӑn mӝt giá trӏ k ∈ Z q và tính
p g
r' = kmod rӗi gӱi cho ngѭӡi yêu cҫu ký (B)
2 a) B chӑn ngүu nhiên giá trӏ α∈Z q, *
q
Z
∈
β và tính
g m
×
×
×
b) B kiӇm tra nӃu m ∈' Z*q thì gӱi m’ cho ngѭӡi ký A
Ngѭӧc lҥi, B thӵc hiӋn lҥi bѭӟc a)
3 A tính giá trӏ s'=(k+x×m')modq rӗi gӱi cho B
4 B tính s=(s'×β+α)modq và chӳ ký cӫa A lên M là
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 là hӧp lӋ nӃu thӓa mãn phѭѫng trình kiӇm tra:
p r g y
m= −s× r× mod
Ӣ ÿây m là 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ӏ các tham sӕ {r’,m’,s’} và 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 = 0
[2] select: ( ri ,' mi ,' si ,' IDBi) [3] r (m ) q
i'−1mod
×
← β
+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
Trang 3[4] α←(s−s i'×β)modq
[5] r* m gα ( )r i'βmodp
×
×
=
[6] if ( r ≠ * r ) then
[6.1] i ← i + 1
[6.2] goto [2]
[7] return IDBi
Nh ̵n xét:
Tѭѫng tӵ nhѭ 2 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 là
không an toàn nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký không ÿӫ lӟn, khi
ÿó viӋc xác ÿӏnh nguӗn gӕc bҧn tin là 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à lѭӧc ÿӗ chӳ ký sӕ mù ÿѭӧc N.A Modovyvan [9]
ÿӅ xuҩt trên 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
2 sӕ nguyên tӕ p, q thӓa mãn: q|(p-1) và phҫn tӱ sinh g ∈ Z*p
có bұc là q Ngѭӡi ký có khóa bí mұt x ∈ Zq và khóa công
khai tѭѫng ӭng là y=g xmodp Thӫ tөc hình thành chӳ ký
“mù” bao gӗm các bѭӟc nhѭ sau:
1 Ngѭӡi ký A chӑn ngүu nhiên mӝt giá trӏ k thӓa mãn:
q
k <
<
1 và tính T=g kmodp rӗi gӱi T cho ngѭӡi yêu
cҫu ký B
2 B chӑn ngүu nhiên 2 giá trӏ IJ và ࣅ rӗi tính:
p g y
T
×
×
= , e' F (T'||M)
H
= và e=(e'−τ)modq, ӣ
ÿây: F H (.) là hàm băm và “||” là toán tӱ nӕi 2 xâu bit
Sau ÿó B gӱi e cho A
3 A tính giá trӏ s=(k−x×e)modq rӗi gӱi cho B
4 B tính thành phҫn thӭ 2 cӫa chӳ ký:s'=(s+ε)modq và
chӳ ký cӫa A lên M là 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:
1 KiӇm tra nӃu: 1< 's < q và 0 < ' e < q thì chuyӇn sang
bѭӟc 2 Ngѭӧc lҥi, ( e ,' s ' ) sӁ bӏ tӯ chӕi vӅ tính hӧp lӋ
2 Tính giá trӏ: T g s' y e'modp
×
=
∗
3 Tính giá trӏ: e∗ F H(T∗||M)
=
4 KiӇm tra nӃu: e =∗ e' thì ( 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ӏ các tham sӕ {T,e,s} và 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 = 0
[2] select: (e i,s i,T i,ID Bi)
[3] τ←( −e' e i)modq
[4] ε←( −s' s i)modq
[5] T T i yτ gεmodp
×
×
=
∗ [6] e F (T ||M)
H
∗
∗
=
[7] if (e ≠∗ e') then
[7.1] i ← i + 1
[7.2] goto [2]
[8] return IDBi
Nh ̵n xét:
Tѭѫng tӵ nhѭ các 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 là không an toàn nӃu sӕ lѭӧng bҧn tin ÿѭӧc ký (N) không ÿӫ lӟn, khi ÿó
viӋc xác ÿӏnh nguӗn gӕc bҧn tin là có thӇ thӵc hiӋn ÿѭӧc III XÂYDӴNGLѬӦCĈӖCHӲKÝSӔMÙ Qua phân tích các lѭӧc ÿӗ chӳ ký sӕ mù trên ÿâ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 2 tham sӕ nhѭ ӣ các lѭӧc ÿӗ
DSA, Nyberg-Rueppal và Moldovyan thì 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 này ÿӅ 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] và mӝt lѭӧc ÿӗ xây dӵng trên bài toán logarit rӡi rҥc – DLP (Discrete Logarithm Problem) [14]
Ѭu ÿiӇm cӫa các lѭӧc ÿӗ mӟi này là cNJng chӍ sӱ dөng 2 tham
sӕ bí mұt nhѭ ӣ các 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 nào khác có thӇ xác ÿӏnh ÿѭӧc nguӗn gӕc thӵc
sӵ cӫa bҧn tin nhѭ ӣ các 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
và ÿѭӧ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 các thuұt toán hình thành tham sӕ và khóa, thuұt toán hình thành
và kiӇm tra chӳ ký nhѭ sau:
a) Thu ̵t toán hình thành tham s͙ và khóa
Thuұt toá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 ) /qmod p
← , 1<h < p
[2] select H { }∗Z t
1 , 0 : , q<t< p
[3] y g−xmodp
[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
[2] e←H(r||M)modq (2.3a) [3] s←(k+x×e)modq (2.4a)
[4] return (e,s)
Chú thích:
- Toán tӱ “||” ӣ ÿây là phép nӕi 2 xâu bit
Trang 4
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 emodp (2.5a)
[2] v←H(u||M)modq (2.6a)
[3] if (v = e) then {return true}
else {return false}
Chú thích:
- NӃu kӃt quҧ trҧ vӅ true thì chӳ ký (e,s) hӧp lӋ, do ÿó
nguӗn gӕc và tính toà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Ӆ là false thì chӳ ký (e,s) là 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 là 2 sӕ nguyên tӕ
thӓa mãn ÿiӅu kiӋn q|(p−1) , g h( −p1 ) /qmodp
p
h <
<
1 , H:{ }0 , 1 ∗ Z t vӟi: q<t< p , 1<x,k<q ,
p
g
y −xmod
= , r=g kmodp , e=H(r||M)modq ,
q e
x
k
s=( + × )mod NӃu: u=g s×y emodp và
(u M) q
H
v= || mod thì: v = e
Thұt vұy, tӯ (2.1a), (2.3a), (2.4a) và (2.5a) ta có:
p g p g
p g
g p y
g
u
k e
k
x
e e k e
s
mod mod
mod mod
.
.
.
=
=
×
=
×
=
−
− +
(2.7a)
Tӯ (2.2a) và (2.7a), suy ra: u = r (2.8a)
Thay (2.8a) vào (2.6a) ta ÿѭӧc:
H
Tӯ (2.3a) và (2.9a), suy ra: v = e
Ĉây là ÿ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 các 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̫ năng ch͙ng ṱn công làm l͡ khóa mât: Tӯ (2.1a)
cho thҩy mӭc ÿӝ an toàn xét theo khҧ năng 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 bài toán logarit rӡi rҥc, hoàn toàn tѭѫng tӵ nhѭ vӟi
các lѭӧc ÿӗ chӳ ký DSA [9] , GOST R34.10-94 [10] và
Schnorr [13]
V͉ kh̫ năng ch͙ng ṱn công gi̫ m̩o chͷ ký: Tӯ (2.3a),
(2.5a) và (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 ra bӣi Thu̵t toán ký 2.2a cӫa lѭӧc ÿӗ và
tӯ khóa bí mұt x cӫa ngѭӡi ký) nhѭng vүn sӁ ÿѭӧc công nhұn
là 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:
q M p y
g
H
e= (( s× emod )|| )mod (2.10a)
Tѭѫng tӵ nhѭ ӣ lѭӧc ÿӗ chӳ ký Schnorr, có thӇ thҩy rҵng
(2.10a) là mӝt dҥng bài toán khó nӃu các tham sӕ p, q và kích
thѭӟc cӫa dӳ liӋu ÿҫu ra hàm băm H(.) ÿѭӧc chӑn ÿӫ lӟn
3.1.2 Lѭӧc ÿӗ chӳ ký cѫ sӣ LD 15.01B
Lѭӧc ÿӗ chӳ ký cѫ sӣ ÿӅ xuҩt ӣ ÿây, ký hiӋu LD 15.01B,
ÿѭӧc xây dӵng dӵa trên tính khó cӫa bài toán DLP và ÿѭӧc sӱ
dөng ÿӇ phát triӇn lѭӧc ÿӗ chӳ ký sӕ mù trong phҫn tiӃp theo
a) Thu ̵t toán hình thành tham s͙ và khóa
Thuұt toá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 ) /qmodp
← , 1<h < p
[2] select H:{ }0 , 1∗Z t,q<t<p
[3] y g x−1modp
[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
[2] e←H(r||M)modq (2.3b) [3] s←x×( +k e)modq (2.4b)
[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 [1] u←g−e×y smodp (2.5b) [2] v←H(u||M)modq (2.6b)
[3] if (v = e) then {return true}
else {return false}
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 là 2 sӕ nguyên tӕ
thӓa mãn ÿiӅu kiӋn q|(p−1) , g h( −p1 ) /qmod p
p
h <
<
1 , H:{ }0,1∗Z t vӟi: q<t<p , 1<x,k<q ,
p g
y x−1mod
= , r=g kmodp , e=H(r||M)modq ,
q e k x
s= ×( + )mod NӃu: u=g−e×y smodp và
(r M) q H
v= || mod thì: v = e
Thұt vұy, tӯ (2.1b), (2.3b), (2.4b) và (2.5b) ta có:
p g p g
p g
g p y g u
k e
e
e k x e s
e
mod mod
mod mod 1 ( )
=
=
×
=
×
=
− +
+
−
(2.7b)
Tӯ (2.2b) và (2.7b), suy ra:
Thay (2.8b) vào (2.6b) ta ÿѭӧc:
H
Tӯ (2.3b) và (2.9b), suy ra: v = e
Ĉây là ÿ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ҧ năng chӕng tҩn công làm lӝ khóa mұt cӫa lѭӧc ÿӗ LD-15.01B phө thuӝc vào mӭc ÿӝ khó giҧi cӫa bài toán logarit rӡi
rҥc, còn kh̫ năng ch͙ng ṱn công gi̫ m̩o chͷ ký phө thuӝc
vào ÿӝ khó cӫa viӋc giҧi (2.10b):
q M p y g H
e= (( −e× smod || )mod (2.10b)
Trang 5
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 là 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ӣ
và B là ngѭӡi tҥo ra bҧn tin M ÿѭӧc ký Khi ÿó, thuұt toán ký
và kiӇm tra chӳ ký cӫa lѭӧc ÿӗ ÿѭӧc chӍ ra 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] r g k p
[2] r ( )r (y g) p
a
×
×
[3] e H r M q
b|| ) mod (
[4] e b 1 (e )modq
β
[5] s a ←(k+x×e b)modq (3.5a)
[6] s←(α×s a +β)modq (3.6a)
[7] return (e,s)
Chú thích:
- Các bѭӟc [1], [5] do ngѭӡi ký A thӵc hiӋn
- Các bѭӟc [2], [3], [4], [6] và [7] do ngѭӡi có bҧn tin
cҫn ký B thӵc hiӋn
- Tham sӕ k do A lӵa chӑn thӓa mãn: 1< k < q
- Tham sӕ Į, ȕ do Blӵa chӑn thӓa mãn: 1 < Į, ȕ < q
- {x,y} là cһp khóa bí mұt/công khai cӫa A
b) Thu ̵t toá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
[1] u←g s×y emodp (3.7a)
[2] v←H(u||M)modq (3.8a)
[3] if (v = e) then {return true}
else {return false}
Chú thích:
- NӃu kӃt quҧ trҧ vӅ true thì tính hӧp lӋ cӫa chӳ ký (e,s)
ÿѭӧc công nhұn, do ÿó tính toàn vҽn cӫa bҧn tin cҫn thҭm tra
M và danh tính cӫa ngѭӡi ký (A) ÿѭӧc khҷng ÿӏnh
- NӃu kӃt quҧ trҧ vӅ là false thì chӳ ký (e,s) là 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 là 2 sӕ nguyên tӕ
thӓa mãn ÿiӅu kiӋn q| (p− 1 ), g h( −p1 /qmodp
= vӟi: 1 <h < p , { } Z q
1
,
0
: , 1<x,k<q , 1<α ,β<q , y g−xmodp
p
g
a = mod , r ( )r (y g) p
a
×
×
b|| ) mod (
q e
e b 1 ( )mod
β
α × −
b
s= α× a+β mod NӃu: u= (g)s×( )y emodp và
(u M) q
H
v= || mod thì: v = e
Thұt vұy, tӯ (3.4a), (3.5a), (3.6a) và (3.7a) ta có:
p g g g
p g
g g g g
p g
g
p y
g p y g u
a
x k
x e e
k
e x e
k
e s
e s
a
b b
b b
b a
mod ) ( mod
mod
mod mod
mod mod
.
.
) (
) (
) ( ) (
β α
β β α
β β α
β α β
α α
β α β α
β α β α
×
×
=
×
×
=
×
×
=
×
×
×
×
=
×
=
×
=
×
=
−
−
−
+
− + +
+ +
(3.9a)
Tӯ (2.1a), (3.1a) và (3.9a) ta có:
p g
g g u
a
k x
mod
mod β
β α
α β β
×
×
=
×
×
=
−
−
−
−
(3.10a)
Tӯ (3.2) và (3.10), suy ra: u = rb (3.11a) Thay (3.11a) vào (3.8a) ta có:
(u M) q H r M q H
Tӯ (3.2a) và (3.12a), suy ra: v = e Ĉây là ÿ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 các 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 toàn
cӫa nó còn ÿѭӧc ÿánh giá qua khҧ năng chӕng tҩn công làm lӝ nguӗn gӕc bҧn tin sau khi ÿѭӧc ký Yêu cҫu ÿһt ra ÿӕi vӟi
lѭӧc ÿӗ mӟi ÿӅ xuҩt là bҧn tin M sau khi ÿã ÿѭӧc ký, thì ngѭӡi
ký A hay bҩt kǤ mӝt ÿӕi tѭӧng sӱ dөng nào khác cNJng hoàn toàn không thӇ biӃt ÿѭӧc bҧn tin M ÿѭӧc tҥo ra tӯ ÿӕi tѭӧng
B
Kh ̫ năng ch͙ng ṱn công làm l͡ khóa m̵t và 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 trên mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ cѫ sӣ Vì thӃ,
vӅ cѫ bҧn khҧ năng chӕng tҩn công làm lӝ khóa mұt và khҧ
năng chӕng giҧ mҥo chӳ ký cӫa 2 lѭӧc ÿӗ này là tѭѫng ÿѭѫng
nhѭ nhau
Kh ̫ năng 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ӳ các tham sӕ {sa,ra,eb,k} cùng 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 là tӯ bҧn tin
M và chӳ ký tѭѫng ӭng (e,s) có thӇ xác ÿӏnh ÿѭӧc danh tính
cӫa ngѭӡi yêu cҫu ký B, vӟi ÿiӅu kiӋn ngѭӡi ký A biӃt ÿѭӧc các tham sӕ (Į,ȕ) Thұt vұy, khi biӃt (Į,ȕ) ngѭӡi ký A có thӇ
xác ÿӏnh ÿѭӧc IDB bҵng Thu̵t toán 3.3a nhѭ sau:
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 = 0
[2] select: ( rai, ebi, sai, ki, IDBi) [3] r ( )r (g y) p
ai
×
×
← [4] e H r M q
bi*|| )mod (
←
∗
Trang 6
[5] if e ≠∗ e
then
[5.1] i ← i+1;
[5.2] goto [2];
[6] e bi 1 (e ) modq
β
α × −
∗
[7] if e ≠bi∗ ebi then
[7.1] i ← i+1;
[7.2] goto [2];
[8] s ai∗ ←(k i+x×e bi)modq
[9] if s ≠ai∗ sai then
[9.1] i ← i+1;
[9.2] goto [2];
[10] s∗←(α×s ai+β)modq
[11] if s ≠∗ s then
[11.1] i ← i + 1;
[11.2] goto [2];
[12] return IDBi
Nh ̵n xét:
Thuұt toá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 các tham sӕ bí mұt (Į,ȕ) do B tҥo
ra Nói cách khác, mӭc ÿӝ an toàn cӫa lѭӧc ÿӗ mӟi ÿӅ xuҩt xét
theo khҧ năng 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 cá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 các tham sӕ ra, eb, sa ĈiӅu ÿó có nghƭa là
ÿӇ tính ÿѭӧc (Į,ȕ), A cҫn phҧi giҧi (3.13a):
r H
β
(3.13a) Tuy nhiên, tӯ các kӃt quҧ nghiên cӭu ÿã ÿѭӧc công bӕ có
thӇ thҩy rҵng (3.13a) là mӝt dҥng bài toán khó chѭa có lӡi giҧi
nӃu các tham sӕ p, q ÿѭӧc chӑn ÿӫ lӟn ÿӇ phѭѫng pháp vét
cҥn là không khҧ thi trong các ӭng dөng thӵc tӃ
Mһt khác, do 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 2 tham sӕ bí mұt (Į,ȕ) do B tҥo ra nên
các dҥng tҩn công làm lӝ nguӗn gӕc bҧn tin nhѭ các thuұt toán
ÿã chӍ ra ӣ Mөc 2 (Thu̵t toán 1.1, 1.2, 1.3 và 1.4) là 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 là
ngѭӡi ký có khóa công khai ÿѭӧc hình thành theo Thu̵t toán
2.1b cӫa lѭӧc ÿӗ cѫ sӣ LD 15.01B và B là ngѭӡi tҥo ra bҧn tin
M ÿѭӧc ký Khi ÿó, thuұt toán ký và kiӇm tra chӳ ký cӫa lѭӧc
ÿӗ ÿѭӧc chӍ ra 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] r g k p
[2] r b ( )r a α gβ yα βmodp
×
×
[3] e←H(r b||M)modq (3.3b)
[4] e b 1 (e )modq
β
[5] s a ←x×(k+e b)modq (3.5b)
[6] s←α×(s a +β)modq (3.6b)
[7] return (e,s)
Chú thích:
- Các bѭӟc [1], [5] do ngѭӡi ký A thӵc hiӋn
- Các bѭӟc [2], [3], [4], [6] và [7] do ngѭӡi có bҧn tin cҫn ký
B thӵc hiӋn
- Tham sӕ k do A lӵa chӑn thӓa mãn: 1< k < q
- Tham sӕ Į, ȕ do Blӵa chӑn thӓa mãn: 1 < Į, ȕ < q
- {x,y} là cһp khóa bí mұt/công khai cӫa A
b) Thu ̵t toá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 [1] u←g−e×y smodp (3.7b) [2] v←H(u||M)modq (3.8b)
[3] if (v = e) then {return true}
else {return false}
c) Tính ÿúng ÿ̷n cͯa l˱ͫc ÿ͛ LD 15.02B ĈiӅu cҫn chӭng minh ӣ ÿây là: cho p, q là 2 sӕ nguyên tӕ
thӓa mãn ÿiӅu kiӋn q|(p−1) , g h( −p1 ) /qmodp
p
h <
<
1 , H { }∗Z t
1 , 0 : vӟi: q<t< p , 1<x,k<q ,
q
<
<α,β
1 , y g x−1modp
r b a α β α β mod
×
×
(e ) q
β
= − , s a=x×(k+e b)modq ,
(s ) q
s=α× a+β mod NӃu: u=g−e×y smodp và
(u M) q H
v= || mod thì: v = e
Thұt vұy, tӯ (3.4b), (3.5b), (3.6b) và (3.7b) ta có:
( )
p g
g
p g
g p y g u
b b
a b
e k x x e
s x e s
e
mod
mod mod
.
) (
.
1
1
+ +
−
+
−
−
−
−
×
=
×
=
×
=
β α α
β
β α α
β
g
p g
g g
g g
p g
g g g
k x
e k x
e
e k x x x
e
b b
b b
mod
mod mod .
.
.
) (
.
1 1
1 1
α β β
α α β α
β
α β α
β
×
×
=
×
×
×
×
=
×
×
×
=
−
−
−
−
−
+
−
(3.9b)
Tӯ (2.1b), (3.1b) và (3.9b) ta có:
p g
g g u
a
k x
mod
mod .
.
1
β β α
α β β
×
×
=
×
×
=
−
(3.10b)
Tӯ (3.2) và (3.10), suy ra: u = rb (3.11b) Thay (3.11) vào (3.8) ta có:
H
v= || mod = (b|| )mod (3.12b)
Tӯ (3.2b) và (3.12b), suy ra: v = e Ĉây là ÿiӅu cҫn chӭng minh
d) M ͱc ÿ͡ an toàn cͯa l˱ͫc ÿ͛ LD 15.02B
Mӭc ÿӝ an toàn xét vӅ khía cҥnh chӕng tҩn công làm lӝ khóa mұt và 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ѭ
Trang 7
Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015)
vӟi các lѭӧc ÿӗ chӳ ký hӑ ElGamal nhѭ: DSA, GOST
R34.10-94, Schnorr …
Tѭѫng tӵ lѭӧc ÿӗ LD 15.02A, khҧ năng chӕng tҩn công
làm lӝ nguӗn gӕc cӫa bҧn tin sau khi ký cӫa lѭӧc ÿӗ
LD-15.02B cNJng có thӇ ÿѭӧc ÿánh giá qua phân tích khҧ năng
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 = 0
[2] select: ( rai, ebi, sai, ki, IDBi)
[3] r bi* ( )r ai α gβ yα β modp
×
×
←
bi*× ( )mod
←
∗
[5] if e ≠∗ e then
[5.1] i ← i + 1;
[5.2] goto [2];
[6] e bi 1 (e )modq
β
∗
[7] if e ≠bi∗ ebi then
[7.1] i ← i + 1;
[7.2] goto [2];
[8] s x (k e ) q
bi i
∗
[9] if s ≠ai∗ sai
then
[9.1] i ← i+1;
[9.2] goto [2];
[10] s∗←α×(s ai+β )modq
[11] if s ≠∗ s then
[11.1] i ← i+1;
[11.2] goto [2];
[12] return IDBi
Nh ̵n xét:
Thu ̵t toá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):
q q
M p y
g r H
e b 1 ( (((a) . mod || )mod )mod
β
(3.13b) Tuy nhiên, (3.13b) là mӝt dҥng bài toán khó nӃu các tham
sӕ p, q ÿѭӧc chӑn ÿӫ lӟn Mһt khác, các dҥng tҩn công làm lӝ
nguӗn gӕc bҧn tin nhѭ các thuұt toán ÿã chӍ ra ӣ Mөc 2 (Thu̵t
toán 1.1, 1.2, 1.3 và 1.4) là không khҧ thi ÿӕi vӟi lѭӧc ÿӗ mӟi
ÿӅ xuҩt
IV KӂTLUҰN
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ài báo ÿӅ xuҩt 2 lѭӧc ÿӗ chӳ ký sӕ mù
mӟi ÿѭӧc phát triӇn tӯ các lѭӧc ÿӗ chӳ ký cѫ sӣ xây dӵng dӵa
trên tính khó cӫa bài toán logarit rӡi rҥc, 2 lѭӧc ÿӗ mӟi này có
mӭc ÿӝ an toàn cao hѫn các lѭӧc ÿӗ ÿã biӃt vӅ khҧ năng chӕng
tҩn công làm lӝ nguӗn gӕc cӫa bҧn tin ÿѭӧc ký Ĉây là mӝt
yӃu tӕ quan trӑng cho phép lѭӧc ÿӗ mӟi ÿӅ xuҩt có tính khҧ thi trong các ӭng dөng thӵc tӃ
TÀILIӊUTHAMKHҦO [1] D Chaum, Blind Signature Systems, Advances in Cryptology, Crypto’
83, Plenum Press, pp 153
[2] D Chaum, A Fiat, M Naor, “Untraceable Electronic Cash”, Advances
in Cryptology,Crypto’ 88, LNCS 403, Springer Verlag, pp 319-327
[3] D Chaum, “Privacy Protected Payment”, SMART CARD 2000, Elsevier Science Publishers B.V., 1989, pp 69-93
[4] N Ferguson, “Single Term Off-line Coins”, Advances in Cryptology, Eurocrypt’93, LNCS 765, Springer Verlag, pp 318-328
[5] 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
[6] 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
[7] K Nyberg, R A Rueppel, A New Signature Scheme Base on the DSA
Giving Message Recovery, 1 st ACM conference on Computer and Communications Security, November 3 – 5, Fairfax, Virginia
[8] Jan L Camenisch, Jean-Marc Piveteau, Markus A Stadler, Blind
Signatures Base on Discrete Logarithm Problem, Swiss KWF Foundation, grant no 2724.1
[9] Nikolay A Moldovyan, Blind Collective Signature Protocol, Computer Science Journal of Moldova, vol.19, no.1(55), 2011
[10] National Institute of Standards and Technology, NIST FIPS PUB 186-3
Digital Signature Standard, U.S Department of Commerce, 1994
[11] 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)
[12] 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)
[13] C P Schnorr, “Efficient signature generation by smart cards”, Journal
of Cryptology, vol 4, pp 161 – 174, 1991
[14] T ElGamal, “ A public key cryptosystem and a signature scheme based
on discrete logarithms”, IEEE Transactions on Information Theory
1985, Vol IT-31, No 4 pp.469–472
+ӝL7KҧR4XӕF*LDYӅĈLӋQ7ӱ7UX\ӅQ7K{QJYj&{QJ1JKӋ7K{QJ7LQ(&,7
MÔ HÌNH TRỌNG SỐ KẾT HỢP CÁC PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TÍNH TRONG NHẬN DẠNG HÀNH ĐỘNG NGƯỜI
Nguyễn Năng Hùng Vân, Phạm Minh Tuấn, Ung Nho Dãi
Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng
Tóm tắt – Nhận dạng hành động người (tiếng Anh:
Human Activity Recognition - HAR) là một lĩnh vực nghiên cứu quan trọng về thị giác máy tính Khó khăn lớn nhất đối với hệ thống HAR là dữ liệu từ camera thông dụng là chỉ quay được ở một hướng, dẫn đến sự thiếu hụt
dữ liệu và dẫn đến kết quả nhận dạng thấp Bài báo này, tập trung vào nghiên cứu và xây dựng mô hình mới về nhận dạng hành động người, trong đó trọng tâm là phương pháp trích chọn đặc tính PCA, LDA nhằm giảm
số chiều và độ lớn của dữ liệu, góp phần nâng cao độ chính xác khi nhận dạng Trước tiên, từ dữ liệu chuyển động 3D, chúng tôi tiến hành tiền xử lý và trích chọn đặc tính của các đối tượng Tiếp đến, xây dựng các mô hình nhận dạng ứng với mỗi phương pháp trích chọn đặc tính, sử dụng mô hình SVM để huấn luyện Cuối cùng, sử dụng phương pháp trọng số để kết hợp kết quả của các mô hình nhận dạng và đưa ra kết quả cuối cùng Bài báo tiến hành thực nghiệm trên dữ liệu CMU Mocap và cho thấy tỷ lệ nhận dạng của phương pháp đề xuất cao hơn so với những phương pháp trước đây
Từ khóa - Nhận dạng hành động người; Phương pháp phân tích thành phần chính; Phân tích biệt thức tuyến tính;
Máy vector hỗ trợ
I.GIỚITHIỆU
Từ những năm 80 của thế kỷ trước, nhận dạng hành động người đã nhận được sự quan tâm, nghiên cứu của các nhà khoa học trên khắp thế giới Các kết quả nghiên cứu này được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như hệ thống an ninh, y học, giao thông và giao tiếp giữa người và máy [1]
Trong những năm gần đây, những nghiên cứu trong lĩnh vực nhận dạng hành động người chủ yếu tập trung vào nghiên cứu và nhận dạng từ những video được quay bởi các camera thông dụng Khó khăn lớn nhất đối với
dữ liệu từ camera thông dụng là chỉ quay được ở một hướng, dẫn đến sự thiếu hụt dữ liệu, nếu kết hợp nhiều camera thì vẫn không đảm bảo thu được toàn bộ hoạt động, đồng thời giảm hiệu năng của quá trình nhận dạng
Nhằm khắc phục những khó khăn trên, trong những năm gần đây đã có một số nghiên cứu về phương pháp thu thập dữ liệu 3D hay sử dụng các hệ thống chụp chuyển động dựa vào “marker” như Motion Capture [2]
hoặc là sử dụng stereo camera chụp chuyển động 2D từ nhiều hướng khác nhau để dựng thành mô hình 3D, gần đây nhất là dùng các thiết bị cảm biến chiều sâu chuyên dụng như Microsoft Kinect [3]
Từ dữ liệu 3D thu được, bài báo trình bày một số phương pháp trích chọn đặc tính như phân tích thành phần chính (Principal Components Analysis - PCA) [4]
và phân tích biệt thức đa lớp (Multi-class Linear
Discriminant Analysis - Multi-class LDA) [5] nhằm nâng cao kết quả khi nhận dạng hành động người Điểm chung của hai phương pháp này là làm giảm số lượng thuộc tính của dữ liệu nhận dạng trước khi xây dựng mô hình huấn luyện đồng thời tăng hiệu quả nhận dạng Mỗi phương pháp trích chọn đặc tính khác nhau sẽ cho một kết quả nhận dạng khác nhau Bài báo này sử dụng phương pháp trọng số để kết hợp các phương pháp trích chọn đặc tính nhằm nâng cao hiệu quả nhận dạng
Nội dung của bài báo trình bày các nghiên cứu liên quan gồm phương pháp trích chọn đặc tính PCA, LDA
và phương pháp máy vectơ hỗ trợ (Support Vector Machine – SVM) Sau đó bài báo trình bày phương pháp
đề xuất Cuối cùng trình bày kết quả thực nghiệm và các đánh giá dựa trên dữ liệu của CMU Mocap [2]
Trong phần này, bài báo trình bày những vấn đề liên quan đến nghiên cứu như PCA, Multi-class LDA và phương pháp nhận dạng sử dụng SVM
A Phương pháp phân tích thành phần chính - PCA
Phương pháp phân tích thành phần chính [4] (Principal Components Analysis - PCA) là một thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn Phép biến đổi này dựa trên việc tìm trục của không gian mới sao cho phương pháp dữ liệu chiếu lên trục đó là lớn nhất
Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng một không gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ, mà vẫn đảm bảo phương sai của dữ liệu trên mỗi chiều mới là lớn nhất Hình 1 là một minh họa kết quả của việc xây dựng không gian mới của PCA
a) Không gian dữ liệu ban đầu b) Không gian dữ liệu mới
Hình 1 Minh họa PCA
y
z
x
a
b
y
119
...- 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
-. ..
- 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
-. .. class="page_container" data-page="7">
Hội 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.1 0-9 4, Schnorr …