1. Page | 1
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
MỤC LỤC
1. Đặt vấn đề ..................................................................................... 2
2. Xây dựng chữ ký số dựa trên bài toán khai căn........................... 2
2.1. Bài toán khai căn trên trường hữu hạn số nguyên tố.............. 2
2.2.Cách xây dựng thuật toán hiệu quả.......................................... 3
2.3.Xây dựng lược đồ tổng quát..................................................... 3
2.4.Tính đúng đắn của dạng lược đồ tổng quát. ............................ 7
3. Phát triển lược đồ tổng quát ........................................................ 9
3.1. Giới thiệu lược đồ 5.1................................................................ 9
3.2.Tham số và khóa........................................................................ 9
3.3.Xây dựng thuật toán ký với lược đồ 5.1.................................... 9
3.4.Kiểm tra thuật toán tạo chữ ký của lược đồ.............................10
3.5.Độ an toàn của lược đồ 5.1........................................................11
4. Kết luận........................................................................................ 12
2. Page | 2
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
1. Đặt vấn đề
Nghiên cứu phát triển các lược đồ chữ ký số là một trong những nội
dung nghiên cứu khoa học quan tọng, mang tính thờisự của an toàn thông
tin. Hầu hết các lược đồ chữ ký số hiện nay đều dựa trên độ khó của bài
toán: phân tích một số nguyên lớn ra các thừa số nguyên tố, bài toán khai
căn và bài toán logarit rời rạc trong modulo hợp số.
Thuật toán chữ ký số đầu tiên (RSA) được đề xuất và công bố bởi Ron
Rivest, Adi Shamir và Len Adleman vào năm 1977 tại Viện Công nghệ
Massachusetts(MIT) Hoa Kỳ. Thuật toán chữký số này được xây dựng dựa
trên tính khó của bài toàn phân tích một số nguyên lớn ra các thừa số
nguyên tố.
Trong bài báo cáo nhóm chúng em xin chứng minh tính đúng đắn,
mức độ an toàn, hiệu quả việc xây dựng chữ ký số được xây dựng dựa trên
tính khó giải của bài toán khai căn trên trường hữu hạn nguyên tố.
2. Xây dựng chữ ký số dựa trên bài toán khai căn
2.1.Bài toán khai căn trên trường hữu hạn số nguyên tố
Cho p là số nguyên tố và t được chọn trong khoảng: 1< t < (p-1) và 2 số
nguyên tố p và t có quan hệ toán học được phát biểu như sau: p= N.tα
+ 1.
Lúc này bài toán khai căn trên trường hữu hạn Z*
p, hay còn gọi là bài toán
FRP (p, t) (FRP- Finding Root Problem) được phát biểu như sau:
Vớimỗisố nguyêndươngy ∈Z*
p hãy tìm x thỏa mãn phươngtrìnhsau:
xt
mod p =y (I).
Giải thuật cho bài toán FRP (p,t) có thể được viết như một thuật toán
tính hàm FRP(p,t) (…) 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 (I): x= FRP (p,t) (y) (II).
Dạng lược đồ chữ ký đươc giới thiệu cho phép các thực thể ký trong
cùng một hệ thống có thể dùng chung bộthamsố {p, t}, trong hệ thống mỗi
3. Page | 3
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
thành viên U của hệ thống tự chọn cho mình khóa bí mật x thỏa mãn: 1<
x<p, tính và công khai tham số: y = xt
mod p.
2.2. Cách xây dựng thuật toán hiệu quả
Để bài toán FRP (p, t) là khó thì các tham số p và t cần được chọn là số
nguyên tốlớn và thỏa mãn điều kiện: p= N.tα
+ 1. VớiN và α là các sốnguyên
dương và α >=2. Mặt khác, x cũng phải được lưạ chọn ngẫu nhiên trong
khoảng (từ 1 đến p) sao cho việc tính toán (II) là khó.
Với việc lựa chọn như trên thì chỉ có U mới biết được giá trị x, vì vậy
việc biết được x đủ để xác thực đó là thành viên U.
2.3. Xây dựng lược đồ tổng quát
Dạng lược đồ tổng quát tạo chữ ký số dựa vào bài toán khai căn trên
trường Z*
p được xây dựng dựa trên cơ sở tính khó giải của bài toán khai
căn FRP (p, t) và được thiết kế theo dạng lược đồ sinh chữ ký 2 thành phần
tương tự như DSA trong chuẩn chữ ký DSS (Digital Signature Standard)
của Mỹ hay GOST R34.10-94 của Liên Bang Nga.
Giả sử khóa bí mật của người ký là x và khóa công khai tương ứng là:
y= xt
mod p (III)
Ở đây, p, t, x cần được chọn sao cho việc giải bài toán FRP (p, t) là khó.
Giả sử thành phần thứ nhất của chữ ký lên bản tin M là r và U là một giá
trị được tính từ r theo công thức:
U= rt
mod p (IV)
Giả sử thành phần thứ 2 của chữ ký là x và V là một giá trị được tính
từ s theo công thức:
V= st
mod p (V)
Ta cũng giả thiết phương trình kiểm tra của lược đồ có dạng:
V f1(M, f(r,s))
≡ Uf2(M,f(r,s))
×y f3(M, f(r,s))
mod y
4. Page | 4
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
Ở phương trình kiểm tra lược đồ trên, f(r,s) là hàm của r và s. do (IV)
và (V), nên f(r,s) có thể biểu diễn dưới dạng hàm vủa U và V: f(r,s)=F(U,V)
và được lựa chọn khác nhau trong trường hợp cụ thể.
Ví dụ như: f (r, s) = F (U,V) =U×V-1
;
f (r, s) = F (U,V) =U-1
×V;
f (r, s) = F (U,V) =U×V2
;
f (r, s) = F(U,V) =U2
×V…..
Xét trường hợp F (U, V) có dạng: F(U,V) =U×V mod p (VI)
Và giá trị: F(U,V) = kt
mod p = Z (VII)
Với k được chọn ngẫu nhiên tron khoảng (từ 1 đến p-1). Khi đó ta có
f(r,s) = F(U,V)= Z, nên có thể đưa phương trình kiểm tra về dạng:
sf1(M,Z).t
=rf2(M,Z).t
×yf3(M,Z)
mod p (VIII)
Vấn đề đặt ra ở bài toàn là cần tìm {r,s} sao cho {U,V} thoả mãn (VII)
và (VIII), từ (VI) và (VII) ta có: r×s mod p = k (IX)
Từ (I), (III), (IV) và (VIII) ta có:
s f1(M,Z)
≡ r f2(M,Z)
×xf3(M,Z)
×x mod p (X)
Từ (X) ta suy ra:
(XI)
Tư (IX) và (XI) ta có:
Hay:
Suy ra ta có:
(XII)
Và:
(XIII)
5. Page | 5
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
Từ những bước và phân tích ở trên, ta có thể khái quát thuật toán
hình thành khóa, thuật toán ký và kiểm tra chữ ký của lược đồ dạng tổng
quát với trường hợp F (U, V) = kt
mod p =Z như sau:
Tham số và khóa của lược đồ tổng quát:
P, t là nguyên tố thỏa mãn điều kiện sau: P=N.tα
+1 vớiN=1,2,3…, α>=2.
Khóa bí mật: 1<x<p.
Khóa công khai: y= 𝑋±𝑡
mod p.
Ta có thuật toán hình thành khóa:
Input: p, t
Output: x, y
[1]. Select x: 1<x<p
[2]. y <- xt
mod p
[3]. Return {x, y}
Phương pháp hình thành chữ ký gồm các bước sau: Ta có M là
bản tin cần được U ký, (r, s) là chữ ký của U lên M.
Bước 1 - Xác định k: 1<k<p,
Bước 2- Z= kt
mod p;
Bước 3- Xác đinh W1: W1= f1 (M, Z);
Bước 4- Kiểm tra tính nguyên tố: If (gcd(w1,p-1)≠ 1) goto bước 1;
Bước 5- Xác đinh W2: W2<= f2 (M, Z);
Bước 6- Xác định W: W <= (W1)-1
× W2 mod (p-1);
Bước 7- If (gcd (w+1, p-1)≠ 1) goto bước 1;
Bước 8- Xác định W3: W3<= f3 (M, Z);
Bước 9-Xác định r:
Bước 10- Xác định s:
6. Page | 6
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
Chữ ký: (r, s)
Ta có thuật toán tạo chữ ký như sau:
Input: x, M ∈ (0, 1)∞
Output: (r, s)
Phương pháp kiểm tra chữ ký.
M, (r, s): là bản tin và chữ ký cần kiểm tra, nếu kết quả trả về true thì
tính toàn vẹn và nguồn gốc của M được khẳng định, Ngược lại kết quả trả
về là false thì bản tim M bị phủ nhận về nguồn gốc và tính toàn vẹn.
Bước 1- Z<= f(r, s);
Bước 2- W1<= f1 (M, Z)
7. Page | 7
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
Bước 3- W2<= f2 (M, Z)
Bước 4- W3<= f3 (M, Z)
Bước 5- A<= sw1.t
mod p (XIV)
Bước 6- B <= rw2.t
× yw3
mod p (XV)
Bước 7- u=v => (r, s) thỏa mãn là chữ ký của U trên bản tin M.
Ta có thuật toán kiểm tra chữ ký:
Input: y, (r, s), M ∈ (0, 1)∞
Output: true/ false.
Chú ý. M, (r, s): là bản tin và chữ ký cần kiểm tra.
2.4. Tính đúng đắn của dạng lược đồ tổng quát.
Tính đúng đắn của lược đồ được thể hiện thông qua sự phù hợp của
phương pháp kiểm tra chữ ký với phương pháp hình thành khóa và
phương pháp hình thành chữ ký.
Để chứng minh tính đúng đắn của lược đồ ta phải chứng minh những
biểu thức toán học sau:
P, t là nguyên tố thỏa mãn điều kiện: P=N.tα
+ 1 với N=1, 2, 3…, α >=2.
y= 𝑋±𝑡
mod p; M ∈ (0, 1)∞
; 1< k,x <p; Z= kt
mod p; W1= f1 (M, Z);
8. Page | 8
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
gcd (w1,p-1) = 1; W2= f2 (M, Z); gcd(w+1,p-1)=1; W3= f3 (M, Z);
W = (W1)-1
× W2 mod (p-1);
Nếu f (r, s) = Z; A= sw1.t
mod p; B= rw2.t
× yw3
mod p thì A=B.
Chứng minh tính đúng đắn:
W1= f1 (M, Z); W2= f2 (M,Z); W3= f3 (M, Z);
W= (W1)-1
× W2 mod (p-1);
Từ (XII), (XIII) và (XIV) ta có:
s= rw
× rw1.w3
mod p
Ta đặt: W1 = (W1)-1
mod (p-1) => W= W1×W2
Ta biến đổi A theo r, w, w1, w2, w3, t và p ta được:
(XVI)
Từ (III), (XII) và (XV) ta có:
y= xt
mod p.
B= rw2.t
× yw3
mod p
Ta biến đổi B theo r, w, w1, w2, w3, t và p ta được:
(XVII)
Từ (XVI) và (XVII), Ta suy ra A=B đây là điều cần chứng minh.
9. Page | 9
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
3. Phát triển lược đồ tổng quát
3.1.Giới thiệu lược đồ 5.1
Lược đồ 5.1 được phát triển từ lược đồtổng quát với các lựa chọn như
sau: f1 (M, Z) = k; f2 (M, Z) = 1; f3 (M, Z) = H (M).r.
Với các giá trị được biết như sau: E= H (M) là giá trị đại diện của bản
tin M và H (.) là hàm băm: {0,1}∞
-> Zn với n<p.
3.2.Tham số và khóa
Tham số và khóa của lược đồ 5.1
P, t là nguyên tố thỏa mãn điều kiện sau: P=N.tα
+ 1 vớiN=1,2,3…, α>=2.
Khóa bí mật: 1<x<p.
Khóa công khai: y= 𝑋±𝑡
mod p.
Ta có thuật toán hình thành khóa:
Input: p, t
Output: x, y
[1]. Select x: 1<x<p
[2]. y <- xt
mod p
[3]. Return {x, y}
3.3. Xây dựng thuật toán ký với lược đồ 5.1
Ta có M là bản tin cần được U ký, (r, s) là chữ ký của U lên M.
[1] Xác định k: 1 < k < p;
[2] Z= kt
mod p;
[3] Xác đinh W1: W1= f1 (M, Z);
W1 =k ;
[4 ] Kiểm tra tính nguyên tố: If (gcd(w1,p-1)≠ 1) goto bước 1;
If(gcd (k, p - 1)≠ 1) goto [1]
[5] Xác đinh W2: W2= f2 (M, Z);
W2 = 1;
10. Page | 10
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
[6] Xác định W: W = (W1)-1
× W2 mod (p-1);
W= k-1
× 1 mod (p-1) = k-1
; vì 1 mod (p-1) =1
[7] If (gcd (w+1, p-1)≠ 1) goto bước 1;
If(gcd (k-1
+1; p - 1)≠ 1) goto [1]
[8] Xác định W3: W3= f3 (M, Z);
W3 = E.r
[9] Xác định r:
r= (k× (x –(E.r)/k
))k/(k+1)
mod p.
r = (k× (x k/E.r
))k/(k+1)
mod p.
r = k(k/k+1)
x(k.k)/E.r.(k+1)
mod p.
[10] Xác định s:
s= r1/k
. xE.r/k
mod p;
Chữ ký: (r, s) được tạo gồm:
r = k(k/k+1)
x(k.k)/E.r.(k+1)
mod p.
s= r1/k
. xE.r/k
mod p.
3.4. Kiểm tra thuật toán tạo chữ ký của lược đồ
Ta có các bước như sau:
[1]. W1= k; W2= 1; W3 = E.r.
[2]. So sánh giữa A và B.
A= Sw1.t
mod p; B= rw2.t
× yw3
mod p;
Biến đổi A:
Với s= r1/k
. xE.r/k
; w1 =k;
A= (r1/k
. xE.r/k
mod p)k.t
mod p =(rt
. xE.r.t
mod p)mod p (*)
Biến đổi B
Với B= rw2.t
× yw3
mod p; và y=xt
mod p; w2= 1; w3= E.r
11. Page | 11
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
B= (rt
× xE.r.t
mod p)mod p (**)
Từ (*) và (**) ta có A≡ B; suy ra lược đồ trên có thể được thực hiện
hiểu quả để xây dựng chữ ký số.
3.5. Độ an toàn của lược đồ 5.1
Mức độ an toàn của một lược đồ chữ ký nói chung được đánh giá qua
các khả năng sau: Chống tấn công làm lộ khóa bí mật; chống tấn công giả
mạo chữ ký.
Chống tấn công làm lộ khóa bí mật: Khóa công khai của thuật toán
được hình thành từ khóa bí mật dựa trên tính khó giải của bài toán khai
căn trên trường hữu hạn Z*
p. Vì vậy, nếu p và t được chọn để bài toán khai
căn trên trường hữu hạn Z*
p là khó thì mức độ an toàn của lược đồ được
đánh giá theo khả năng chống tấn công làm lộ khóa bí mật sẽ được đánh
giá bằng mức độ khó của khai căn trên trường hữu hạn Z*
p. P và t là số
nguyên tố lớn: |p| = 1024 bit; |t|>= ≥ 160 bit và thỏa mãn điều kiện: p= N.tα
+1, ở đây N, e là số nguyên dương và α >=2 , với thuật toán khai căn trên
trường hữu hạn Z*
p có độ phức tạp là W= O(√ 𝑡) cho thấy mức độ khó của
khai căn trên trường hữu hạn Z*
p phụ thuộc vào hàm mũ vào giá trị (√ 𝑡).
Nếu |t|=160 bit, tì W ≈ 280
các toán tử số mũ. Nên trường hợp |t|= 160 bit
thì mức độkhó của khai căn trên trường hữu hạn Z*
p được xem là khó giải.
Chống tấn công giả mạo chữ ký: Một cặp (r,s) bất kỳ sẽ được công
nhận là chữ ký hợp lệ của U lên một bản tin M nếu thỏa mãn điền kiện:
A=B, suy ra: Sk.t
mod p = rt
× yE.r
mod p (###)
Trong trường hợp này: U là đối tượng sở hữu khóa công khai y và
E=H(M) là giá trị đại diện cho bản tin cần thẩm tra M.
Để tìm ra cặp (r, s) từ biểu thức (###), cách thứ nhất chọn trước 1 giá
trị r rồi tính: C = rt
× yE.r
mod p.
Khi đó biểu thức (###) có dạng: C = Sk.t
mod p
12. Page | 12
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
Để giải thành phần thứ 2 nhằm tìm s của chữ ký giả mạo còn khó hơn
việc giải bài toán khai căn trên trường hữu hạn Z*
p để tìm x từ tham số
công khai {p, t, y}.
Cách thứ2. Chọn trước một giá trị s, rồi tính C = Sk.t
mod p, khi đó biểu
thức (###) có dạng: rt
= C.y-E.r
mod p
Trong trường hợp này việc giải để tìm r khó hơn việc giải bài toán khai
căn trên trường hữu hạn Z*
p để tìm x từ tham số công khái {p, t, y}.
4. Kết luận
Sau khi dựa trên lý thuyết bàitoán khai căn trên trường Zp và tính khó
giải của bài toán khai căn trên trường hữu hạn nguyên tố để thực hiện việc
xây dựng chữ ký số dựa trên lược đồ tổng quát có thể đảm bảo các tính
năng an toàn và đảm bảo thực hiện được (Tạo được thuật toán tạo chữ ký,
và thuật toán kiểm tra chữ ký).
Dựa trên lược đồ tổng quát việc xây dựng thuật toán ký phụ thuộc vào
các hàm f(r, s); F(U, V); F1,2,3 (M,Z) và các tham số {p,t,x}. Vì vậy, việc lựa
chọn hợp lý các hàm trên thì khả năng ứng dụng lược đồ này vào thực tế
là khả quan.
Ví dụ được thực hiện trong bài báo cáo này của nhóm là lược đồ 5.1
với các thám số như sau: f1 = k; f2 = 1; f3 = H (M).r = E.r.
Nhóm đã dựa trên cơ sở toán học và xây dựng được thuật toán tạo
cây, thuật toán kiểm tra và đánh giá được tính năng an toàn của thuật toán.
Tuy nhiên do trình độ hạn chế của bản thân nên trong quá trình giải
quyết bàitoán, chúng em chưa phân tích và giải quyết được tình huống đặc
biệt có thể xảy ra
Em mong được Thầy và các bạn đóng góp để chúng em giải quyết bài
toán được tốt hơn.
Nhóm xin trân thành cảm ơn Thầy giáoLưu Hồng Dũng đã hướng dẫn
và giảng dạy để nhóm hoàn thành được bài báo cáo này.
13. Page | 13
Học viên thực hiện: Lê Đình Hưng & Đỗ Thanh Liên
5. Tài liệu tham khảo
[1] R.L. Rivest, A. Shamir, and L. Adleman, “A method for Obtaining digital
signatures and public key cryptosystems”, Commun of the ACM, 21:120-126, 1978.
[2] M.O. Rabin, “Digitalized signatures and public key functions as intractable as
factorization“, MIT/LCS/TR- 212, January 1979.
[3] Lưu Hồng Dũng, Nguyễn Tiền Giang… “Phát triển một dạng lược đồ chữ ký số
mới”, Kỷ yếu Hội thảo quốc gia lần thứ XVI: Một số vấn đề chọn lọc của Công nghệ
thông tin và truyền thông- Đà Nẵng, 2013.
[4] N.A. Moldovyan, “Digital Signature Scheme Based on a New Hard Problem”,
Computer Science Journal of Moldova, vol. 16, No2 (47), 2008, pp. 163-182.
[5] National Institute of Standards and Technology, NIST FIPS PUB 186-3. Digital
Signature Standard, U.S. Department of Commerce, 1994.
[6] GOST R 34.10-94. Russian Federation Standard. Information Technology.
Cryptographic data Security. Produce and check procedures of Electronic Digital
Signature based on Asymmetric Cryptographic Algorithm. Government Committee of
the Russia for Standards, 1994 (in Russian).
[7] Một số phương pháp xây dựng lược đồ chữ ký trên bài toán khai căn trên
trường hữu hạn nguyên tố. Lưu Hồng Dũng, Tống Minh Đức, Hoàng Thị Mai,
Nguyễn Đức Thụy. Tạp chí KH và KT – Học viện Kỹ thuật Quân sự.