Hệ thống mật mã khĩa cơng khai RSA

Một phần của tài liệu CÔNG NGHỆMẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN (Trang 94 - 96)

RSA do Rivest, Shamir và Adleman phát triển năm 1977. Sơđồ RSA là sơđồ

mã hĩa từng khối, với mỗi khối cĩ giá trị nhỏ hơn n. Việc mã hĩa và giải mã theo hình thức sau, cho khối văn bản M và khối bảo mật C:

C = Me mod n

M = Cd mod n = (Me)d mod n = Mde mod n

Cả người gửi và nhận phải biết giá trị n, người gửi biết e và chỉ cĩ người nhận biết d. Cho nên đây là giải thuật mã hĩa với khĩa cơng khai KU = [e,n] và khĩa bí mật KR = [d,n]. Vì giải thuật này thỏa giải thuật mã khĩa cơng khai nên các yêu cầu sau phải được đáp ứng:

Cĩ thể tìm thấy giá trị d, e, n để: M = Mde mod n với mọi M<n hay khơng?

Một cách tương đối dễ dàng tính Me và Cd với mọi M<n hay khơng?

Khơng thể xác định d khi biết e và n.

Theo lý thuyết Euler: cho 2 số nguyên p và q, 2 số nguyên n và m (n=p*q, 0<m<n) và số nguyên k. Ta cĩ:

mk0(n)+1mod n= mk(p-1)(q-1)+1 mod n= m mod n 0(n)=0(pq)=(p-1)(q-1)

Do đĩ:

Nếu: de = k0(n) + 1 và gcd(0(n),e)=1 (gcd: ước s chung ln nht) Thì: de mod 0(n) = 1 và d mod 0(n) = e-1

Sơđồ RSA:

• Giả sử user A đã cơng bố khĩa cơng khai e của nĩ và user B muốn gửi

đoạn tin M tới A. Khi đĩ B tính C=Me mod n và truyền C. Khi nhận được đoạn tin C này, user A giải mã bằng cách tính Cd mod n. Cĩ thể thấy rằng M=Cd mod n vì:

de mod 0(n) = 1 hay de = k0(n)+1

Mk0(n)+1mod n = Mk(p-1)(q-1)+1mod n=M mod n=(Mde mod n) modn=Mde mod n Cd mod n = (Me)dmod n = Mde mod n = M

Cĩ thể tĩm tắt giải thuật RSA như bảng sau:

Bng 4.3: Tĩm tt gii thut RSA và độ phc tp

To khĩa Độ phc tp

Tạo 2 số nguyên tố lớn p và q Tính n = p*q, 0(n) = (p-1)*(q-1)

Chọn 1 số ngẫu nhiên 1<e<0(n): gcd (0(n),e) = 1 Tính d: d=e-1mod 0(n) (giải thuật Euclidean mở rộng) Khĩa cơng khai KU=[e,n]

Khĩa bí mật KR=[d,n]

0((log n)2) 0(log(0(n))2) 0((log n)3)

Ví dụ về quá trình mật mã và giải mã của thuật tốn RSA: Chọn p = 3, q = 11. Khi đĩ ta cĩ n = pq = 33 và (p-1)(q-1) = 20 = 2*5*5. Giá trị e được chọn phải quan hệ

nguyên tố với 20 , nghĩa là khơng chứa các ước số 2,5 và e < 20. Ta chọn e = 3, d = 7. Khi đĩ ta cĩ: Phía mt mã: Gi s cĩ bn tin: M = {10, 9, 5, 20} M3={1000, 729, 125, 8000} và C=M3 mod 33={10, 3, 26, 14}. Phía gii mã: C7 ={107, 2187, 267, 147} M=C7 mod 33{10, 9, 5, 20}

Kích thước khĩa RSA: tùy thuộc vào tính bảo mật và thời gian sống của khĩa mà khĩa cĩ chiều dài thích hợp:

• Loại Export: : 512 bít. • Loại Personnal : 768 bit. • Loại Commercial : 1024 bit. • Loại Militery : 2048 bit.

Trên đây là những nội dung chính của thuật tốn mật mã RSA. Thực tế, để thực hiện được các thuật tốn với kích thước khĩa lớn địi hỏi một lượng tính tốn rất lớn liên quan đến vấn đề lý thuyết số như thuật tốn Euclide để tìm USCLN của hai số

nguyên hay thuật tốn Miller-Rabin để kiểm tra tính nguyên tố của các số tự nhiên này.

Một phần của tài liệu CÔNG NGHỆMẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN (Trang 94 - 96)

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

(121 trang)