0
Tải bản đầy đủ (.doc) (52 trang)

Mục đích và hoạt động của chương trình

Một phần của tài liệu XỬ LÝ SONG SONG QUÁ TRÌNH SINH KHÓA CỦA HỆ THỐNG CẤP PHÁT CHỨNG THỰC SỐ (Trang 43 -44 )

Mục đích

Chương trình tạo ra với mục đích sinh khóa cho hệ thống cấp phát chứng thực số. Cụ thể hơn sinh cặp số nguyên tố mạnh p,q - là yếu tố chủ chốt trong việc sinh khóa hệ mã RSA được ứng dụng của hệ thống CA.

Mô tả hoạt động

Đầu vào

Số N: số cặp p,q sẽ được sinh ra sau khi chương trình chạy xong.

Quá trình xử lý sinh một cặp số

 Chương trình sử dụng hàm khởi tạo class mới RSACryptoServiceProvider có namespace System.Security.Cryptography. Về thực chất việc tạo ra class mới trên chính là sinh ra một chìa khóa RSA mà trong đó có các thành phần như

n q p d

e, , , , .

 Chuyển 2 số p,q từ dạng dữ liệu byte[] sang kiểu BigInteger (class số nguyên lớn trong System.Numerics). Sau đó với từng số p,q kiểm tra các test.

 Kiểm tra số p theo: thuật toán Miller-Rabin xác suất lỗi 2100 và thuật toán Lucas.

 Kiểm tra số q theo: thuật toán Miller-Rabin xác suất lỗi 2−100 và thuật toán Lucas.

 Kiểm tra điều kiện ràng buộc giữa pq để chìa khóa RSA trên là an toàn theo chuẩn FIPS 186-3.

 Kiểm tra tính nguyên tố mạnh của p,q: tìm các thừa số nguyên tố p1,p2,q1,q2 lần lượt của p−1,p+1,q−1,q+1và kiểm tra độ dài tính theo bit của chúng dựa trên bảng 2.3.

Các kiểm tra Miller-Rabin, Lucas, và tính nguyên tố mạnh là do bản thân em tự code dựa theo hướng dẫn thuật toán ở phần 2.2.2, 2.2.3, và 2.3.

 Sử dụng vòng lặp song song Parallel.For trong namespace System.Threading.Tasks đi từ 0 đến N-1 bên ngoài quá trình xử lý sinh một cặp số ở trên. Các công việc cụ thể được tự động chia đều lên số lõi hiện có.

 Ngoài ra trong quá trình kiểm tra tính nguyên tố mạnh của p,q có bước tìm các thừa số nguyên tố p1,p2,q1,q2 lần lượt của p−1,p+1,q−1,q+1. Các bước này là độc lập nên đã được song song bằng lệnh Parallel.Invoke.

Đầu ra

 Đầu ra của chương trình là N cặp số p,q thỏa mãn các điều kiện là số giả nguyên tố có xác suất lỗi rất thấp (giả nguyên tố mạnh) và đồng thời có tính chất mạnh theo nghĩa số p−1,q−1 khó bị hacker phân tích ra các thừa số nguyên tố vụn khi p,q được dùng làm khóa.

 Chương trình thông báo số cặp p,q đã được sinh bằng thư viện C# không thỏa mãn kiểm tra Miller-Rabin và Lucas, không thỏa mãn điều kiện nguyên tố mạnh. Ngoài ra, chương trình còn thông báo thời gian chạy của chương trình có sai số (trong điều kiện không lý tưởng là vì trong quá trình chương trình chạy còn có các tiến trình khác của hệ điều hành cũng đang chạy).

Một phần của tài liệu XỬ LÝ SONG SONG QUÁ TRÌNH SINH KHÓA CỦA HỆ THỐNG CẤP PHÁT CHỨNG THỰC SỐ (Trang 43 -44 )

×