Trong bài báo này, chúng tôi đề xuất một thuật toán sinh số nguyên tố tất định. Thuật toán này được xây dựng dựa trên một số thuật toán sinh số nguyên tố đã có. Điều quan trọng là lực lượng số nguyên tố được tạo ra bằng thuật toán mới sẽ lớn hơn so với lực lượng các số nguyên tố được tạo ra từ thuật toán trước đó, và thuật toán mới này còn đưa ra “kiểu bằng chứng” về tính nguyên tố của nó.
Cơng nghệ thơng tin & Khoa học máy tính XÂY DỰNG MỘT PHƯƠNG PHÁP SINH SỐ NGUYÊN TỐ TẤT ĐỊNH Lê Văn Tuấn*, Bùi Thế Truyền Tóm tắt: Trong báo này, chúng tơi đề xuất thuật tốn sinh số nguyên tố tất định Thuật toán xây dựng dựa số thuật toán sinh số nguyên tố có Điều quan trọng lực lượng số nguyên tố tạo thuật toán lớn so với lực lượng số nguyên tố tạo từ thuật tốn trước đó, thuật tốn đưa “kiểu chứng” tính ngun tố Từ khóa: Mật mã khóa công khai, Chữ ký số MỞ ĐẦU Số nguyên tố ứng dụng nhiều thực tế, đặc biệt chúng tham số quan trọng hệ mã khố cơng khai, chẳng hạn như: Hệ mã RSA, hệ mã Elgamal hay hệ mã ECC Hơn số nguyên tố tham số hệ chữ ký số xây dựng tảng hệ mật khóa cơng khai Vì thế, việc xây dựng thuật toán để sinh số ngun tố hiệu thuật tốn có nhu cầu cần thiết Trên thực tế thường sử dụng hai phương pháp sinh số nguyên tố phổ biến, “phương pháp xác suất” “phương pháp chứng minh được” Những phương pháp sinh số nguyên tố áp dụng số chuẩn giới như: [ANSI X9.31], [FIP 186.3], [TCVN 7635; 2007], [ISO/IEC 18032;2004], v.v Các số nguyên tố sinh theo phương pháp thứ khác với phương pháp thứ hai không đưa “bằng chứng để chứng minh chúng số nguyên tố” viết quan tâm đến phương pháp sinh số nguyên tố thứ hai Nếu toàn thuật toán sinh số nguyên tố đưa tiêu chuẩn nêu dựa vào “bằng chứng kiểu p-1” đưa thêm kiểu “bằng chứng p+1” để thiết kế thuật toán sinh số nguyên tố chứng minh với chứng kiểu p± CƠ SỞ TOÁN HỌC 2.1 Một số khái niệm định lý Định nghĩa 2.1[2] Biểu diễn NAF (non-adjacent form) số nguyên dương m, theo công thức sau: k 1 m= m i i (2.1) i 0 với mi {0,1,1}, mk1 hai số hạng dấu liền Giá trị k gọi độ dài NAF Định lý 2.1[2] (i) Với m nguyên dương tồn NAF ký hiệu NAF(m) (ii) Gọi k độ dài NAF(m) length(m) + 1≤k (iii) Số mi khác NAF(m), ký hiệu w(NAF(m)), xấp xỉ length(m)/3 - Cho tập ℤN ={0,1,…,N1} xác định hai phép tốn cộng nhân rút gọn theo modulo N Đặc biệt p số nguyên tố ℤp trường Đặc số trường số nguyên dương nhỏ n cho: 146 L.V Tuấn, B.T Truyền, “Xây dựng phương pháp sinh số nguyên tố tất định.” Nghiên cứu khoa học công nghệ n 1 (2.2) i 1 Vành ℤN[x]/(x2D) Định nghĩa 2.1 Cho đa thức f(ℤN[x]/(x2D))* ta gọi số nguyên dương nhỏ e cho fe mod (N,x2D)ℤN bậc mở rộng f theo modulo x2D ký hiệu ExOrd( N,x D) f -Phép toán (ℤN[x]/(x2D))* Giả sử đa thức u+vx thuộc (ℤN[x]/(x2D))*, ký hiệu (u,v) Giả sử (u,v), (a,b), (a’,b’)∈ (ℤN[x]/(x2D))* Phép nhân tổng quát (a,b) với (a’,b’)(ℤN[x]/(x2D))* xác định sau: (u,v)= (a,b).(a’,b’)= (a+bx).(a’+b’x)= (aa’+ab’x+ba’x+bb’x2) Rút gọn biểu thức (aa’+ab’x+ba’x+ bb’x2) theo modulo x2D, kết sau: (u,v)= (aa’+bb’D)+(ab’+a’b)x Trong giá trị u v rút gọn theo modulo N, theo công thức sau: u = (aa’+bb’D) mod N v = (ab’+a’b) (mod N) (2.3) Trong trường hợp (u,v) = (a,b)2, (u,v)= (a,b).(a,b)= (a+bx).(a+bx)= a.a+abx+bax+b2x2, kết sau rút gọn theo modulo x2D thu : a2+b2D+2abx Khi giá trị u, v rút gọn theo modulo N theo công thức sau: u = (a2+b2D) mod N v = (2ab) mod N (2.4) Trong trường hợp (u,v)= (a,b).(a’,1)= (ax+b).(a’x+1)= aa’x +ax+ ba’x+b= (ba’+a)x + aa’D+b Khi u, v xác định qua công thức sau: U=(ba’+a) mod N, v= aa’D+b Mod N (2.5) Ứng dụng biểu diễn NAF để tính (a,b)m ∈(ℤN[x]/(x2D))* Thuật tốn 2.1 (NAF) Đầu vào: (a,b) ∈(ℤN[x]/(x2D))*, m số nguyên dương có k 1 NAF(m) = m i i Đầu ra: (u,v) =(a,b)m (mod (N,D)) i 0 (u,v) = (1,0); for (k > j 0) {(u,v) ≡ (u,v)2 (mod (N,D)); if (mj==1) (u,v) ≡ (u,v)(a,b) (mod (N,D)); if (mj==1) (u,v) ≡ (u,v)(a,b) (mod (N,D));} return (u,v) Định lý 2.2[1]: N số nguyên tố lẻ q ước N-1, a∈ ∗ Khi đó: ii) Số a thặng dư bậc q theo modul N a N 1 q modulo N ii) Số thặng dư bậc q theo modulo N Định lý 2.3[1]: Tạp chí Nghiên cứu KH&CN quân sự, Số 42, 04 - 2016 147 Công nghệ thơng tin & Khoa học máy tính Cho q số nguyên tố, số nguyên N tập số dạng N=Aq2+Bq+1 với 0A, B0 Nếu N thoả mãn với hai điều kiện sau: (i) Tìm a∈ gcd( a N 1 q ∗ N 1 thỏa mãn a mod N = 1, N ) (2.6) =1 (ii) B - 4A số khơng phương n ngun tố Định lý 2.4[2]: Cho q số nguyên tố, số nguyên N tập số dạng N=Aq2+Bq-1 với 0A, B