Thuật toán SinhQ (Thuật toán sinh số nguyên tố thứ hai)

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 86 - 88)

3.1.3.1. Thuật toán 3.2 Đầu vào:

level Độ dài theo bít của số nguyên tố cần sinh q.

p Số nguyên tố thứ nhất dùng để tính RSA modulus

Đầu ra:

q Số nguyên tố cần sinh

q1 Ước nguyên tố của q-1

q11 Ước nguyên tố của q1-1

Giá tr tr v:

1 Sinh q thành công. 0 Sinh q thất bại.

Thực thi:

Bước 1: Lấy qlen = PQlen[level]; s = SS[level]; condlen=log2(qlen)+5; n0

= log2(p0), dist=2(qlen)-100; res = 0;

Bước 2: Trong khi ((n0+n3)  plen/2) thì lấy n3 = 2s + random(qlen - 4s - n0 - condlen - 1);

Bước 3: Lấy n4 = 2s + random(qlen - 2s - n0 - n3 - condlen - 1)

Bước 4: Sinh số nguyên tố q1 có độ dài n3 bít và q11 có ước nguyên tố là

11 1

qq .

Bước 5: Sinh số nguyên tố q2 có độ dài n4 bít

Bước 6: Sinh ngẫu nhiên một số nguyên   1

2 2qlen 1, 2qlen 1

x    

 

Bước 7: Chọn số y trong khoảng 1, q2 sao cho 1 yp q0 1(mod q2)

Bước 8: Tính t(2yp0q1x) /(2p0q q1 2); counter = 0;

Bước 9: Nếu 2(tq2 y p) 0q1 1 2qlen thì lấy

1 0 1 0 1 2 (2 ( 2)(2qlen ) ) /(2 ) t  ypq    pq q     

Bước 10: counter = counter + 1; q2(tq2 y p q) 0 11; nếu |p-q|  dist thì thực hiện:

d. Nếu counter > 5qlen thì chuyển sang bước 15. e. Lấy t = t + 1 và quay lại bước 9.

Bước 11: Sinh ngẫu nhiên số nguyên a2, q2.

Bước 12: Tính: a. 2( 2 ) 1 (mod ) tq y q uaq ; b. 2( 2 ) 0 (mod ) tq y p v a  q ; c. 2( 2 ) 1 0 (mod ) tq y q p zaq

Bước 13: Nếu gcd(u – 1 , q) = 1 và gcd(v – 1 , q) = 1 và z1 thì lấy res = 1 và chuyển sang bước 15. (adsbygoogle = window.adsbygoogle || []).push({});

Bước 14: Nếu counter < 5qlen thì lấy t = t + 1 và quay về Bước 9. Bước 15: Cho đầu ra (q, q1, q11) và trả về res.

3.1.3.2. Phân tích thuật toán 3.2

Xem xét thuật toán 3.2 tương tự như đã xem xét thuật toán 3.1 trong phần 3.1.2.2, ta có các khẳng định dưới đây:

i) Số nguyên q được sinh bởi Thuật toán 3.2 chắc chắn là số nguyên tố. ii) q - 1 có ước là q1 và q +1 có ước là q2.

Bây giờ chúng ta xem xét các tính chất của các số nguyên tố p, q được sinh bởi các Thuật toán 3.1 và 3.2.

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 86 - 88)