Tải bản đầy đủ (.pdf) (8 trang)

Xây dựng thuật toán chữ ký số dựa trên một dạng bài toán khó mới

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.01 KB, 8 trang )

Cơng nghệ thơng tin

XÂY DỰNG THUẬT TỐN CHỮ KÝ SỐ DỰA TRÊN MỘT DẠNG
BÀI TỐN KHĨ MỚI
Nguyễn Đức Thụy1, Lưu Hồng Dũng2
Tóm tắt:
Bài báo đề xuất một phương pháp xây dựng thuật tốn chữ ký số dựa trên tính khó
của bài toán logarit rời rạc kết hợp khai căn trên Zp. Đây là một dạng bài tốn khó mới,
lần đầu được đề xuất và ứng dụng để xây dựng các thuật toán chữ ký số. Từ phương
pháp được đề xuất có thể xây dựng một lớp thuật tốn chữ ký số có độ an tồn cao cho
các ứng dụng trong thực tế.
Từ khóa: Digital signature, Digital signature algorithm, Digital Signature Schema, Discrete logarithm
problem.

1. ĐẶT VẤN ĐỀ
Trong [1,2] đề xuất một phương pháp xây dựng thuật toán chữ ký số dựa trên
tính khó của việc giải bài tốn logarit rời rạc trên Zp. Ưu điểm của phương pháp
mới đề xuất là từ đó có thể triển khai một lớp thuật tốn chữ ký số cho các ứng
dụng khác nhau. Tuy nhiên, độ an tồn của các thuật tốn chữ ký được xây dựng
theo phương pháp này chỉ được đảm bảo bởi độ khó của việc giải bài tốn logarit
rời rạc - DLP (Discrete Logarithm Problem) trên Zp. Do đó, nếu có một giải thuật
thời gian đa thức cho bài toán này (DLP) thì tính an tồn của các thuật tốn sẽ bị
phá vỡ hoàn toàn. Nâng cao độ an toàn cho các thuật tốn chữ ký số dựa trên tính
khó của việc giải đồng thời 2 bài tốn khó là một hướng tiếp cận đang nhận được
nhiều sự quan tâm của các nhà nghiên cứu, trong [3 – 10] các tác giả đã đề xuất
một số thuật toán chữ ký xây dựng trên đồng thời hai bài tốn phân tích số và
logarit rời rạc. Trong bài báo này, cũng với mục đích nâng cao độ an tồn cho các
thuật tốn chữ ký số, nhóm tác giả tiếp tục phát triển phương pháp đề xuất trong
[1,2] trên cơ sở tính khó của việc giải một bài tốn khó mới, ở đây được gọi là bài
toán logarit rời rạc kết hợp khai căn trên Zp. Đây là một dạng bài tốn khó lần đầu
được đề xuất và ứng dụng cho việc xây dựng thuật tốn chữ ký số và có nhiều triển


vọng tạo ra các thuật tốn có độ an tồn cao cho các ứng dụng thực tế.
2. XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN BÀI TOÁN LOGARIT
RỜI RẠC KẾT HỢP KHAI CĂN TRÊN Zp
2.1. Một số bài tốn khó ứng dụng trong mật mã và bài toán logarit rời rạc
kết hợp khai căn trên Zp
2.1.1. Bài toán logarit rời rạc trên Zp
Bài toán logarit rời rạc trên Zp là cơ sở xây dựng hệ mật khóa cơng khai
ElGamal [11]. Bài tốn có thể được phát biểu như sau: Cho p là số nguyên tố, g là
phần tử sinh của nhóm Zp*. Với mỗi số nguyên dương y ∈ Zp*, hãy tìm x thỏa mãn
phương trình:
g x mod p = y

174

N.Đ. Thụy, L. H.Dũng “Xây dựng thuật toán chữ ký số … bài tốn khó mới”


Nghiên cứu khoa học cơng nghệ

Giải thuật cho bài tốn DLP có thể được viết như một thuật tốn tính hàm
DLP(.) với biến đầu vào là y còn giá trị hàm là nghiệm x của phương trình:
x = DLP( y )

Ở hệ mật ElGamal, bài toán logarit rời rạc được sử dụng với vai trị hàm một
chiều trong việc hình thành khóa của các thực thể trong cùng hệ thống với bộ tham
số {p, g} dùng chung.
2.1.2. Bài toán khai căn trên Zp
Bài tốn khai căn (FRP) trên Zp có thể được phát biểu như sau: Cho p là số
nguyên tố, với mỗi số nguyên dương y ∈ Zp*, hãy tìm x thỏa mãn phương trình:
(x )k mod p = y

