Công nghệ thông tin<br />
<br />
XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN TÍNH KHÓ CỦA<br />
VIỆC GIẢI HỆ PHƯƠNG TRÌNH PHI TUYẾN TRÊN Zp<br />
Lưu Xuân Văn1*, Đoàn Văn Hòa2, Lưu Hồng Dũng3<br />
Tóm tắt: Bài báo đề xuất một phương pháp xây dựng thuật toán chữ ký số dựa<br />
trên tính khó của việc giải một hệ phương trình phi tuyến trên Zp. Đây là một dạng<br />
bài toán khó mới chưa có phương pháp giải, lần đầu được đề xuất và ứng dụng để<br />
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<br />
một lớp thuật toán chữ ký số có độ an toàn cao cho các ứng dụng trong thực tế.<br />
Từ khóa: Chữ ký số; Thuật toán ký số; Lược đồ ký số; Logarith rời rạc.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Nâng cao độ an toàn cho các thuật toán chữ ký số dựa trên tính khó của việc<br />
giải đồng thời 2 bài toán khó là một hướng tiếp cận đang nhận được nhiều sự quan<br />
tâm của các nhà nghiên cứu, trong [1 – 11] các tác giả đã đề xuất một số thuật toán<br />
chữ ký xây dựng trên đồng thời hai bài toán phân tích số và logarit rời rạc. Trong<br />
bài báo này, cũng với mục đích nâng cao độ an toàn cho các thuật toán chữ ký số,<br />
nhóm tác giả tiếp tục phát triển phương pháp đề xuất trong [12] trên cơ sở tính khó<br />
của việc giải một hệ phương trình phi tuyến trên Zp. Đây là một dạng bài toán khó<br />
lần đầu được đề xuất và ứng dụng cho việc xây dựng thuật toán chữ ký số và có<br />
nhiều triển vọng tạo ra các thuật toán có độ an toàn cao cho các ứng dụng thực tế.<br />
2. XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN TÍNH KHÓ GIẢI<br />
CỦA HỆ PHƯƠNG TRÌNH PHI TUYẾN TRÊN Zp<br />
2.1. Giải hệ phương trình phi tuyến trên Zp - Một dạng bài toán khó mới<br />
Bài toán giải hệ phương trình phi tuyến trên trường Zp được đề xuất ở đây là<br />
một dạng bài toán khó mới, bài toán này có thể phát biểu như sau:<br />
Với mỗi cặp số nguyên dương y1 , y2 Z *p , hãy tìm các số x1 và x2 thỏa mãn<br />
hệ phương trình sau:<br />
x1 x1 . x2 mod p y1<br />
<br />
x2 x1 . x2 mod p y 2<br />
Về mặt hình thức, nếu x1 là hằng số còn x2 là biến cần tìm thì bài toán trên sẽ<br />
trở thành bài toán logarit rời rạc trên Zp - DLP (Discrete Logarithm Problem). Tuy<br />
nhiên, ở đây x1 cũng là ẩn số như x2 , vì thế các giải thuật cho DLP không thể áp<br />
dụng với bài toán này. Tương tự, nếu x2 là hằng số và x1 là biến thì bài toán trên<br />
lại trở thành bài toán khai căn trên Zp - RP (Root Problem) [12]. Song ở đây x2<br />
cũng là biến cần tìm, do vậy các giải thuật cho RP cũng không áp dụng được đối<br />
với bài toán mới đề xuất. Trong toán học, bài toán trên thực chất là một hệ phương<br />
trình phi tuyến và thuộc lớp các bài toán chưa có cách giải, các giải thuật cho DLP<br />
và RP hiện tại là không áp dụng được với bài toán này. Điều đó cho thấy bài toán<br />
mới đề xuất ở đây có mức độ khó cao hơn DLP và RP.<br />
<br />
<br />
104 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
2.2. Xây dựng lược đồ chữ ký dựa trên tính khó của bài toán mới đề xuất<br />
2.2.1. Thuật toán sinh khóa<br />
Ở lược đồ chữ ký mới đề xuất, bài toán trên được sử dụng để hình thành cặp<br />
khóa bí mật và công khai của đối tượng ký. Trong đó, p là tham số hệ thống (tham<br />
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<br />
chọn sao cho việc giải bài toán logarit rời rạc là khó. Cặp ( x1 , x2 ) là khóa bí mật<br />
và ( y1 , y2 ) là các khóa công khai tương ứng của mỗi đối tượng ký trong hệ thống.<br />
Để tạo khóa ( x1 , x2 ) mỗi thực thể ký cần tạo trước số nguyên tố q thỏa mãn: q|(p-<br />
p 1<br />
<br />
1) và một cặp số ( , ) Z *p . Khóa bí mật x1 được tạo theo: x1 q<br />
mod p .<br />
p 1<br />
<br />
Khóa bí mật x2 được tạo theo: x2 q<br />
mod p .<br />
Sau đó, các khóa công khai được tạo ra từ ( x1 , x2 ) theo:<br />
x .x x .x<br />
y1 x1 1 2 mod p , y2 x2 1 2 mod p (1)<br />
Chú ý rằng tham số q cũng được sử dụng với vai trò của một khóa bí mật tương<br />
tự như x1 và x2 trong thuật toán ký.<br />
Thuật toán sinh khóa có thể được mô tả lại như trên Thuật toán 1 sau đây:<br />
Thuật toán 1. Thuật toán sinh khóa<br />
Input: p - số nguyên tố, lq - độ dài (tính theo bit) của số nguyên tố q.<br />
Output: q, x1, x2, y.<br />
[B1] generate q: len(q) = lq, q|(p-1)<br />
[B2] select (α, ): 1 , p<br />
[B3] x1 p 1 / q mod p , x2 p 1 / q mod p<br />
[B4] if (( x1 =1) or ( x2 =1)) then goto [B2]<br />
[B5] y1 x1 x .x mod p , y2 x2 x . x mod p<br />
1 2 1 2<br />
<br />
<br />
<br />
[B6] return {q, x1, x2, y1, y2}<br />
Chú thích:<br />
- len(.) là hàm tính độ dài (theo bit) của một số nguyên.<br />
- p: Tham số hệ thống/tham số miền.<br />
- q, x1, x2: Khóa bí mật.<br />
- y1, y2: Khóa công khai của đối tượng ký (U).<br />
2.2.2. Thuật toán ký<br />
Giả sử (R,S) là chữ ký lên bản tin M và R được tính từ u Z *p theo công thức:<br />
x<br />
R u 2 mod p (2)<br />
*<br />
và S được tính từ v Z theo: p<br />
x<br />
S v 2 mod p (3)<br />
Cũng giả thiết rằng phương trình kiểm tra của lược đồ có dạng:<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 105<br />
Công nghệ thông tin<br />
y1 y E RS mod p<br />
R S 2 y1 y2 mod p<br />
với: E H (M ) và: R S mod p (k ) mod p x2 (4)<br />
Trong đó: H(.) là hàm băm và k Z *p .<br />
Đặt: k x mod p Z<br />
2<br />
(5)<br />
Khi đó có thể đưa phương trình kiểm tra về dạng:<br />
Ry S y y1 E y2 Z mod p<br />
1 2<br />
(6)<br />
Từ (1), (2), (3) và (6) ta có:<br />
u x . y<br />
2 1<br />
v 2<br />
x . y2<br />
x1 1<br />
x . x2 . E<br />
x2 1<br />
x . x2 . Z<br />
mod p (7)<br />
Từ (7) suy ra:<br />
u y 1 y<br />
v 2 x1 1 x2 1 mod p<br />
x .E x .Z<br />
<br />
<br />
y1 1 . y2 x . y1 1 . E x . y1 1 .Z<br />
u v x1 1 x2 1 mod p<br />
Nên: 1 (8)<br />
Z x1 . y1 <br />
v <br />
y1 1<br />
x1 x2 <br />
. y2<br />
E<br />
mod p<br />
Mặt khác, từ (2), (3) và (4) ta có:<br />
u v mod p k (9)<br />
Từ (8) và (9) ta có:<br />
1<br />
Z x1 . y1 <br />
v v <br />
y1 1 . y2<br />
<br />
x1 x2 <br />
E<br />
mod p k<br />
Hay:<br />
1<br />
Z x1 . y1 <br />
v y 1<br />
1<br />
. y 2 1<br />
<br />
x1 x2 <br />
E<br />
mod p k (10)<br />
Từ (10), suy ra:<br />
1 y <br />
1<br />
1<br />
. y2 1 1<br />
<br />
Z x1 . y1 <br />
<br />
<br />
<br />
v k x1 x2 <br />
E<br />
<br />
<br />
mod p (11)<br />
<br />
Từ (11), có thể tính được giá trị u theo (8):<br />
1<br />
Z x1 . y1 <br />
u v <br />
y1 1 . y2<br />
E<br />
x1 x2 mod p<br />
x<br />
Từ các giá trị u và v có thể tính R của chữ ký theo (2): R u 2 mod p<br />
và tính S theo (3): S vx mod p 2<br />
<br />
<br />
<br />
Từ đây thuật toán ký được mô tả trên Thuật toán 2 như sau:<br />
Thuật toán 2. Thuật toán ký<br />
Input: p, q, x1, x2, y1, y2, M.<br />
Output: (R,S).<br />
[B1] E H (M )<br />
[B2] select k: 1 k p 1<br />
x<br />
[B3] Z k 2 mod p<br />
<br />
x1 . y1 1<br />
y <br />
1<br />
1<br />
. y2 1 1<br />
<br />
<br />
[B4] v k x1 x2 <br />
<br />
E Z<br />
<br />
<br />
<br />
mod p<br />
<br />
<br />
<br />
<br />
106 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />
Nghiên cứu khoa học công nghệ<br />
1<br />
Z x1 . y1 <br />
[B5] u v <br />
y1 1 . y2<br />
E<br />
x1 x2 mod p<br />
x<br />
[B6] R u 2 mod p<br />
x<br />
[B7] S v 2 mod p<br />
[B8] If ((R=1) or (S=1)) then goto [B2]<br />
[B9] return (R,S)<br />
Chú thích:<br />
<br />
- M: bản tin cần ký, với: M 0,1 .<br />
*<br />
- H(.): Hàm băm H : 0,1 Z n , với: q n p<br />
- (R,S): chữ ký của U lên M.<br />
2.2.3. Thuật toán kiểm tra<br />
Thuật toán kiểm tra của lược đồ được giả thiết là:<br />
y1 y E RS mod p<br />
R S 2 y1 y2 mod p<br />
Ở đây, E là giá trị đại diện của bản tin cần thẩm tra: E H (M ) . Nếu M và chữ<br />
ký (R,S) thỏa mãn đẳng thức trên thì chữ ký được coi là hợp lệ và bản tin sẽ được<br />
xác thực về nguồn gốc và tính toàn vẹn. Ngược lại, thì chữ ký bị coi là giả mạo và<br />
bản tin bị phủ nhận về nguồn gốc và tính toàn vẹn. Do đó, nếu vế trái của đẳng<br />
thức kiểm tra được tính theo:<br />
y<br />
A R 1 mod p (12)<br />
và vế phải được tính theo:<br />
y E Z<br />
B S 2 y1 y 2 mod p (13)<br />
ở đây:<br />
Z R S mod p (14)<br />
Thì điều kiện chữ ký hợp lệ là: A=B.<br />
Khi đó, thuật toán kiểm tra của lược đồ mới đề xuất được mô tả trong Thuật<br />
toán 3 như sau:<br />
Thuật toán 3. Thuật toán kiểm tra.<br />
Input: p, y1, y2, M, (R, S).<br />
Output: true / false .<br />
[B1] E H (M )<br />
y<br />
[B2] A R 1 mod p<br />
[B3] Z R S mod p<br />
y E Z<br />
[B4] B S 2 y1 y 2 mod p<br />
[B5] if ( A B ) then {return true }<br />
else {return false }<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 107<br />
Công nghệ thông tin<br />
<br />
2.2.4. Tính đúng đắn của lược đồ mới đề xuất<br />
Điều cần chứng minh ở đây là: Cho p, q là 2 số nguyên tố với q|(p-1),<br />
<br />
H : 0,1 Z n , qn p, 1 , p , x1 p 1 / q mod p , x2 p 1 / q mod p ,<br />
x . x2 x .x k<br />
y1 x1 1 mod p , y2 x2 1 2 mod p , 1 k p , Z x1 mod p , E H M ,<br />
1<br />
1 y <br />
1<br />
1<br />
<br />
. y2 1<br />
y1 1 . y2 x1 . y1 <br />
1<br />
<br />
E<br />
v k x1 x2 <br />
<br />
Z<br />
<br />
x1 . y1 <br />
<br />
<br />
mod p , u v <br />
x1 x2 <br />
E Z<br />
mod p ,<br />
<br />
x x y<br />
R u 2 mod p , S v 2 mod p . Nếu: Z R S mod p , A R 1 mod p ,<br />
y E Z<br />
B S 2 y1 y2 mod p thì: A B .<br />
Tính đúng đắn của thuật toán mới đề xuất được chứng minh như sau:<br />
Thật vậy, từ (1), (2), (3), (8), (11) và (13) ta có:<br />
x2 . y1<br />
x1 . y1 1<br />
y<br />
A R 1 mod p u 2<br />
x . y1<br />
mod p v 1 2 x1 x2 <br />
<br />
y 1 . y E Z<br />
<br />
<br />
<br />
mod p<br />
1<br />
Z x1 . y1 . x2 . y1 (15)<br />
v <br />
y1 1 . y 2 . x2 . y1<br />
<br />
x1 x2 <br />
E<br />
mod p v 2<br />
x . y2<br />
x1 1<br />
x . x2 . E<br />
x2 1<br />
x . x2 . Z<br />
mod p<br />
y E Z<br />
S 2 y1 y 2 mod p<br />
<br />
Mặt khác từ (2), (3), (8), (11) và (12) ta lại có:<br />
x2<br />
x1 . y1 1<br />
Z R S mod p u 2 v 2 mod p v 1 2 x1 x2 <br />
x x<br />
<br />
<br />
y 1 . y E Z<br />
v x2 mod p<br />
<br />
<br />
x1 . y1 1<br />
y <br />
1<br />
1<br />
. y2 1 <br />
1<br />
. y1 1 . y2 . x2 x2 1<br />
Z x1 . x2 . y1 <br />
<br />
<br />
<br />
k x1 x2 <br />
E Z<br />
<br />
<br />
<br />
E<br />
x1 x2 mod p<br />
<br />
x1 . y1 1<br />
y <br />
1<br />
1<br />
. y2 1 . y <br />
1<br />
1<br />
1<br />
<br />
. y2 1 . x x 1<br />
(16)<br />
Z x1 . x2 . y1 <br />
<br />
<br />
<br />
k x1 x2 <br />
E Z<br />
<br />
<br />
<br />
<br />
x1 x2 <br />
E<br />
mod p<br />
<br />
1 x2<br />
Z x1 . y1 x1 . x2 . y1 1<br />
<br />
<br />
<br />
k x1 x2 <br />
E<br />
<br />
<br />
1 2 <br />
x E x Z mod p<br />
1 1<br />
Z x1 . x2 . y1 Z x1 . x2 . y1 <br />
x<br />
<br />
k 2 x1 x2 <br />
E<br />
<br />
x1 x2 <br />
E<br />
mod p k 2 mod p Z<br />
x<br />
<br />
<br />
<br />
<br />
Thay (16) vào (14) ta có:<br />
y E Z y E Z<br />
B S 2 y1 y2 mod p S 2 y1 y2 mod p<br />
(17)<br />
Từ (15) và (17) suy ra điều cần chứng minh: A=B.<br />
2.2.5. Ví dụ<br />
Tính đúng đắn của lược đồ mới đề xuất được minh họa bằng một ví dụ số như<br />
sau:<br />
a) Sinh tham số và khóa (Thuật toán 1):<br />
- Giá trị của p:<br />
5119598402113263619647413046633333105228285000515677334589179699240770801113128<br />
691621557751719430180712670366353305678543690093876314500926174034029269201<br />
- Giá trị của q:<br />
781808462830405458176129153441979513485392456993<br />
- Giá trị của x1:<br />
2842490911972753945445545799896416929243929107224821054069717968535655071231625<br />
868946966274549239240045805503435429351793721944283213959121960755096375518<br />
- Giá trị của x2:<br />
2150489955287383614222854701556275163987322304198611569590308894844039864014099<br />
718064145199641713717746858366613043851522532672340735468822509573484417688<br />
<br />
<br />
<br />
108 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />
Nghiên cứu khoa học công nghệ<br />
- Giá trị của y1:<br />
4752362188846001432451095168838825977504351218822787215613509267352461456687426<br />
56121480111237216936503278668969026786609936834063244169724270072075518431<br />
- Giá trị của y2:<br />
3081638004632919571970082331697065656387874785417547708965887191683350492975303<br />
397728024143445032265545183583948790216795931358943797379106312175468166564<br />
b) Sinh chữ ký (Thuật toán 2):<br />
Input: p,y1,y2,x1,x2,M.<br />
Output: (R,S).<br />
- Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br />
- Giá trị của k:<br />
3619181932015181332921654987246100638190279416171216670649804377304799497072483<br />
779971623141639815886338262489818819792551921945442629354196112649212826547<br />
- Giá trị của E tính được:<br />
765446923420569464858869279161340593924873951250<br />
- Giá trị của R tính được:<br />
2578978040546995360931057356885224501796548859040273140196191758320843166213664<br />
239378150901806465978336262717423570863122966304174638419711719558730285244<br />
- Giá trị của S tính được:<br />
2224380751316613878874711758700910418813066109969658023430376378057660278968159<br />
131581470430550228983218202294093687404074195903972620481571752314084294658<br />
c) Kiểm tra chữ ký (Thuật toán 3):<br />
Input: p,y1,y2,(R,S),M.<br />
+ Trường hợp 1:<br />
- Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br />
- Giá trị của R:<br />
2578978040546995360931057356885224501796548859040273140196191758320843166213664<br />
239378150901806465978336262717423570863122966304174638419711719558730285244<br />
- Giá trị của S:<br />
2224380751316613878874711758700910418813066109969658023430376378057660278968159<br />
131581470430550228983218202294093687404074195903972620481571752314084294658<br />
- Giá trị của E tính được:<br />
765446923420569464858869279161340593924873951250<br />
- Giá trị của Z tính được:<br />
2365275623359255232876702232858324517036687506731193281049014835102728749249307<br />
140783514760198811210087113971222711956968797566427029467752619495993833742<br />
- Giá trị của A tính được:<br />
5009182436092899969432922977146621404462547823386495213041663626091080070784452<br />
500719758764653871289777747917389887273902468251921618658597941797697356682<br />
- Giá trị của B tính được:<br />
5009182436092899969432922977146621404462547823386495213041663626091080070784452<br />
500719758764653871289777747917389887273902468251921618658597941797697356682<br />
Output: (R,S) = true.<br />
+ Trường hợp 2: Bản tin M bị giả mạo.<br />
- Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM ”<br />
- Giá trị của R:<br />
2578978040546995360931057356885224501796548859040273140196191758320843166213664<br />
239378150901806465978336262717423570863122966304174638419711719558730285244<br />
- Giá trị của S:<br />
2224380751316613878874711758700910418813066109969658023430376378057660278968159<br />
131581470430550228983218202294093687404074195903972620481571752314084294658<br />
- Giá trị của E tính được:<br />
74094010598378196819556769036091466548756606187<br />
- Giá trị của Z tính được:<br />
2365275623359255232876702232858324517036687506731193281049014835102728749249307<br />
140783514760198811210087113971222711956968797566427029467752619495993833742<br />
- Giá trị của A tính được:<br />
5009182436092899969432922977146621404462547823386495213041663626091080070784452<br />
500719758764653871289777747917389887273902468251921618658597941797697356682<br />
- Giá trị của B tính được:<br />
1488359126273936813243632434469538093103616224220548588334028888150119304738618<br />
467211912505689489579585662805761050860949693472937075275922757676168457192<br />
Output:(R,S) = false.<br />
+ Trường hợp 3: Thành phần R của chữ ký bị giả mạo.<br />
- Bản tin: M = “THIS IS A NEW DIGITAL SIGNATURE ALGRITHM !”<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 109<br />
Công nghệ thông tin<br />
- Giá trị của R:<br />
2578978040546995360931057356885224501796548859040273140196191758320843166213664<br />
239378150901806465978336262717423570863122966304174638419711719558730285240<br />
- Giá trị của S:<br />
2224380751316613878874711758700910418813066109969658023430376378057660278968159<br />
131581470430550228983218202294093687404074195903972620481571752314084294658<br />
- Giá trị của E tính được:<br />
765446923420569464858869279161340593924873951250<br />
- Giá trị của Z tính được:<br />
3706949422319326956672681291321349052240993067883915856505868721353629235602927<br />
997700748541436755638639645527554573697759394138289176543317958307715193512<br />
- Giá trị của A tính được:<br />
2103122925751575293927695945461415162983886316746280267035526289513905507273974<br />
454583000897168494366134213430890824367120283956832755497130820091415965038<br />
- Giá trị của B tính được:<br />
1985222396844154533147613443758246007006163638474614219703118890277777325994538<br />
876375304639811775582256510153550569528863364399572239755832733993950686404<br />
Output:(R,S) = false.<br />
2.2.6. Mức độ an toàn của thuật toán được đề xuất<br />
Mức độ an toàn của lược đồ mới đề xuất có thể đánh giá qua khả năng chống<br />
một số dạng tấn công như:<br />
+ Tấn công khóa bí mật<br />
Ở thuật toán mới đề xuất, cặp tham số x1, x2 cùng được sử dụng làm khóa bí<br />
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<br />
cùng bị lộ, nói cách khác là kẻ tấn công phải giải được hệ phương trình phi tuyến<br />
trên Zp. Do đó, mức độ an toàn của thuật toán mới đề xuất xét theo khả năng chống<br />
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 hệ<br />
phương trình nói trên. Cần chú ý, đây là một dạng bài toán khó mới, mà ngay cả<br />
khi có các giải thuật thời gian đa thức cho RP và DLP cũng không có nghĩa là sẽ<br />
giải được bài toán này. Ngoài ra, tham số q cũng được sử dụng với vai trò khóa bí<br />
mật trong thuật toán ký. Như vậy, để phá vỡ tính an toàn của thuật toán, kẻ tấn<br />
công còn phải giải được bài toán tìm bậc của x1 , x2 .Tuy nhiên, việc tìm bậc của<br />
x1 , x2 là không thể thực hiện được, vì x1 , x2 ở đây là đều là các tham số bí mật.<br />
+ Tấn công giả mạo chữ ký<br />
Từ thuật toán kiểm tra (Thuật toán 3) của thuật toán mới đề xuất cho thấy, một<br />
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<br />
mãn điều kiện:<br />
y1 y E RS mod p<br />
R S 2 y1 y2 mod p (18)<br />
Từ (18), nếu chọn trước R rồi tính S thì khi đó điều kiện (18) sẽ có dạng:<br />
y2 RS mod p<br />
S a y2 mod p (19)<br />
Còn nếu chọn trước S rồi tính R thì khi đó điều kiện (18) sẽ trở thành:<br />
y1 RS mod p<br />
R b y2 mod p (20)<br />
Với a, b là hằng số, dễ thấy rằng (19) và (20) cũng là một dạng bài toán khó<br />
chưa có cách giải.<br />
<br />
<br />
110 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
3. KẾT LUẬN<br />
Bài báo đề xuất một lược đồ chữ ký số mới dựa trên tính khó của việc giải một<br />
hệ phương trình phi tuyến trên Zp. Do đó, mức độ an toàn của các thuật toán xây<br />
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 hệ<br />
phương trình trên. Trong toán học, đây là một dạng bài toán chưa có phương pháp<br />
giải. Vì vậy, phương pháp mới đề xuất ở đây có thể sử dụng để phát triển một lớp<br />
thuật toán chữ ký số cho các ứng dụng yêu cầu có độ an toàn cao trong thực tế.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Q. X. WU, Y. X. Yang and Z. M. HU, “New signature schemes based on<br />
discrete logarithms and factoring”, Journal of Beijing University of Posts<br />
and Telecommunications, vol. 24, pp. 61-65, January 2001.<br />
[2]. Z. Y. Shen and X. Y. Yu, “Digital signature scheme based on discrete<br />
logarithms and factoring”, Information Technology, vol. 28, pp. 21-22, June<br />
2004.<br />
[3]. Shimin Wei, “Digital Signature Scheme Based on Two Hard Problems”,<br />
IJCSNS International Journal of Computer Science and Network Security,<br />
VOL.7 No.12, December 2007.<br />
[4]. Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad, “A New Digital<br />
Signature Scheme Based on Factoring and Discrete Logarithms”, Journal of<br />
Mathematics and Statistics, 04/2008; 12(3). DOI:<br />
10.3844/jmssp.2008.222.225, Source: DOAJ.<br />
[5]. Qin Yanlin, Wu Xiaoping, “New Digital Signature Scheme Based on both<br />
ECDLP and IFP”, Computer Science and Information Technology, 2009.<br />
ICCSIT 2009. 2nd IEEE International Conference on, 8-11 Aug. 2009, E-<br />
ISBN: 978-1-4244-4520-2, pp 348 - 351.<br />
[6]. Swati Verma1, Birendra Kumar Sharma, “A New Digital Signature Scheme<br />
Based on Two Hard Problems”, International Journal of Pure and Applied<br />
Sciences and Technology, ISSN 2229 - 6107, Int. J. Pure Appl. Sci. Technol.,<br />
5(2) (2011), pp. 55-59.<br />
[7]. Sushila Vishnoi, Vishal Shrivastava, “A new Digital Signature Algorithm<br />
based on Factorization and Discrete Logarithm problem”, International<br />
Journal of Computer Trends and Technology, volume 3, Issue 4, 2012.<br />
[8]. A.N. Berezin, N.A. Moldovyan, V.A. Shcherbacov, “Cryptoschemes Based<br />
on Difficulty of Simultaneous Solving Two Different Difficult Problems”,<br />
Computer Science Journal of Moldova, vol.21, no.2(62), 2013.<br />
[9]. N.A. Moldovyan, “Digital Signature Scheme Based on a New Hard<br />
Problem”, Computer Science Journal of Moldova, vol.16, no.2(47), 2008.<br />
[10]. Phạm Văn Hiệp, Nguyễn Hữu Mộng, Lưu Hồng Dũng, “Một thuật toán chữ<br />
ký xây dựng dựa trên tính khó của việc giải đồng thời hai bài toán phân tích<br />
số và logarit rời rạc”, Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, số<br />
7(128). 2018, ISSN: 1859 – 1531.<br />
[11]. Nguyễn Vĩnh Thái, Lưu Hồng Dũng, “Hệ mật khóa công khai dựa trên tính<br />
khó của việc giải đồng thời 2 bài toán logarit rời rạc và phân tích số/khai<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 111<br />
Công nghệ thông tin<br />
<br />
căn”, Tạp chí Thông tin và Truyền thông, Bộ Thông tin và Truyền thông,<br />
ISSN: 1859 – 3550, 12/2018.<br />
[12]. Lưu Hồng Dũng, Tống Minh Đức, Lưu Xuân Văn, “Phương pháp xây dựng<br />
lược đồ chữ ký số dựa trên tính khóa của việc giải đồng thời bài toán phân<br />
tích số và bài toán logarit rời rạc kết hợp khai căn trên Zn”, Hội nghị Quốc<br />
gia lần thứ XI về Nghiên cứu cơ bản và ứng dụng Công Nghệ thông tin<br />
(FAIR), Hà Nội, ngày 09-10/08/2018.<br />
<br />
<br />
ABSTRACT<br />
A NEW DIGITAL SIGNATURE SCHEMA BASED ON THE DIFFICULTY OF<br />
SOLVING A SYSTEM OF NONLINEAR EQUATIONS ON ZP<br />
This paper presents the proposed method of building a digital signature<br />
algorithm which is based on the difficulty of solving a system of nonlinear<br />
equations on Zp. This is a new form of difficult problem without the solution,<br />
also originally proposed and applied to build digital signature algorithms.<br />
From this proposed method, it is possible to build a high-security digital<br />
signature platform for practical applications.<br />
Keywords: Digital signature; Digital signature algorithm; Digital signature schema; Discrete logarithm<br />
problem.<br />
<br />
<br />
Nhận bài ngày 10 tháng 11 năm 2018<br />
Hoàn thiện ngày 18 tháng 3 năm 2019<br />
Chấp nhận đăng ngày 25 tháng 3 năm 2019<br />
<br />
<br />
<br />
1<br />
Địa chỉ: Khoa Công nghệ & an ninh thông tin, Học viện An ninh nhân dân;<br />
2<br />
Viện Công nghệ thông tin, Viện Khoa học - Công nghệ quân sự;<br />
3<br />
Khoa Công nghệ thông tin, Học viện Kỹ thuật quân sự.<br />
*<br />
Email: vanlx.hvan@gmail.com.<br />
<br />
<br />
<br />
<br />
112 L. X. Văn, Đ. V. Hòa, L. H. Dũng, “Xây dựng lược đồ chữ ký số … phi tuyến trên Zp.”<br />