Hệ mật mã Rabin

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, so sánh và đánh giá độ an toàn của hệ mật mã rabin và RSA (Trang 52 - 53)

Bài toán để giải hệ mật mã Rabin được đưa ra như sau:

Cho trước 2 số nguyên tố p và q phân biệt và đủ lớn (có độ dài mỗi số khoảng 572 bít). Tính n =p.q

Khóa công khai của Rabin A là n còn khóa riêng là p và q

- Mã hóa: Giả sử thực thể B có một thông báo m ∈ Zn muốn gửi bí mật cho

A. B làm như sau:

Bước 1: Lấy khóa công khai n của A Bước 2: Tính c = m2 mod n

Bước 3: Gửi c cho A

- Giải mã: Sau khi nhận được bản mã c, A thực hiện các bước sau:

Bước 1: Dùng thuật toán tìm căn bậc 2 bình phương theo modulon bằng cách giải phương trình đồng dư toàn phương theo mod p và theo mod q. Kết quả sẽ có 4 nghiệm khác nhau mà ta ký hiệu là: M1, M2, M3, M4 của c mod n

Bước 2: Bức thông điệp m chính là 1 trong 4 nghiệm M1, M2, M3, M4. - Chú ý: Để khẳng định mi (i =1, 2, 3, 4) nào trong các nghiệm là thông điệp m, A qui định trước lúc mã hóa cần lặp lại một số bít đầu của m vào phần đuôi của

m thành m’ rồi mới mã hóa, chẳng hạn bức thông điệp m đổi sang cơ số 2 thành:

m = m1m2 … mk với mi∈ {0, 1}, (i =1, 2, … , k) và

m’ = m1m2 … mkm1m2 … mb Với số b do bên A quy định. Thực tế, qui định đó không làm tăng độ mật cho Rabin mà chỉ làm dễ dàng cho thực thể A khi xác định bản thông báo.

3.1.4. Kết luận

Để giải được hệ mật mã Rabin chính là giải bài toán căn bậc 2 ở trên. Vấn đề phân tích ra thừa số n và tính căn bă ̣c 2 theo module n là tương đương về mă ̣t

tính toán. Nên ta có thể thấy mật mã RSA có độ phức tạp lớn hơn mật mã Rabin.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, so sánh và đánh giá độ an toàn của hệ mật mã rabin và RSA (Trang 52 - 53)

Tải bản đầy đủ (PDF)

(67 trang)