Trong [12], tác giả N.A. Moldovyan đã chứng minh bài tốn khai căn trên là
khó nếu thỏa mãn:

p = N .k S + 1
Ở đây: N là một số nguyên chẵn, k là một số nguyên tố và S ≥ 2. Ngồi ra, p và
k cịn phải có kích thước thỏa mãn: |p| ≥ 1024 bit và: |k| ≥ 160 bit.
2.1.3. Bài toán logarit rời rạc kết hợp khai căn trên trường Zp
Bài toán logarit rời rạc kết hợp khai căn trên trường Zp (Bài toán DLRP) được đề
xuất ở đây có thể phát biểu như sau:
Bài tốn DLRP: Với mỗi số nguyên dương y ∈ Z *p , hãy tìm các số x1 và x2
thỏa mãn phương trình sau:

(x1 )x

2

mod p = y

Trường hợp x1 là hằng số thì DLRP trở thành DLP, còn nếu x2 là 1 số nguyên
tố (hằng số) và thỏa mãn điều kiện theo [12]: p = N × (x2 )S + 1 , với: N là một số
nguyên chẵn và S ≥ 2, thì DLRP sẽ trở thành FRP. Dễ thấy rằng, việc giải được
DLRP là khó hơn cả DLP và FRP. Ngay cả khi có các giải thuật thời gian đa thức
cho DLP và FRP thì cũng khơng có nghĩa là sẽ giải được DLRP.
2.2. Xây dựng lược đồ chữ ký dựa trên tính khó của bài tốn DLRP
2.2.1. Thuật tốn sinh khóa
Ở phương pháp xây dựng thuật toán chữ ký mới đề xuất, DLRP được sử dụng
để hình thành cặp khóa bí mật và cơng khai của đối tượng ký. Trong đó, p là tham
số hệ thống (tham số miền) do nhà cung cấp dịch vụ tạo ra, ở đây p là số nguyên tố
cần phải được chọn sao cho việc giải bài tốn DLP là khó. Cặp (x1, x2) là khóa bí
mật và y là khóa cơng khai tương ứng của mỗi đối tượng ký trong hệ thống. Để tạo

khóa x1 mỗi thực thể ký cần tạo trước số nguyên tố q thỏa mãn: q|(p – 1) và một số
α ∈ Z *p . Khóa x1 được tạo theo:
x1 = α

p −1
q

mod p

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018

175


Cơng nghệ thơng tin

Khóa x2 là một giá trị được chọn ngẫu nhiên trong khoảng (1, q). Sau đó, các
khóa công khai được tạo ra từ (x1, x2) theo:
x

x

y1 = (x1 ) 2 mod p ,

y2 = (x2 ) 1 mod p

(1)

Chú ý rằng tham số q cũng sẽ được sử dụng với vai trị của một khóa bí mật
tương tự như x1 và x2 trong thuật toán ký.

Thuật toán sinh khóa có thể được mơ tả lại như trên Bảng 1 sau đây:
Bảng 1. Thuật tốn sinh khóa
Input: p – số nguyên tố, lq – độ dài (tính theo bit) của số nguyên tố q.
Output: q, x1, x2, y1, y2.
[1]. generate q: len(q) = lq, q|(p-1)
[2]. select α: 1 < α < p
[3]. x1 ← α ( p −1) / q mod p
[4]. if (x1 = 1) then goto [2]
[5]. select x2: 1 < x2 < q
x

[6]. y1 ← ( x1 ) 2 mod p , y2 ← ( x2 ) 1 mod p
[7]. return {q, x1, x2, y1, y2 }
Chú thích:
x

- len(.) là hàm tính độ dài (theo bit) của một số ngun.
- q, x1, x2: Khóa bí mật.
- y1, y2: Khóa cơng khai của đối tượng ký (U).
2.2.2. Thuật toán ký
Giả sử (r,s) là chữ ký lên bản tin M, u là 1 giá trị trong khoảng (1,q) và r được
tính từ u theo cơng thức:
u
(2)
r = (x1 ) mod p
Và s được tính từ v theo công thức:
v
(3)
s = (x1 ) mod p
Ở đây: v cũng là 1 giá trị trong khoảng (1,q).

Cũng giả thiết rằng phương trình kiểm tra của lược đồ có dạng:

(s )y

2

r . s mod p

≡ (r )

E

× ( y1 ) mod p

Với: E = H (M ) và: r × s mod p = (x1 )k mod p
(4)
Trong đó: H(.) là hàm băm và k là một giá trị được chọn ngẫu nhiên trong
khoảng (1,q).
Đặt:
(5)
(x1 )k mod p = Z

