Các tiêu chuẩn cho các số nguyên tố p ,q

Một phần của tài liệu Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng (Trang 55 - 63)

2.1.3.1. Tiêu chuẩn về phương pháp sinh các số nguyên t

Khi sử dụng phương pháp sinh số nguyên tố theo xác suất để sinh các số nguyên tố p, q và các số nguyên tố bổ trợ thì khả năng đầu ra của thuật toán là một hợp số vẫn có thể xảy ra (mặc dù với xác suất sai có thể được thiết lập là rất bé, như trong [6] có đề xuất nếu dùng thuật toán sinh số nguyên tố xác suất thì phải đảm bảo xác xuất chấp nhận sai lớn nhất là 2-100). Khi một hợp số được chấp nhận nhầm là số nguyên tố thì các lược đồ sử dụng bộ tham số sẽ hoạt động sai, trừ khi các hợp số này là số Carmichael [5, tr 137], hơn nữa khi đó mọi giả thiết về độ an toàn của RSA cũng không còn nguyên như cũ. Như vậy để đảm bảo các số p, q và các số bổ trợ cho p, q thực sự là các số nguyên tố ta nên lựa chọn phương pháp sinh chúng là phương pháp sinh các số nguyên tố chứng minh được (phương pháp sinh số nguyên tố tất định).

Tiêu chuẩn phương pháp sinh các số nguyên t

Các số nguyên tố p, q và các số nguyên tố bổ trợ p1, p2, q1, q2 đều là các số nguyên tố chứng minh được

2.1.3.2. Tiêu chuẩn về độ dài các số nguyên tố bổ trợ

Tiêu chuẩn về độ dài của các số nguyên tố bổ trợ được đề xuất nhằm chống lại tấn công thuật toán phân tích số p-1 của Pollard [5, tr 92], thuật toán

phân tích số p±1 của Williams [13] và thuật toán Williams cải biên được giới thiệu trong [2].

Phương pháp phân tích số p-1 của Pollard và thuật toán phân tích s p±1 của Williams

Phương pháp phân tích số p-1 của Pollard có thể được sử dụng để tìm hiệu quả ước nguyên tố p của một hợp số Np-1 là B-trơn (một số gọi là B- trơn nếu tất cả các ước nguyên tố của nó không lớn hơn B) với B nhỏ.

Ý tưởng của thuật toán p-1 của Pollard như sau. Cho B là cận trơn. Cho

Q là bội số chung nhỏ nhất của tất cả các lũy thừa nguyên tố B mà N. Nếu

blN thì llnb lnN, và do đó ln ln N l b     . Bởi vậy: lnN/ lnb b B Q b   

với tích được lấy trên tất cả các số nguyên tố khác nhau bB. Nếu p là một ước của N sao cho p-1 là B-trơn, thì p-1|Q, do đó với một giá trị a nào đó thoả mãn gcd(a, p) =1 thì ta có aQ  1 (mod p). Bởi vậy, nếu c = gcd(aQ-1, N) thì p

là ước của c. Có thể là c = N, trong trường hợp này thuật toán thất bại; tuy nhiên điều này sẽ rất hiếm khi xảy ra nếu N là tích của hai số nguyên tố lớn khác nhau.

Thuật toán 2.1: Đầu vào:

Số nguyên dương N không phải là luỹ thừa nguyên tố.

Đầu ra:

Ước c không tầm thường của N.

Thực thi

Bước 2: Chọn ngẫu nhiên một số nguyên a, 2  a  N-1, tính c = gcd(a, N), nếu c2 trả về c.

Bước 3: Với mỗi số nguyên tố b B thực hiện

3.1.Tính ln ln N l b     . 3.2.Tính aabl(modN) Bước 4: Tính c = gcd(a-1, N).

Bước 5: Nếu c =1 hoặc c = N thuật toán kết thúc thất bại; ngược lại trả về

c.

Nếu N là số nguyên có ước nguyên tố p sao cho p-1 là B-trơn thì thời gian cần để thuật toán trên tìm được p sẽ là O(BlnN/lnB) (Số lượng các số nguyên tố <BB/lnB, một phép tính luỹ thừa modulo N có thời gian tính toán là lnN).

Tương tự như thuật toán phân tích p-1 của Polard, trong [13] H.C. Wiliams đã đưa ra thuật toán phân tích số hiệu quả tìm ước nguyên tố p của một hợp số N khi p±1 là số B-trơn với B nhỏ. Thuật toán này dựa vào các kết quả trên dãy Lucas và thời gian chạy của thuật toán cỡ O(B).

Thuật toán Wiliams cải biên

Trong [2] tác giả đã giới thiệu một thuật toán phân tích số để tìm ước nguyên tố p của N khi p1 hoặc p1 là số B-trơn với thời gian tính của thuật toán cỡ O( B). Trong khi thuật toán của Wiliams dựa trên các kết quả của dãy Lucas thì thuật toán các giả giới thiệu trong [2] dựa trên các kết quả liên quan đến khái niệm bậc mở rộng.

