Hiện nay, các hệ thống mật mã được chia thành hai lĩnh vực nghiên cứu chính: mật mã đối xứng và bất đối xứng. Mật mã đối xứng thường được hiểu là mã hóa đối xứng, trong khi mật mã bất đối xứng bao gồm hai mục đích sử dụng chính: mã hóa bất đối xứng và chữ ký số.

Vì vậy, chúng ta có thể xác định các nhóm sau:

  • Mật mã khóa đối xứng

    • Mã hóa đối xứng

  • Mật mã bất đối xứng (hoặc mật mã khóa công khai)

    • Mã hóa bất đối xứng (hoặc mã hóa khóa chung)

    • Chữ ký số (có thể được tạo dựa trên mã hóa hoặc không có mã hóa)

Bài viết này sẽ thảo luận về các thuật toán mã hóa đối xứng và bất đối xứng.


Mã hóa đối xứng và bất đối xứng

Các thuật toán mã hóa thường được chia thành hai loại: mã hóa đối xứng và bất đối xứng. Sự khác biệt cơ bản giữa hai phương pháp mã hóa này là thuật toán mã hóa đối xứng sử dụng một khóa duy nhất, trong khi mã hóa bất đối xứng sử dụng hai khóa khác nhau, tuy nhiên, có liên quan với nhau. Lời giải thích về sự khác biệt này, mặc dù có vẻ đơn giản, nhưng lại giải thích sự khác biệt về chức năng giữa hai dạng phương thức mã hóa và cách chúng được sử dụng.


Khóa mã hóa là gì

Trong mật mã, thuật toán mã hóa tạo ra các khóa dưới dạng một chuỗi bit được sử dụng để mã hóa và giải mã một phần thông tin. Cách sử dụng các khóa này giải thích sự khác biệt giữa mã hóa đối xứng và bất đối xứng.

Trong các thuật toán mã hóa đối xứng, cùng một khóa được sử dụng cho các chức năng mã hóa và giải mã, trong khi ở thuật toán mã hóa bất đối xứng thì ngược lại, hai khóa khác nhau được sử dụng để mã hóa và giải mã. Trong các hệ thống bất đối xứng, khóa dùng để mã hóa được gọi là khóa chung và có thể được chia sẻ với người khác. Và khóa dùng để giải mã là khóa riêng tư và phải được giữ bí mật.

Ví dụ: nếu Katya gửi cho Maxim một tin nhắn được bảo vệ bằng mã hóa đối xứng để anh ấy có thể giải mã tin nhắn đó, Katya phải chia sẻ với anh ấy chính khóa mà cô ấy đã sử dụng để mã hóa nó. Điều này có nghĩa là nếu kẻ tấn công chặn được khóa, chúng có thể truy cập vào thông tin được mã hóa.

Tuy nhiên, nếu Katya sử dụng sơ đồ bất đối xứng thay vào đó, cô ấy sẽ mã hóa tin nhắn bằng khóa chung của Maxim và Maxim sẽ có thể giải mã nó bằng khóa riêng của anh ấy. Do đó, mã hóa bất đối xứng cung cấp mức độ bảo mật cao hơn vì ngay cả khi ai đó chặn tin nhắn của họ và tìm thấy khóa chung của Maxim, họ sẽ không thể giải mã tin nhắn.


Độ dài của phím

Một sự khác biệt về chức năng khác giữa mã hóa đối xứng và bất đối xứng có liên quan đến độ dài khóa. Độ dài được đo bằng bit và liên quan trực tiếp đến mức độ bảo mật được cung cấp bởi mỗi thuật toán mã hóa.

Trong sơ đồ đối xứng, các khóa được chọn ngẫu nhiên và độ dài của chúng thường được đặt thành 128 hoặc 256 bit, tùy thuộc vào mức độ bảo mật được yêu cầu. Nhưng trong mã hóa bất đối xứng, phải có mối quan hệ toán học giữa khóa chung và khóa riêng, nghĩa là giữa chúng phải có sự quy luật toán học. Bởi vì kẻ tấn công có thể sử dụng mẫu này để bẻ khóa mật mã, nhằm cung cấp mức độ bảo mật tương đương, khóa bất đối xứng phải dài hơn nhiều so với khóa đối xứng. Sự khác biệt về độ dài khóa rõ ràng đến mức khóa đối xứng 128 bit và khóa bất đối xứng 2048 bit sẽ có mức độ bảo mật gần như giống nhau.

Ưu điểm và nhược điểm

Cả hai loại mã hóa đều có ưu điểm và nhược điểm. Các thuật toán mã hóa đối xứng nhanh hơn nhiều và yêu cầu ít sức mạnh tính toán hơn, nhưng nhược điểm chính của chúng là phân phối khóa. Vì cùng một khóa được sử dụng để mã hóa và giải mã thông tin nên khóa đó phải được chia sẻ với bất kỳ ai cần quyền truy cập vào dữ liệu, điều này tất nhiên sẽ tạo ra rủi ro bảo mật (chúng tôi đã giải thích điều này trong ví dụ trên).

Mã hóa bất đối xứng giải quyết vấn đề phân phối khóa vì các khóa khác nhau được sử dụng để mã hóa và giải mã: công khai và riêng tư, tương ứng. Tuy nhiên, hệ thống mã hóa bất đối xứng rất chậm so với hệ thống mã hóa đối xứng và đòi hỏi sức mạnh tính toán cao hơn nhiều do độ dài khóa dài hơn đáng kể.


Tùy chọn sử dụng

Mã hóa đối xứng

Do tốc độ cao hơn nên mã hóa đối xứng thường được sử dụng như một cách để bảo vệ dữ liệu trong nhiều hệ thống máy tính hiện đại. Ví dụ: Tiêu chuẩn mã hóa nâng cao (AES) được chính phủ Hoa Kỳ sử dụng để mã hóa thông tin mật và bí mật. Một tiêu chuẩn mã hóa dữ liệu khác được sử dụng trước đây là DES, được phát triển vào những năm 1970 như một tiêu chuẩn cho mã hóa đối xứng.


Mã hóa bất đối xứng

Mã hóa bất đối xứng có thể được sử dụng trong các hệ thống mà nhiều người dùng có thể cần mã hóa và giải mã một tin nhắn hoặc tập hợp dữ liệu, đặc biệt khi tốc độ và sức mạnh tính toán không phải là mối quan tâm lớn. Một ví dụ về hệ thống như vậy là e-mail được mã hóa, trong đó khóa chung có thể được sử dụng để mã hóa tin nhắn và khóa riêng có thể được sử dụng để giải mã nó.


Hệ thống hybrid

Trong nhiều trường hợp, mã hóa đối xứng và bất đối xứng được sử dụng cùng nhau. Các ví dụ điển hình của các hệ thống kết hợp như vậy là các giao thức mã hóa Lớp cổng bảo mật (SSL) và các giao thức Bảo mật lớp vận chuyển (TLS), được phát triển để cung cấp các tương tác an toàn trên Internet. Giao thức SSL không còn được coi là đáng tin cậy và nên ngừng sử dụng. Nhưng không có nghi ngờ gì về độ tin cậy của giao thức TLS và chúng được sử dụng rộng rãi trong tất cả các trình duyệt chính.


Mã hóa có được sử dụng trong tiền điện tử không?

Các phương thức mã hóa được sử dụng trong nhiều ví tiền điện tử như một cách để tăng mức độ bảo mật cho người dùng cuối. Ví dụ: thuật toán mã hóa được sử dụng khi người dùng đặt mật khẩu cho ví tiền điện tử của họ, nghĩa là tệp dùng để truy cập phần mềm đã được mã hóa.

Tuy nhiên, vì Bitcoin và các loại tiền điện tử khác sử dụng cặp khóa công khai nên có một quan niệm sai lầm phổ biến rằng hệ thống blockchain sử dụng thuật toán mã hóa bất đối xứng. Tuy nhiên, như đã đề cập trước đó, có hai cách sử dụng chính trong mật mã bất đối xứng (mật mã khóa công khai): mã hóa bất đối xứng và chữ ký số.

Do đó, không phải tất cả các hệ thống chữ ký số đều sử dụng phương pháp mã hóa, ngay cả khi chúng cung cấp việc sử dụng khóa chung và khóa riêng. Tin nhắn có thể được ký bằng chữ ký số và không cần mã hóa. RSA là một ví dụ về thuật toán có thể được sử dụng để ký các tin nhắn được mã hóa, nhưng trong thuật toán chữ ký số được sử dụng trong Bitcoin (được gọi là ECDSA), hoàn toàn không sử dụng mã hóa.


Kết quả

Cả mã hóa đối xứng và bất đối xứng đều đóng vai trò quan trọng trong việc đảm bảo an toàn cho thông tin và tương tác nhạy cảm trong thế giới ngày nay phụ thuộc vào các dịch vụ, công cụ và cơ chế kỹ thuật số. Cả hai đều có thể hữu ích và mỗi cái đều có những ưu điểm và nhược điểm riêng, vì vậy ở một số lĩnh vực, cái này được sử dụng, ở những lĩnh vực khác - cái kia. Khi mật mã như một ngành khoa học tiếp tục phát triển do nhu cầu bảo vệ chống lại các mối đe dọa mới và phức tạp hơn, cả hai hệ thống mật mã có thể sẽ vẫn phù hợp với bảo mật máy tính.