176

N.Đ. Thụy, L. H.Dũng “Xây dựng thuật toán chữ ký số … bài tốn khó mới”


Nghiên cứu khoa học cơng nghệ

Khi đó có thể đưa phương trình kiểm tra về dạng:

(s ) y ≡ (r )Z × ( y1 )E mod p
Từ (1), (2), (3) và (6) ta có:
(x1 )v. y ≡ (x1 )u.Z × (x1 )x .E mod p
Từ (7) suy ra:
2

2

2

(6)
(7)

(u × Z + x2 × E ) mod q

v × y2 ≡

hay:
−1

v = ( y 2 ) × (u × Z + x2 × E ) mod q

(8)

Mặt khác, từ (2), (3) và (4) ta có:

(v + u ) mod q = k

(9)


Từ (8) và (9) ta có:

((u × Z + x × E )× ( y )

−1

2

2

Hay:

(u × (Z × ( y )

−1

2

)

+ u mod q = k

)

−1

)

+ 1 + x2 × E × ( y2 ) mod q = k


(10)

Từ (10), suy ra:

(

−1

) × (k − x

u = Z × ( y2 ) + 1

−1

−1

2

)

× E × ( y2 ) mod q

(11)

Từ (11), có thể tính thành phần thứ nhất của chữ ký theo (2):
u
r = ( x1 ) mod p
và thành phần thứ 2 được tính theo (3):
v


s = ( x1 ) mod p

với v được tính theo (8):
−1

v = ( y 2 ) × (u × Z + x2 × E ) mod q

Từ đây thuật tốn ký được mô tả trên Bảng 2 như sau:

Bảng 2. Thuật toán ký
Input: p, q, x1, x2, y2,M .
Output: (r,s).
[1]. E ← H (M )
[2]. select k: 1 < k < p − 1
[3]. Z ← (x1 )k mod p

(

) (
−1

)

[4]. u ← Z × ( y2 )−1 + 1 × k − x2 × E × ( y2 )−1 mod q
−1

[5]. v ← ( y2 ) × (u × Z + x2 × E ) mod q
[6]. r ← (x1 )u mod p
[7]. s ← (x1 )v mod p
[8]. return (r,s)


Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018

177


Cơng nghệ thơng tin

Chú thích:
- M: bản tin cần ký, với: M ∈ {0,1}∞ .
- (r,s): chữ ký của U lên M.
2.2.3. Thuật toán kiểm tra
Thuật toán kiểm tra của lược đồ được mô tả trong Bảng 3 như sau:
Bảng 3. Thuật toán kiểm tra
Input: p, y1, y2, M, (r,s).
Output: true / false .
[1]. E = H (M )
[2]. Z ← r × s mod p

(12)

[3]. w1 ← (r )Z × ( y1 )E mod p

(13)

[4]. w2 ← (s ) y2 mod p
if ( w1 = w2 ) then {return true }
else {return false }
Chú thích:
- M, (r,s): bản tin, chữ ký cần thẩm tra.

- Nếu kết quả trả về là true thì tính tồn vẹn và nguồn gốc của M được khẳng
định. Ngược lại, nếu kết quả là false thì M bị phủ nhận về nguồn gốc và tính tồn
vẹn.
2.2.4. Tính đúng đắn của lược đồ mới đề xuất
Điều cần chứng minh ở đây là: Cho p, q là 2 số nguyên tố với q|(p-1),


H : {0,1} a Z n ,

x1

y2 = ( x2 ) mod p

x2

y1 = ( x1 ) mod p ,

(

) × (k − x

−1

u = Z × ( y2 ) + 1

−1

−1

2


x1 = α ( p −1)/ q mod p

1<α < p,

q
,

)

× E × ( y2 ) mod q ,

E = H (M ) ,

,

1 < k , x2 < q ,
k

Z = (x1 ) mod p ,

−1

v = ( y 2 ) × (u × Z + x2 × E ) mod q ,

v

Z
E

s = (x1 ) mod p . Nếu: Z = r × s mod p ,
w1 = (r ) × ( y1 ) mod p ,
y
w2 = (s ) 2 mod p thì: w1 = w2 .
Tính đúng đắn của thuật toán mới đề xuất được chứng minh như sau:
Thật vậy ta có:

u

r = ( x1 ) mod p ,

(u . Z + x 2 . E ).( y 2 )−1 . y 2

v. y 2

y

w2 = (s ) 2 mod p = (x1 )

(Z .( y
= (x1 )

)−1 +1)

−1

