Một số hàm thực thi thuật toán sinh tham số RSA an toàn

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 93 - 96)

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 (adsbygoogle = window.adsbygoogle || []).push({});

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.

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 93 - 96)