3.2.1.1. Một số hằng, biến, cấu trúc được sử dụng Các hằng
int SS[] = {106, 113, 120}; int Dlen[] = {1260, 1470, 1680}; int PQlen[] = {768, 896, 1024}; int Condition[] = {15, 15, 16} ;
Cấu trúc lưu bằng chứng về tính nguyên tố
typedef struct { big n[100]; big q[100]; big a[100]; int level; }TABLE;
Cấu trúc lưu các kết quả trung gian và các tham số
typedef struct { big n; big e; big d; big p; big q; big p1; big p11; big q1; big q11;
big p0; int n0; }PARAMS;
3.2.1.2. Hàm sinh số nguyên tố theo thuật toán của Maurer Nguyên mẫu hàm:
void Provable_Gen(unsigned int k, big N, int flag)
Chức năng:
Sinh số nguyên tố có độ dài theo bít cho trước theo thuật toán sinh số nguyên tố tất định của Maurer (Thuật toán 1.14).
Các tham số
k Số nguyên chỉ độ dài theo bít của số nguyên tố cần sinh
N Số nguyên tố sinh được
flag Một biến có chức năng như một cờ nhớ dùng để lưu bằng chứng về tính nguyên tố của số nguyên tố sinh được .
3.2.1.3. Hàm sinh số nguyên tố p Nguyên mẫu hàm
int SinhP(PARAMS *RSA, int level)
Chức năng:
Sinh số nguyên tố p theo Thuật toán 3.1
Các tham số
level Số nguyên qui ước nhằm xác định độ dài theo bít của số nguyên tố pcần sinh
Giá trị trả về
1 Nếu thuật toán sinh được số nguyên tố p
0 Thuật toán thất bại
3.2.1.4. Hàm sinh số nguyên tố q Nguyên mẫu hàm
int SinhQ(PARAMS *RSA, int level)
Chức năng:
Sinh số nguyên tố q theo Thuật toán 3.2
Các tham số
RSA Cấu trúc lưu: Đầu vào gồm: p, p0
Đầu ra gồm: q, q1, q11
level Số nguyên qui ước nhằm xác định độ dài theo bít của số nguyên tố qcần sinh
Giá trị trả về
1 Nếu thuật toán sinh được số nguyên tố q
0 Thuật toán thất bại
3.2.1.5. Hàm sinh số mũ bí mật và số mũ công khai Nguyên mẫu hàm
Chức năng:
Sinh số mũ bí mật và số mũ công khai cho bộ tham số RSA an toàn theo Thuật toán 3.3
Các tham số
RSA Cấu trúc lưu:
Đầu vào gồm: p, p1, p11, q, q1, q11
Đầu ra gồm: e, d
3.2.1.6. Hàm sinh tham số RSA Nguyên mẫu
int SinhThamSo(PARAMS *RSA, int elen)
Các tham số
RSA Cấu trúc lưu kết quả đầu ra gồm: N, e, d
level Số nguyên qui ước nhằm xác định độ dài theo bít của RSA modulus
elen Độ dài theo bít số mũ công khai e
Giá trị trả về
1 Quá trình sinh tham số RSA thành công 0 Quá trình sinh tham số RSA thất bại
Chi tiết về mã nguồn một số hàm quan trọng được luận án liệt kê trong Phụ lục 1.