Đề xuất dạng tham số cho các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(P)

Trong thực tế, sử dụng các hệ mật khóa công khai như RSA, Elgamal, DiffieHelman, . ngoài việc quan tâm hàng đầu là tính an toàn thì một quan tâm nữa

của người ứng dụng là tính hiệu quả của chúng. Nhiều nghiên cứu có tính hệ

thống tập trung vào vấn đề tìm ra các thuật toán nhanh cho phép tính modulo trên

vành được phát triển nhiều nhất trong đó kết quả tốt nhất là thuật toán của

Barrett [1], trong đó, có thể kể đến việc tìm ra các loại modulo đặc biệt hỗ trợ

cho việc tính toán nhanh điển hình là các số nguyên tố NIST (National Institute

of Standards and Technology) được đưa vào chuẩn FIPS 186-2 [2] để dùng cho

các ứng dụng hệ mật trên các đường cong elliptic. Đối với những ứng dụng của

các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(p) thì

ngoài như một điều kiện bắt buộc trong việc sử dụng phần mềm LINUX

(freesoftware) là các số nguyên tố p phải có 64 bít cao nhất bằng 1 thì chưa có

một công bố nào liên quan đến tham số p nhằm hỗ trợ tính toán nhanh phép rút

gọn trên GF(p). Trong bài này, chúng tôi tập trung tìm ra một dạng tham số

nguyên tố p với mục tiêu hỗ trợ việc tính toán nhanh trên GF(p) mà không ảnh

hưởng đến độ an toàn của các hệ mật có độ an toàn dựa trên bài toán logarit rời

rạc trên trường này với mục đích khuyến cáo người dùng sử dụng chúng và có

thể cao hơn là đưa chúng vào các chuẩn để sử dụng.

pdf 7 trang kimcuc 3980
Bạn đang xem tài liệu "Đề xuất dạng tham số cho các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(P)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Đề xuất dạng tham số cho các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(P)

Đề xuất dạng tham số cho các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(P)
Công nghệ thông tin 
H. V. Việt, V. B. Nhã, “Đề xuất dạng tham số cho các hệ mật trên trường GF(p).” 72 
ĐỀ XUẤT DẠNG THAM SỐ CHO CÁC HỆ MẬT CÓ ĐỘ AN TOÀN 
DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC TRÊN TRƯỜNG GF(P) 
Hoàng Văn Việt1*, Vũ Bá Nhã2 
Tóm tắt: Khi sử dụng các hệ mật khóa công khai như RSA, Elgamal, Diffie-
Helman, ... ngoài việc quan tâm hàng đầu là tính an toàn thì một quan tâm nữa của 
người ứng dụng là tính hiệu quả của chúng. Bài báo đề xuất một dạng tham số 
nguyên tố p với mục tiêu hỗ trợ việc tính toán nhanh trên GF(p) mà không ảnh 
hưởng đến độ an toàn của các hệ mật có độ an toàn dựa trên bài toán logarit rời 
rạc trên trường này. 
Từ khóa: Mật mã khóa công khai, Logarith rời rạc, Giao thức trao đổi khóa. 
1. ĐẶT VẤN ĐỀ 
Trong thực tế, sử dụng các hệ mật khóa công khai như RSA, Elgamal, Diffie-
Helman, ... ngoài việc quan tâm hàng đầu là tính an toàn thì một quan tâm nữa 
của người ứng dụng là tính hiệu quả của chúng. Nhiều nghiên cứu có tính hệ 
thống tập trung vào vấn đề tìm ra các thuật toán nhanh cho phép tính modulo trên 
vành được phát triển nhiều nhất trong đó kết quả tốt nhất là thuật toán của 
Barrett [1], trong đó, có thể kể đến việc tìm ra các loại modulo đặc biệt hỗ trợ 
cho việc tính toán nhanh điển hình là các số nguyên tố NIST (National Institute 
of Standards and Technology) được đưa vào chuẩn FIPS 186-2 [2] để dùng cho 
các ứng dụng hệ mật trên các đường cong elliptic. Đối với những ứng dụng của 
các hệ mật có độ an toàn dựa trên bài toán logarit rời rạc trên trường GF(p) thì 
ngoài như một điều kiện bắt buộc trong việc sử dụng phần mềm LINUX 
(freesoftware) là các số nguyên tố p phải có 64 bít cao nhất bằng 1 thì chưa có 
một công bố nào liên quan đến tham số p nhằm hỗ trợ tính toán nhanh phép rút 
gọn trên GF(p). Trong bài này, chúng tôi tập trung tìm ra một dạng tham số 
nguyên tố p với mục tiêu hỗ trợ việc tính toán nhanh trên GF(p) mà không ảnh 
hưởng đến độ an toàn của các hệ mật có độ an toàn dựa trên bài toán logarit rời 
rạc trên trường này với mục đích khuyến cáo người dùng sử dụng chúng và có 
thể cao hơn là đưa chúng vào các chuẩn để sử dụng. 
Phần còn lại của bài báo được cấu trúc như sau: Mục 2 trình bày về phép rút 
gọn trên GF(p); Mục 3 và 4 trình bày về việc tồn tại và cách sinh các tham số p an 
toàn có dạng đặc biệt; Cuối cùng là phần kết luận. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An toàn Thông tin, 05 - 2017 73
2. PHÉP RÚT GỌN TRÊN GF(p) 
Trong các ứng dụng mật mã chúng ta thường xuyên phải thực hiện phép toán 
rút gọn các số nguyên nào đó theo modulo , thực chất là tính . Hiển 
nhiên phép rút gọn có thể thực hiện thông qua một phép chia cho , tuy nhiên 
việc làm này sẽ phải trả một chi phí cao cho việc tính toán. Bằng cách “tránh” việc 
chia Barrett đã đưa ra một thuật toán chi phí thấp hơn. 
2.1. Chi phí tính toán cho một số phép toán số học 
Theo như Donald E. Knuth [4] thì số phép toán cơ bản (còn gọi là chi phí) cho 
một số phép toán số học theo thuật toán của Karatsuba và Ofman [5] trên các số 
nguyên k-bít như sau: 
Phép nhân: ; Phép chia là: . 
Thuật toán của Karatsuba và Ofman dựa trên kết quả sau: 
Định lý Karatsuba-Ofman “Để nhân hai số nguyên k-bits chỉ cần tiến hành 
nhân 3 cặp số nguyên -bít”. 
Rút gọn theo thuật toán Barrett [4] 
Thuật toán Barrett. 
Input: p, b ≥ 3, k = , 0 ≤ z < , m = . 
Output: z mod p. 
1. q ← . 
2. r ← . 
3. if r < 0 then . 
4. while r ≥ p do: . 
5. return (r). 
Chi phí tính toán cho một phép rút gọn của thuật toán Barrett được đánh giá 
trong kết quả dưới đây. 
Kết quả 1. Chi phí tính toán cho thuật toán rút gọn Barrett theo modulo gồm 
k ký tự bằng chi phí của hai phép nhân hai số nguyên k ký tự. 
Chứng minh 
Để thực hiện thuật toán trên chúng ta cần đến hai phép nhân số lớn, một là 
 ở bước 1 và một là q.p trong bước 2. Rõ ràng cả 4 giá trị , m, 