Từ các kết quả nêu trên, để hệ thống mật mã RSA an toàn trước các kiểu tấn công dựa trên các phương pháp phân tích số p-1 của Pollard [5, tr 92], phương pháp phân tích số p±1 của Williams [13] và thuật toán Williams cải biên được giới thiệu trong [2], theo Định nghĩa 2.2 chúng ta cần chọn các số nguyên tố p, q thoả mãn p±1, q±1 là các số B trơn với 2 sec _ ( )

2 ure trength nlen

B  , (adsbygoogle = window.adsbygoogle || []).push({});

tức là các giá trị p±1, q±1 đều phải có ít nhất một ước nguyên tố có độ dài tối thiểu theo bít là 2secure_strength(nlen).

Tiêu chuẩn về độ dài tối thiểu của các số nguyên tố bổ trợ

Độ dài tối thiểu các số nguyên tố bổ trợ p1, p2, q1, q2 là 2secure_strength(nlen) tương ứng với độ dài modulus, cụ thể được cho như

bảng 2.4:

Bảng 2.4: Độ dài tối thiểu của các số nguyên tố bổ trợ.

nlen n1, n2, n3, n4

1536 bít 212 bít

1792 bít 226 bít

2048 bít 240 bít

2.1.3.3. Tiêu chuẩn về độ dài của các số nguyên tố p, q

Tiêu chuẩn về độ dài các số nguyên tố p, q nhằm kháng lại kiểu tấn công phân tích số có thời gian tính phụ thuộc vào độ lớn của các nhân tử nguyên tố và tăng hiệu quả tính toán khi sử dụng bộ tham số RSA.

Các thuật toán phân tích số có thể được chia làm hai loại: các thuật toán có thời gian chạy phụ thuộc vào độ lớn của các nhân tử, và các thuật toán có thời gian chạy phụ thuộc vào độ lớn của số cần phân tích. Thuật toán nhanh nhất thuộc loại thứ nhất là phương pháp phân tích số dựa vào các đường cong

elliptic (ECM). Mặc dù nhân tử nguyên tố lớn nhất đã được tìm thấy trong thực hành bởi thuật toán này chỉ cỡ 145 bít (khoảng 40 chữ số thập phân), nhưng chúng ta không loại trừ khả năng phát triển của các thuật toán phân tích số thuộc loại thứ nhất trong những năm tới. Bởi vậy cách tốt nhất để chống lại kiểu tấn công dựa vào lớp các thuật toán phân tích số kiểu này là lựa chọn p, q có độ dài như nhau.

Mặt khác, chúng ta đều biết rằng số mũ công khai và tương tự số mũ bí mật cần phải là lớn (phần tiêu chuẩn cho số mũ công khai và số mũ bí mật), điều này dẫn đến thời gian để thực hiện công đoạn mã hóa/giải mã, ký/kiểm tra chữ ký cũng lớn. Để tăng tốc độ cho quá trình sinh chữ ký (và quá trình giải mã), thay vì cho việc tính md (mod N) người ta sử dụng công thức sau

(mod ) ( )(mod )

d

p q

m Nambm N

với aq q( 1mod )p , bp p( 1mod )q (a, b thường được tính trước),

(mod( -1))

( (mod ))d p (mod )

p

mm p p , mq ( (mod ))m q d (mod( -1))q (mod )q . Biết rằng một phép luỹ thừa theo modulo N cần đến cỡ O(nlen3) phép toán cơ bản như vậy nếu gọi plenqlen lần lượt là độ dài theo bít của pq

thì với công thức trên, ta có khối lượng tính toán vào cỡ O(plen3)+O(qlen3). Với ràng buộc là plen + qlen = nlen thì giá trị trên sẽ đạt tối ưu khi:

plen = qlen = nlen/2.

Tiêu chuẩn vềđộ dài các s nguyên t p, q

p và q được chọn ngẫu nhiên từ các số nguyên tố có độ dài:

  

( / 2) 1 / 2 (adsbygoogle = window.adsbygoogle || []).push({});

( 2 )(2nlen ) p q, (2nlen 1)

2.1.3.4. Tiêu chuẩn về độ lớn của hiệu |p-q|

Tiêu chuẩn này nhằm chống lại các tấn công kiểu Fermat khi pq = c với c nhỏ, xét thuật toán tấn công Fermat:

Thuật toán 2.2 (Thuật toán Fermat) Đầu vào:

N = pq với (p < q < 2p);

Đầu ra:

ước nguyên tố p của n

Thực thi:

Bước 1: m = N  

Bước 2: z = m2 – N

Bước 3: Nếu (z = u2) lấy p = m – u2 . Ngược lại m = m + 1 và chuyển

về bước 2

Bước 4: Trả về p

Tính đúng đắn:

