Bài viết đề 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 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 toá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ố.
Trang 1Phương pháp 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
A construction method of digital signature algorithms based on a new hard
problem
Lưu Hồng Dũng Khoa CNTT Học Viện KTQS
Hà Nội, Việt Nam
e-mail: luuhongdung@gmail.com
Nguyễn Đức Thụy Khoa CNTT
CĐ Kinh tế - Kỹ thuật Tp.HCM, Việt Nam e-mail: thuyphulam2013@gmail.com
dựng thuật toá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 Z p
Đây là một dạng bài toá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 toán chữ ký số có độ an
toàn cao cho các ứng dụng trong thực tế.
logarithm problem
I ĐẶ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 toán logarit rời rạc trên Z p Ư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 toán chữ ký số cho các ứng dụng khác nhau
Tuy nhiên, độ an toàn của các thuật toá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 toán logarit rời rạc
- DLP (Discrete Logarithm Problem) trên Z p 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 toàn của các thuật toán sẽ
bị phá vỡ hoàn toàn 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 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 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 toá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 toàn cho các thuật toá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 toá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 Z p Đây là một dạng bài toán khó 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ó 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ế
Trang 2II BÀITOÁNKHÓMỚIVÀPHƯƠNGPHÁP
1) Bài toán logarit rời rạc trên Z p
Bài toán logarit rời rạc trên Z p là cơ sở xây
dựng hệ mật khóa công khai ElGamal [11] Bài toá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 Z p* Với mỗi số
nguyên dương y ∈ Z p
*, hãy tìm x thỏa mãn phương
trình:
g x p y
= mod
Giải thuật cho bài toán DLP có thể được viết
như một thuật toá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) Bài toán khai căn trên Z p
Bài toán khai căn (FRP) trên Z pcó 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 ∈ Z p*, hãy tìm x thỏa mãn phương
trình:
( )x kmodp=y
Trong [12], tác giả N.A Moldovyan đã chứng
minh bài toán khai căn trên là khó nếu thỏa mãn:
1
k
N
p
Ở đây: N là một số nguyên chẵn, k là một số
nguyên tố và S ≥ 2 Ngoà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
trường Z p
Bài toán logarit rời rạc kết hợp khai căn trên
trường Z p (Bài toán DLRP) được đề xuất ở đây có thể phát biểu như sau:
Bài toán DLRP: Với mỗi số nguyên dương
*
p
Z
y ∈ , hãy tìm các số x 1 và x 2 thỏa mãn phương trình sau:
( )x x2modp= y
1
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
bài toán DLRP 1) Phương pháp xây dựng
Ở 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 toá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ố *
p
Z
∈
được tạo theo:
p
p
mod
1
1
−
=α
Trang 3Khó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:
y ( )x x2modp
1
1= , y ( )x x1modp
2
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ý 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:
r=( )x1 umodp (1.2)
Và s được tính từ v theo công thức:
s=( )x1vmodp (1.3)
Ở đâ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:
( )
p y
r
s f1M f s y2 f2M f s y2 f3M,f ,s y1 ,y2 mod
1 , , , ,
,
,
×
Vớif ( s r, ) là hàm của r và s Xét trường hợp:
( )x p
p s r s
r
f
k
mod
mod )
,
(
1
=
×
= (1.4)
Trong đó k là một giá trị được chọn ngẫu nhiên
trong khoảng (1,q)
Đặt:
( )x k p Z
= mod
1 (1.5)
Khi đó có thể đưa phương trình kiểm tra về
dạng:
p y
r s
y y Z M f
y y Z M f y y Z M
f
mod
2 1 3
2 1 2 2 1 1
, , 1
, , ,
,
×
×
≡ (1.6)
Từ (1.1), (1.2), (1.3) và (1.6) ta có:
p x
x x
y y Z M f
x
y y Z M f u y y Z
M
f
v
mod 2 1 3
2
2 1 2 2
1 1
, ,
1
, , 1 , ,
1
×
×
≡ (1.7)
Từ (1.7) suy ra:
q y
y Z M f
x
y y Z M f u y y Z
M
f
v
mod )]
, , , (
) , , , ( [ ) , , ,
(
2 1 3
2
2 1 2
2 1 1
×
+
+
×
≡
(1.8)
Nên:
q y y Z M f y y Z M f x
y y Z M f y y Z M f u v
mod ) , , , ( ) , , , (
) , , , ( ) , , , ( (
2 1 3
1 2 1 1 2
2 1 2
1 2 1 1
×
× +
×
×
=
−
−
(1.9) Mặt khác, từ (1.2), (1.3) và (1.4) ta có: (v+u)modq=k (1.10)
Từ (1.9) và (1.10) ta có:
k q u
y y Z M f y y Z M f x
Z M f y y Z M f u
= +
×
× +
+
×
×
−
−
mod ]
) , , , ( ) , , , (
) , ( ) , , , ( [
2 1 3
1 2 1 1
2
2 1 2 1 1
Hay:
k q
y y Z M f y y Z M f x
y y Z M f y y Z M f u
=
×
× +
+
×
×
−
−
mod ]
) , , , ( ) , , , (
1 ) , , , ( ) , , , ( [
2 1 3
1 2 1 1
2
2 1 2
1 2 1 1
(1.11)
Từ (1.11), suy ra:
q
y y Z M f y y Z M f x k
y y Z M f y y Z M f u
mod
) , , , ( ) , , , (
1 ) , , , ( ) , , , (
2 1 3
1 2 1 1 2
1 2 1 2
1 2 1 1
×
×
−
×
× +
×
=
−
−
−
(1.12)
Từ (1.12), có thể tính thành phần thứ nhất của chữ ký theo (1.2):
r=( )x1 umodp
và thành phần thứ 2 được tính theo (1.3):
s=( )x1 vmodp
với v được tính theo (1.9):
q y y Z M f y y Z M f x
y y Z M f y y Z M f u v
mod )]
, , , ( ) , , , (
) , , , ( ) , , , ( [
2 1 3 1 2 1 1 2
2 1 2 1 2 1 1
×
× +
+
×
×
=
−
−
Từ đây, phương pháp xây dựng một lớp thuật toán chữ ký số tương ứng với một dạng cụ thể của hàm f(r,s): f(r,s)=r×smodp=( )x1 kmodp được chỉ ra trong các Bảng 1.1, Bảng 1.2 và Bảng 1.3 như sau:
Trang 4Bảng 1.1 Thuật toá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
p
1
−
[4] if (x1 = 1) then goto [2]
[5] select x 2: 1<x <2 q
[6] y ( )x x2 modp
1
1 ← , y ( )x x1modp
2
(2.1)
[7] return {q, x1, x2, y1, y2}
Chú thích:
- len(.) là hàm tính độ dài (theo bit) của một
số nguyên
- q, x1, x2: Khóa bí mật
- y1, y2: Khóa công khai của đối tượng ký
Bảng 1.2 Thuật toán ký
Input: p, q, x1, x2, y1, y2, M
Output: (r,s)
[1] select k: 1<k < q
[2] Z←( )x1kmodp
[3] w ←1 f1(M,Z,y1,y2)
[4] w ←2 f2(M,Z,y1,y2)
[5] w ←3 f3(M,Z,y1,y2)
[6] w4←( )w1 −1×w2modq
[7] w5←( )w1 −1×w3modq
[8] u (w 1)1 (k x2 w5)modq
[9] v←(u×w4+x2×w5)modq [10] r←( )x1 umodp [11] s←( )x1vmodp
[12] return (r,s)
Chú thích:
(i) M: bản tin cần ký, với: M∈{0,1}∞
(ii) (r,s): chữ ký của U lên M
Bảng 1.3 Thuật toán kiểm tra chữ ký
Input: p, y1, y2, M, (r,s)
Output: true / false [1] Z ← f ( s r, ) [2] w ←1 f1(M,Z,y1,y2) [3] w ←2 f2(M,Z,y1,y2)
2 1 3
3 f M Z y y
w ←
[5] A ( )s w p
mod
1
← [6] B ( )r w2 ( )y w3modp
1
×
[7] if (A = B) 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 toà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 toàn vẹn
phương pháp mới đề xuất
Thuật toán chữ ký thứ nhất đề xuất ở đây – ký hiệu: MTA 18.9 – 01, được xây dựng theo các
Trang 5Bảng 1.1, 1.2 và 1.3 ở mục A với lựa chọn các hàm
như sau:
) ( ) ,
,
,
1 M Z y y H M
Z y
y
Z
M
f3( , , 1, 2)=
Khi đó, các thuật toán ký và kiểm tra chữ ký
của thuật toán được mô tả trong các Bảng 2.1 và
Bảng 2.2 dưới đây:
Bảng 2.1 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←( )x1kmodp (2.2)
[4] u (y E 1) (k x Z E 1)modq
2 1 1 2
−
−
−
×
×
−
× +
×
← (2.3)
[5] v E1 (u y2 x2 Z)modq
× +
×
×
← − (2.4)
[6] r ( )x u p
mod 1
← (2.5)
[7] s←( )x1vmodp (2.6)
[8] return (r,s)
Bảng 2.2 Thuật toán kiểm tra
Input: p, y1, y2, M, (r,s).
Output: true /false
[1] E ← H (M)
[2] A ( )s E p
mod
←
[3] Z ←r×smodp (2.7)
[4] B ( )r y ( )y Z p
mod
1
2×
← (2.8)
[5] if (A = B) then {return true}
else {return false}
+ Tính đúng đắn của thuật toán được đề 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∗aZ n , q<n<p ,
p
<
<α
p
1
−
=α , 1<k,x2<q ,
( )x p
1
1= , y ( )x x p
mod
1
2
( )x p
2 1
1 2
−
−
−
×
×
−
× +
×
(u y x Z) q E
( )x p
s= 1vmod Nếu: Z=r×smodp, A=( )s Emodp,
( )r ( )y p
B= y2 × 1 Zmod thì: A = B Tính đúng đắn của thuật toán mới đề xuất được chứng minh như sau:
Từ (2.2), (2.3), (2.4) và (2.6) ta có:
( ) ( )
( )( ) ( )
p x
p x
p s A
Z x y u
E E Z x y u
E v E
mod mod
mod mod
1
1
1
2 2
1 2 2
+ +
=
=
=
=
=
Với:
u (y E 1) (k x Z E1)modq
2 1 1 2
−
−
−
×
×
−
× +
×
=
Từ (2.3), (2.4), (2.5) và (2.6) ta có:
( ) ( ) ( )
( )( ) ( )
( )x p Z
p x
x x
p x
x
x p x
x x
x x
p x
x
p x
x
p x
p x x p s r Z
k
Z x E E x k
Z x E E y E y E x
E y E y Z
x E
y E x E y E y E y E
E y E x E
y
Z x y E x E y E
E x E y
Z x y u E E x E y
v u
v u
=
=
×
×
=
×
×
=
×
×
×
×
=
×
×
=
×
=
=
×
=
×
=
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
+ +
−
+ +
+
− +
+
− +
− +
+
− + +
mod
mod mod mod
mod
mod mod
mod mod
1
1 1 1
1 1 1 1
1 1 1
1
1 1 1 1
1 1 1 1
1 1
1 1
1 1 1 1
1 1
2 1 2
2 1
2 1 1 2 1 2
1 2 1 1 2 2
2 2 1 2 1 2 1 1 2 1
1 1 2 1 2 1 1 2
2 2 1 2 1 1 2 1
1 2 1 1 2
2 2 1 1 2 1 1 2
(2.10)
Thay (2.1), (2.3), (2.5), (2.7) và (2.10) vào (2.8)
ta lại có:
Trang 6( ) ( )
( ) ( )
p x
x
p y
r
w
Z x y
u
Z x y
u
Z y
mod mod mod .
.
1
1
1
1 1
2 2
2 2
2
+
=
×
=
=
×
=
(2.11)
Với:
u (y E 1) (k x Z E 1)modq
2 1 1 2
−
−
−
×
×
−
× +
×
=
Từ (2.9) và (2.11) suy ra điều cần chứng minh:
A = B
+ Mức độ an toàn của thuật toá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 khóa bí mật
Ở 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í 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 toán logarit rời rạc kết hợp khai
căn trên Z p Do đó, mức độ an toà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 toá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 toán này Ngoài ra,
tham số q cũng được sử dụng với vai trò khóa bí
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 công còn phải giải được
bài toá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.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:
( )s E ( )r y ( )y ( s) modpmodp
1
2
×
≡ (2.12)
Từ (2.12), nếu chọn trước r rồi tính s thì khi đó điều kiện (2.12) sẽ có dạng:
( )s E ≡a( r) modpmodp (2.13) Còn nếu chọn trước s rồi tính r thì khi đó điều
kiện (2.12) sẽ trở thành:
( ) ( )( )
p b
r y2 ≡ .s modpmod (2.14)
Với a, b là hằng số, dễ thấy rằng việc giải (2.13) và (2.14) là khó tương đương với DLRP
Thuật toán chữ ký thứ hai đề xuất ở đây – ký hiệu: MTA 18.9 – 02, cũng được xây dựng theo phương pháp tương tự MTA 18.9 – 01 với một số thay đổi như sau:
Các giá trị: x1, x2, y2 được sử dụng làm khóa bí mật của đối tượng ký, khóa công khai được tính theo:
y ( )y y2modp
1
= (3.1)
Và đẳng thức kiểm tra được giả thiết là:
( )s E ≡( )r y×( )y Zmodp
Khi đó, các thuật toán ký và kiểm tra chữ ký của thuật toán được mô tả trong các Bảng 3.1 và Bảng 3.2 dưới đây:
Bảng 3.1 Thuật toán k ý Input: p, q, x1, x2, y2, y, M
Output: (r,s)
[1] E ← H (M)
[2] select k: 1<k< p−1 [3] Z←( )x1 kmodp (3.2) [4] u (y E 1) (k x y Z E1)modq
2 2 1
−
×
×
×
−
× +
×
←
Trang 7(3.3)
[5] v E 1 (u y x2 y2 Z)modq
×
× +
×
×
← − (3.4)
[6] r←( )x1umodp (3.5)
[7] s←( )x1vmodp (3.6)
[8] return (r,s)
Bảng 3.2 Thuật toán kiểm tra
Input: p, y, M, (r,s)
Output: true /false
[1] E ← H (M)
[2] A ( )s E p
mod
←
[3] Z ←r×smodp (3.7)
[4] B ( )r y ( )y Z p
mod
×
← (3.8)
[5] if (A = B) then {return true}
else {return false}
Từ việc xây dựng các thuật toán MTA 18.9 – 01
và MTA 18.9 – 02 cho thấy phương pháp mới đề xuất
ở đây có thể tạo ra các thuật toán chữ ký với nhiều
khóa bí mật và 1 hoặc 2 khóa công khai là hoàn toàn
tùy thuộc vào ý định thiết kế
+ Tính đúng đắn của thuật toán được đề 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∗aZ n , q<n<p ,
p
<
<α
p
1
−
=α , 1<k,x2<q ,
( )x p
1
1= , y ( )x x p
mod
1
2
2= , y ( )y y2modp
1
( )M
H
mod
1
2 2 1
− + × − × × ×
×
E
×
× +
×
×
mod
1
( )x p
s= 1vmod Nếu: Z=r×smodp, A=( )s Emodp,
( )r ( )y p
B= y× Zmod thì: A = B Tính đúng đắn của thuật toán mới đề xuất được chứng minh như sau:
Từ (3.2), (3.3), (3.4) và (3.6) ta có:
( )( ) ( )
p x
p x
p s A
Z y x y
E E Z y x y
E v E
mod mod
mod mod
1
1
1
2 2
1 2 2
+ +
=
=
=
=
=
Với:
u (y E 1) (k x y Z E 1)modq
2 2 1
− + × − × × ×
×
=
Từ (3.3), (3.4), (3.5) và (3.6) ta có:
( ) ( ) ( )
( )x p Z
p x
x x
p x
x
x p x
x x
x x
p x
x
p x
x
p x
p x x p s r Z
k
Z y x E E y k
Z y x E E y E y E y x
E y E y Z
y E
y E y E y E y E y E
E y E y x E
y
Z y y E y k E y E
E y x E y
Z y y u E
E y k E y
v u
v u
=
=
×
×
=
×
×
=
×
×
×
×
=
×
×
=
×
×
=
=
×
=
×
=
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
+ +
−
+ +
+
− +
+
− +
− + +
− + +
mod
mod mod mod
mod mod
mod
mod mod
1
1 1 1
1 1 1 1
1 1 1
1
1 1 1 1
1 1 1 1
1 1
1 1
1
1 1 1
1 1
2 2 1 2
2 2 1
1 1 1 2
1 1 1 2
2
1 2 1 1 1 1
1 1
1 1 1 2 2 1 1
2 1 2 1 1 1
1 2 1 1 2 1
1 2 1 1
(3.10) Thay (3.1), (3.3), (3.5), (3.7) và (3.10) vào (3.8)
ta lại có:
( ) ( )
( ) ( )
p x
x
p y r w
Z y x u
Z y x y u
Z y
mod mod mod 1
1 1 1
2 2
2 2
+
=
×
=
=
×
=
(3.11)
Với:
u (y E 1) (k x y Z E 1)modq
2 2 1
−
×
×
×
−
× +
×
=
Từ (3.9) và (3.11) suy ra điều cần chứng minh:
A = B
+ Mức độ an toàn của thuật toán được đề xuất
Mức độ an toàn của lược đồ mới đề xuất có thể
Trang 8đánh giá qua khả năng như:
- Chống tấn công khóa bí mật
Tương tự MTA 18.9 – 01, mức độ an toà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ũng được đánh giá bằng mức
độ khó của việc giải được bài toán DLRP
- Chống giả mạo chữ ký
Từ thuật toán kiểm tra (Bảng 3.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:
( )s E ( )r y ( )y( s) modpmodp
×
≡ (3.12)
Từ (3.12), nếu chọn trước r rồi tính s thì khi đó
điều kiện (3.12) sẽ có dạng:
( ) ( )
p a
s E .rmodpmod
≡ (3.13)
Còn nếu chọn trước s rồi tính r thì khi đó điều
kiện (3.12) sẽ trở thành:
( ) ( )( )
p b
r y .smodpmod
≡ (3.14)
Với a, b là hằng số, cũng dễ thấy rằng việc giải
(3.13) và (3.14) là khó tương đương với bài toán
DLRP
III KẾTLUẬN Bài báo đề xuất một phương pháp xây dựng thuật
toán 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 Z p Mức độ an toàn của các
thuật toá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 Z p là một dạng bài toá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 toán chữ ký số có độ an toàn
cao cho các ứng dụng trong thực tế
[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 toà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
[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