2

(


mod p = ( x1 )

)

. k − x 2 . E . ( y 2 ) −1 . Z + x 2 . E

mod p

(14)

mod p

Mặt khác từ (12) ta lại có:

178

N.Đ. Thụy, L. H.Dũng “Xây dựng thuật tốn chữ ký số … bài tốn khó mới”


Nghiên cứu khoa học cơng nghệ
u

v

u +v

Z = r × s mod p = (x1 ) × ( x1 ) mod p = (x1 )

(Z .( y


= (x1 )

2

)

−1

−1

) .(k − x .E.( y ) )+ ( y

+1

−1

2

(Z .( y

2

)

(Z .( y

2

)−1 +1)


= (x1 )
= (x1 )

−1

2

2

)

−1

) .(k − x .E.( y ) )+ (Z .( y

+1

−1

−1

2

−1

2

(

2


)(

(

)

−1

) (

= (x1 )

)

) (.k − x .E .( y ) ).( y

+1

−1

−1

2

)

. k − x 2 . E .( y 2 )−1 . Z .( y 2 )−1 +1 + x 2 . E .( y 2 )−1

k − x 2 . E .( y 2 )−1 + x 2 . E .( y 2 )−1


mod p

−1
. Z .( y 2 )−1 +1 . k − x 2 . E .( y 2 )−1 . Z + x 2 . E 



2

2

)

−1

mod p

. Z + x 2 . E .( y 2 )−1

mod p

(15)

mod p

k

mod p = (x1 ) mod p = Z


Thay (15) vào (13) ta lại có:
Z

u .Z

E

w1 = (r ) × ( y1 ) mod p = ( x1 )
= ( x1 )

(Z .( y

2

)−1 +1)

. k − x2 .( y 2 )−1 . Z

= ( x1 )

(Z .( y

2

)−1 +1)

. k − x2 . E . ( y 2

−1


−1

(
(

x .E

× ( x1 ) 2 mod p

(16)

) × (x )x . E mod p =
1
) ).Z + x .E
mod p
2

−1

2

Từ (14) và (16) suy ra điều cần chứng minh:

w1 = w2

2.2.5. Mức độ an tồn của thuật tốn được đề xuất
Mức độ an toàn của lược đồ mới đề xuất có thể đánh giá qua khả năng như:
+ Chống tấn cơng làm lộ khóa bí mật
Ở thuật tốn mới đề xuất, cặp tham số x1, x2 cùng được sử dụng làm khóa bí
mật để hình thành chữ ký. Vì thế, thuật toán chỉ bị phá vỡ nếu cả 2 tham số này

cùng bị lộ, nói cách khác là kẻ tấn cơng phải giải được bài tốn logarit rời rạc kết
hợp khai căn trên Zp. Do đó, mức độ an tồn của thuật toán mới đề xuất xét theo
khả năng chống tấn cơng làm lộ khóa mật được đánh giá bằng mức độ khó của việc
giải được DLRP. Cần chú ý, DLRP là một dạng bài tốn khó mới, mà ngay cả khi
có các giải thuật thời gian đa thức cho FRP và DLP cũng khơng có nghĩa là sẽ giải
được bài tốn này. Ngồi ra, tham số q cũng được sử dụng với vai trị khóa bí mật
trong thuật tốn ký. Như vậy, để phá vỡ tính an tồn của thuật tốn, kẻ tấn cơng
cịn phải giải được bài tốn tìm bậc của x1. Tuy nhiên, việc tìm bậc của x1 là khơng
thể thực hiện được, vì x1 ở đây là 1 tham số bí mật.
+ Chống giả mạo chữ ký
Từ thuật toán kiểm tra (Bảng 2) của thuật toán mới đề xuất cho thấy, một cặp
(r,s) giả mạo sẽ được công nhận là chữ ký hợp lệ với một bản tin M nếu thỏa mãn
điều kiện:
(17)
(s ) y ≡ (r )( r.s ) mod p × ( y1 )E mod p
Từ (17), nếu chọn trước r rồi tính s thì khi đó điều kiện (17) sẽ có dạng:
(18)
(s ) y ≡ a ( s. r ) mod p mod p
Cịn nếu chọn trước s rồi tính r thì khi đó điều kiện (17) sẽ trở thành:
(r . s ) mod p
(19)
b = (r )
mod p
Với a, b là hằng số, dễ thấy rằng việc giải (18) và (19) là khó tương đương với
bài tốn DLRP.
2

2

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018


179


Công nghệ thông tin