Trước hết p, q là các số có độ dài đúng nlen/2 bít (tiêu chuẩn về độ dài các số nguyên tố p, q), với vai trò p, q như nhau nên điều kiện p < q < 2p

được thoả mãn. Ta có 2 q p N

 nên trong bước 1 giá trị xuất phát của m =  N. Như vậy, nếu khi

2 q p m  thì ta có luôn 2 2 2 2 2 2 q p q p zmN     pq   u     Và 2 2 2 q p q p mu      p Thời gian tính:

2 2 1 1 ( 2 ) ( ) 2 2 2 q p N N p p N N p p p        (2.4)

với p < q < 2p ta có pq  2p suy ra:

1 2 q p p    , và 2 q p p   , hay 2 1 2 q p q p p      (2.5)

Nhân các vế của bất đẳng thức (2.5) với ( qp) ta được:

( ) ( ) ( ) 2 1 2 q p q p q p p q p q p         2 1 2 q p q p N p        (2.6)

Trong trường hợp q p = c, từ (2.4) và (2.6) ta có số bước thực hiện thuật toán Fermat thoả mãn:

2 2 2 2 2 1 ( ) 16 2 (1 2) 2 8 c c c N p pp   p   p

Chúng ta thấy tấn công kiểu Fermat sẽ rất hiệu quả khi c có giá trị nhỏ. Để hệ thống mật mã RSA an toàn trước kiểu tấn công này c cần thoả mãn:

2 16 c p> 2 secure_strength(nlen) 2 sec _ ( ) 4

2 ure strength nlen

cp   Với p < 2nlen/2, ta có: sec _ ( ) 2 4 2 2

nlen ure strength nlen (adsbygoogle = window.adsbygoogle || []).push({});

Nếu so sánh với tiêu chuẩn trong [10, tr 53] khuyến cáo:

c > 2(nlen/2)-100 (2.8)

thì với các độ dài modulus mà luận án đề xuất như trong bảng 2.3 khi thay vào (2.7) sẽ nhận được giá trị ngưỡng của c nhỏ hơn. Như vậy, việc sử dụng điều kiện (2.8) làm tiêu chuẩn cho độ dài của hiệu |p – q| thì hệ mật RSA an toàn trước tấn công của Fermat. Cụ thể, giá trị |p – q| có độ lớn tối thiểu được cho như bảng 2.5.

Tiêu chuẩn về độ dài tối thiểu |p-q|

Bảng 2.5: Tiêu chuẩnđộ dài tối thiểu của |p-q|.

nlen Độ dài tối thiểu của |p-q|

1536 bít 668 bít

1792 bít 796 bít

2048 bít 924 bít

2.1.3.5. Tiêu chuẩn về độ lớn ước nguyên tố của |p-q|

Trong chương trước của luận án đã giới thiệu các tiêu chuẩn tham số RSA được đưa ra bởi [6], trong đó còn một số tiêu chuẩn có trong các phiên bản nháp của tài liệu này nhưng đã không được phê chuẩn trong đó có điều kiện do R. L. Rivest và R. D. Silverman [28] đưa ra như sau:

|p-q| có ước nguyên tố lớn (2.9) Về cơ sở của việc đề xuất trong [6] chỉ đưa ra như sau: tiêu chuẩn này nhằm chống lại tấn công của R. Pinch được phát triển từ phương pháp của Lehmer, tuy nhiên phương pháp này yêu cầu độ phức tạp tính toán cỡ N1/ 3. Với các độ dài modulus đã được đề xuất thì các tấn công này không hiệu quả. Năm 1997, trong công bố của mình Robert D. Silverman [28] đã nhận định rằng việc kiểm tra sự thoả mãn tiêu chuẩn về ước nguyên tố của |p-q| là rất khó thực hiện và đề nghị rằng chỉ cần thử thực hiện phân tích |p-q| bởi phương pháp phân tích số nguyên dựa trên đường cong elliptic (ECM) ([16], [23]) để đảm bảo rằng giá trị này không chỉ gồm những ước nguyên tố nhỏ.

Có lẽ đây cũng là một trong những lý do để điều kiện (2.9) không được phê duyệt trong [6].

Trong chương 3 của luận văn sẽ giới thiệu việc xây dựng thuật toán có thể sinh các số nguyên tố p, q thoả mãn (2.9). Bởi vậy, mặc dù việc lý giải cơ sở đề xuất chưa thật sự được tường minh, nhưng luận án vẫn mạnh dạn đề xuất tiêu chuẩn này là một trong các tiêu chuẩn thuộc hệ tiêu chuẩn tham số RSA an toàn cần xây dựng.

Tiêu chuẩn về ước nguyên tố của|p-q|

Ước nguyên tố của|p-q| có độ dài tối thiểu theo bít như bảng 2.6: Bảng 2.6: Tiêu chuẩn về ước nguyên tố của |p-q|.

nlen n0

1536 bít 106 bít

1792 bít 113 bít

2048 bít 120 bít

Một phần của tài liệu Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng (Trang 55 - 63)