A New Construction Method of Digital Signature Algorithms
IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016
53
A New Construction Method of Digital Signature Algorithms
Thuy Nguyen Đuc† and Dung Luu Hong††
† Faculty of Information Technology, Ho Chi Minh City Technical and Economic College
†† Faculty of Information Technology, Military Technical Academy
Here, the discrete logarithm problem is used as a one-way
function in formation of the key of entities in the same
system with the common parameter set {p,g}. It is easy to
see that, if x is a secret parameter, calculation of the public
parameter y from x and systematic parameters {p,g} is
absolutely easy. However, the opposite is very difficult to
implement, ie from y and {p,g}, the calculation of the
secret parameter x is unfeasible in practical applications. It
should be noted that, according to [6] and [7] in order for
discrete logarithm problem to be difficult, p selected must
Summary
The article presents a new construction method of digital
signature algorithms based on difficulty of the discrete logarithm
problem. From the proposed method, the different signature
schemes can be deployed to choose suitably for applications in
practice.
Key words:
Digital signature; Digital signature algorithm; Discrete
logarithm problem.
be large enough with:
|p| ≥512 bit.
1. Problem
Algorithm for the problem DLP(g,p) can be written as a
function calculating algorithm DLP(g,p)(.) with the input
variable y and function value is the root x of the equation:
Currently, the digital signature has been widely applied to
the fields of e-Government, e-Commerce, ... in the world
and has been initially deployed applications in Vietnam to
meet the authentication requirements for the origin and the
integrity of information in electronic transactions.
However, the initiative research - development of new
digital signature schemes to meet the requirements for
product, safety equipment design - manufacture and
information security in the country has always been
essential problem arising. In the country, a number of
research results in this field have been published [1], [2],
[3], [4] and implemented in practical applications.
In this article, the authors propose a new construction
method of signature schemes based on difficulty of the
discrete logarithm problem in the field of finite elements.
As well as methods that have been proposed in [1], [2], [3],
[4], an advantages of the newly proposed method here is
that it can be used for the purpose of developing different
digital signature schemes to choose suitably to the
requirements of applications in practice.
x = DLP(g, p) (y)
This signature scheme built up based on the newly
proposed method allows entities signing in the same
system to share the parameter set {g,p}, where each
member U of the system chooses oneself the secret key x
1< x < ( p −1)
satisfying:
parameter:
, calculate and disclosure the
y = g x mod p
It also should be noted that the secret parameter x must be
chosen so that the calculation of DLP(g,p) (y) is difficult.
With the above stated choice, only the signer U knows the
value of x, so the person who knows x is enough to
authenticate is U.
Assuming that the secret key of the signer x is randomized
in the range (1,p) and the corresponding public key y is
formed from x in accordance with:
y = g x mod p
(1.1)
Here, p is the chosen prime number so that solution of the
problem DLP(g,p) (y) is difficult, g is the birth particle
of the group ℤp* has the degree of q, with q|(p-1).
Assume that (r,s) is the signature on the message M, u is
one value in the range (1,q) and r is calculated from u by
the formula:
2. Construction of digital signature algorithm
2.1 Construction method
This newly proposed sheme is built up based on difficulty
r = gu mod p
(1.2)
of the Discrete Logarithm Problem [5].
Discrete
And s calculated from v by the formula:
logarithm problem – DLP(g,p) can be stated as follows:
Let p be prime number, r is the birth particle of the group
ℤp*. For each positive integer y∈ ℤp*, find x satisfying
the equation:
s = gv mod p
(1.3)
Here: v is also one value in the range (1,q).
Also assume that the verifying equation of the scheme is
formed:
g x mod p = y
Manuscript received December 5, 2016
Manuscript revised December 20, 2016
54
IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016
Table 1. Algorithm for formation parameter and key
s f
≡ r f
)) × y
)) mod p
f 3
(
M , f r,s
(
(
M , f
(
r,s))
(
M , f r,s
(
1
2
Input: p, q, x.
Output: g, y.
f (r, s)
[1]. select h: 1<h<p
With
is the function of r and s. Consider the case:
g ← h( / q mod p
p−1
)
f (r,s) = r × smod p
= gk mod p
[2].
[3]. if ( g = 1) then go to [1]
(1.4)
y ← gx mod p
Where k is a randomly chosen value in the range (1,q).
Set:
[4].
[5]. return {g,y}
gk mod p = Z
(1.5)
Remarks:
Then, the verifying equation can be taken to the form:
(i) p,q: primes satisfying conditions:
f3 M ,Z
(
s f
≡ r f
) × y
) mod p
(
M ,Z
)
(
M ,Z
2
1
p = N × q +1
, N=1,2,3,….
(1.6)
(ii) x,y: secret, public keys of signing object U.
From (1.1), (1.2), (1.3) and (1.6) we have:
) mod p
x. f3 (M ,Z
) × g
(
M ,Z
)
(M ,Z
2
gv. f
≡ gu. f
1
(1.7)
Table 2. Algorithm for formation of signature
Input: p, q, g, x, M.
Output: (r,s).
From (1.7) infer:
v× f1 (M,Z) ≡ [u × f2 (M,Z) +
+ x× f3 (M ,Z)]modq
[1]. select k: 1<k<q
(1.8)
(1.9)
Z ← gk mod p
So:
[2].
v = (u× f1(M ,Z)−1 × f2 (M ,Z)
w ← f1(M, Z)
1
[3].
+ x× f1(M ,Z)−1 × f3 (M,Z)modq
w2 ← f2 (M , Z)
[4].
On the other hand, from (1.2), (1.3) and (1.4) we have:
w3 ← f3 (M , Z)
[5].
(
v + u mod q = k
)
(1.10)
w4 ←
w5 ←
w1
)
)
−1 × w2 modq
−1 × w3 modq
From (1.9) and (1.10) we have:
[6].
[u × f1(M, Z)−1 × f2 (M, Z) +
(
w1
[7].
[8].
+ x × f1(M, Z)−1 × f3 (M, Z) + u]mod q
u ←
(
w4 +1 −1
×
(
k − x× w5 mod q
)
r ← gu mod p
v ← u × w4 + x× w5
s ← gv mod p
= k
[9].
Or:
(
)
modq
[u × ( f1(M, Z)−1 × f2 (M, Z) +1)
+ x × f1(M, Z)−1 × f3 (M, Z)]mod q
[10].
[11].
[12]. return (r,s)
Remarks:
= k
From (1.11), infer:
(1.11)
M ∈{0,1}∞
u = [( f1(M, Z)−1 × f2 (M, Z) +1)−1 ×
(k − x × f1(M, Z)−1 × f3 (M, Z)]mod q
(i) M: the message to be signed, with:
(ii) (r,s): signature of U on M.
.
(1.12)
Table 3. Algorithm for verifying signature
Input: p, q, g, y, {M,(r,s)}.
Output: true / false.
From (1.12), the first component of signature is calculated
by (1.2):
r = gu mod p
Z ← f (r, s)
[1].
w1 ← f1 (M , Z)
and the second component is calculated by (1.3):
[2].
s = gv mod p
w2 ← f2 (M , Z)
[3].
with v calculated by (1.9):
w3 ← f3 (M , Z)
[4].
v = [u × f1(M, Z)−1 × f2 (M, Z) +
+ x × f1(M, Z)−1 × f3 (M, Z)]mod q
A ← sw mod p
1
[5].
w3
B ← rw × y mod p
2
[6].
[7]. if (A=B) then {return true}
else {return false}
Remarks:
(i) M, (r,s): the messages, signature need verifying.
From here, a form of signature scheme corresponding to
f (r, s) = r × s mod p = gk mod p
the case:
is shown as
Table 1, Table 2 and Table 3 below.
IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016
55
(ii) If the return is true, the integrity and origin of M are
confirmed. Conversely, if the return is false, M is denied
the origin and integrity.
2.2 Several algorithms for signature built up under
the proposed method
It should be noted that the signature created here is not
necessarily the pair of (r,s). From the Table 2 shows that
the value v can be selected as the second component of the
signature instead of s, thus reduce one calculation step in
the procedure for formation of signature. Indeed, if the
hypothesis of the verifying equation of the scheme is
formed:
2.2.1 The first scheme
a) Structure and operation
The first signature scheme proposed here - symbols LD
16.9–01, is built up under Table 1, 2 and 3 in section A
f1(M ,Z) = H(M )
f2 (M, Z) = Z
with selections:
,
,
f3 (M,Z) = H(M )
f 3 M , f r,v
( (
)) mod p
(
M , f
(
r,v))
(
M , f
(
r,v
. Algorithms for formation of parameter
gv. f
≡ r f
)) × y
1
2
(1.13)
and key, algorithm for signature and verifying signature of
the scheme are described in the Table 6, Table 7 and Table
8 below.
and:
f (r,v) = r × gv mod p = gk mod p
(1.14)
Set:
gk mod p = Z
Table 6. Algorithm for formation of parameter and key
Input: p, q, x.
Output: g, y, H(.).
Then, from (1.1), (1.2) and (1.13) we also have:
x. f3 (M , f (r,v
gv. f
≡ gu. f
)) × g
)) mod p
(
M , f
(
r,v))
(M , f (r,v
1
2
[1]. select h: 1<h<p
p−1
)
From here, algorithms for formation and verifying
signature of the form of the scheme corresponding to new
assumptions given in Table 4 and Table 5 as follows:
g ← h( / q mod p
[2].
[3]. if ( g = 1) then goto [1]
y ← gx mod p
[4]
.
(2.1)
H :
{
0,1 ∗
Zn
}
Table 4. Algorithm for formation of signature
Input: p, q, g, x, M.
Output: (r,v).
q < n < p
[5]. select
,
[6]. return {g,y,H(.)}
Remarks:
[1]. select k: 1<k<q
Z ← gk mod p
- H(.): Hash function (SHA, MD5, ...).
[2].
w ← f1(M, Z)
Table 7. Algorithm for signing messages
Input: p, q, g, H(.), x, M .
Output: (r,s).
1
[3].
w2 ← f2 (M , Z)
[4].
w3 ← f3 (M , Z)
E = H(M )
[5].
[1].
[2]. select k: 1<k<q
w4 ←
(
(
w1
w1
w4 +1 −1
r ← gu mod p
)
)
−1 × w2 modq
−1 × w3 modq
k − x× w5
[6].
[7].
Z ← gk mod p
[3]
(2.2)
w5 ←
u ←
r ← gu mod p
E−1 × Z +1 −1
×
(
k − x modq
)
[4].
[5].
[6].
u ←
(
)
×
(
)
mod q
[8].
(2.3)
(2.4)
u × E−1 × Z + x
modq
[9].
v ←
s ← gv mod p
v ←
(
u × w4 + x× w5 modq
)
[10].
[7].
(2.5)
[11]. return (r,v)
[8]. return (r,s)
Table 5. Algorithm for verifying signature
Input: p, q, g, y, {M,(r,v)}.
Output: true / false.
Table 8. Algorithm for verifying signature
Input: p, q, g, H(.), y, M, (r,s).
Output: true / false.
Z ← f (r,v)
[1].
E = H(M )
A ← sE mod p
[1].
w1 ← f1 (M , Z)
[2].
[2].
[3].
(2.6)
(2.7)
w2 ← f2 (M , Z)
[3].
w ← r × s mod p
B ← rw × yE mod p
w3 ← f3 (M , Z)
[4].
[4].
(2.8)
A ← gv.w mod p
1
[5].
A = B
[5]. if (
)
then {return true }
w3
B ← rw × y mod p
2
else {return false }
[6].
b) Correctness of the scheme LD 16.9-01
if ( A = B )
[7].
then {return true }
else {return false }
The thing to be proved is: Let p, q are 2 primes with
H :
{
0,1 ∗
Zn
}
q < n < p
1< k, x < q
,
q|(p-1),
,
,
56
IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016
2.2.1 The second scheme
y = g x mod p
Z = gk mod p
r = gu mod p
E = H
modq
. If:
(
M
)
,
,
,
u =
s =
E−1 × Z +1 −1
u × E−1 × Z + x
×
(
k − x
)
,
,
,
a) Structure and operation
modq
A = sE mod p
The second signature scheme - symbols LD 16.9–02, is
built up under the method stated in Table 4 and 5 in
section A with selections: f1(M,Z) = Z, f2(M,Z) = H(M),
f3(M,Z) = H(M). The algorithm for formation of
parameter and key is similar to that in the scheme LD
w = r × s mod p
,
B = rw × yE mod p
A = B
then:
.
Correctness of the newly proposed scheme is proved as
follows:
From (2.4), (2.5) and (2.6) we have:
16.9–01 (Table 6),
verifying signature of the scheme are described in Table 8
and Table 10 below.
algorithms for signature and
A = sE mod p
= gv.E mod p
−1.Z+x
)
.E
= g(u.E
mod p
Table 9. Algorithm for signing messages
Input: p, q, g, H(.), x, M .
Output: (r,v).
= gu.Z+x.E mod p
(2.9)
From (2.1), (2.3), (2.7) and (2.8) we also have:
[1]. select k: 1<k<q
B = rw × yE mod p
Z ← gk mod p
[2].
[3].
[4].
(3.1)
(3.2)
(3.3)
= gu.
) × g x.E mod p
= gu.Z × g x.E mod p
= gu.Z+x.E
(
r.s mod p
E = H(M )
w1 = Z −1 × E mod q
(2.10)
u ←
r ← gu mod p
w1 +1 −1
×
k − x× w1 modq
[5].
(3.4)
From (2.9) and (2.10) infer the thing to be proved:
[6].
[7].
(3.5)
(3.6)
A = B
v ← w1 ×
(
u + x modq
)
Safety level of the scheme LD 16.9-01
[8]. return (r,v)
In form of the newly proposed scheme, the public key is
formed from the secret key based on difficulty of the
discrete logarithm problem DLP(g,p). Therefore, if the
parameters {p,q,g} is selected for the problem DLP(g,p) to
be difficult, the safety level of the newly proposed scheme
in terms of resistance to attacks disclosing secret key will
be assessed by the level of difficulty of the problem
DLP(g,p). It should be noted that, in order for DLP(g,p) to
be difficult, the parameters {p,q,g,n} can be selected
similarly to DSA [6] or GOST R34.10-94 [7], with:
Table 10. Algorithm for verifying signature
Input: p, q, g, H(.), y, M, (r,v).
Output: true / false.
[1]. E = H(M)
w2 ← r × gv mod p
A ← gv.w mod p
[2].
[2].
(3.7)
(3.8)
(3.9)
2
B ←
(
r × y
)
E mod p
[3].
A = B
[4]. if (
)
then {return true }
| n |≥160bit
| p |≥ 512bit | q |≥160bit
,
,
.
else {return false }
The Algorithm for verifying signature (Table 8) of the
scheme LD 16.9-01 shows, any pair of (r,s) will be
recognized as a valid signature of U on a message M if it
b) Correctness of the scheme LD 16.9-02
The thing to be proved is: Let p, q are 2 primes with
meets the condition:
0,1 ∗
Zn
}
sE ≡ r(
) × yE mod p
s.r mod p
H :
{
q < n < p
1< k, x < q
w1 = Z −1 × E modq
r = gu mod p
q|(p-1),
,
,
,
,
,
,
(2.11)
y = g x mod p Z = gk mod p
E = H
M
Here: U is signing object owning a public key y and
,
,
,
E = H(M )
w1 +1 −1
u + x
E mod p
)
×
(
k − x× w1
)
modq
are representative value of the message M to
u =
v = w1 ×
B = r × y
(
,
be verified.
A ← gv.w mod p
modq
w2 = r × gv mod p
2
(
)
. If:
To find (r,s) from (2.11), the first way is to select a value
for r in advance, then calculate s. Then (2.11) will be
formed:
(
)
A = B
then:
.
Correctness of the newly proposed scheme is proved as
follows:
as ≡ sb mod p
(2.12)
From (3.7) and (3.8) we have:
Or in the second way is select s in advance then calculate r.
Then (2.11) will be formed:
A = gv.w mod p
2
r.gv mod p
rr mod p = b
= gv.
) mod p
(
(2.13)
= gv.Z mod p
In both two cases, a and b constants. It is easy to see that
solutions of (2.12) and (2.13) to find s and r is more
difficult than solution of the discrete logarithm problem
DLP(g,p).
−1.E.
(u+x).Z
= g Z
= g(
mod p
mod p
u+x).E
(3.10)
IJCSNS International Journal of Computer Science and Network Security, VOL.16 No.12, December 2016
57
Produce and check procedures of Electronic Digital
Signature based on Asymmetric Cryptographic Algorithm.
Government Committee of the Russia for Standards (in
Russian).
From (2.1), (3.5) and (3.9) we also have:
B = r × y
E mod p
= g( .E mod p
From (3.10) and (3.11) infer the thing to be proved:
A = B
(
)
u+x
)
(3.11)
Thuy N.D received the B.S from
HUFLIT University in 2005 and M.S
degree from Faculty of Information
.
c) Safety level of the scheme LD 16.9-02
From the Algorithm for verifying signature (Table 10) of
the scheme LD 16.9–02 shows that, any pair of (r,v) will
be recognized as a valid signature if the scheme generated
from a message M if it meets the condition:
Technology,
Military
Technical
Academy in 2013. My research interests
include cryptography, communication
and network security.
(
r.gv mod p
)
gv.
≡
(
r × y
E mod p
)
(3.12)
Similarly, (2.11), to find r and v from solution of (3.12) is
Dung L.H is a lecture at the Military
Technical Academy (Ha Noi, Viet Nam).
He received the Electronics Engineer
degree (1989) and Ph.D (2013) from the
Military Technical Academy.
more difficult than solution of the problem DLP(g,p)
.
3. Conclusion
The article proposes a method of digital signature scheme
design based on difficulty discrete logarithm problem. An
advantages of the newly proposed method is that it can be
used for developing different digital signature schemes to
choose suitably for applications in practice. Signature
schemes of LD 16.9–01 and LD 16.9–02 presented here
has somewhat showed the feasibility of the newly
proposed method.
References
[1] Luu Hong Dung, Le Dinh Son, Ho Nhat Quang, Nguyen
Duc Thuy,“DEVELOPING DIGITAL SIGNATURE
SCHEMES BASED ON DISCRETE LOGARITHM
PROBLEM”, the Eighth National Scientific Meeting of
Basic Research and Information Technology Applications
(FAIR 2015), ISBN: 978-604-913-397-8.
[2] Luu Hong Dung, Hoang Thi Mai, Nguyen Huu Mong “A
form of signature scheme built up based on the digital
analysis problem”, the Eighth National Scientific Meeting
of Basic Research and Information Technology
Applications (FAIR 2015), ISBN: 978-604-913-397-8.
[3] Luu Hong Dung, Ho Ngoc Duy, Nguyen Tien Giang,
Nguyen Thi Thu Thuy, “Development of a new form of
digital signature scheme”, the Proceedings of the Sixteenth
National Seminar: Some Selected Issues of Information
Technology and Communication - Da Nang.
[4] Hoang Thi Mai, Luu Hong Dung, “A form of signature
scheme built up based on the digital analysis problem and
the square root problem”, Journal of Science and
Engineering - Military Technical Academy No. 172
(Journal of IT and Communication, No.7 - 10/2015), page:
32 – 41. ISSN: 1859 – 0209.
[5] T. ElGamal, “A public key cryptosystem and a signature
scheme based on discrete logarithms”, IEEE Transactions
on Information Theory, Vol. IT-31, No. 4. pp.469–472.
[6] National Institute of Standards and Technology. NIST FIPS
PUB 186-3(2013). Digital Signature Standard, U.S.
Department of Commerce.
[7] GOST
R
34.10-94. Russian Federation Standard.
Information Technology. Cryptographic data Security.
Bạn đang xem tài liệu "A New Construction Method of Digital Signature Algorithms", để 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:
a_new_construction_method_of_digital_signature_algorithms.pdf