q và p đều là các số k ký tự nên kết quả 1 đã được chứng minh. 
Công nghệ thông tin 
H. V. Việt, V. B. Nhã, “Đề xuất dạng tham số cho các hệ mật trên trường GF(p).” 74 
2.2. Rút gọn với giá trị p đặc biệt 
Định nghĩa 1. Cho b là một số tự nhiên lớn hơn 1 bất kỳ, số nguyên tố p = 
(1) được gọi là có dạng đặc biệt nếu a < (2). 
Thuật toán đề xuất. (rút gọn theo modulo p dạng đặc biệt) 
Input: p = , b ≥ 3, a < , 0 ≤ z < . 
Output: z mod p. 
1. r ← z mod ; q ← . 
2. u ← q.a. 
3. ; . 
4. . 
5. while r ≥ p do: . 
6. return (r). 
Kết quả sau đây cho ta chi phí tính toán cho một phép rút gọn của thuật toán 1. 
Kết quả 2. Chi phí tính toán cho thuật toán rút gọn theo modulo p đặc biệt gồm 
k ký tự bằng chi phí cho ba phép nhân hai số nguyên ký tự. 
Chứng minh 
Để thực hiện thuật toán trên chúng ta cần đến hai phép nhân số lớn, một là q.a ở 
bước 2 và một là v.a trong bước 4. 
Từ điều kiện z < nên q là số k ký tự và từ a < nên q.a là tích của một 
số k ký tự với một số ký tự. Đương nhiên tích trên là một số trong phạm vi 
 ký tự nên giá trị v trong bước 3 là số ký tự dẫn đến v.a là tích của 
