Kiến thức Thuật toán DSA là gì? Quy trình mã hóa chữ ký số...

Thuật toán DSA là gì? Quy trình mã hóa chữ ký số của DSA

4

Thuật toán chữ ký số DSA là một trong những giải pháp bảo mật quan trọng trong giao dịch điện tử hiện đại. Với khả năng xác thực nguồn gốc và đảm bảo toàn vẹn dữ liệu, DSA ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực. Hãy cùng MISA eSign tìm hiểu về tính năng vượt trội của thuật toán chữ ký số DSA giúp doanh nghiệp nâng cao an toàn thông tin số.

1. Thuật toán DSA là gì?

Thuật toán DSA (Digital Signature Algorithm) là một tiêu chuẩn thuật toán dùng để xác thực chữ ký điện tử, đảm bảo tính xác thực và toàn vẹn của thông tin số. Thuật toán này được đề xuất vào năm 1991 và trở thành tiêu chuẩn toàn cầu vào năm 1994, do Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) ban hành. DSA chủ yếu được sử dụng trong các giao dịch điện tử, chứng thực văn bản và bảo mật dữ liệu.

Thuật toán DSA áp dụng kiến trúc mật mã bất đối xứng, sử dụng hai loại khóa là khóa công khai và khóa bí mật để xác thực chữ ký số.

Mã hóa bất đối xứng sử dụng hai khóa riêng biệt: một khóa để mã hóa và một khóa để giải mã. Khóa công khai (public key) dùng để mã hóa, còn khóa bí mật (private key) dùng để giải mã. Cả hai loại khóa đều phải được tạo từ phía người nhận ngay từ đầu.

thuật toán dsa mã hóa đối xứng

Việc tách biệt hai khóa phục vụ cho mã hóa và giải mã đã loại bỏ nhu cầu trao đổi khóa, từ đó tăng cường mức độ bảo mật.

Có thể bạn quan tâm?

2. Ứng dụng của thuật toán DSA trong chứng thực chữ ký số

Căn cứ khoản 12 điều 1 Luật giao dịch điện tử số 20/2023/QH15 quy định:

Chữ ký số là chữ ký điện tử sử dụng thuật toán khóa không đối xứng, gồm khóa bí mật và khóa công khai, trong đó khóa bí mật được dùng để ký số và khóa công khai được dùng để kiểm tra chữ ký số. Chữ ký số bảo đảm tính xác thực, tính toàn vẹn và tính chống chối bỏ nhưng không bảo đảm tính bí mật của thông điệp dữ liệu.

Như vậy, chữ ký số là phương tiện xác thực điện tử cho phép xác nhận tính toàn vẹn và nguồn gốc của văn bản hoặc tài liệu điện tử. Công nghệ này được tạo ra dựa trên cơ chế mã hóa bất đối xứng.

  • Cơ chế hoạt động

Chữ ký số hoạt động theo nguyên tắc:

    • Mã hóa: Sử dụng khóa cá nhân (private key) để ký tài liệu
    • Giải mã: Sử dụng khóa công khai (public key) để xác minh chữ ký

Do hai khóa được liên kết với nhau, việc giải mã thành công bằng khóa công khai chứng minh rằng khóa cá nhân tương ứng đã được sử dụng, từ đó xác minh nguồn gốc của chữ ký.

  • Lợi ích sử dụng thuật toán chữ ký số (DSA)
    • Xác minh nguồn gốc: Thông qua thông tin trên chứng thư số có thể xác định được chủ thể thực hiện ký trên nội dung.
    • Đảm bảo toàn vẹn: Dữ liệu đã ký số không thể bị sửa đổi hoặc giả mạo, bởi hệ thống đảm bảo chỉ giải mã được khi dữ liệu không bị biến đổi.
    • Không thể phủ nhận: Người đã ký không thể chối bỏ giao dịch, vì chữ ký số gắn liền với thông tin định danh của người ký và có thể xác minh công khai.

3. Quy trình mã hóa chữ ký số của thuật toán DSA

quy trình mã hóa thuật toán DSA

3.1 Tạo khóa

  • Chọn số nguyên tố: Chọn một số nguyên tố q (ước số nguyên tố) và một số nguyên tố p sao cho p-1 chia hết cho q.
  • Chọn số nguyên g: Đảm bảo g thỏa mãn g^q \mod p = 1 và g = h^{(p-1)/q} \mod p với 1 < g < p.
  • Khóa riêng tư: Chọn x (khóa bí mật), là số nguyên ngẫu nhiên 0< x <q
  • Khóa công khai: Tính y = g^x \mod p.
  • Đóng gói khóa:
    • Khóa riêng tư: {p, q, g, x}
    • Khóa công khai: {p, q, g, y}

3.2 Tạo chữ ký

  • Băm thông điệp: Truyền thông điệp M qua hàm băm để lấy thông báo băm h.
  • Chọn số ngẫu nhiên: Chọn k ngẫu nhiên, 0 < k < q
  • Tính giá trị r: r = (g^k \mod p) \mod q.
  • Tính giá trị s: s = k^{-1}(h + x \cdot r) \mod q.
  • Tạo chữ ký: Đóng gói chữ ký thành {r, s} và gửi gói {M, r, s} cho người nhận.

3.3 Xác minh chữ ký

  • Tạo thông báo băm: Dùng hàm băm để tính toán h từ thông điệp M.
  • Tính toán các giá trị xác minh:
    • w = s^{-1} \mod q
    • u_1 = h \cdot w \mod
    • u_2 = r \cdot w \mod q
    • v = [g^{u_1} \cdot y^{u_2} \mod p] \mod q
  • Đối chiếu kết quả: Chữ ký hợp lệ nếu v = r

