Phát triển thuật toán chữ ký số dựa trên hệ mã Poligh - Hellman

Công nghthông tin  
PHÁT TRIN THUT TOÁN CHKÝ SDA TRÊN  
HMÃ POLIGH - HELLMAN  
Nguyn Vĩnh Thái1, Lưu Hng Dũng2  
Tóm tt: Bài báo đề xut xây dng thut toán chký strên cơ sphát  
trin hmã khóa bí mt Poligh – Hellman. Thut toán chký mi đề xut có  
nguyên tc làm vic tương tthut toán chký RSA, song cho phép nhiu đối  
tượng ký có thcùng sdng chung mt modulo p trong các thut toán ký và  
thut toán kim tra chký. Đồng thi, bài báo cũng phân tích mc độ an toàn  
ca lược đồ mi đề xut, cho thy khnăng ng dng ca nó trong thc tế.  
Tkhóa: Chký s, thut toán chký s, lược đồ chký s, hmt khóa bí mt, hmã Poligh – Hellman.  
1. ĐẶT VN ĐỀ  
Hmã Poligh – Hellman [1] được đề xut và công bbi S. Poligh và M.  
Hellman vào năm 1976. Đây là mt hmã khóa bí mt nhưng được xây dng theo  
phương pháp ca các hmã lũy tha RSA [2] , ElGamal [3],... Hmã Poligh –  
Hellman có phương pháp mã hóa hoàn toàn như hmt RSA. Song do hmã  
Poligh – Hellman sdng modulo p là snguyên tnên các khóa mã hóa và gii  
mã phi được gibí mt hoàn toàn, chính vì lý do này mà hmã Poligh – Hellman  
là mt hmã khóa bí mt và không thc hin được chc năng ca mt hchký  
snhư hmt RSA.  
Bài báo đề xut mt thut toán chký số được phát trin thmã Poligh –  
Hellman, lược đồ mi đề xut có nguyên tc làm vic tương tlược đồ RSA, song  
li cho phép các đối tượng ký cùng sdng chung mt modulo p nguyên tnhư  
các lược đồ DSA trong chun DSS [4] ca Hoa Khay GOST R34.10 – 94 ca  
Liên bang Nga [5].  
2. PHÁT TRIN THUT TOÁN CHKÝ SDA TRÊN HMÃ  
POLIGH – HELLMAN  
2.1. Hmã Poligh – Hellman  
2.1.1. Thut toán hình thành tham svà khóa  
Thut toán bao gm các bước như sau:  
[1]. Sinh snguyên tp ln, mnh.  
[2]. Tính:  
[3]. Ch n khóa mã hóa e là m  
gcd(e, (p)) =1  
[4]. Tính khóa gi i mã d theo công th  
[5]. Khóa bí m t chia s gi đối tượng g  
tham s : p, d e.  
2.1.2 Thu t toán mã hóa và gi  
a) Thu t toán mã hóa:  
Thu t toán bao g m các bước:  
[1]. Bi u di n b n tin c n ký M thành m  
[0, p – 1]  
ϕ( p) = (p 1)  
t giá tr  
ng  
u nhiên th a mãn: 1< e <  
ϕ( p) và:  
ϕ
c: d  
=
e1 mod  
ϕ(p)  
a
i/mã hóa và nhn/gii mã là các  
i mã  
t giá trm tương ng trong khong  
N.V. Thái, L.H. Dũng, “Phát trin thut toán chký sda trên hmã Poligh – Hellman.”  
180  
Công nghthông tin  
[2]. Người gi sdng khóa mã hóa (e) để mã hóa bn tin:  
C = me mod p  
Bn mã tương ng vi bn tin M là C.  
b) Thut toán gii mã:  
Thut toán kim tra bao gm các bước:  
[1]. Người nhn sdng khóa gii mã (d) để gii mã bn tin nhn được:  
m = Cd mod p  
[2]. Chuyn giá trm thành bn tin ban đầu.  
Nhn xét:  
Trong hmã Poligh – Hellman, khóa mã hóa (e) và gii mã (d) là 2 giá trị  
nghch đảo nhau theo modul  
y, ch n bi t 1 trong 2 giá tr  
kia. Vì th , c 2 khóa e d đều ph  
Hellman là m t h mã khóa bí m t. C  
th th c hi n vai trò c a m t h ch ký s  
2.2. Thut toán chký mi đề xut MTA 17.3 – 01  
Thu t toán ch ký m đề xu t, ký hi u MTA 17.3 – 01, được xây d  
nguyên t c c a h mã Poligh – Hellman bao g m các thu t toán hình thành tham s  
và khóa, thu t toán ký và ki m tra ch ký nh sau:  
ϕ
( p). Do p là s  
e ho c d thì hoàn toàn d  
được gi bí m t và do  
ng vì lí do ó, h Poligh – Hellman không  
nh t RSA.  
nguyên t  
, nên  
dàng tính được giá tr  
ó h Poligh –  
ϕ( p) = (p 1) . Như  
v
c
ế
ế
ũ
i
đ
đ
ư hmậ  
i
ng theo  
ư
2.2.1 Thut toán hình thành các tham shthng và khóa  
a) Hình thành các tham shthng  
Hình thành tham sbao gm các bước thc hin như sau:  
[1]. Chn snguyên tp ln sao cho vic gii bài toán logarit ri rc trên Zp là  
khó.  
[2]. La chn hàm băm (hash function) H: {0,1}*  
[3]. Công khai: p, H(.).  
a
Zn , vi:  
.
n < p  
Ghi chú: Trong ng dng thc tế, p là tham shthng và do nhà cung cp  
dch vchng thc sto ra.  
b) Thut toán hình thành khóa  
Mi người dùng U hình thành cp khóa bí mt và công khai ca mình theo các  
bước như sau:  
[1]. Chn giá trex tha mãn: 1< ex < p 1 và: gcd(ex , p 1) = 1  
[2]. Tính giá tr: dx =  
[3]. Chn mt giá trngu nhiên t tha mãn: 1< t < p 1  
[4]. Tính giá tr khóa e theo công th c: e = ex mod(p 1)  
t mod p  
Ki m tra n u: gcd(e, p 1) =1 thì th c hi n l i t ước [3].  
[5]. Tính giá tr khóa d1 theo công th c: d1 = dx mod(p 1)  
t mod p  
Ki m tra n u: gcd(d1, p 1) =1 thì th c hi n l i t ước [3].  
[6]. Tính giá tr khóa d2 công th c:  
t mod(p 1)× t mod(p 1) −  
ex  
m tra n u: gcd(d2 , p 1) =1 thì th  
(
ex  
)
1 mod(p 1)  
(
(  
)
)
ế
ạ ừ b  
(
(
)
)
ế
ạ ừ b  
d2 =  
(
(
dx  
)
(
)
(
dx  
)
t mod p ×  
ex  
n li tbước [3].  
(
)
t mod p  
mod(p 1)  
)
Ki  
ế
c hi  
Tp chí Nghiên cu KH&CN quân s, Số Đặc san CNTT, 12 - 2017  
181  
Công nghthông tin  
[7]. Công khai: e ; gi  
2.2.2 Thu t toán ch ký s  
a) Thu t toán ký  
Thu t toán bao g  
[1]. Tính giá trị đại di  
bí mât: d1, d2.  
m các bước:  
n c a b  
nh t c  
n tin c  
n ký (M): m = H (M)  
d1  
[2]. Hình thành ph  
n th  
a ch  
ký: S1 =  
(
m
)
d2  
mod p  
[3]. Hình thành ph  
n th  
hai ca ch  
ký: S2 =  
(m)  
mod p  
[4]. Ch  
b) Thu t toán ki  
Thu t toán ki  
[1]. Tính giá trị đại di  
[2]. Tính giá tr theo công th  
[3]. Ki m tra n = m thì ch  
n tin c n th m tra được công nh  
2.2.4 Tính úng đắn c a thu t toán MTA 17.3 – 01  
Tính úng đắn c a thu t toán ch ký m đề xu  
đề và m nh đề sau ây:  
Bổ đề 1:  
Nếu: p là snguyên t, 1< e < p 1, gcd(e, p 1) =1, d  
ký s  
m tra  
m tra bao g  
n c  
t
ương  
ng v  
i b n tin M là cp: S = (S1, S2).  
m các bước:  
a b n tin c  
c:  
ký là h  
n.  
n th  
S2  
p l  
m tra (M): m = H(M)  
S1  
e mod  
, ngu n g  
m
m
=
×
(
)
p
ếu  
m
c và tính toàn v  
n c  
a
b
đ
đ
i
t  
được ch  
ng minh qua các b  
đ
=
e1 mod(p  
1) và  
0
m
<
p thì: me.d mod p  
= m .  
Ch  
Th  
Do  
ng minh:  
t v  
ó s  
y, ta có: d  
=
e1 mod(p  
1) . Nên: d  
×
emod(p  
1) =1  
đ
t
n ti s  
nguyên k sao cho: d  
p1  
×
e
=
k
×
( p 1) +1  
Theo định lý Euler [6] ta có: m( ) mod p  
=1  
T
ừ đây suy ra:  
me.d mod p = mk. +1 mod p =  
(
p1  
)
( p1  
(
mk. ) mod p  
)
× mmod p  
(
p1  
=
(
(
mk  
ổ đề được ch  
)
ng minh.  
) mod p  
)
× mmod p =1× mmod p = m  
B
Bổ đề 2:  
u: p là s  
0 m < p thì: m(e  
Ch ng minh: Th  
Nế  
nguyên t  
, 1< e < p 1, gcd(e, p 1) =1, d = e1 mod(p 1) ,  
mod p = m  
t v y, theo Bổ đề 1 ta có:  
t
)
t
.
(
d
)
.
t1  
t
t
)
t
e.d  
)
m(e  
mod p = m(e.d mod p =  
(
m
e.d mod p (  
)
mod p  
)
.
(
d
)
t2  
)
t1  
t2  
= m(e.d mod p =  
(
m
t3  
e.d mod p (  
)
mod p = m(e.d mod p  
e.d  
)
)
t3  
)
e.d  
)
=
(
............................................................................................  
me.d mod p (  
)
mod p = m(e.d mod p  
2
3
2
e.d  
)
= m(e.d mod p =  
(
me.d mod p (  
)
mod p = m(e.d mod p  
)
)
=
(
me.d mod p  
)
e.d mod p = me.d mod p = m  
N.V. Thái, L.H. Dũng, “Phát trin thut toán chký sda trên hmã Poligh – Hellman.”  
182  
Công nghthông tin  
Bổ đề được ch  
ng minh.  
Mnh đề:  
Cho p là s  
nguyên t  
, 1< ex < p 1, gcd(ex , p 1) =1, dx =  
1< t < p 1, e = ex  
t mod p  
mod(p 1)  
t mod(p 1)× t mod(p 1) −  
ex  
mod p , C2 =  
(
ex  
)
1 mod(p 1)  
mod(p 1)  
,
,
0 m < p ,  
(
(
)
)
d1 =  
d2 =  
(
(
(  
(
dx  
)
t mod p  
)
,
dx  
)
(
)
(
dx  
)
t mod p ×  
mod p . N u: m = C2 ×  
(
ex  
)
t mod p  
)
mod(p 1)  
,
d1  
d2  
)
0 m < p , C1 =  
m = m  
Ch  
Th  
(
m  
)
(
m  
ế
(
C1
)  
e mod p thì:  
.
ng minh:  
t v y, do:  
m = C2 ×  
(
C1  
)
e mod p =  
md1 mod p e  
md2 mod p  
)
×
(
)
t
mod p = md × md .e mod p  
2
1
=
(
t
t
t
= m((  
×
dx  
)
mod  
(
p1  
)
.
(
ex  
)
mod  
(
p1  
)
(
dx  
)
mod p.  
(
ex  
)
mod p mod( p1)  
)
t
t
dx  
)
mod p  
)
mod  
(
p1  
).  
((  
ex  
)
mod p  
)
mod  
(
p1  
× m((  
) mod p  
t
t
t
t
= m(d  
) mod p = m(d  
mod p  
)
.(  
ex  
)
mod  
(
p1  
)
x
.(  
ex  
)
x
t
t
Theo Bổ đề 2, ta có: m(e  
ừ đây suy ra: m = m  
nh đề được ch ng minh.  
2.2.5 Mc độ an toàn ca thut toán MTA 17.3 – 01  
modn = m  
) .(dx )  
x
T
M
Mc độ an toàn ca thut toán mi đề xut có thể đánh giá qua các khnăng sẽ  
được xem xét dưới đây:  
a) Khnăng tn công làm lkhóa mt  
Vi thut toán hình thành khóa mc 2.1.1, hoàn toàn có thchn giá trca t  
sao cho d1, d2 e không nghch đảo vi nhau theo cmodulo p modulo (p-1).  
Nghĩa là te không thtính được d1 d2 bng phép nghch đảo theo modulo p và  
modulo (p-1). Ngoài ra, vic tính d1, d2 bng cách gii bài toán logarit ri rc t:  
d1  
d2  
)
S1 =  
u giá tr  
b) Kh  
(
m
)
mod p và: S2 =  
a tham s được ch  
ng t n công thu t toán ch  
ng 1 và 2 cho th y các thu  
a thu t toán ch ký s RSA có c  
các ch ng minh và ánh giá v tính an toàn c  
ng đối v i MTA 17.3 – 01.  
Bng 1. Thu t toán ký c a RSA và MTA 17.3 – 01  
Thu t toán Thu t toán ký  
RSA  
(
m
mod p c  
đủ  
ký s  
ũng không khthi, vì đây là bài toán khó  
n
ế
ă
c
p
n
l
n.  
n
Bả  
t toán ký và ki  
m tra ch  
ký c  
a MTA 17.3 – 01  
nh nhau. Vì v y,  
ng hoàn toàn có th áp  
và c  
đ
ơ
ch làm vi  
ế
c tương t  
ư
a RSA c  
ũ
d
S =  
S1 =  
S2 =  
(
m  
)
d modn  
d1  
MTA 17.3 – 01  
(
m
)
mod p  
mod p  
d2  
( )  
m
Tp chí Nghiên cu KH&CN quân s, Số Đặc san CNTT, 12 - 2017  
183  
Công nghthông tin  
Bng 2. Thut toán kim tra ca RSA và MTA 17.3 – 01  
Thut toán Thut toán kim tra  
RSA  
m =  
e modn  
(
S
)
if m = H(M ) then S = true  
S2 S1  
e mod  
then (S1,S2) = true  
MTA 17.3 – 01  
m
=
×
(
)
p
if m  
= H(M )  
2.2.6 Hiu quthc hin ca thut toán MTA 17.3 – 01  
Hiu quthc hin ca các thut toán có thể được đánh giá thông qua sphép  
toán cn thc hin hay tng thi gian cn thc hin các phép toán để hình thành và  
kim tra ch. Để so sánh hiu quthc hin ca thut toán mi đề xut vi  
thut toán chký sRSA, ở đây qui ước sdng các ký hiu:  
Texp : thi gian thc hin mt phép toán mũ modul;  
Th : thi gian thc hin hàm băm (hash function).  
Tmul : thi gian thc hin mt phép toán nhân modul;  
a) Thi gian thc hin ca thut toán RSA:  
Thi gian hình thành chký là: (Texp + Th)  
Thi gian kim tra chký là: (Texp + Th)  
Tng thi gian thc hin:  
(2Texp + 2Th )  
b) Thi gian thc hin ca thut toán MTA 17.3 – 01:  
Thi gian hình thành chký là: (2Texp + Th)  
Thi gian kim tra chký là: (Texp + Th + Tmul)  
Tng thi gian thc hin:  
(3Texp + 2Th +Tmul )  
Tng hp thi gian thc hin ca thut toán mi đề xut MTA 17.3 – 01 và  
ca RSA được chra trên Bng 3 như sau:  
Bng 3. Thi gian thc hin ca các thut toán MTA 17.3 – 01 và RSA  
TT  
1
Thut toán  
Tng thi gian thc hin  
2Texp + 2Th  
3Texp + 2Th + Tmul  
RSA  
2
MTA 17. 3 – 01  
Nhn xét:  
TBng 3 có ththy rng hiu quthc hin ca thut toán MTA 17.3 – 01  
thp hơn thut toán RSA.  
3. KT LUN  
Bài báo đề xut mt thut toán chký mi tvic phát trin hmã khóa bí mt  
Poligh – Hellman. Thut toán mi đề xut có nguyên tc làm vic cơ bn như lược  
đồ chký RSA, song các đối tượng ký có thsdng chung modulo p mà không  
nh hưởng đến độ an toàn ca lược đồ. Mt sphân tích sơ bvề độ an toàn và  
hiu quthc hin cho thy khnăng ng dng ca thut toán mi đề xut là hoàn  
toàn thc tế.  
TÀI LIU THAM KHO  
N.V. Thái, L.H. Dũng, “Phát trin thut toán chký sda trên hmã Poligh – Hellman.”  
184  
Công nghthông tin  
[1] Pohlig, S. and Hellman, M., ”An Improved Algorithm for Computing Logarithms over  
GF(p) and its Cryptographic Significance,” IEEE Trans. on Info. Theory Vol. IT-  
24(1) pp. 106-110 (Jan. 1978).  
[2] R. L. Rivest, A. Shamir, L. M. Adleman, “A Method for Obtainng Digital Signatures  
and Public Key Cryptosystems”, Commun. of the ACM, Voi. 21, No. 2, 1978, pp. 120-  
126.  
[3] ElGamal T., “ 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.  
[4] National Institute of Standards and Technology, NIST FIPS PUB 186-3. Digital  
Signature Standard, US Department of Commerce, 1994.  
[5] 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).  
[6] R. Kenneth, “Elementary Number Theory and its Applications”, AT & T Bell  
Laboratories, 4th Edition, ISBN: 0-201- 87073-8, 2000.  
[7] Mark Stamp, Richard M. Low , “Applied cryptanalysis: Breaking Ciphers in the Real  
World”. John Wiley & Sons, Inc., ISBN 978-0-470-1.  
[8] D. Boneh, “Twenty Years of Attacks on the RSA Cryptosystem, Notices of the  
American Mathematical Society”, 46(2), 1999, pp. 203-213.  
DEVELOPING NEW DIGITAL SIGNATURE ALGORITHM BASED ON  
POLIGH – HELLMAN EXPONENTIATION CIPHER  
ABSTRACTThis paper proposes new digital signature algorithm based on the Poligh – Hellman  
exponentiation cipher. The proposed signature algorithm has the same working principle as the RSA signature  
algorithm, but allows multiple signatures to share the modulo p in signed algorithms and signature verification  
algorithms. In addition to information security capabilities, the new algorithm has the ability to validate the  
integrity and origin of the message is confidential.  
KEYWORDS Public - Key Cryptosystem, Secret - Key Cryptosystem, Digital Signature Algorithm, Poligh  
– Hellman exponentiation cipher.  
Nhn bài ngày 16 tháng 8 năm 2017  
Hoàn thin ngày 26 tháng 11 năm 2017  
Chp nhn đăng ngày 28 tháng 11 năm 2017  
Địa ch: 1 Vin CNTT, Vin KH và CN QS  
2
Khoa CNTT, Hc vin KTQS.  
Email: nguyenvinhthai@gmail.com.  
Tp chí Nghiên cu KH&CN quân s, Số Đặc san CNTT, 12 - 2017  
185  
pdf 6 trang baolam 10/05/2022 6160
Bạn đang xem tài liệu "Phát triển thuật toán chữ ký số dựa trên hệ mã Poligh - Hellman", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfphat_trien_thuat_toan_chu_ky_so_dua_tren_he_ma_poligh_hellma.pdf