hai số ký tự và giá trị của tích này là số k ký tự. Biết rằng phép nhân một số 
k ký tự với một số ký tự bằng hai phép nhân hai số ký tự cho nên thuật 
toán 2 cần tính 3 phép nhân hai số bít và theo định lý Karatsuba - Ofman kết 
quả đã được chứng minh. 
Từ hai kết quả 1 và 2, cùng với việc dùng thuật toán nhân hai số nguyên của A. 
Karatsuba và Y.Ofman (chi phí cho phép nhân hai số nguyên k ký tự bằng chi phí 
cho 3 phép nhân hai số ký tự) ta có thể đưa ra kết luận sau. 
Kết luận 3. Việc dùng modulo p đặc biệt sẽ giúp cho phép rút gọn theo modulo 
này nhanh gấp hai lần so với thuật toán Barrett. 
3. SỰ TỒN TẠI CÁC THAM SỐ p AN TOÀN CÓ DẠNG ĐẶC BIỆT 
3.1. Điều kiện an toàn đối với tham số p 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An toàn Thông tin, 05 - 2017 75
Theo FIPS 186-3 (xem [FIPS 186-3]) thì các tham số p cần thỏa mãn điều kiện 
sau: có độ dài bít là L và cấp của cơ số g bằng q là ước của p-1 có độ dài là N. 
Cặp (L,N) được gọi là cặp kích thước an toàn cho cặp tham số (p,q) và cho trong 
bảng sau: 
Bảng 1. Bảng tiêu chuẩn kích thước an toàn 
cho cặp tham số nguyên tố (p,q) theo FIPS 186-3. 
L 1024 2048 2048 3072 
N 160 224 256 256 
3.2. Sự tồn tại và số lượng các tham số p an toàn có dạng đặc biệt 
Biết rằng các số p thỏa mãn q|(p-1) là các số có dạng p = x.q+1, còn theo định 
nghĩa về các số đặc biệt thì p = với a < . Lấy b = 2 thì với ký hiệu như 
đã đưa ra trong bảng 2 ta có đẳng thức sau: 
 (3) 
Và từ điều kiện đối với a < ta có các giá trị x trong đẳng thức trên thỏa 
mãn bất đẳng thức sau: 
 ≤ x ≤ (4) 