4. KẾT LUẬN
Bài báo đề xuất một lược đồ chữ ký số mới dựa trên bài toán logarit rời rạc kết
hợp khai căn trên Zp. Mức độ an tồn của các thuật tốn xây dựng theo phương
pháp này sẽ được đảm bảo bằng mức độ khó của việc giải bài toán trên. Ở đây, bài
toán logarit rời rạc kết hợp khai căn trên trường Zp là một dạng bài tốn khó mới,
lần đầu được đề xuất và ứng dụng trong việc xây dựng thuật toán chữ ký số. Từ
phương pháp mới đề xuất có thể xây dựng một lớp thuật tốn chữ ký số có độ an
tồn cao cho các ứng dụng trong thực tế.
.
TÀI LIỆU THAM KHẢO
[1] Lưu Hồng Dũng, Nguyễn Đức Thụy, Nguyễn Văn Phúc và Đỗ Anh Tuấn, “Một
phương pháp xây dựng thuật toán chữ ký số”, Hội thảo lần thứ I: Một số vấn đề
chọn lọc về an tồn, an ninh thơng tin (SoIS 2016), 11/2016.
[2] Nguyen Duc Thuy and Luu Hong Dung, “A New Construction Method of
Digital Signature Algorithms”, IJCSNS International Journal of Computer
Science and Network Security. Vol. 16 No. 12 pp. 53-57, December 2016.
ISSN: 1738 - 7906.
[3] Q. X. WU, Y. X. Yang and Z. M. HU, "New signature schemes based on
discrete logarithms and factoring", Journal of Beijing University of Posts and
Telecommunications, vol. 24, pp. 61-65, January 2001.
[4] Z. Y. Shen and X. Y. Yu, "Digital signature scheme based on discrete
logarithms and factoring", Information Technology, vol. 28,pp. 21-22, June
2004.
[5] Shimin Wei, “Digital Signature Scheme Based on Two Hard Problems”,

IJCSNS International Journal of Computer Science and Network Security,
VOL.7 No.12, December 2007.
[6] Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad, “A New Digital
Signature Scheme Based on Factoring and Discrete Logarithms”, Journal of
Mathematics and Statistics, 04/2008; 12(3). DOI: 10.3844/jmssp.2008.222.225
Source:DOAJ.
[7] Qin Yanlin , Wu Xiaoping,“ New Digital Signature Scheme Based on both
ECDLP and IFP”, Computer Science and Information Technology, 2009.
ICCSIT 2009. 2nd IEEE International Conference on, 8-11 Aug. 2009, E-ISBN :
978-1-4244-4520-2, pp 348 - 351.
[8] Swati Verma1, Birendra Kumar Sharma, “A New Digital Signature Scheme
Based on Two Hard Problems”, International Journal of Pure and Applied
Sciences and Technology, ISSN 2229 – 6107, Int. J. Pure Appl. Sci. Technol.,
5(2) (2011), pp. 55-59.
[9] Sushila Vishnoi , Vishal Shrivastava, ”A new Digital Signature Algorithm
based on Factorization and Discrete Logarithm problem”, International Journal
of Computer Trends and Technology, volume 3, Issue 4, 2012.

180

N.Đ. Thụy, L. H.Dũng “Xây dựng thuật toán chữ ký số … bài tốn khó mới”


Nghiên cứu khoa học công nghệ

[10] A.N. Berezin, N.A. Moldovyan, V.A. Shcherbacov, "Cryptoschemes Based on
Difficulty of Simultaneous Solving Two Different Difficult Problems",
Computer Science Journal of Moldova, vol.21, no.2(62), 2013.
[11] 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.
[12] N.A. Moldovyan, "Digital Signature Scheme Based on a New Hard Problem",
Computer Science Journal of Moldova, vol.16, no.2(47), 2008.
ABSTRACT
A NEW DIGITAL SIGNATURE ALGORITHM BASED ON NEW HARD
PROBLEM
This paper proposes a signature schema based on the difficulty of the new hard
problem. The new signature scheme proposed has higher safety level compared to
the schemas which have been published previously about the ability of keeping
secret the source of the signed messages.
Keywords:
problem.

Digital signature, Digital signature algorithm, Digital Signature Schema, Discrete logarithm

Nhận bài ngày 12 tháng 06 năm 2018
Hoàn thiện ngày 15 tháng 10 năm 2018
Chấp nhận đăng ngày 05 tháng 11 năm 2018
Địa chỉ:

1

Khoa CNTT, Cao đẳng Kinh tế - Kỹ thuật TP. Hồ Chí Minh.
Khoa CNTT, Học viện KTQS.
* Email:
2

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 – 2018

181




×