Mã hóa đối xứng và bất đối xứng
Mã hóa là một khái niệm quan trọng trong mật mã. Đó là quá trình người ta có thể mã hóa tin nhắn thành định dạng mà kẻ nghe trộm không thể đọc được. Đây là một kỹ thuật lâu đời và một trường hợp sử dụng cổ xưa phổ biến đã được tìm thấy trong các tin nhắn của Caesar, được mã hóa bằng mật mã Caesar. Nó có thể được coi là một sự chuyển đổi. Người dùng có văn bản đơn giản và khi được mã hóa thành văn bản mã hóa, không kẻ nghe trộm nào có thể can thiệp vào văn bản đơn giản của bạn. Sau khi nhận được bởi người nhận dự định, anh ta có thể giải mã nó để có được văn bản gốc. Mã hóa được sử dụng trong hầu hết tất cả các giao tiếp mạng ở các mức độ khác nhau mà chúng tôi không biết. Nó từng bị giới hạn trong các ứng dụng quân sự và liên lạc của chính phủ, nhưng với sự phổ biến của internet gần đây, nhu cầu về các kênh thông tin an toàn trở nên tối quan trọng, và mã hóa trở thành giải pháp chủ đạo cho điều đó. Có hai loại mã hóa chính được gọi là Mã hóa đối xứng và Mã hóa bất đối xứng. Chúng tôi sẽ so sánh họ với nhau ngày hôm nay.
Mã hóa đối xứng
Đây là loại mã hóa đơn giản nhất liên quan đến việc sử dụng một khóa bí mật. Đây là phương pháp mã hóa lâu đời nhất được biết đến và mật mã Caesar thuộc loại này. Khóa bí mật có thể đơn giản như một số hoặc một chuỗi các chữ cái, v.v. Ví dụ, chúng ta hãy xem một mật mã thay đổi, đây là một kỹ thuật mã hóa đối xứng đơn giản có thể được thể hiện một cách thanh lịch. Chúng tôi có văn bản đơn giản 'Tôi muốn gửi một tin nhắn bí mật' trong tay và chìa khóa bí mật của chúng tôi là thay đổi mỗi chữ cái theo ba vị trí. Vì vậy, nếu bạn có 'A' trong bản rõ, nó sẽ trở thành 'D' trong văn bản mật mã. Đây là cái được gọi là mật mã Caesar và văn bản mật mã của bạn sẽ trông giống như 'L zdqw wr vhqg d vhfuhw phvvdjh'. Nhìn thoáng qua, điều đó không thể hiểu được, nhưng một khi bạn giải mã nó bằng khóa bí mật, nó sẽ trở thành văn bản đơn giản. Ngày nay, có rất nhiều thuật toán mã hóa khóa đối xứng được sử dụng, bao gồm các thuật toán mã hóa dòng như RC4, FISH, Py, QUAD, SNOW, v.v. và các thuật toán mã hóa như AES, Blowfish, DES, Serpent, Camellia, v.v..
Mã hóa bất đối xứng
Mã hóa bất đối xứng còn được gọi là mã hóa khóa công khai, một lĩnh vực tương đối mới so với mã hóa đối xứng. Mã hóa bất đối xứng sử dụng hai khóa để mã hóa văn bản đơn giản của bạn. Điều này đã đến đấu trường để giải quyết một vấn đề cố hữu với mật mã đối xứng. Nếu kẻ nghe trộm bằng cách nào đó nắm giữ khóa bí mật đối xứng, thì toàn bộ điểm mã hóa bị vô hiệu hóa. Điều này rất có thể xảy ra vì khóa bí mật có thể phải được truyền qua các kênh liên lạc không an toàn. Như một giải pháp, mã hóa bất đối xứng sử dụng hai khóa trong đó một khóa có sẵn công khai và khóa còn lại là riêng tư và chỉ bạn biết. Hãy tưởng tượng ai đó muốn gửi tin nhắn cho bạn; trong trường hợp đó, bạn sẽ có một khóa bí mật riêng tư và khóa chung tương ứng sẽ có sẵn cho bất kỳ ai muốn gửi cho bạn một tin nhắn được mã hóa. Vì vậy, người gửi mã hóa tin nhắn bằng khóa chung và chuyển đổi văn bản đơn giản thành văn bản mã hóa và điều này chỉ có thể được giải mã bằng khóa riêng tương ứng cho phép mọi người gửi tin nhắn cho bạn mà không cần phải chia sẻ khóa bí mật với bạn. Nếu một tin nhắn được mã hóa bằng khóa bí mật, thì nó cũng có thể được giải mã bằng khóa chung. Trên thực tế, mã hóa bất đối xứng chủ yếu được sử dụng trong các kênh liên lạc hàng ngày đặc biệt là qua internet. Các thuật toán mã hóa khóa bất đối xứng phổ biến bao gồm ElGamal, RSA, kỹ thuật đường cong Elliptic, PGP, SSH, v.v..
Sự khác biệt giữa Mã hóa đối xứng và Mã hóa bất đối xứng là gì?
• Mã hóa đối xứng sử dụng một khóa bí mật duy nhất cần được chia sẻ giữa những người cần nhận tin nhắn trong khi mã hóa bất đối xứng sử dụng một cặp khóa chung và một khóa riêng để mã hóa và giải mã tin nhắn khi liên lạc.
• Mã hóa đối xứng là một kỹ thuật lâu đời trong khi Mã hóa bất đối xứng là tương đối mới.
• Mã hóa bất đối xứng được giới thiệu để bổ sung cho vấn đề cố hữu về nhu cầu chia sẻ khóa trong mô hình mã hóa đối xứng loại bỏ nhu cầu chia sẻ khóa bằng cách sử dụng một cặp khóa riêng tư.
Mã hóa đối xứng và mã hóa bất đối xứng
Tôi có thể cung cấp cho bạn tổng quan toàn diện về việc nên chọn mã hóa đối xứng hoặc mã hóa bất đối xứng, nhưng sự thật là rất khó có khả năng bạn sẽ có cơ hội chọn nếu bạn không phải là nhà phát triển hoặc kỹ sư phần mềm. Điều này là do tất cả các mã hóa này xảy ra trong lớp ứng dụng và bên dưới mô hình mạng OSI và một giáo dân sẽ không phải can thiệp vào bất kỳ điều nào trong số đó. Họ sẽ có sự đảm bảo ở các mức độ khác nhau về quyền riêng tư tùy thuộc vào các chương trình họ sử dụng. Vì vậy, điều quan trọng cần nhớ là không bao giờ giao tiếp khóa bí mật của bạn qua mạng công cộng nếu bạn đang sử dụng thuật toán khóa đối xứng và mã hóa bất đối xứng sẽ tránh được rắc rối đó. Tuy nhiên, thông thường mã hóa bất đối xứng mất nhiều thời gian hơn và do đó, hầu hết các hệ thống thực sử dụng kết hợp hai phương thức mã hóa này trong đó khóa bí mật được sử dụng trong mã hóa đối xứng được mã hóa bằng mã hóa bất đối xứng được gửi qua kênh không an toàn trong khi phần còn lại của dữ liệu được mã hóa bằng mã hóa đối xứng và được gửi qua kênh không an toàn. Khi người nhận nhận được khóa mã hóa bất đối xứng, anh ta sử dụng khóa riêng của mình để giải mã nó và một khi anh ta biết được bí mật, anh ta có thể dễ dàng giải mã tin nhắn được mã hóa đối xứng.