Như vậy, ứng với mỗi q thì số các số nguyên x, ký hiệu là X(q), trong khoảng 
trên có thể coi là xấp xỉ 
X(q) ≈ = ≈ = (5) 
Theo định lý Gauss về số các số nguyên tố không vượt quá giá trị B nguyên 
dương cho trước là một vô cùng lớn tương đương với B/ln(b) nên áp dụng cho 
B= và với số lượng các số nguyên dạng được xét (là X(q)) chúng ta có 
thể ước lượng được số các số nguyên tố an toàn theo FIPS 186-3 có dạng đặc biệt 
ứng với mỗi q cụ thể, ký hiệu là P(q,L), được cho bởi xấp xỉ sau: 
P(q,L) ≈ . (6) 
Cũng theo lập luận trên thì số các số nguyên tố M bít q, ký hiệu là Q(M), được 
xấp xỉ 
Q(M) ≈ /N.ln2 (7) 
Tóm lại, số các cặp số nguyên tố (p,q), ký hiệu là PQ(L,M), an toàn theo chuẩn 
kích thước (L,M) của FIPS186-3 có dạng đặc biệt được đánh giá theo xấp xỉ sau: 
PQ(L,M) = P(q,L).Q(M) ≈ . (8) 
Công nghệ thông tin 
H. V. Việt, V. B. Nhã, “Đề xuất dạng tham số cho các hệ mật trên trường GF(p).” 76 
4. SINH CÁC CÁC THAM SỐ p AN TOÀN CÓ DẠNG ĐẶC BIỆT 
4.1. Thuật toán sinh các tham số p an toàn dạng đặc biệt 
Input: L, N là hai số nguyên dương (theo một cột nào đó của bảng 1). 
Output: (p, q) là cặp số nguyên tố an toàn theo độ dài tương ứng theo FIPS 186-3. 
1 q ← random . 
2 if (q is not prime) theo goto 1. 
3 A ← ; B ← . 
4 x ← random[A,B]. 
5 p ← x.q+1. 
6 if (p is not prime) theo goto 4. 
7 return (p,q). 
4.2. Một số nguyên tố an toàn có dạng đặc biệt 
Chúng tôi đã tiến hành lập trình việc tìm các số nguyên tố an toàn theo bảng 1 
và có dạng đặc biệt với hai cặp kích thước an toàn (2048, 256). 
4.2.1. Năm số nguyên tố 256 bít nhỏ nhất 
q1=5789604461865809771178549250434395392663499233282028201972879
2003956564820063 (77 chữ số thập phân); 
q2=5789604461865809771178549250434395392663499233282028201972879
2003956564820109 (77 chữ số thập phân); 
q3=5789604461865809771178549250434395392663499233282028201972879
2003956564820243 (77 chữ số thập phân); 
q4=5789604461865809771178549250434395392663499233282028201972879
2003956564820301 (chữ số thập phân); 
q5=5789604461865809771178549250434395392663499233282028201972879
2003956564820411 (77 chữ số thập phân). 
4.2.2. Năm số nguyên tố 256 bít lớn nhất 
q6=1157920892373161954235709850086879078532699846656405640394575
84007913129639319 (78 chữ số thập phân); 
q7=1157920892373161954235709850086879078532699846656405640394575
84007913129639349 (78 chữ số thập phân); 
q8=1157920892373161954235709850086879078532699846656405640394575
84007913129639501 (78 chữ số thập phân); 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An toàn Thông tin, 05 - 2017 77
q9=1157920892373161954235709850086879078532699846656405640394575
84007913129639579 (78 chữ số thập phân); 
q10=115792089237316195423570985008687907853269984665640564039457
584007913129639747 (78 chữ số thập phân); 
4.2.3. Năm số nguyên tố dạng = với a bé nhất 
p1 = x.q1+1 = 2^2048 
138441224256463474494751806501400240793138520098245865364088363425
02307659775 (77 chữ số thập phân); 
p2 = x.q2+1 = 2^2048 - 
686405949565644617865073628170900851970817784601328600317444475424
25877544959 (77 chữ số thập phân); 
p3 = x.q3+1 = 2^2048 - 
261887571908610414182146332870252355390956232329435101550074921405
1900762882047 (79 chữ số thập phân); 
p4 = x.q4+1 = 2^2048 - 
580148414323731028338788336031427275960429339966331099676290726024
994199502847 (78 chữ số thập phân); 
p5 = x.q5+1 = 2^2048 - 
152617534634815156849759046908136345244027269278114472517976381780
1947650850815 (79 chữ số thập phân). 
5. KẾT LUẬN 
Dựa trên thuật toán tính toán giá trị modulo của Barrett và định lý Karatsuba và 
Ofman, nhóm tác giả đã đề xuất thuật toán modulo dựa trên số nguyên tố p “đặc 
biệt” đảm bảo độ an toàn theo chuẩn FIPS 168-3 và có thời gian tính toán nhỏ hơn 
so với thuật toán của Barrett. Bài báo chứng minh được sự tồn tại của các số 
nguyên tố p dạng đặc biệt (lập trình tính toán một số cặp giá trị ví dụ trong mục 
4.2). Thuật toán khi được ứng dụng vào các giao thức thiết lập khóa sẽ làm giảm 
thời gian tính toán để hình thành khóa bí mật chung chia sẻ, do vậy, bài báo có ý 
nghĩa thực tế cao, đặc biệt là đối với các hệ thống đòi hỏi thời gian thực. 
TÀI LIỆU THAM KHẢO 
[1]. Darrel Hankerson, Alfred Menezes and Scott Vanstone. “Guide to Elliptic 
Curve Cryptography”. 2004 Springer-Verlag New York, Inc. 
Công nghệ thông tin 
H. V. Việt, V. B. Nhã, “Đề xuất dạng tham số cho các hệ mật trên trường GF(p).” 78 
[2]. Digital Signature Standard (DSS). “Federal Information Processing 
Standards Publication 186-2”. National Institute of Standards and 
Technology, June 2000. 
[3]. Digital Signature Standard (DSS). “Federal Information Processing 
Standards Publication 186-3”. National Institute of Standards and 
Technology, June 2009. 
[4]. Donald E. Knuth. “The Art of Computer Progamming (second edition)”. 
Addison-Weslay Publishing Company 1978. 
[5]. A. Karatsuba and Y.Ofman. “Multiplication of multidigit numbers on 
automata”. Soviet Physics-Doclady. 7: pp. 595-596. 1963. 
ABSTRACT 
A SPECIAL FORM OF PRIME PARAMETER P BASED ON 
THE DISCRETE LOGARITHM PROBLEM OF GF (P) FILED 
When using public key cryptosystems such as RSA, Elgamal, Diffie-
Helman, etc., we are not concern only about the safety but also on their 
effectiveness. The paper proposes a special form of prime parameter p with 
the aim of supporting fast computation on GF (p) filed, without 
compromising the safety of the public key cryptosystems based on discrete 
logarithm problem of GF (p) filed. 
Keywords: Public key cryptosystems, Discrete logarithm problem, Key Exchange protocols. 
Nhận bài ngày 08 tháng 3 năm 2017 
Hoàn thiện ngày 06 tháng 4 năm 2017 
Chấp nhận đăng ngày 01 tháng 5 năm 2017 
Địa chỉ: 1 Binh chủng Thông tin liên lạc; 
 2 Cục Cơ yếu / Bộ Công an; 
 * Email: viethv76@gmail.com. 

File đính kèm:

  • pdfde_xuat_dang_tham_so_cho_cac_he_mat_co_do_an_toan_dua_tren_b.pdf