[r]
(1)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
1
MỘT DẠNG LƯỢC ĐỒ CHỮ KÝ XÂY DỰNG TRÊN BÀI TOÁN
PHÂN TÍCH SỐ VÀ BÀI TỐN KHAI CĂN
Developing a new type of digital signature scheme based on integer factorization and finding rootproblem
Hoàng Thị Mai *, L
ưu Hồng Dũng **
Bài báo đề xuất dạng lược đồ chữ ký số xây dựng tính khó giải tốn phân tích số nguyên lớn thừa số nguyên tố toán khai vành Zn=p.q, ởđây: p, q số nguyên tố lớn Từ dạng lược đồ
đề xuất phát triển lược đồ chữ ký có mức độ an toàn cao cho ứng dụng thực tế Từ khoá: Digital Signature, Digital Signature Schema, Integer Factorization Problem.
1. Đặt vấn đề
Phát triển lược đồ chữ ký số với mục đích nâng cao mức độ an tồn cho thuật tốn hướng nghiên cứu nhiều người quan tâm Trong [1-7] tác giảđã đề xuất số lược đồ chữ ký xây dựng đồng thời tốn khó Những phân tích, đánh giá [8,9] cho thấy hướng nghiên cứu phần giải yêu cầu đặt vềđộ an toàn cho lược đồ chữ ký số
Trong báo này, nhóm tác giả tiếp tục đề xuất xây dựng dạng lược đồ chữ ký số dựa tính khó tốn phân tích số nguyên lớn thừa số ngun tố (Bài tốn phân tích số) tốn khai vành Zn=p.q , ởđây: p, q số nguyên tố lớn (Bài toán khai căn) Ưu điểm dạng lược đồ đề xuất từđó phát triển nhiều lược đồ chữ ký có mức độ an tồn cao cho ứng dụng thực tế
2. Xây dựng lược đồ chữ k ý dựa tốn phân tích số toán khai căn
2.1Bài toán phân tích số
Bài tốn phân tích số phát biểu sau: Cho số n∈N, tìm biểu diễn: ek
k e e
p p p
n
2
= ,
với ei≥1 pi số nguyên tố
Một trường hợp riêng Bài toán phân tích sốđược ứng dụng xây dựng hệ mật RSA phát biểu sau:
- Cho p, q số nguyên tố lớn mạnh;
*
Đại học Thủđô ** H
(2)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
2 - Từp q dễ dàng tính được: n= p×q;
- Từ n khó tìm p q
Trong hệ mật RSA [10], toán phân tích sốđược sử dụng làm sởđể hình thành cặp khóa cơng khai (e)/bí mật (d) cho thực thể ký Với việc giữ bí mật tham số {p,q} khả tính khóa mật (d) từ khóa cơng khai (e) modulo n khó thực hiện, {p,q} chọn đủ lớn mạnh [11,12] Hiện tại, toán coi tốn khó [13-15] chưa có giải thuật thời gian
đa thức cho hệ mật RSA chứng minh thực tế cho tính khó giải toán Ở dạng lược đồ đề xuất, tham số: φ(n)=(p−1)×(q−1) sử dụng khóa bí mật thứ việc
hình thành chữ ký Việc giữ bí mật cho tham số hồn tồn phụ thuộc vào mức độ khó giải tốn nêu Trong ứng dụng thực tế, tham số {p,q} chọn theo Chuẩn X9.31 [11] hay FIPS 186-3 [12] Hoa Kỳ cho hệ mật RSA sau:
Chuẩn X9.31
Theo X9.31, tiêu chuẩn tham số {p,q} hệ mật RSA bao gồm: - Độ dài modulo n (nlen) là: 1024+256s (s ≥ 0)
- 2× 511+128s ≤ p, q ≤ 2511+128s (s ≥ 0) - |p – q| > 2412+128s (s ≥ 0)
- Các ước nguyên tố p±1 q±1 (các số nguyên tố bổ trợ), ký hiệu là: p1, p2 và: q1, q2 phải
thỏa mãn thông số kỹ thuật cho Bảng 1.1 đây: Bảng 1.1: Tiêu chuẩn an toàn số nguyên tố bổ trợ
nlen Độ dài tối thiểu p1, p2
q1, q2
Độ dài tối đa p1, p2
q1, q2
1024 + 256.s > 100 bit ≤ 120 bit
Chuẩn FIPS 186-3
Theo FIPS 186-3, tiêu chuẩn tham số {p,q} hệ mật RSA bao gồm: - 2× 511+128s ≤ p, q ≤ 2511+128s (s ≥ 0)
- |p – q| > 2 −100 nlen
- Các ước nguyên tố p±1 q±1 (các số nguyên tố bổ trợ), ký hiệu là: p1, p2 và: q1, q2 phải
(3)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
3
Bảng 1.2: Tiêu chuẩn an toàn số nguyên tố bổ trợ
Độ dài tối đa len(p1) + len(p2)
và len(q1) + len(q2)
Độ dài
modulo n (nlen)
Độ dài tối thiểu của p1, p2, q1, q2
Các số nguyên tố
xác xuất
Các số nguyên tố
chứng minh
1024 bit > 100 bit < 496 bit < 239 bit 2048 bit > 140 bit < 1007 bit < 494 bit 3072 bit > 170 bit < 1518 bit < 750 bit
2.2Bài toán khai căn vành Zn
Cho cặp số nguyên dương {n,t} với n tích hai số nguyên tốp q, tđược chọn khoảng: < t < (p−1).(q−1) Khi toán khai vành Zn=p.q hay cịn gọi tốn RSA(n,t)
được phát biểu sau:
Bài toán RSA(n,t): Với số nguyên dương y∈ℤn *
, tìm x thỏa mãn phương trình sau:
y n
xtmod = (1.1)
Giải thuật cho tốn RSA(n,t) (1.1) viết thuật tốn tính hàm RSA(n,t)(.) với biến đầu vào y giá trị hàm nghiệm x phương trình (1.2) sau:
) (
) , ( y RSA
x= nt (1.2)
Ở dạng lược đồ chữ ký đề xuất, thành viên U hệ thống tự chọn cho tham số
{n,t} khóa bí mật x thỏa mãn: 1< x < n, theo (1.3) tính cơng khai tham số:
n x
y tmod
= (1.3)
Tương tự Bài tốn phân tích số, toán RSA(n,t) sử dụng để xây dựng nên hệ mật RSA yếu tố định tới độ an toàn xét theo khả chống giả mạo chữ ký hệ RSA Cụ thể, với cơng thức hình thành chữ ký S từ khóa bí mật d đối tượng ký tin cần ký M:
n m
S= dmod , m giá trị đại diện tin M H(.) hàm băm, suy ra:
n S
m= emod , dẫn đến: S e mmodn
= Như vậy, thấy việc tính: e mmod khn ả thi
(4)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
4
của đối tượng ký Tuy nhiên, việc thuật toán chữ ký số RSA sử dụng rộng rãi thực tế
hiện minh chứng cho tính khó giải tốn RSA(n,t) 2.3Xây dựng lược đồ dạng tổng quát
Dạng lược đồ đề xuất ởđây xây dựng sở tính khó giải tốn phân tích số tốn khai nói trên, thiết kế theo dạng lược đồ sinh chữ ký thành phần tương tự DSA chuẩn chữ ký số Mỹ (DSS) hay GOST R34.10-94 Liên bang Nga, sau:
Giả sử khóa bí mật người ký x khóa cơng khai tương ứng là: y= xtmodn, thành phần thứ
nhất chữ ký lên tin M S Sđược tính từ giá trịu theo công thức:
S=utmodn (2.1) ởđây: n= p×q, với p, q số nguyên tố phân biệt số mũtđược chọn thỏa mãn:
1<t<φ(n)
Giả sử thành phần thứ hai chữ ký Z Zđược tính từ giá trịv theo công thức: Z =vtmodn (2.2)
Giả thiết rằng:
f(S,Z)≡ktmodn (2.3) với f(S,Z) hàm S, Z kđược chọn ngẫu nhiên khoảng (1,φ(n))
Ta giả thiết phương trình kiểm tra lược đồ có dạng:
Zf1(M,f(S,Z)) ≡Sf2(M,f(S,Z))×yf3(M,f(S,Z))modn
Hàm f(S,Z) lựa chọn khác trường hợp cụ thể, như: ( , ) −1 × =S Z Z
S
f ,
Z S Z S
f( , )= −1× , ( , )
Z S Z S
f = × , f(S,Z)=S2×Z,… Xét cho trường hợp: f(S,Z)=S×Zmodn ktmodn=R
Khi từ (2.1), (2.2) (2.3) ta có: f(S,Z)=R, nên có thểđưa phương trình kiểm tra dạng:
Zf1(M,R) ≡Sf2(M,R)×yf3(M,R)modn (2.4) ởđây: f1(M,R), f2(M,R), f3(M,R) hàm M R Với: R=ktmodn
Vấn đềđặt ởđây cần tìm {u,v} cho {S,Z} thỏa mãn (2.3) (2.4) Từ (2.1), (2.2) (2.3) ta có:
u×vmodn=k (2.5)
Từ (2.1), (2.2) (2.4) ta có:
vf1(M,R) ≡uf2(M,R)×xf3(M,R)modn (2.6)
Từ (2.6) suy ra:
(5)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
5 u×uf1(M,R)−1.f2(M,R)×xf1(M,R)−1.f3(M,R)modn=k
hay:
uf1(M,R)−1.f2(M,R)+1×xf1(M,R)−1.f3(M,R)modn=k
dẫn đến:
u (k x f M R f MR )f MR f M R modn
1
1
1( , ) ( , ) [ ( , ) ( , ) 1]
− −
− +
−
×
= (2.8)
và:
v (k x f (M,R) f (M,R))[f(M,R) f (M,R) 1] f (M,R) f2(M,R) xf1(M,R)1.f3(M,R)modn
1 1
1
1
1 −
− −
− −
× ×
= − + (2.9)
Từ (2.1) (2.8) ta có cơng thức tính thành phần thứ chữ ký: S (k x f(M,R) f (M,R))[f(M,R) f (M,R) 1] tmodn
1
1
1
− −
− +
−
×
= (2.10)
Từ (2.2) (2.9), cơng thức tính thành phần thứ hai chữ ký có dạng:
Z (k x f (M,R) f (M,R))[f(M,R) f (M,R) 1] f(M,R) f2(M,R).t xf1(M,R)1.f3(M,R).tmodn
1 1
1
1 −
− −
− −
× ×
= − +
Cũng chọn v làm thành phần thứ hai chữ ký, cặp (v,S) chữ ký lên tin M phương trình kiểm tra có dạng:
vf1(M,f∗(v,S)).t ≡Sf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn
Ởđây: f∗(v,S) hàm v, S và: f∗(v,S)= f(S,Z)=R
Từ phân tích thiết kế đây, khái qt thuật tốn hình thành tham số, thuật tốn hình thành kiểm tra chữ ký lược đồ dạng tổng quát tương ứng với trường hợp f(S,Z)=S×Zmodn nhưđược
ra Bảng 2.1, Bảng 2.2 Bảng 2.3
a) Phương pháp hình thành tham số
Bảng 2.1:
Input: p, q – số ngun tố lớn, x – khóa bí mật
Output: n, t, y, ø(n)
[1] n←p×q
[2] φ(n)←(p−1)×(q−1)
[3] select t: 1<t<φ(n)
[4] select x: 1<x<n gcd(x,n)=1
[5] y←xtmodn (2.11) [6] return {n, t, y, ø(n)}
(6)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
6 i) {n, t, y}: tham số công khai
ii) {x, ø(n)}: tham số bí mật
b) Phương pháp hình thành chữ ký
Bảng 2.2:
Input: n, t, x, ø(n), M – Bản tin ký đối tượng U Output: (v,S)
[1] selectk: 1<k <n
[2] R ktmodn
← [3] if (gcd((f1(M,R),φ(n))≠1OR
gcd(( ( , ) 2( , ) 1), ( ))
1 × + ≠
−
n R
M f R M
f φ ) thengoto [1]
[4] u (k x ) n
R M f R M f R M f R M f
mod
1
1
1( , ) ( , ) [ ( , ) ( , ) 1]
− −
− +
−
×
←
[5] v←uf1(M,R)−1.f2(M,R)×xf1(M,R)−1.f3(M,R)modn
[6] S←ut modn
[7] return (v,S) Chú thích:
U: đối tượng k ý chủ thể tham số {n,t,x,y,ø(n)} Nhận xét:
Trong bước [4] [5] Phương pháp hình thành chữ ký (Bảng 1.2), theo định lý Euler việc tính:
1( , )
−
R M
f và: [ ]1
1( , ) 2( , )
−
− f M R +
R M
f thực chất tính: f1(M,R)−1modφ(n) và:
[ ( , ) 2( , ) 1]1mod ( )
1 M R f M R n
f − − φ
+ Như vậy, ởđây φ(n) có vai trị tương tự khóa bí mật x
việc hình thành chữ ký Từđó cho thấy lược đồ dạng tổng quát xây dựng đồng thời
tốn khai phân tích số Hơn nữa, tham sốx φ(n) sử dụng khóa bí mật
trong thuật tốn hình thành chữ ký
c) Phương pháp kiểm tra chữ ký
Bảng 2.3:
Input: n, t,y, M – Bản tin cần thẩm tra, (v,S) – Chữ ký U lên M Output: (v,S) = true / false
(7)Tạp chí KH KT – Học viện Kỹ thuật Quân sự
7
[2] B←Sf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn (2.13)
[3] if (A=B) then {return true;} else {return false;}
Chú thích:
i) U: đối tượng chủ thể cặp tham số {n,t}
ii) (v,s) = true: chữ ký hợp lệ, Mđược khẳng định nguồn gốc tính tồn vẹn
iii) (v,s) = false: chữ ký khơng hợp lệ, M không công nhận nguồn gốc tính tồn vẹn
d) Tính đắn lược đồ dạng tổng quát
Tính đắn lược đồ dạng tổng quát phù hợp phương pháp kiểm tra chữ ký với
phương pháp hình thành tham số hệ thống phương pháp hình thành chữ ký Điều cần chứng minh
ởđây là: cho p, q số nguyên tố, n=p×q , φ(n)=(p−1)×(q−1), 1<t<φ(n), 1<k,x<n, gcd(x,n)=1,
n k
R= t mod , y=xtmodn , gcd((f1(M,R),φ(n))=1 , gcd(( ( , ) 2( , ) 1), ( )) 1
1 + =
− n R M f R M
f φ ,
(k x ) n
u f M R f M R f M R f M R mod
1 1
1( , ) ( , ) [ ( , ) ( , ) 1]
− −
− +
−
×
= , v=uf1(M,R)−1.f2(M,R)×xf1(M,R)−1.f3(M,R)modn ,
n u
S= tmod Nếu: A=vf1(M,f∗(v,S)).tmodn , B=Sf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn với: f v S R = ∗( , ) thì:A=B
Có thể chứng minh tính đắn dạng lược đồ sau:
Từ (2.9) (2.12) ta có:
( )
(k x ) x n
n x x k n v n v A t R M f t R M f R M f R M f R M f R M f t R M f R M f R M f t R M f R M f R M f R M f R M f R M f R M f t R M f t S v f M f mod mod mod mod ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( )) , ( , ( 2 1 1 1 1 1 1 1 × × = × × × = = = − − − − − − − ∗ + − + − (2.14)
Từ (2.10) (2.13) ta lại có:
( ) ( )
(k x ) x n
n n x n u n Y S n y S B t R M f t R M f R M f R M f R M f R M f R M f t R M f t R M f R M f S v f M f S v f M f mod mod mod mod mod mod ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( )) , ( , ( )) , ( , ( 2 1 1 3 × × = × = × = × = − − − ∗ ∗ + − (2.15)
Từ (2.14) (2.15) suy ra: A=B
Đây điều cần chứng minh