Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 🔐 RSA – Thuật toán mã hóa đứng sau rất nhiều kết nối bảo mật trên Internet

    Trong thế giới an toàn thông tin, có một thuật toán gần như trở thành nền tảng cho nhiều hệ thống bảo mật hiện đại: RSA (Rivest–Shamir–Adleman).

    Được công bố năm 1977, RSA là một trong những thuật toán mã hóa bất đối xứng (asymmetric cryptography) đầu tiên được ứng dụng rộng rãi. Cho đến nay, nó vẫn xuất hiện trong nhiều công nghệ quen thuộc như HTTPS, chữ ký số, email bảo mật, VPN và hệ thống thanh toán trực tuyến.
    1️⃣ RSA là gì?
    Click image for larger version

Name:	image.png
Views:	0
Size:	32.2 KB
ID:	439002

    RSA là thuật toán mã hóa public-key cryptography, nghĩa là nó sử dụng hai khóa khác nhau:
    • Public Key (khóa công khai) → dùng để mã hóa dữ liệu
    • Private Key (khóa bí mật) → dùng để giải mã dữ liệu

    Khóa công khai có thể chia sẻ cho bất kỳ ai, nhưng private key phải được giữ tuyệt đối bí mật.

    Ví dụ đơn giản:
    1. Người A muốn gửi thông điệp cho người B
    2. A dùng Public Key của B để mã hóa thông điệp
    3. B dùng Private Key của mình để giải mã

    Nhờ vậy, dù dữ liệu bị chặn trên đường truyền thì kẻ tấn công không thể đọc được nội dung.
    2️⃣ Cách RSA hoạt động (tóm tắt)


    RSA dựa trên hai khái niệm toán học chính:
    • Phân tích số nguyên lớn (Integer Factorization)
    • Số học modulo (Modular Arithmetic)

    Thuật toán gồm 3 giai đoạn chính:
    🔑 1. Tạo khóa (Key Generation)


    Quy trình tạo khóa gồm các bước:
    1. Chọn hai số nguyên tố lớn pq
    2. Tính:
    n = p × q

    Tính hàm Euler:φ(n) = (p − 1)(q − 1)

    Chọn số e sao cho:1 < e < φ(n)

    gcd(e, φ(n)) = 1

    Tính d sao cho:d × e ≡ 1 (mod φ(n))

    Kết quả:
    • Public Key: (n, e)
    • Private Key: (n, d)

    🔒 2. Mã hóa (Encryption)


    Thông điệp ban đầu M được chuyển sang dạng số.

    Sau đó mã hóa bằng công thức:
    C = M^e mod n

    Trong đó:
    • C là ciphertext
    • e, n thuộc Public Key

    🔓 3. Giải mã (Decryption)


    Người nhận dùng Private Key:
    M = C^d mod n

    Kết quả thu lại thông điệp gốc.
    3️⃣ Tại sao RSA lại an toàn?


    Độ bảo mật của RSA nằm ở bài toán:
    Phân tích một số rất lớn thành hai số nguyên tố


    Nếu chỉ biết:
    n = p × q

    nhưng p và q cực lớn (ví dụ 2048 bit), thì việc tìm lại p và q gần như không khả thi với máy tính hiện nay.

    Do đó:
    • Public key có thể công khai
    • Nhưng không thể suy ra private key trong thời gian hợp lý

    4️⃣ Ví dụ RSA đơn giản


    Giả sử có thông điệp:
    M = 123

    Sau khi mã hóa:
    Encrypted Message = 3332110

    Sau đó giải mã lại:
    Decrypted Message = 123

    Thông điệp ban đầu được khôi phục chính xác.
    5️⃣ Ứng dụng thực tế của RSA


    RSA được sử dụng trong rất nhiều hệ thống bảo mật:
    • HTTPS / TLS
    • Chữ ký số (Digital Signature)
    • Email mã hóa (PGP)
    • VPN
    • Thanh toán trực tuyến
    • Hạ tầng PKI

    Trong nhiều giao thức hiện đại, RSA thường dùng để trao đổi khóa, sau đó dữ liệu sẽ được mã hóa bằng AES để tăng tốc độ xử lý.
    6️⃣ Ưu điểm của RSA


    ✔ Độ bảo mật cao
    ✔ Hỗ trợ mã hóa và chữ ký số
    ✔ Không cần chia sẻ khóa bí mật trước
    ✔ Ứng dụng rộng rãi trong nhiều hệ thống
    7️⃣ Nhược điểm của RSA


    Tuy mạnh mẽ nhưng RSA cũng có một số hạn chế:
    • Xử lý chậm hơn so với các thuật toán đối xứng
    • Kích thước khóa lớn (2048 bit hoặc hơn)
    • ⚠ Có thể bị khai thác qua side-channel attack
    • ⚠ Trong tương lai có thể bị đe dọa bởi quantum computing

    📌 Kết luận


    RSA là một trong những nền tảng quan trọng của mật mã học hiện đại. Mặc dù đã ra đời gần 50 năm, thuật toán này vẫn đóng vai trò lớn trong việc bảo vệ dữ liệu trên Internet.

    Trong thực tế, RSA thường không dùng để mã hóa toàn bộ dữ liệu, mà chủ yếu dùng để trao đổi khóa và xác thực, sau đó kết hợp với các thuật toán nhanh hơn như AES.​
Working...
X