Công ngh thông tin
& Cơ s toán hc cho tin hc
N.Đ. Thy, L.H. Dũng “Thut toán ch ký s xây dng trên … kết hp khai căn
192
THUT TOÁN CH KÝ S XÂY DNG TRÊN BÀI TOÁN
LOGARIT RI RC KT HP KHAI CĂN
Nguyn Đức Thy
1
, Lưu Hng Dũng
2
Tóm tt:
Bài báo đề xut xây dng lược đồ ch s da trên tính khó ca i toán logarit
ri rc kết hp khai căn trên Z
p
. Bài toán logarit ri rc kết hp khai căn được đề xut
đây là mt dng bài toán khó mi thuc lp các bài toán chưa cách gii v mt toán
hc. Phương pháp xây dng lược đồ ch ký s da trên tính khó ca bài toán logarit ri
rc kết hp khai căn này cho phép nâng cao độ an toàn ca thut toán. Ngoài ra, phương
pháp xây dng lược đồ ch đây có th áp dng để phát trin mt lp thut toán ch
ký s mi phù hp vi các ng dng yêu cu cao v độ an toàn trong thc tế.
T khóa: Ch ký s; Thut toán ch s; Lược đồ ch ký s; Bài toán Logarit ri rc; Bài toán khai căn.
1. ĐẶT VN ĐỀ
Ch k
ý s hin nay đã được ng dng rng rãi trong các lĩnh vc như Chính
ph đin t, Thương mi đin t,… hay trong các h thng vin thông mng
máy tính. Tuy nhiên, vic nghiên cu, phát trin các lược đồ ch k
ý s mi cho
mc đích thiết kế - chế to các sn phm, thiết b an toàn bo mt thông tin
trong nước vn luôn vn đề cn thiết được đt ra. Trong [1] đã đề xut mt
phương pháp y dng thut toán ch ký s da trên tính k ca vic gii bài
toán logarit ri rc trên Z
p
[2]. Ưu đim ca phương pháp mi đ xut t đó
th trin khai mt lp thut toán ch s cho các ng dng khác nhau. Tuy
nhiên, độ an toàn ca các thut toán ch ký được xây dng theo phương pháp này
ch được đảm bo bi độ khó ca vic gii bài toán logarit ri rc DLP (Discrete
Logarithm Problem) trên Z
p
. Do đó, nếu có mt gii thut thi gian đa thc cho bài
toán y (DLP) thì tính an toàn ca các thut toán s b phá v hoàn toàn. Nâng
cao độ an toàn cho các thut toán ch k ý s da trên tính khó ca vic gii đồng
thi 2 bài toán khó mt hướng tiếp cn đang nhn được nhiu s quan tâm ca
các nhà nghiên cu, trong [3 13] các tác gi đã đề xut mt s thut toán ch
xây dng trên đồng thi hai bài toán phân tích s logarit ri rc. Trong bài báo
này, cũng vi mc đích nâng cao độ an toàn cho các thut toán ch ký s, nhóm
tác gi tiếp tc phát trin phương pháp đề xut trong [1] trên cơ s tính khó gii
ca mt bài toán mi, đây được gi bài toán logarit ri rc kết hp khai căn
trên Z
p
, hiu: DLRP (Discrete Logarithm combining Finding Root Problem).
Đây là mt dng bài toán khó ln đầu được đề xut và ng dng cho vic xây dng
thut toán ch s nhiu trin vng cho phép xây dng các thut toán phù
hp vi các ng dng thc tế đòi hi độ an toàn cao.
2. BÀI TOÁN KHÓ MI VÀ PHƯƠNG PHÁP XÂY DNG THUT TOÁN
CH KÝ S
2.1. Bài toán logarit ri rc kết hp khai căn trên Z
p
Bài toán được đ xut đây mt dng bài toán khó mi được gi Bài
toán logarit ri rc kết hp khai căn trên trường Z
p
, dng th nht ca bài toán y
có th phát biu như sau:
Nghiên cu khoa hc công ngh
Tp chí Nghiên cu KH&CN quân s, S 66, 04 – 2020 193
Cho 2 s nguyên t p, q tha mãn điu kin: q|(p-1), vi mi s nguyên dương
*
p
Zy
, hãy tìm các s x
1
và x
2
tha mãn phương trình sau:
( )
( )
ypx
qxx
=
mod
mod.
1
2
1
1
Dng th hai ca bài toán logarit ri rc kết hp khai căn có th được phát biu
như sau:
Cho s nguyên t p, vi mi cp s nguyên dương
*
,
p
Zba
, hãy tìm s x tha
mãn phương trình sau:
(
)
(
)
pxa
bx
mod
Trong toán hc, bài toán trên thuc lp các bài toán chưa cách gii, các gii
thut cho bài toán logarit ri rc – DLP (Discrete Logarithm Problem) hay bài toán
khai căn – FRP (Finding Root Problem) trên Z
p
hin ti là không áp dng được vi
DLRP.
2.2. Xây dng lược đồ ch ký da trên tính khó ca bài toán mi đề xut
2.2.1. Thut toán sinh khóa
phương pháp xây dng thut toán ch ký mi đề xut, bài toán DLRP được
s dng để hình thành cp khóa mt công khai ca các đối tượng ký. Trong
đó, p là tham s h thng (tham s min) do nhà cung cp dch v to ra, đây p là
s nguyên t cn phi đưc chn sao cho vic gii bài toán DLP khó. Các tham
s (x
1
, x
2
, q) là khóa bí mt và y là khóa công khai tương ng ca mi đối tượng ký
trong h thng. Đ to khóa x
1
mi thc th cn to trước s nguyên t q tha
mãn: q|(p – 1) và mt s
*
p
Z
α
. Khóa x
1
được to theo:
px
q
p
mod
1
1
=
α
Khóa x
2
mt giá tr đưc chn ngu nhiên trong khong (1, q). Sau đó, khóa
công khai được to ra t (x
1
, x
2
, q) theo (1):
( )
( )
pxy
qxx
mod
mod
1
2
1
1
×
=
(1)
Thut toán sinh khóa có th được mô t li như trên Bng 1 sau đây:
Bng 1. Thut toán sinh tham s và khóa
input: lp, lq – độ dài (tính theo bit) ca các s nguyên t p,q.
output: p,q, x
1
, x
2
, y.
[1]. generate p,q: len(p) = lp, len(q) = lq, q|(p-1)
[2]. select α:
p
<
<
α
1
[3].
(
)
px
qp
mod
/1
1
α
[4]. if (x
1
= 1) then goto [2]
[5]. select x
2
:
qx <<
2
1
[6].
(
)
( )
pxy
qxx
mod
mod.
1
2
1
1
[7]. return {p,q, x
1
,x
2
,y}
Chú thích:
- len(.) : Hàm tính độ dài (theo bit) ca mt s ngun.
- p: Tham s h thng/tham s min.
Công ngh thông tin
& Cơ s toán hc cho tin hc
N.Đ. Thy, L.H. Dũng “Thut toán ch ký s xây dng trên … kết hp khai căn
194
- q, x
1
, x
2
: Khóa bí mt.
- y: Khóa công khai ca đối tượng ký.
2.2.2. Thut toán ký
Gi s (R,S) ch k ý lên bn tin M, u 1 giá tr trong khong (1,q) R
được tính t u theo công thc:
(
)
pxR
u
mod
1
=
(2)
Và S được tính t v theo công thc:
(
)
pxS
v
mod
1
=
(3)
đây: v cũng là 1 giá tr trong khong (1,q).
Cũng gi thiết rng phương trình kim tra ca lược đồ có dng:
(
)
(
)
(
)
pyRS
pSRyE
mod
mod×
×
Vi:
)(MHE
và:
(
)
pxpSR
k
modmod
1
=×
(4)
Trong đó: H(.) là hàm băm và
*
q
Zk
.
Đặt:
(
)
Zpx
k
=mod
1
(5)
Khi đó có th đưa phương trình kim tra v dng:
(
)
(
)
(
)
pyRS
ZyE
mod×
(6)
T (1), (2), (3) và (6) ta có:
( ) ( ) ( )
( )
pxxx
ZxxyuEv
mod
..
1
.
1
.
1
2
1
1
×
(7)
T (7) suy ra:
(
)
qZxxyuEv mod
21
××+××
Nên:
(
)
(
)
qZxxyuEv mod
2
1
1
1
××+××=
(8)
Mt khác, t (2), (3) và (4) ta có:
(
)
kquv
=
+
mod
(9)
T (8) và (9) ta có:
(
)
(
)
qZxxyuEuk mod
2
1
1
1
××+××+=
(10)
T (10), suy ra:
(
)
(
)
(
)
qyEEZxxku mod1
1
11
2
1
1
+×××××=
(11)
T (11) và (8), có th tính thành phn th nht ca ch ký theo (2):
(
)
pxR
u
mod
1
=
và thành phn th 2 theo (3):
(
)
pxS
v
mod
1
=
T đây thut toán ký được mô t trên Bng 2 như sau:
Bng 2. Thut toán k ý
input: p, q, x
1
, x
2
, y, M.
output: (R,S).
[1]. )(MHE
[2]. select k: qk
<
<
1
Nghiên cu khoa hc công ngh
Tp chí Nghiên cu KH&CN quân s, S 66, 04 – 2020
195
[3].
(
)
pxZ
k
mod
1
[4].
( )
(
)
(
)
qyEEZxxku mod1
1
11
2
1
1
+×××××
[5].
(
)
(
)
qZxxyuEv mod
2
1
1
1
××+××
[6].
(
)
pxR
u
mod
1
[7].
(
)
pxS
v
mod
1
[8]. return (R,S)
Chú thích:
- M: bn tin cn ký, vi:
}1,0{M
.
- (R,S): ch ký ca U lên M.
2.2.3. Thut toán kim tra ch
Thut toán kim tra ca lược đồ được gi thiết là:
(
)
(
)
(
)
pyRS
pSRyE
mod
mod×
×
đây, E là giá tr đại din ca bn tin cn thm tra: )(MHE
=
. Nếu Mch
(R,S) tha mãn đẳng thc trên thì ch ký được coi là hp l bn tin s được
xác thc v ngun gc và tính toàn vn. Ngược li, tch ký b coi gi mo
bn tin b ph nhn v ngun gc tính toàn vn. Do đó, nếu vế trái ca đẳng
thc kim tra được tính theo:
(
)
pSA
E
mod=
(12)
và vế phi được tính theo:
(
)
(
)
pyRB
Zy
mod×=
(13)
đây: pSRZ mod×= (14)
Thì điu kin ch ký hp l là: A = B
Khi đó, thut toán kim tra ca lược đồ mi đề xut được t trong Bng 3
như sau:
Bng 3. Thut toán kim tra
input: p, y, M, (R,S).
output: TRUE / FALSE.
[1].
)(MHE
[2].
(
)
pSA
E
mod
[3].
pSRZ mod×
[4].
(
)
(
)
pyRB
Zy
mod×
[5]. if (A = B) then {return TRUE}
else {return FALSE}
Chú thích:
- M, (R,S): bn tin, ch ký cn thm tra.
- Nếu kết qu tr v TRUE thì tính toàn vn ngun gc ca M được
khng định. Ngược li, nếu kết qu FALSE thì M b ph nhn v ngun gc
và tính toàn vn.
Công ngh thông tin
& Cơ s toán hc cho tin hc
N.Đ. Thy, L.H. Dũng “Thut toán ch ký s xây dng trên … kết hp khai căn
196
2.2.4. Tính đúng đắn ca lược đồ mi đề xut
Điu cn chng minh đây là: Cho p, q là 2 s nguyên t vi q|(p-1),
{ }
n
ZH a
1,0:
,
|||||| pnq
<
, p
<
<
α
1 ,
(
)
px
qp
mod
/1
1
=
α
,
qx
<
<
2
1
,
( )
( )
pxy
qxx
mod
mod.
1
2
1
1
=
,
(
)
MHE
=
, pk
<
<
1 ,
(
)
pxZ
k
mod
1
=
,
( )
(
)
(
)
qyEEZxxku mod1
1
11
2
1
1
+×××××=
,
(
)
(
)
qZxxyuEv mod
2
1
1
1
××+××=
,
(
)
pxR
u
mod
1
=
,
(
)
pxS
v
mod
1
=
. Nếu:
pSRZ mod×=
,
(
)
pSA
E
mod=
,
(
)
(
)
pyRB
Zy
mod×=
thì: A = B.
Tính đúng đắn ca thut toán mi đề xut được chng minh như sau:
T (3), (8) và (12) ta có:
(
)
(
)
(
)
( ) ( )
(
)
( )
( )
( )
px
pxpxpSA
Zxxyu
EZxxyuEEvE
mod
modmodmod
...
1
.....
1
.
1
2
1
1
2
1
1
1
+
+
=
=== (15)
Vi:
( )
(
)
(
)
qyEEZxxku mod1
1
11
2
1
1
+×××××=
và :
(
)
pxZ
k
mod
1
=
T (2), (3), (5), (8), (11) và (14) ta li có:
(
)
(
)
(
)
( )
( ) ( ) ( )
( )
( )
( ) ( )
( )
( ) ( )
( )
( )
( )
( )
( )
( ) ( )
( )
Zpxpx
pxpx
pxpxxpSRZ
kZxxEyEyEZExxk
ZxxEyEuZxxEyEuu
vuvu
===
==
=×=×=
+++
++++
+
modmod
modmod
modmodmod
1
...1..1.....
1
...1..
1
.....
1
111
2
1
1
11
1
11
2
1
1
2
1
1
1
1
2
1
1
11
(16)
Thay (1), (2), (5) và (16) vào (13) ta được:
( ) ( ) ( ) ( )
( )
( )
( )
( )
px
pxxpyRB
Zxxyu
ZxxyuZy
mod
modmod
...
1
..
1
.
1
2
1
1
2
1
1
+
=
×=×=
(17)
T (15) và (17) suy ra điu cn chng minh: A = B.
2.2.5. Mc độ an toàn ca thut toán được đề xut
Mc độ an toàn ca lược đồ mi đ xut th đánh giá qua kh năng chng
li mt s dng tn công như:
- Tn công khóa bí mt
lược đồ mi đề xut, các tham s (x
1
,x
2
,q) cùng được s dng làm khóa
mt để hình thành ch k ý. Vì thế, lược đồ ch b phá v nếu c 3 tham s y cùng
b l, i cách khác k tn công phi gii được đồng thi bài toán logarit ri rc
kết hp khai căn bài toán tìm bc ca phn t trên Z
p
. Do đó, mc độ an toàn
ca lược đồ mi đề xut xét theo kh năng chng tn công làm l khóa bí mt được
đánh giá bng mc độ khó ca vic gii được các bài toán. Cn chú ý, DLRP là
mt dng bài toán khó mi, ngay c khi các gii thut thi gian đa thc cho
FRP và DLP cũng không có nghĩa là s gii được bài toán này.
- Tn công gi mo ch
T thut toán kim tra (Bng 3) ca thut toán mi đề xut cho thy, mt cp
(R,S) gi mo s được công nhn ch ký hp l vi mt bn tin M nếu tha mãn
điu kin:
(
)
(
)
(
)
pyRS
pSRyE
mod
mod.
×
(18)