Phát triển một dạng lược đồ chữ ký số mới
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, 13-14/11/2013
Phát triển một dạng lược đồ chữ ký số mới
Developing a new type of digital signature scheme
Lƣu Hồng Dũng1, Nguyễn Tiền Giang2, Hồ Ngọc Duy3, Nguyễn Thị Thu Thủy4
2 Cục Công nghệ Thông tin – Bộ Quốc phòng
3 Cục Công nghệ Thông tin – Bộ Quốc phòng
4 Trƣờng Cao đẳng Kinh tế – Kỹ thuật Quảng Nam
Tóm tắt—Bài báo đề xuất một dạng lược đồ chữ ký số mới được
Trong một hệ thống giao dịch điện tử với dịch vụ chứng
xây dựng trên cơ sở các bài toán phân tích một số nguyên lớn ra
thực số dùng chung bộ tham số {n,t}, bài toán RSA(n,t) là
các thừa số nguyên tố, bài toán khai căn trong modulo hợp số.
khó theo nghĩa không thể thực hiện đƣợc trong thời gian
Từ dạng lược đồ mới đề xuất có thể phát triển thành một số lược
đồ chữ ký số có khả năng ứng dụng được trong thực tế.
thực. Ở đó, mỗi 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 < n, tính và công khai
tham số:
Từ khoá: Digital Signature, Digital Signature Schema,
Hash Function.
y xt modn
(1.2)
Chú ý:
I.
ĐẶT VẤN ĐỀ
(i) Mặc dù bài toán RSA(n,t) là khó, tuy nhiên không
Chữ ký số hiện nay đã đƣợc ứng dụng rộng rãi trong
các lĩnh vực nhƣ Chính phủ điện tử, Thƣơng mại điện tử,…
hay trong các hệ thống viễn thông và mạng máy tính. Tuy
nhiên, việc nghiên cứu, phát triển các lƣợc đồ chữ ký số mới
cho mục đích thiết kế - chế tạo các sản phẩm, thiết bị an
toàn và bảo mật thông tin trong nƣớc vẫn luôn là vấn đề cần
thiết đƣợc đặt ra.
Bài báo này đề xuất phát triển một dạng lƣợc đồ chữ ký
số mới dựa trên các bài toán khó đã đƣợc biết đến nhƣ là cơ
sở để xây dựng nên hệ mật RSA danh tiếng [1]. Tuy nhiên,
việc sử dụng các bài toán này trong các thủ tục hình thành
tham số và khóa, hình thành chữ ký ở lƣợc đồ chữ ký RSA
và các lƣợc đồ chữ ký mới đề xuất là hoàn toàn khác nhau.
phải với mọi yℤn* thì việc tính RSA(n,t)(y) đều khó, chẳng
hạn những y = xt mod n với x không đủ lớn thì bằng cách
duyệt dần x = 1, 2, ... cho đến khi tìm đƣợc nghiệm của (1.2)
ta sẽ tìm đƣợc khóa bí mật x, do đó các tham số mật x phải
đƣợc lựa chọn sao cho việc tính RSA(n,t)(y) đều khó.
(ii) Với lựa chọn x nêu trên thì rõ ràng không có ai
ngoài U biết đƣợc giá trị x, vì vậy việc biết đƣợc x đủ để
xác thực đó là U.
B. 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 phân tích một số nguyên lớn ra các thừa số
nguyên tố (Bài toán phân tích số) đƣợc phát biểu nhƣ sau:
- Cho p, q là 2 số nguyên tố lớn và mạnh;
II. CÁC BÀI TOÁN CƠ SỞ
A. Bài toán khai căn trên vành số Zn
- Từ p và q dễ dàng tính đƣợc:
;
n p q
- Từ n rất khó tìm đƣợc p và q.
Trong hệ mật RSA, bài toán phân tích số đƣợc sử dụng
làm cơ sở để hình thành cặp khóa công khai/bí mật. Với
Cho cặp các số nguyên dƣơng {n,t} với n là tích của hai
số nguyên tố p và q, còn t đƣợc chọn trong khoảng:
1 < t < (p1).(q1). Khi này bài toán khai căn trên vành số
nguyên Zn hay còn gọi là bài toán RSA(n,t) đƣợc phát biểu
nhƣ sau:
n
việc giữ bí mật các tham số p, q và
, có thể tính đƣợc
khóa mật (d) từ khóa công khai (e) nếu tìm đƣợc p, q từ việc
phân tích modulo n.
*
Bài toán RSA(n,t): Với mỗi số nguyên dương y ℤn ,
Hiện tại, các bài toán trên vẫn đƣợc coi là các bài toán
khó [4,5] do chƣa có giải thuật thời gian đa thức cho các bài
toán này và cũng nhƣ chƣa có một công bố nào cho thấy hệ
mật RSA bị phá vỡ trong các ứng dụng thực tế bằng việc
giải các bài toán này khi các tham số của nó đƣợc chọn hợp
lý.
hãy tìm x thỏa mãn phương trình sau:
xt modn y
(1.1)
Thuật toán để giải bài toán RSA(n,t) có thể đƣợc viết
nhƣ một thuật toán tính hàm RSA(n,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 (1.1):
x RSA(n,t) (y)
21
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, 13-14/11/2013
Chứng minh
Thật vậy, ta có:
III. XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN
HAI BÀI TOÁN KHAI CĂN VÀ PHÂN TÍCH SỐ
se1 modn (re2 ye3 modn)e1 modn ke1.e2 xe1.e3 modn
A. Lược đồ dạng tổng quát
(ke1 modn)e2 (xe1 modn)e3 modn re2 ye3 modn
Lƣợc đồ dạng tổng quát bao gồm các phƣơng pháp hình
thành các tham số hệ thống và khóa, phƣơng pháp hình
thành chữ ký và phƣơng pháp kiểm tra tính hợp lệ của chữ
ký. Từ dạng tổng quát này, bằng cách lựa chọn các tham số
cụ thể sẽ cho phép tạo ra các lƣợc đồ chữ ký số khác nhau.
1) Phương pháp hình thành tham số và khóa
Dữ liệu vào: p, q, t, x.
Mệnh đề đã đƣợc chứng minh.
Tính đúng đắn của phƣơng pháp hình thành và kiểm tra
chữ ký có thể chứng minh nhƣ sau:
Đặt:
,
,
ta có:
e1 t
e2 f1(M,r) e3 f2 (M,r)
t
e
1
u s modn s modn
và:
Kết quả: n, y.
Các bƣớc thực hiện:
v r f
y f
mod n re2 ye3 mod n
1M ,r
2 M ,r
1. Tính modulo n:
Theo Mệnh đề 1 suy ra:
u v
n p q
2. Hình thành khóa công khai:
y xt modn
B. Lược đồ chữ ký LD-01
Lƣợc đồ thứ nhất - ký hiệu LD 1.01, đƣợc hình thành từ
lƣợc đồ dạng tổng quát với lựa chọn: f1(M,r) = H(M),
f2(M,r) = r.
1) Hình thành tham số và khóa
Thuật toán 1.1:
Chú thích:
(i) p, q: các số nguyên tố phân biệt.
(ii) x: khóa bí mật có giá trị trong khoảng:
(iii) t: số mũ có giá trị trong khoảng:
1 t (p 1)(q 1)
.
1 x n
Input: p, q, x.
2) Phương pháp hình thành chữ ký
Output: n, t, y, H(.).
Dữ liệu vào: n, t, x, k, M – thông điệp dữ liệu cần ký.
Kết quả: (r,s) – chữ ký của U lên M.
Các bƣớc thực hiện:
[1].
n pq
[2]. select
,
;
H :
0,1
Zm
m n
1. Hình thành phần thứ nhất của chữ ký:
t
n
;
[3].
[4].
r k modn
t
1
2
2. Hình thành phần thứ 2 của chữ ký:
y xt modn
1M,r
s k f x f (M,r) modn
2
(1.3)
[5]. return {n,t,y,H(.)};
2) Hình thành chữ ký
Thuật toán 1.2:
Chú thích:
(i) k: khóa bí mật ngắn hạn có giá trị trong khoảng:
1 k n
Input: n, t, x, k, M.
Output: (r,s).
[1].
(ii)
: các hàm của M và r.
f1(.), f2 (.)
3) Phương pháp kiểm tra chữ ký
Dữ liệu vào: n, t, y, (r,s), M.
Kết quả: Khẳng định (r,s) là chữ ký hợp lệ ((r,s) = true)
hay (r,s) là giả mạo và/hoặc M không còn toàn vẹn
((r,s) = false).
r kt modn
(1.4)
(1.5)
[2].
e H
s ke xr modn
M
[3].
(1.6)
[4]. return (r,s);
Các bƣớc thực hiện:
3) Kiểm tra chữ ký
1. Tính vế thứ nhất của phƣơng trình kiểm tra:
u st modn
Thuật toán 1.3:
Input: n, t, y, M, (r,s).
Output: (r,s) = true
2. Tính vế thứ hai của phƣơng trình kiểm tra:
1M ,r
v r f
2 M ,r
y f
modn
/
.
false
[1].
3. Nếu (u = v) thì (r,s) = true , ngƣợc lại thì:
e H
M
t
(r,s) = false.
[2].
[3].
u s modn
e
r
4) Tính đúng đắn của phương pháp hình thành và kiểm
tra chữ ký
v r y modn
[4]. if (
) then {return true ;}
u v
else {return
Mệnh đề 1:
;}
false
Cho p, q là 2 số nguyên tố phân biệt,
,
,
n pq
4) Tính đúng đắn của lược đồ LD-01
Tính đúng đắn của lƣợc đồ LD 1.01 đƣợc chứng minh
y xe1 mod n
,
. Nếu:
1 x,k n
1 e1,e2 ,e3 (p 1) (q 1)
e
e2
e3
e1
e2
e3
1
,
thì:
.
r k modn s k x modn
s r y modn
nhƣ sau:
22
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, 13-14/11/2013
(1.16)
Đặt:
,
,
3 . Từ (1.3), (1.4), (1.6) ta có:
v H
r || M
t e1 e e2 r e
Từ (1.16) và (1.9) suy ra:
t
e
1
u s modn s modn
v e
Đây là điều cần chứng minh.
và:
e3
D. Mức độ an toàn của các lược đồ mới đề xuất
v re yr modn re y modn
2
Mức độ an toàn của một lƣợc đồ chữ ký số đƣợc đánh
giá qua các khả năng sau:
Theo Mệnh đề 1, suy ra:
.
u v
- Chống tấn công làm lộ khóa mật.
- Chống tấn công giả mạo chữ ký.
Đây là điều cần chứng minh.
C. Lược đồ chữ ký LD–02
Ở các lƣợc đồ mới đề xuất, có thể thực hiện một số
dạng tấn công làm lộ khóa mật (x) và giả mạo chữ ký, từ
khả năng thành công của các dạng tấn công này có thể đánh
giá về mức độ an toàn và thiết lập một số điều kiện an toàn
cho các lƣợc đồ mới đề xuất. Phân tích, đánh giá mức độ an
toàn sau đây đƣợc thực hiện cho lƣợc đồ chữ ký LD-02,
việc đánh giá cho lƣợc đồ LD-01 cũng có thể thực hiện theo
cách tƣơng tự.
Lƣợc đồ thứ hai - ký hiệu LD-02, đƣợc hình thành từ
lƣợc đồ dạng tổng quát với lựa chọn:
f2(M,r) = H(r||M)).
1) Hình thành tham số và khóa
Thuật toán 1.4:
f1(M,r) = 1,
Input: p, q, x.
Output: n, t, y, H(.).
1) Tấn công khóa mật bằng phương pháp “vét cạn”.
[1].
n pq
0,1
Zm
[2]. select
,
;
Thuật toán 1.7:
Input: n, t, y.
Output: x – khóa bí mật của đối tƣợng ký.
H :
m n
m
[3].
t
1
2
[1]. for i = 1 to n do
y xt mod n
[4].
(1.7)
t
[1.1].
;
modn
z
i
[5]. return {n,t,y,H(.)};
2) Hình thành chữ ký
Thuật toán 1.5:
[1.2]. if (
) then { x i ; break;}
z y
[2]. return (x);
Nhận xét: Nếu giá trị của x không đủ lớn thì việc tấn
công làm lộ khóa mật bằng Thuật toán 1.7 là hoàn toàn có
thể thực hiện đƣợc.
Input: n, t, x, k, M.
Output: (e,s).
[1].
r kt modn
(1.8)
(1.9)
[2].
Điều kiện 1.1: Khóa bí mật x phải được chọn để việc
tính: x = RSA(n,t)(y) là khó.
2) Tấn công khóa mật khi giá trị của k bị lộ.
e H
s k xe modn
r || M
[3].
(1.10)
[4]. return (e,s);
3) Kiểm tra chữ ký
Thuật toán 1.6:
Thuật toán 1.8:
Input: n, t, (e,s), k,
,
.
gcd(e,t) 1
gcd(k,n) 1
Output: x – khóa bí mật của đối tƣợng ký.
Input: n, t, y, M, (e,s).
1
Output: (e,s) = true
/
.
[1].
;
false
w sk modn
t
e
[2]. Euclid (e,t; a,b):
a.e b.(t) 1
[1].
[2].
(1.11)
(1.12)
u s y modn
a
b
[3].
;
z w y mod n
[4]. return (z);
Chú thích: Euclid (e,t; a,b) là giải thuật Euclid mở rộng
v H
u || M
[3]. if (
) then {return true ;}
v e
else {return
;}
false
để giải phƣơng trình:
với e, t cho trƣớc và
a.e b.(t) 1
4) Tính đúng đắn của lược đồ LD-02
Tính đúng đắn của lƣợc đồ LD 1.01 đƣợc chứng minh
nhƣ sau:
Đặt:
a, b là nghiệm.
Nhận xét: Khi giá trị của k bị lộ hoặc do lựa chọn giá
trị không hợp lý dẫn đến bị lộ, thì việc tấn công khóa mật
bằng Thuật toán 1.8 là có thể thực hiện đƣợc. Thật vậy, với
,
,
e e3 . Từ (1.7), (1.8), (1.9), (1.10)
t e1 1 e2
và Mệnh đề 1.1 ta có:
giả thiết:
và
, khi đó:
gcd(ki ,n) 1
gcd(e,t) 1
st modn r ye modn
Từ (1.13) suy ra:
(1.13)
w s k1 modn k xe k1 modn
xe modn
r st ye modn
(1.14)
(1.15)
Giải:
bằng thuật toán Euclid mở rộng
a.e b.(t) 1
Từ (1.11) và (1.14) ta có:
đƣợc a và b, ta có:
u r
Thay (1.15) vào (1.12), ta đƣợc:
23
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, 13-14/11/2013
z wa yb modn xa.e xb.(t) mod n
xa.eb.(t) modn x
(e*,s*) bằng Thuật toán 1.9 là hoàn toàn có thể thực hiện
đƣợc. Thật vậy:
e
.t
e
Nhƣ vậy, nếu giá trị của khóa k bị lộ và các giả thiết đặt
t
y
mod n
k
t y
ye mod n
t
u
s
ra:
và đƣợc thỏa mãn thì việc
gcd(k,n) 1
gcd(e,t) 1
r ye ye mod n r
tính khóa mật (x) là hoàn toàn có thể thực hiện đƣợc.
Điều kiện 1.2: Giá trị của k cần được chọn để việc
tính: k = RSA(n,t)(r) là khó.
3) Tấn công khóa mật khi giá trị của k bị sử dụng lặp
lại.
Do đó:
v H(u || M) H(r || M) e
Nhƣ vậy, chữ ký giả mạo
do U* tạo ra nhƣng
(e*, s*)
hoàn toàn thỏa mãn điều kiện của thuật toán kiểm tra chữ ký
(Thuật toán 1.16) do đó sẽ đƣợc công nhận là chữ ký hợp lệ
của đối tƣợng U (chủ thể của khóa công khai y).
Thuật toán 1.8:
Input: (e1,s1), (e2,s2),
,
,
k1 k2 gcd((e1 e2 ),t) 1
gcd(s2 ,n) 1
Output: x – khóa bí mật của ngƣời ký.
m
Điều kiện 1.4: Cần chọn
t
1
2
1
[1].
;
w s1
s2
modn
5) Tấn công giả mạo chữ ký nếu biết {p, q}.
Thuật toán 1.10:
Input: n, p, q, t, M, k*, y – khóa công khai của U.
[2]. Euclid (e ,e ,t; a,b):
;
b.(t) 1
a.e1 e2
1
2
a
b
[3].
;
z w y mod n
[4]. return (z);
Output:
– chữ ký của U do U* tạo ra.
(e*, s*)
k * t
Nhận xét: Khi giá trị của k bị sử dụng lại thì việc tấn
[1].
;
r*
modn
công làm lộ khóa mật bằng Thuật toán 1.8 là có thể thực
t
[2].
[3].
;
e* H
s*k *y
r*|| M modn
hiện đƣợc. Thật vậy, giả sử:
,
,
r
k1
modn
e1 Hr1 || M1
1
e*.t1 mod(p1).(q1)
s1 k1 xe1 modn
M1
modn
là chữ ký tƣơng ứng với thông điệp
(1.18)
t modn
s2 k2
x
modn
e2
và
,
,
là
[4]. return
;
(e*, s*)
r2
k2
e2 H
r2 || M2
chữ ký tƣơng ứng với thông điệp
. Với giả thiết:
Nhận xét: Nếu từ n có thể biết {p,q} thì việc tính s*
theo (1.18) và do đó việc tạo cặp chữ ký giả mạo (e*,s*)
M2
,
và
, khi đó:
gcd(s2 ,n) 1
k1 k2 k gcd((e1 e2 ),t) 1
bằng Thuật toán 1.10 là có thể thực hiện. Trong trƣờng hợp
w s1 s21 modn
e.t1 mod(p 1).(q 1)
này, kẻ giả mạo (U*) có thể tính:
thay
e1
e2
k1 modn
e*
x
k
x
cho việc tính
và kết quả
vẫn đƣợc công nhận là
(e*, s*)
t
xe e modn
1
2
chữ ký hợp lệ của đối tƣợng U.
Giải:
đƣợc a và b, ta có:
b modn
b.(t) modn x
a.(e1 e2 ) b.(t) 1
Điều kiện 1.5: Cần chọn {p,q} để bài toán phân tích
một số nguyên lớn ra các thừa số nguyên tố là khó giải.
Trong ứng dụng thực tế, các tham số {p,q} có thể chọn
theo Chuẩn X9.31 hay FIPS 186-3 của Hoa Kỳ cho hệ mật
RSA nhƣ sau:
z wa
xa.
e1e2
y
Nhƣ vậy, việc tấn công khóa mật (x) có thể thành công
nếu khóa k bị sử dụng lặp lại và các giả thiết đặt ra đƣợc
thỏa mãn.
Chuẩn X9.31.
Điều kiện 1.3: Giá trị của k không được phép lặp lại ở
các lần ký khác nhau.
Theo X9.31, tiêu chuẩn đối với các tham số {p,q} của
hệ mật RSA bao gồm:
4) Tấn công giả mạo chữ ký khi lựa chọn tham số t
không hợp lý.
-
Độ dài modulo n (nlen) là: 1024+256s (s ≥ 0).
-
2 2511+128s ≤ p, q ≤ 2511+128s (s ≥ 0).
Thuật toán 1.9:
Input: n, t, M, k*, y – khóa công khai của U.
-
-
|p – q| > 2412+128s (s ≥ 0).
Các ƣớc nguyên tố của p±1 và 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
các thông số kỹ thuật đƣợc cho trong Bảng 2.1
dƣới đây:
Output:
– chữ ký của U do đối tƣợng giả
(e*, s*)
mạo U* tạo ra.
k * t
modn
[1].
;
r*
Bảng 2.1: Tiêu chuẩn an toàn đối với các số nguyên tố
bổ trợ.
[2].
;
e* H
r*|| M modn
e
t
nlen
Độ dài tối thiểu Độ dài tối
của p1, p2 và q1, đa của p1, p2
[3].
;
modn
(1.17)
s* k *y
[4]. return
;
(e*, s*)
q2
và q1, q2
e *
Nhận xét: Nếu
cho kết quả là một giá trị nguyên
1024 + 256.s > 100 bit
≤ 120 bit
t
thì việc tính s* theo (1.17) và do đó việc tạo chữ ký giả mạo
24
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, 13-14/11/2013
trƣớc các dạng tấn công làm lộ khóa mật và tấn công giả
Chuẩn FIPS 186-3.
mạo chữ ký nếu tuân thủ các điều kiện an toàn đã đƣợc chỉ
Theo FIPS 186-3, tiêu chuẩn đối với các tham số {p,q}
của hệ mật RSA bao gồm:
ra.
IV. KẾT LUẬN
-
2 2511+128s ≤ p, q ≤ 2511+128s (s ≥ 0).
Bài báo đề xuất một dạng lƣợc đồ chữ ký số mới xây
dựng dựa trên các bài toán phân tích số, khai căn trên vành
Zn. Từ dạng lƣợc đồ mới đề xuất đã xây dựng đƣợc một số
lƣợc đồ chữ ký số cụ thể cho mục đích ứng dụng. Mức độ an
toàn của các lƣợc đồ mới đề xuất đƣợc đánh giá qua một số
dạng tấn công đã đƣợc biết đến trong thực tế, cho thấy các
lƣợc đồ mới này có thể sử dụng cho các ứng dụng thực tế
nếu các tham số hệ thống đƣợc lựa chọn hợp lý . Tuy nhiên,
để sử dụng đƣợc trong thực tế, các lƣợc đồ này cần đƣợc cải
tiến và đánh giá kỹ càng hơn cả về mức độ an toàn cũng nhƣ
khía cạnh hiệu quả thực hiện.
nlen
100
2
2
-
-
|p – q| >
.
Các ƣớc nguyên tố của p±1 và 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
các thông số kỹ thuật đƣợc cho trong Bảng 2.2
dƣới đây:
Bảng 2.2: Tiêu chuẩn an toàn đối với các số nguyên tố
bổ trợ.
Độ dài Độ dài tối Độ dài tối đa của
của
thiểu của len(p1) + len(p2) và
modulo
n
(nlen)
p1, p2, q1, len(q1) + len(q2)
q2
Các
số Các
số
TÀI LIỆU THAM KHẢO
nguyên tố nguyên tố
[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] Burt Kaliski, “RSA Digital Signature Standards“, RSA
Laboratories 23rd National Information Systems Security
Conference, October 16-19,2000.
[3] National Institute of Standards and Technology, NIST FIPS
PUB 186-3. Digital Signature Standard, U.S. Department of
Commerce,1994.
[4] A. Menezes, P. van Oorschot, and S. Vanstone, “Handbook of
Applied Cryptography”, CRC Press, 1996.
xác xuất
chứng
minh được
< 239 bit
1024 bit > 100 bit
2048 bit > 140 bit
3072 bit > 170 bit
< 496 bit
< 1007 bit < 494 bit
< 1518 bit < 750 bit
Những phân tích trên đây cho thấy, mức độ an toàn của
lƣợc đồ mới đề xuất phụ thuộc vào mức độ khó của 2 bài
toán: Bài toán phân tích số nguyên lớn ra các thừa số
nguyên tố và Bài toán khai căn trên vành số nguyên Zn=p.q, ở
[5] D.R Stinson, Cryptography: Theory and Practice, CRC Press
1995.
đây p và q là các số nguyên tố phân biệt. Lƣợc đồ sẽ an toàn
25
Bạn đang xem tài liệu "Phát triển một dạng lược đồ chữ ký số mới", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
phat_trien_mot_dang_luoc_do_chu_ky_so_moi.pdf

