Bài viết đề xuất một lược đồ chữ ký số dựa trên bài toán Logarit rời rạc theo modulo hợp số, một biến thể của lược đồ chữ ký số Elgamal.
Trang 1
Z N Lê Văn Tu n +, B Truy n+ u Tân+ * Khoa công nghệ thông tin, Học viện Kỹ thuật Quân sự * Viện mô phỏng, Học viện Kỹ thuật Quân sự * + Học viện Kỹ thuật mật mã : ộ ợ ồ ữ ố ự
ố
ọ ớ ợ ồ ữ ố ớ ộ
ữ ự ố
ộ T
ộ ợ ồ ữ ố ự
ợ ố ộ ợ ồ ữ ố ợ ồ ợ ữ ợ ợ ồ ữ
ợ ự
Digital Signature Scheme, Discrete logarithmic problem, order problem, Hash Function I Ớ T U V ệ ợ ồ ữ ố ự ợ ồ ữ ớ
ọ ậ ớ
ộ ợ ồ ữ ố
ợ ồ ữ ố ợ
ọ ớ ợ ồ ữ ố S ợ ồ ữ
ố S ự
ợ ồ ộ ộ
ộ nhóm nhân ộ ố ố Mộ â â â
ữ ộ ậ
ợ ồ ữ ố ộ ự
â ậ ợ
ợ ồ ộ ố ữ
ộ ậ
ợ ồ ợ ồ ợ ồ ữ ố S S ồ ũ
ợ ồ ữ ợ
ợ ồ
T
ố ộ ậ ự ộ ầ ộ
ợ ồ â
ệ X -fei, Shen Xuan-jing và Chen Hai- ộ ợ ồ ử ổ Mộ ợ ợ ồ ộ ậ ầ ử sinh và ộ ậ ộ ợ ồ
ỡ Đ ộ ậ ầ ử
â ự ợ ồ ữ ố ộ
ự
ữ ậ cùng ớ é ộ é â ộ ữ ợ
ố ố = là các ố ố â ệ T ợ =
nhân ẽ ậ ớ -1)(q-1) và ệ ợ
â ậ
nhóm nhân ợ ữ ậ
ữ ộ ộ
ậ ố ớ ệ
ậ
- S
ậ ậ R
ậ -Hellman [18]
ữ
ọ ợ ồ ữ ộ
ự ộ
ữ ợ ồ Girault ; w T [20 ; S T
; O T
; w T
ồ ữ ợ ệ ố ự
ệ ữ ớ ự ệ ợ ự
ọ ộ
Trang 2
ẫ T ợ ồ w
T ố ợ ố ố
é ẽ ớ ố ợ
ố ố Đ T Q ố
ồ ẽ
ệ T ợ ồ ữ
S T ố
ợ ữ ộ ậ ợ ồ ữ
ố S “
chosen- ” T ợ ồ ũ
ố
ớ ợ ồ ữ ố S
ớ ớ ớ
ợ ồ ữ ố
ớ ự ợ ồ ợ
ữ ự ố ộ
ợ ồ Elgamal
Mộ ố ọ
ộ ợ ồ ữ
ố ợ ồ ữ ố
ợ ợ ợ ồ
é ộ ợ ồ
chúng tôi ộ ợ ồ
ữ ố l ự ớ ợ ồ S
(Hình 2, hình 3) ớ ợ ồ
Elgamal
é ộ ộ ớ ợ
ồ ũ ự ợ ồ S
ớ ợ ồ Elgamal
ư, l ợ ồ ữ ố
ớ ợ ồ S ợ
â ầ
B ợ ổ ầ ớ
ệ ầ ộ ố ệ
l ầ ợ ồ
ố ộ ố ử
ệ ậ ệ
II MỘT SỐ VẤ ĐỀ LIÊN QUAN
MỘT SỐ ĐỊ Ĩ Á M
ịn ng ĩa 1 Hàm Num() ổ ộ â â
ố T ệ Num: ℕ{0,
1}H ℤ Ứ T 0b1 bH1 ố = 0 + b12
+ + bmin(T,H) 12min(T,H) 1
ịn ng ĩa 2 Hàm Str() ổ ố
â â â T+
ệ Str: ℤ 0 {0, 1}T+1 Ứ ố â
= b0 + b12 + + bT12T1+ 2T thành xâu b0b1 bT11
ịn ng ĩa 3 Hàm Random: Hàm random là hàm
ẫ ộ ố
ệ Random(a, b)
Đ ĩ ậ ố - ố
ố ỏ ỏ :
gm = 1 mod n (1)
ƯỢ ĐỒ Ữ Ý SỐ M
am số:
ộ ố ố ớ ộ ệ
Length(p), là L
ầ ử nhân p-1 trên ℤp ớ
0 < g < p
ợ ữ ậ ; ợ ọ
ộ ẫ ẫ 1]
y là khóa công khai ớ = x mod p
ố ậ ỗ ò
ợ ọ ; ợ ọ ộ ẫ
ẫ p 1]
ộ ợ ọ ò ợ
ọ
Sinh ữ ký:
T ậ Input: (p, g, x), m Output: (r, s)
1 while (k, p-1) 1 k Random(1, p-1)
2 r gk mod p
3 s (m- x.r) mod p-1
4 if (r = 0) or (s = 0), then goto 1
5 return (r, s)
Xá n ận ữ ký:
T ậ Input: (p, g, y), (r, s), m
Output: "accept" or "reject"
1 if (r = 0) or (s = 0), then return "reject"
3 mod p
4 mod p
5 v mod p
6 if (v = ), then return "accept" else return "reject"
Phân tích tính an toàn:
T ớ ệ ẫ
ố ệ
ộ ộ ầ
ự ệ ệ M
s = (k1(m - r.x)) mod p-1
ễ ợ
x = ((m-s.k).r1) mod p-1 (2)
ợ dùng trùng
s= (k1(m - r.x)) mod p-1 k= s-1
(m-r.x) mod p-1(3) s'= (k1(m' - r.x)) mod q = ’-1(m’-r.x) mod p-1(4)
T (3) và (4) ng th c sau:
s-1(m-r.x) = ’-1 ’-r.x) mod p-1 T
dễ ợc khoá bí mậ x= ( m)( mod p-1 (5)
Trang 3ân tí độ p tạp tính toán:
T ậ 3 ồ é ũ
é â p ử ệ ML ộ
ộ é â ℤp có
Length(p)= L Mộ é ũ p, gk
mod p ớ Length(p)= L ộ é
toán gk LML. Vậ ộ ậ
ợ ớ ợ
CG (2L+2)ML (6)
Độ ậ 4 ậ
â ệ ớ ớ é ỹ u1
.yu2) mod p) mod q Do Length(u1) N và Length(u2) N,
ổ ậ ợ ớ ợ
là:
Cv (3L+1)ML (7)
ữ Đố ớ ợ ồ S ỗ
ữ ồ ầ ầ ố
ớ Length = ầ ớ
Length(q)=224 ầ
Length = T ợ ổ ợ ồ
ữ S ẽ ầ ữ ỗ
ữ ớ = Length(q)
ƯỢ ĐỒ Ữ Ý SỐ S
á t am số ủa
ộ ố ố ớ ộ ệ
Length(p), là L
ớ ố ớ Length(q) = N
ầ ử ℤ ớ <
g < p
ợ ữ ậ ; ợ ọ
ộ ẫ ẫ
1]
ớ = x mod p
Số ố ậ ỗ
ò ợ ọ ; ợ ọ ộ
ẫ ẫ 1]
ộ ợ ọ
ộ ợ ọ
ký
uật toán s n ữ ký
T ậ
Input: (p, q, g, x), k, M
Output: (r,s)
1 z Num(N, Hash(M))
2 k Random(1, q)
3 r (gk mod p) mod q
4 w (z + x.r) mod q
5 if (r = 0) or (w = 0), then goto 2
6 s (k1.(z + x.r)) mod q
7 return (r, s)
Xá n ận ữ ký
T ậ 4:
Input: (p, q, g, y), (r,s), M
Output: "accept" or "reject"
1 w s1 mod q
2 z Num(N, Hash(M))
3 u1 (z.w) mod q
4 u2 (r.w) mod q
5 v ((gu1.yu2) mod p) mod q
6 if (v = r) then return "accept" Else return "reject"
ộ p tạp tín toán
ử ệ ML ộ
ộ é â ố
có Length = có Length = ệ MN Độ
ậ ậ é k
mod p) mod q
K ộ é k O(logk ML) N Do ậ ớ
ợ
CG NML + (N+3)MN) (8)
Độ ậ 4 ậ
â ệ ớ ớ é ỹ u1.yu2) mod p) mod q Do Length(u1) N và Length(u2) N,
ổ ậ 4 ợ ớ ợ
Cv 2NML + (2+N)MN (9)
ín an toàn ủa lượ đồ ữ ký số
T ộ ợ ồ ữ ệ " " ợ ữ ợ ệ
ữ ố ò ọ " ữ "
ỏ ọ ệ ữ
ẫ ệ ộ ố
g trên ℤ ợ nên trong FIPS_186- ầ
ớ ữ
ầ = = ò = (3072, 256) an to T
ớ ệ ẫ
ố S
ìn uống t n t: ộ
ộ ầ ự ệ ệ M
s = (k1(z + r.x)) mod q
ễ ợ ậ sau:
x = ((s.k z).r1) mod q
ìn uống t a : u hai thông báo khác
ợ ớ ộ
ử ợ
M M' ữ ớ M M’ ầ ợ ' ẻ ẽ ợ
ậ Đầ z z’
ợ z = Num(N, Hash(M)) và z' = Num(N, Hash M' ’ ợ
sau:
s= (k1(z + r.x)) mod q k= s-1(z+r.x) mod q(10) s'= (k1(z' + r.x)) mod q = ’-1 z’+ 11)
T 10) và (11 s-1 z+ = ’
-1 z’+ s-1z- ’-1z’= ’-1 s-1).r.x mod q
T ễ ợ ậ sau: x= r-1(s-1.z- ’1z’ ’-1 s-1)-1 mod q
Trang 4ELGAMAL TRÊN
VÀNH ℤn
ƯỢ ĐỒ CHỮ KÝ SỐ ĐƯỢ ĐỀ XUẤT
ự â ra những
ố ợ ồ chữ ký số Elgamal
DSA ng, chúng tôi ộ ợ ồ ữ
ố ớ trên vành kh c ph ợc một số ợ m ra trong hai ợ ồ Elgamal S ộ ph c t ớ S
ự ợ ồ chữ ký số mới ợ â ự ự ộ ố â
- T ợ ồ ộ ự
â m ợ ố T ợ ồ S
ự
â q ố ố - T ầ ữ ợ ồ
ợ ự ợ ồ S - Đ ệ ọ ợ ồ
ầ ữ ợ ớ ầ z ầ ữ
z Num(N, H(T||Str(r))) (12) - T ầ ữ ợ ồ
ợ
s (z- x) mod m (13)
ợ ầ ợ ồ ữ
Elgamal
s (m- x.r) mod p-1 (14) Trong 13) ầ ợ ồ ợ ỡ ỏ
ố z 12) Sự
ộ ợ ồ
ữ ộ é â
ậ ữ ộ é ũ
- ậ ợ ồ
Length(m),g,y) Đ ệ ợ ồ ớ
ợ ồ S ỡ ậ ầ ử sinh g(Length ữ ậ
Đâ ọ ợ ồ ố ợ ố ộ
T ậ ớ â ợ ồ ợ â ự
am số và k óa: = ớ ố ố ỏ
ệ â ố
ợ ữ ậ ; m = p1.q1 ớ 1, q1 ố ỏ ệ sau: p1 | (p 1), q1 | (q 1), p1 ∤ (q 1), q1 ∤ (p 1) ộ Length(m), N= Length(m) ầ ử
ỏ ệ ố là khó ợ ữ ậ ; ợ ọ ẫ 1]
ớ = x mod n ố ậ ỗ ò ợ ọ ; ợ ọ ẫ 1]
N ậ
ố g,
n ữ ký: T ậ 5:
Input: (n, m, g, x), T { } Output: (r,s) 1 while (k, m) 1 k Random(1, m-1) 2 r gk mod n 3 z Num(N, H(T||Str(r))) 4 s (z- x) mod m 5 if (r = 0) or (s = 0), then goto 1 6 return (r, s) Xá n ận ữ ký: T ậ 6:
Input: M, (r, s), (n, N, g, y) Output: "accept" "reject" 1 z Num(N, H(M||Str(r))) 2 u (rs.y) mod n 3 v (gz) mod n 4 if (u = v) return "accept" else return "reject" ín đúng đắn: ễ
(rs.y) mod n =
= v
ìn ưu đồ m t quá trìn s n k óa
ký và á n ậ ữ ký
Trang 5B PHÂN TÍCH ƯỢ ĐỒ
ân tí an toàn:
ớ â é ộ ố ố â
ợ ồ Elgamal ớ ợ ồ
Tr ợ ộ
ậ ẽ ợ
â
s k-1.(z - x) mod m x (z - k.s
ợ ữ ậ ẻ
ợ ậ
Tr ợ hai:
ử T T’ ộ
ậ ẽ ợ
zNum(mbit,H(T||r))
Num (mbit,H( ||r))
s k-1.(z - x) mod m k= s-1.(z-x) mod m
k-1.( - x) mod m k= .( -x) mod m
x= mod m
ợ ữ ậ ẻ
ợ ậ
Tr ợ ba: ẻ ợ
ậ ộ ữ T
ầ ữ
r= gk mod n
zNum(mbit,H(T||r))
s k-1.(z - x) mod m
ợ ữ ậ ẻ
ợ ầ ữ
Chi phí tính toán
ử ệ CG ổ
ữ CV ổ ậ
ữ ử ệ ML ộ
é â ố ℤn và MN là
ộ ộ é â
ℤm có Length(m)= N ễ ộ ò
ậ 3 Độ ỗ
ò é ũ a gk mod n trên vành ℤn
ộ é ầ ử k1
mod m
Theo [27 ộ é k
O(L.ML ớ = Length Đ ớ ợ ộ
é k1 mod m
ộ é k1
mod m
O N.MN) ớ = Length(m) Vậ ộ
ỗ ớ ẽ
ệ ò k, m)
= k k có
Prob(gcd(k, m) = 1)=
m
φ(m)
=
m
q
p1 1)( 1 1)
(
(16)
Vớ ớ (gcd(k, m) = 1)
Vậ ổ ậ ữ ệ
CG
CG LML + (N+1)MN (17)
Độ ậ ậ é toán rs.y mod n gz mod n ử ML ệ
ộ ộ é â ℤn
có Length(n) = L, thì ổ
ậ ệ V sau:
â ộ ố ớ ợ
ồ ỗ ữ ồ ầ
ầ ố ớ Length = ữ
ỗ ữ Vậ â ợ ồ ữ
ố Elgamal ợ ồ ợ ố
ng t qu p ân tí
C T M
T ầ ử ệ é ộ ầ
ợ ố
ợ ồ ợ ồ DSA, RSA, Elgamal ợ ồ
V ợ ử ử ệ
ợ M Số ầ ử ệ
ỗ ộ ố ầ S
ợ ử ậ ậ ữ
ợ ồ ử ệ
ữ ậ ++ ợ QT
ệ W w ộ
ử z ộ ớ T ố ử
ệ ợ ồ ữ ố ớ
ầ ớ ố ự ợ
ậ ử ệ
ợ
Trang 6ng t qu t ng m
ữ ợ
ọ ớ â ố ệ ữ
ỡ
ìn 2 ố quan g ữa t g an s n ữ ký và
ủa k óa
ậ ữ ợ
ọ ớ â ố ệ ữ
ậ ữ ỡ
ìn 3 ố quan g ữa t g an á n ận ữ
ký và ủa k óa
IV
Zn ớ
máy tính ự ợ
ồ ữ ố ợ
ầ ự
ĩ ự ậ
ớ ĩ ự ố ò
â ự ộ ợ ồ
ữ ố ớ ộ ự
ớ
ợ ố minh ệ
ợ ồ ớ ợ ồ S ầ
ử ệ ử
ệ trên ữ ++ ử ệ
ữ â ọ ớ
ử ệ ồ T ũ
ầ ử ự ợ
ồ ầ ợ ỹ ộ
ũ ệ ự ệ â
ẽ ớ ệ
[1] T ElGamal “A public key cryptosystem and signature scheme based on discrete logarithms,” IEEE Transaction on Information Theory 1985, IT-31(4): pp 469 - 472
[2] W C Kuo, "On ElGamal Signature Scheme,"
Future Generation Communication and Networking (FGCN 2007), Jeju, 2007, pp 151-153
[3] C P Schnorr, ”Efficient signaturegeneration for smartcards,” Journal of Cryptology Vol 4, pp
161-174, 1991
[4] T S Ng, S Y Tan and J J Chin, "A variant of Schnorr signature scheme with tight security
reduction," 2017 International Conference on
Convergence (ICTC), Jeju Island, Korea (South),
2017, pp 411-415
[5] H Morita, J.C Schuldt, T Matsuda, G Hanaoka, T Iwata “On the security of the schnorr signature scheme and DSA against related key attacks.” International Conference on Information Security and Cryptology — CRYPTOLOGY ’15, pp 20–35, Springer, 2015
[6] National Institute of Standards and Technology (NIST), FIPS Publication 186: Digital Signature Standards (DSS)(1994)
[7] Sung-Ming Yen and Chi-Sung Laih, "Improved
digital signature algorithm," in IEEE Transactions
on Computers, vol 44, no 5, pp 729-730, May
1995
[8] Z M Chen “An inproved encryption algorithm on ELGamal algorithm,” Computer Applications and Sostware, vol 22 2005, pp.82- 85
[9] J.-m.Liu,X.-g.Cheng,andX.-m.Wang,”Methods to forge elgamal signatures and determine secret key,”in Advanced Information Networking and Applications, 2006 AINA 2006.20th
International Conferenceon, vol.1.IEEE, 2006, pp 859–862 [10] L Xiao-fei, S Xuan-jing and C Hai-peng, "An Improved ElGamal Digital Signature Algorithm
Based on Adding a Random Number" 2010 Second
International Conference on Networks Security, Wireless Communications and Trusted Computing,
Wuhan, Hubei, 2010, pp 236-240
0
10
20
30
40
50
60
DSA RSA
Proposed Scheme Elgamal scheme
0
10
20
30
40
50
60
70
80
DSA RSA
Proposed Scheme Elgamal
Trang 7[11] Z Meng, S Wang and S Nu, "A DSA
Multi-Signature Protocol and Applying in Bank and
Voting," 2010 2nd International Conference on
E-business and Information System Security, Wuhan,
2010, pp.1-5
[12] X.Li,X.Shen,andH.Chen,”Elgamal digital signature
algorithm of adding a random number,” Journal of
Networks,vol.6, no.5, pp.774–782, 2011
[13] C Y Lu, W C Yang and C S Laih, "Efficient
Modular Exponentiation Resistant to Simple Power
Analysis in DSA-Like Systems," 2010 International
Conference on Broadband, Wireless Computing,
communication and Applications, Fukuoka, 2010,
pp 401-406
[14] Z Ping, K Yingzhan and J Keke,
"Instruction-Cache Attack on DSA Adopting Square-Multiply
Method," 2012 Second International Conference on
Instrumentation, Measurement, Computer,
Communication and Control, Harbin, 2012, pp
905-908 6-11
[15] B Yang, "A DSA-Based and Efficient Scheme for
Preventing IP Prefix Hijacking," 2014 International
Conference on Management of Commerce and
e-Government, Shanghai, 2014, pp 87-92
[16] Z Ping, W Tao and C Hao, "Research on L3
Cache Timing Attack against DSA Adopting
Square-and-Multiply Algorithm," 2015 Fifth
International Conference on Instrumentation and
Measurement, Computer, Communication and
Control (IMCCC), Qinhuangdao, 2015, pp
1390-1393
[17] J M Pollard, Monte carlo methods for index
computation (mod p), Mathematics of Computation
32 (1978), no 143, 918-924
[18] Stephen C Pohlig and Martin E Hellman, “An
improved algoritm for computing logarithms over
GF(p) and its cryptographic significance”, IEEE
Transaction Theory IT-24 (1979), no 1, 106-110
[19] M Girault, ”An identity-based identification
scheme based on discrete logarithms modulo a
composite number” In Advances in Cryptology -
Eumcrypt’SO, Lecture Notes in Computer Science
473, Springer-Verlag, pp.481-486, 1991
[20] Chik How Tan, Xun Yi and Chee Kheong Siew,
"Signature scheme based on composite discrete
logarithm," Fourth International Conference on
Information, Communications and Signal
Processing, 2003 and the Fourth Pacific Rim
Conference on Multimedia Proceedings of the
2003 Joint, 2003, pp 1702-1706 [21] S K Tripathi and B Gupta, "An efficient digital signature scheme by using integer factorization and
discrete logarithm problem," 2017 International
Udupi, 2017, pp 1261-1266
[22] E Okamoto and K Tanaka, "Key distribution system based on identification information," in
Communications, vol 7, no 4, pp 481-485, May
1989
[23] Boyd, C.Digital signature and public key cryptosystem in a prime order subgroup of First International Conference on Information and Communications Security, ICICS' 97 (LNCS1334), pages 346-355.Springer,1997
[25] E Okamoto and K Tanaka, "Key distribution system based on identification information," in
Communications, vol 7, no 4, pp 481-485, May
1989
[26] Tuan Le Van, Truyen Bui The “Developping pollard algorithm to compute order of elements in
ℤ ” The research journal of military science and technology, No.42, 04- 2016, ISSN 1859 – 1043 [27] D.R Stinson, “Cryptography Theory and Practice”, CRC Press, pp 176, 2003
[28] Tuan Le Van, Truyen Bui The “Building a method for deterministic prime generation”, The research journal of military science and technology, No.42, 04- 2016, ISSN 1859 – 1043
[29] Richard Crandall, Carl Pomerance “Prime Numbers, A Computational Perspective”, Second Edition, Springer Science + Business Media, Inc,
2005
[30] L Harn, M Mehta and Wen-Jung Hsin,
"Integrating Diffie-Hellman key exchange into the
digital signature algorithm (DSA)," in IEEE
Communications Letters, vol 8, no 3, pp 198-200,
March 2004
Trang 8
DEVELOPING A NEW SIGNATURE
SCHEME ITS SECURITY BASED ON THE
DISCRETE LOGARITHMIC PROBLEM ON
RING Z N
Abstract: In 1985, ElGamal proposed a
digital signature scheme that based on prime
discrete logarithm Until now, there have been
many research results that pointed out the two
these scheme be insecure from some basic types of
attacks, such as: forgy attacks base on session key
revealing or session key coinciding In this paper,
we proposed a digital signature scheme in which
the security is based on composite discrete
problem The proposed scheme overcame the
disadvantages of two signature schemes above and
it can be applied into practice
Keywords: Digital Signature Scheme, Discrete
logarithmic problem, order problem, Hash
Function
S Tố ệ
Đ ọ T ;
ậ ỹ TT
Đ ọ ộ ;
Tố ệ T ỹ TT
ọ ệ ỹ ậ Q â
ự ệ
ọ ệ ỹ ậ Q â ự
ĩ ự ậ
thông tin
Tel 0989394556
Email: levantuan71@yahoo.com
Đ Tâ S ố ệ
Đ ọ Tổ ợ ộ ; ậ
ỹ ọ â ệ
â ệ ọ Mậ ộ
ọ ệ TMM
ĩ ự ọ -
ậ Tel: 0978254363
Tố ệ ọ ệ ỹ
ậ Q â ự V TQS
ậ T
ỹ
ệ V ệ – V ệ
ệ ỏ –
V TQS ớ
M ỏ - ự ệ
Mậ
Tel 0985245868
Email: Buithetruyen@gmai.co