Hãy trình bày các bước cơ bản trong giải thuật mã hóa RSA? Hãy lấy ví dụ minh họa về quá trình

Một phần của tài liệu Giải đề cương Mật Mã Học Cơ Sở PTIT (Trang 25 - 27)

mã hóa RSA? Hãy lấy ví dụ minh họa về quá trình mã hóa của giải thuật RSA? Hãy nêu các yêu cầu cơ bản trong quá trình sinh khóa của giải thuật RSA.

Mã hóa Giả sử có đoạn thông tin M cần gửi. Đầu tiên chuyển M thành một số m<n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước.

Lúc này ta có m và biết n cũng như e của người nhận. Ta sẽ tính c là bản mã hóa của m theo công thức:

C= me mod n

Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng (thuật toán bình phương và nhân)

Cuối cùng Ta gửi c cho đối tác.

 Yêu cầu cơ bản trong các bước tạo khóa :

1. Chọn 2 số nguyên tố lớn p và q . với p khác q , lựa chọn ngẫu nhiên và độc lập . yêu cầu là p , q đủ lớn và hiệu p- q không quá lớn và không quá bé để tránh bị phát hiện bằng phương pháp dò số .

2. Tính n = p.q

3. Tính giá trị hàm số Ω(n) = (p-1)(q-1).

4. Chọn một số tự nhiên e sao cho 1<e<Ω(n) và là số nguyên tố cùng nhau với Ω(n).

5. Tính d sao cho d.e = 1(mod Ω(n)). Khi đó :

- Khóa công khai : (n,e)

- Khóa bí mật : (n,d)  Ví dụ : o Sinh khóa : Chọn các số nguyên tố p=17 , q=11 Tính n =p.q = 17.11=187 Tính Ω(n)=(p-1)(q-1)=16.10=160 Chọn e= gcd(e,160) =1 ; lấy e=7

Xác định d: d=e-1 mod 160 và d<160 , nên ta được d=23 .

 Khóa công khai : KU ={187,7}

 Khóa bí mật : KR={187,23}

o Áp dụng mã RSA :

– Cho mẩu tin M = 88 (vậy 88<187)

– Mã C = 887 mod 187 = 11

– Giải mã M = 1123 mod 187 = 88

– Có thể dùng định lý phần dư Trung Hoa để giải mã cho nhanh như sau:

• Tính 1123 mod 11 = 0

Vì (-6)2 mod 17 = 2, nên (-6)4 mod 17 = 4, (-6)8 mod 17 = -1,

(-6)16 mod 17 = 1

• 11-1 mod 17 = (-6)-1 mod 17 = 14 nên 11(11-1

mod 17) = 11(14 mod 17) = c2 = 154

• Vậy M = (3.154) mod 187 = 462 mod 187 = 88

Một phần của tài liệu Giải đề cương Mật Mã Học Cơ Sở PTIT (Trang 25 - 27)

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

(28 trang)
w