4. So sánh thuật toán DSA và thuật toán RSA trong chữ ký số

DSA và RSA đều là hai thuật toán mã hóa khóa công khai được sử dụng phổ biến trong lĩnh vực tạo và xác thực chữ ký số. Một số ưu điểm của DSA so với RSA như sau:

  • Kích thước khóa nhỏ hơn:

DSA thường yêu cầu kích thước khóa nhỏ hơn RSA để đạt cùng mức độ bảo mật. Việc này giúp giảm thời gian tạo xây dựng chữ ký, tiết kiệm tài nguyên xử lý và lưu trữ.

  • Hiệu suất tính toán nhanh hơn:

DSA sử dụng các phép toán modulo trên số nguyên, trong khi RSA dựa vào phép luỹ thừa modulo trên số nguyên lớn hơn. Do đó, DSA thường mang lại hiệu năng cao hơn trong quá trình tạo cũng như xác minh chữ ký.

  • Khả năng chống tấn công tốt:

DSA được đánh giá an toàn trước các tấn công tìm kiếm khóa công khai và tấn công định thời. Trong khi đó, RSA tồn tại một số lỗ hổng tiềm ẩn, đòi hỏi phải sử dụng khóa dài hơn hoặc có thêm các biện pháp bảo vệ bổ sung để đảm bảo an toàn trước các cuộc tấn công.

Tuy nhiên, RSA vẫn là thuật toán mã hóa khóa công khai mạnh mẽ, phổ biến nhờ sự linh hoạt khi vừa hỗ trợ ký số, vừa hỗ trợ mã hóa dữ liệu. Việc lựa chọn giữa hai thuật toán này phụ thuộc vào nhu cầu, mục tiêu bảo mật và môi trường triển khai thực tiễn của từng hệ thống.

Dưới đây là bảng so sánh chi tiết thuật toán DSA và thuật toán RSA trong chữ ký số:

Tiêu chí DSA RSA
Loại thuật toán Chỉ dùng cho chữ ký số Dùng cho cả mã hóa và chữ ký số
Hiệu năng tạo chữ ký Nhanh Chậm hơn DSA
Hiệu năng xác minh chữ ký Chậm hơn RSA Nhanh
Kích thước khóa (với mức bảo mật tương đương) Nhỏ hơn RSA, giúp giảm thời gian và tiết kiệm tài nguyên Lớn hơn DSA
Hiệu suất tính toán DSA sử dụng các phép toán modulo trên số nguyên, mang lại hiệu năng cao hơn. RSA tính toán dựa vào phép luỹ thừa modulo trên số nguyên lớn hơn.
Tiêu chuẩn sử dụng Chuẩn FIPS 186 (Mỹ) Chuẩn PKCS #1, FIPS 186-4
Tính chất bảo mật Phụ thuộc vào sự ngẫu nhiên tuyệt đối của giá trị k; lộ/tái sử dụng k dẫn tới rò rỉ khóa riêng Bảo mật dựa trên tính khó của việc phân tích thừa số lớn
Khả năng mở rộng ứng dụng Chủ yếu dùng cho chữ ký số Dùng cho cả mã hóa, trao đổi khóa và chữ ký số

Thuật toán chữ ký số DSA đã và đang khẳng định vai trò quan trọng trong việc bảo mật thông tin và xác thực dữ liệu số. Với những ưu điểm vượt trội về tốc độ và độ tin cậy, DSA tiếp tục là lựa chọn hàng đầu cho nhiều hệ thống bảo mật hiện đại. Hy vọng bài viết đã cung cấp cho bạn cái nhìn toàn diện về công nghệ chữ ký số tiên tiến này.

MISA eSign là một trong những đơn vị hàng đầu cung cấp dịch vụ chữ ký số

Hiện nay, việc áp dụng chữ ký số vào các thủ tục hành chính đang ngày càng phổ biến. MISA eSign – giải pháp chữ ký số từ xa uy tín, được tin dùng bởi các doanh nghiệp tại Việt Nam. Dịch vụ được cung cấp bởi Công ty Cổ phần MISA, một đơn vị uy tín với nhiều năm kinh nghiệm trong lĩnh vực phần mềm và giải pháp CNTT. 

Chữ ký số từ xa MISA eSign:

  • Bảo mật thông tin, an toàn tuyệt đối:
    • Được bộ TT&TT cấp phép, đạt tiêu chuẩn Châu Âu eIDAS
    • Đáp ứng đầy đủ quy định pháp luật theo nghị định 130/2018/NĐ-CP và thông tư 16/2019/TT-BTTTT của Bộ TT&TT.
  • Đầy đủ nghiệp vụ giao dịch điện tử: Xuất hóa đơn điện tử, kê khai/nộp thuế điện tử, BHXH, ký hợp đồng điện tử…
  • Tối ưu năng suất, tiết kiệm chi phí vì MISA eSign tích hợp sẵn trong phần mềm hóa đơn điện tử, Thuế điện tử, BHXH, kế toán, bán hàng, nhân sự
  • Ký kết linh hoạt mọi văn bản, chứng từ, hợp đồng dạng word, excel, pdf… mọi lúc, mọi nơi ngay trên điện thoại di động, tablet, máy tính mà không cần USB Token
  • Thủ tục đăng ký đơn giản; Phần mềm dễ dàng sử dụng; hỗ trợ nhanh chóng

phan mem chu ky so an toan nhat

Nếu có nhu cầu sử dụng phần mềm chữ ký số từ xa MISA eSign, quý khách hàng hãy đăng ký nhận báo giá và tư vấn miễn phí tại đây: