Các hệ thống mật mã hiện đại chủ yếu được chia thành hai lĩnh vực: mật mã đối xứng và bất đối xứng. Mật mã đối xứng sử dụng một khóa duy nhất để mã hóa và giải mã thông tin, trong khi mật mã bất đối xứng sử dụng hai khóa liên quan nhưng khác nhau.
Chúng ta có thể phân loại chúng theo cách 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 công khai)
Chữ ký số ( có thể bao gồm hoặc không bao gồm mã hóa )
Bài viết này tập trung cụ thể vào các thuật toán mã hóa đối xứng và bất đối xứng.
Mã hóa đối xứng so với bất đối xứng
Các thuật toán mã hóa thường được chia thành hai loại: đối xứng và không đối xứng. Sự khác biệt cơ bản giữa các phương pháp này nằm ở chỗ các thuật toán đối xứng sử dụng một khóa duy nhất, trong khi các thuật toán không đối xứng sử dụng hai khóa khác nhau nhưng có mối quan hệ toán học với nhau. Sự phân biệt dường như đơn giản này tạo ra những khác biệt chức năng quan trọng giữa hai hình thức mã hóa và các ứng dụng của chúng.
Mối quan hệ giữa các khóa
Trong mật mã học, các thuật toán mã hóa tạo ra các khóa dưới dạng chuỗi bit được sử dụng để mã hóa và giải mã thông tin. Cách mà các khóa này được sử dụng tạo ra sự khác biệt giữa các phương pháp đối xứng và bất đối xứng.
Trong khi các thuật toán đối xứng sử dụng cùng một khóa để mã hóa và giải mã, các thuật toán bất đối xứng sử dụng một khóa để mã hóa dữ liệu và một khóa khác để giải mã chúng. Trong các hệ thống bất đối xứng, khóa được sử dụng để mã hóa (được gọi là khóa công khai) có thể được chia sẻ tự do, trong khi khóa giải mã (khóa riêng) phải được giữ bí mật.
Ví dụ, nếu Alice gửi cho Bob một tin nhắn được bảo vệ bằng mã hóa đối xứng, cô ấy phải cung cấp cho anh ấy cùng một khóa mà cô ấy đã sử dụng để mã hóa nó. Điều này có nghĩa là nếu một kẻ tấn công chặn khóa này, họ có thể truy cập vào thông tin đã được mã hóa.
Tuy nhiên, nếu Alice sử dụng mã hóa bất đối xứng, cô ấy sẽ mã hóa tin nhắn bằng khóa công khai của Bob, và chỉ Bob mới có thể giải mã nó bằng khóa riêng của mình. Như vậy, mã hóa bất đối xứng cung cấp một mức độ bảo mật cao hơn, vì ngay cả khi ai đó chặn tin nhắn và tìm thấy khóa công khai, họ cũng không thể làm gì với nó.
Độ dài khóa
Một sự khác biệt quan trọng khác giữa mã hóa đối xứng và không đối xứng liên quan đến độ dài của các khóa, được đo bằng bit và được liên kết trực tiếp với mức độ bảo mật của mỗi thuật toán.
Trong các hệ thống đối xứng, các khóa được chọn ngẫu nhiên, và độ dài tiêu chuẩn của chúng dao động từ 128 đến 256 bit tùy theo mức độ bảo mật yêu cầu. Trong mã hóa bất đối xứng, phải có một mối quan hệ toán học giữa các khóa công khai và riêng tư, điều này có nghĩa là chúng được liên kết bởi một công thức toán học cụ thể. Vì lý do này, những kẻ tấn công có thể sử dụng mẫu này để phá vỡ mã hóa, và do đó, các khóa bất đối xứng phải dài hơn nhiều để cung cấp một mức độ bảo mật tương đương. Sự khác biệt về độ dài là rất đáng kể đến nỗi một khóa đối xứng 128 bit và một khóa bất đối xứng 2048 bit cung cấp mức độ bảo vệ tương đương.
Ưu điểm và nhược điểm
Cả hai loại mã hóa đều có những lợi thế và bất lợi tương đối. Các thuật toán đố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 bất lợi chính của chúng là việc 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, khóa này phải được truyền cho tất cả những người cần truy cập, điều này tự nhiên tạo ra một số rủi ro.
Mặt khác, mã hóa bất đối xứng giải quyết vấn đề phân phối khóa bằng cách sử dụng khóa công khai để mã hóa và khóa riêng để giải mã. Cam kết là các hệ thống bất đối xứng rất chậm so với các hệ thống đối xứng và yêu cầu nhiều sức mạnh tính toán hơn do độ dài của các khóa.
Các trường hợp sử dụng
Mã hóa đối xứng
Nhờ vào tốc độ của nó, mã hóa đối xứng được sử dụng rộng rãi để bảo vệ thông tin 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. AES đã thay thế Tiêu chuẩn Mã hóa Dữ liệu trước đó (DES), được phát triển vào những năm 1970 như một tiêu chuẩn 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 áp dụng trong các hệ thống nơi nhiều người dùng cần mã hóa và giải mã tin nhắn hoặc gói dữ liệu, đặc biệt khi tốc độ và sức mạnh tính toán không phải là ưu tiên. Một ví dụ đơn giản của hệ thống như vậy là email được mã hóa, nơi khóa công khai có thể được sử dụng để mã hóa tin nhắn và khóa riêng tư để giải mã chúng.
Hệ thống lai
Trong nhiều ứng dụng, các mã hóa đối xứng và bất đối xứng được sử dụng kết hợp với nhau. Một ví dụ tốt về những hệ thống hybrid này là các giao thức mật mã Security Sockets Layer (SSL) và Transport Layer Security (TLS), được thiết kế để cung cấp giao tiếp an toàn trên internet. Các giao thức SSL hiện nay được coi là không an toàn và không được khuyến nghị sử dụng. Các giao thức TLS, ngược lại, được coi là an toàn và được sử dụng rộng rãi bởi tất cả các trình duyệt web hiện đại.
Sử dụng mã hóa trong tiền điện tử
Các phương pháp mã hóa được sử dụng bởi nhiều ví tiền điện tử như một phương tiện để cung cấp mức độ bảo mật cao cho người dùng cuối. Các thuật toán mã hóa được áp dụng khi người dùng thiết lập một mật khẩu cho tệp ví của họ, được sử dụng để truy cập phần mềm.
Tuy nhiên, do Bitcoin và các loại tiền điện tử khác sử dụng một cặp khóa công khai và riêng tư, có một sự hiểu lầm phổ biến rằng các hệ thống blockchain sử dụng các thuật toán mã hóa bất đối xứng. Như đã đề cập trước đó, mã hóa bất đối xứng và chữ ký số là hai trường hợp sử dụng chính của mã hóa bất đối xứng (mã hóa khóa công khai).
Do đó, không phải tất cả các hệ thống có chữ ký số đều sử dụng mã hóa, ngay cả khi chúng cung cấp khóa công khai và riêng tư. Thực tế, một thông điệp có thể được ký số mà không cần sử dụng mã hóa. RSA là một ví dụ về thuật toán có thể được sử dụng để ký các thông điệp đã mã hóa, nhưng thuật toán ký số được sử dụng trong Bitcoin ( được gọi là ECDSA) không bao gồm mã hóa.
Kết luận
Cả mã hóa đối xứng và không đối xứng đều đóng vai trò quan trọng trong việc bảo vệ thông tin bí mật và giao tiếp trong thế giới kỹ thuật số hiện nay. Cả hai loại mã hóa đều có thể hữu ích, vì mỗi loại có ưu điểm và nhược điểm riêng, do đó chúng được áp dụng trong các trường hợp khác nhau. Khi mật mã học như một khoa học tiếp tục phát triển để bảo vệ chống lại các mối đe dọa mới và nghiêm trọng hơn, các hệ thống mã hóa đối xứng và không đối xứng sẽ vẫn có liên quan đến an ninh máy tính.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Đối thủ trong mật mã học: Đối xứng vs Bất đối xứng
Các hệ thống mật mã hiện đại chủ yếu được chia thành hai lĩnh vực: mật mã đối xứng và bất đối xứng. Mật mã đối xứng sử dụng một khóa duy nhất để mã hóa và giải mã thông tin, trong khi mật mã bất đối xứng sử dụng hai khóa liên quan nhưng khác nhau.
Chúng ta có thể phân loại chúng theo cách sau:
Bài viết này tập trung cụ thể vào các thuật toán mã hóa đối xứng và bất đối xứng.
Mã hóa đối xứng so với bất đối xứng
Các thuật toán mã hóa thường được chia thành hai loại: đối xứng và không đối xứng. Sự khác biệt cơ bản giữa các phương pháp này nằm ở chỗ các thuật toán đối xứng sử dụng một khóa duy nhất, trong khi các thuật toán không đối xứng sử dụng hai khóa khác nhau nhưng có mối quan hệ toán học với nhau. Sự phân biệt dường như đơn giản này tạo ra những khác biệt chức năng quan trọng giữa hai hình thức mã hóa và các ứng dụng của chúng.
Mối quan hệ giữa các khóa
Trong mật mã học, các thuật toán mã hóa tạo ra các khóa dưới dạng chuỗi bit được sử dụng để mã hóa và giải mã thông tin. Cách mà các khóa này được sử dụng tạo ra sự khác biệt giữa các phương pháp đối xứng và bất đối xứng.
Trong khi các thuật toán đối xứng sử dụng cùng một khóa để mã hóa và giải mã, các thuật toán bất đối xứng sử dụng một khóa để mã hóa dữ liệu và một khóa khác để giải mã chúng. Trong các hệ thống bất đối xứng, khóa được sử dụng để mã hóa (được gọi là khóa công khai) có thể được chia sẻ tự do, trong khi khóa giải mã (khóa riêng) phải được giữ bí mật.
Ví dụ, nếu Alice gửi cho Bob một tin nhắn được bảo vệ bằng mã hóa đối xứng, cô ấy phải cung cấp cho anh ấy cùng một khóa mà cô ấy đã sử dụng để mã hóa nó. Điều này có nghĩa là nếu một kẻ tấn công chặn khóa này, họ có thể truy cập vào thông tin đã được mã hóa.
Tuy nhiên, nếu Alice sử dụng mã hóa bất đối xứng, cô ấy sẽ mã hóa tin nhắn bằng khóa công khai của Bob, và chỉ Bob mới có thể giải mã nó bằng khóa riêng của mình. Như vậy, mã hóa bất đối xứng cung cấp một mức độ bảo mật cao hơn, vì ngay cả khi ai đó chặn tin nhắn và tìm thấy khóa công khai, họ cũng không thể làm gì với nó.
Độ dài khóa
Một sự khác biệt quan trọng khác giữa mã hóa đối xứng và không đối xứng liên quan đến độ dài của các khóa, được đo bằng bit và được liên kết trực tiếp với mức độ bảo mật của mỗi thuật toán.
Trong các hệ thống đối xứng, các khóa được chọn ngẫu nhiên, và độ dài tiêu chuẩn của chúng dao động từ 128 đến 256 bit tùy theo mức độ bảo mật yêu cầu. Trong mã hóa bất đối xứng, phải có một mối quan hệ toán học giữa các khóa công khai và riêng tư, điều này có nghĩa là chúng được liên kết bởi một công thức toán học cụ thể. Vì lý do này, những kẻ tấn công có thể sử dụng mẫu này để phá vỡ mã hóa, và do đó, các khóa bất đối xứng phải dài hơn nhiều để cung cấp một mức độ bảo mật tương đương. Sự khác biệt về độ dài là rất đáng kể đến nỗi một khóa đối xứng 128 bit và một khóa bất đối xứng 2048 bit cung cấp mức độ bảo vệ tương đương.
Ưu điểm và nhược điểm
Cả hai loại mã hóa đều có những lợi thế và bất lợi tương đối. Các thuật toán đố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 bất lợi chính của chúng là việc 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, khóa này phải được truyền cho tất cả những người cần truy cập, điều này tự nhiên tạo ra một số rủi ro.
Mặt khác, mã hóa bất đối xứng giải quyết vấn đề phân phối khóa bằng cách sử dụng khóa công khai để mã hóa và khóa riêng để giải mã. Cam kết là các hệ thống bất đối xứng rất chậm so với các hệ thống đối xứng và yêu cầu nhiều sức mạnh tính toán hơn do độ dài của các khóa.
Các trường hợp sử dụng
Mã hóa đối xứng
Nhờ vào tốc độ của nó, mã hóa đối xứng được sử dụng rộng rãi để bảo vệ thông tin 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. AES đã thay thế Tiêu chuẩn Mã hóa Dữ liệu trước đó (DES), được phát triển vào những năm 1970 như một tiêu chuẩn 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 áp dụng trong các hệ thống nơi nhiều người dùng cần mã hóa và giải mã tin nhắn hoặc gói dữ liệu, đặc biệt khi tốc độ và sức mạnh tính toán không phải là ưu tiên. Một ví dụ đơn giản của hệ thống như vậy là email được mã hóa, nơi khóa công khai có thể được sử dụng để mã hóa tin nhắn và khóa riêng tư để giải mã chúng.
Hệ thống lai
Trong nhiều ứng dụng, các mã hóa đối xứng và bất đối xứng được sử dụng kết hợp với nhau. Một ví dụ tốt về những hệ thống hybrid này là các giao thức mật mã Security Sockets Layer (SSL) và Transport Layer Security (TLS), được thiết kế để cung cấp giao tiếp an toàn trên internet. Các giao thức SSL hiện nay được coi là không an toàn và không được khuyến nghị sử dụng. Các giao thức TLS, ngược lại, được coi là an toàn và được sử dụng rộng rãi bởi tất cả các trình duyệt web hiện đại.
Sử dụng mã hóa trong tiền điện tử
Các phương pháp mã hóa được sử dụng bởi nhiều ví tiền điện tử như một phương tiện để cung cấp mức độ bảo mật cao cho người dùng cuối. Các thuật toán mã hóa được áp dụng khi người dùng thiết lập một mật khẩu cho tệp ví của họ, được sử dụng để truy cập phần mềm.
Tuy nhiên, do Bitcoin và các loại tiền điện tử khác sử dụng một cặp khóa công khai và riêng tư, có một sự hiểu lầm phổ biến rằng các hệ thống blockchain sử dụng các thuật toán mã hóa bất đối xứng. Như đã đề cập trước đó, mã hóa bất đối xứng và chữ ký số là hai trường hợp sử dụng chính của mã hóa bất đối xứng (mã hóa khóa công khai).
Do đó, không phải tất cả các hệ thống có chữ ký số đều sử dụng mã hóa, ngay cả khi chúng cung cấp khóa công khai và riêng tư. Thực tế, một thông điệp có thể được ký số mà không cần sử dụng mã hóa. RSA là một ví dụ về thuật toán có thể được sử dụng để ký các thông điệp đã mã hóa, nhưng thuật toán ký số được sử dụng trong Bitcoin ( được gọi là ECDSA) không bao gồm mã hóa.
Kết luận
Cả mã hóa đối xứng và không đối xứng đều đóng vai trò quan trọng trong việc bảo vệ thông tin bí mật và giao tiếp trong thế giới kỹ thuật số hiện nay. Cả hai loại mã hóa đều có thể hữu ích, vì mỗi loại có ưu điểm và nhược điểm riêng, do đó chúng được áp dụng trong các trường hợp khác nhau. Khi mật mã học như một khoa học tiếp tục phát triển để bảo vệ chống lại các mối đe dọa mới và nghiêm trọng hơn, các hệ thống mã hóa đối xứng và không đối xứng sẽ vẫn có liên quan đến an ninh máy tính.