Mã hóa đối xứng và không đối xứng
Mã hóa là một khái niệm quan trọng trong mật mã. Đó là quá trình trong đó người ta có thể mã hóa một tin nhắn thành một định dạng mà kẻ nghe trộm không thể đọc được. Đó là một kỹ thuật lâu đời và một trường hợp sử dụng cổ đại 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 như một sự biến đổi. Người dùng có văn bản thuần túy và khi nó được mã hóa thành văn bản mật mã, không kẻ nghe trộm nào có thể can thiệp vào văn bản thuần túy của bạn. Sau khi người nhận dự định nhận được nó, anh ta có thể giải mã nó để có được văn bản thuần túy ban đầu. Mã hóa được sử dụng trong hầu hết các giao tiếp mạng ở các mức độ khác nhau mà chúng ta không hề hay biết. Nó từng được giới hạn trong các ứng dụng quân sự và thông tin 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ở thành điều 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 không đối xứng. Hôm nay chúng ta sẽ so sánh chúng cạnh nhau với nhau.
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 ký tự, v.v. Ví dụ, chúng ta hãy xem xét mật mã dịch chuyển là một kỹ thuật mã hóa đối xứng đơn giản có thể được trình diễn một cách trang nhã. Chúng tôi có văn bản thuần túy "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à chuyển 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". Thoạt nhìn, nó không thể hiểu được, nhưng sau khi bạn giải mã nó bằng khóa bí mật, nó sẽ trở thành văn bản thuần túy. Có rất nhiều thuật toán mã hóa khóa đối xứng được sử dụng ngày nay, bao gồm mật mã luồng như RC4, FISH, Py, QUAD, SNOW, v.v. và mật mã khối như AES, Blowfish, DES, Serpent, Camellia, v.v.
Mã hóa không đối xứng
Mã hóa bất đối xứng còn được gọi là mật mã khóa công khai là một lĩnh vực tương đối mới so với mã hóa đối xứng. Mã hóa không đối xứng sử dụng hai khóa để mã hóa văn bản thuần túy của bạn. Điều này đến với đấ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 được khóa bí mật đối xứng, thì toàn bộ điểm mã hóa sẽ 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 thông qua các kênh liên lạc không an toàn. Như một giải pháp, mã hóa không đối xứng sử dụng hai khóa trong đó một khóa được cung cấp công khai và khóa còn lại là riêng tư và chỉ bạn mới biết. Hãy tưởng tượng ai đó muốn gửi cho bạn một tin nhắn; trong trường hợp đó, bạn sẽ có một khóa bí mật riêng tư và khóa công khai tương ứng cho khóa đó sẽ khả dụng cho bất kỳ ai có thể 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 công khai và thực hiện chuyển đổi văn bản thuần túy thành văn bản mật mã và điều này chỉ có thể được giải mã bằng khóa cá nhân tương ứng cho phép bất kỳ ai 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 công khai. Trên thực tế, mã hóa không đố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 không đố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 không đối xứng sử dụng một cặp khóa công khai và khóa riêng tư để mã hóa và giải mã tin nhắn khi giao tiếp.
• Mã hóa Đối xứng là một kỹ thuật lâu đời trong khi Mã hóa Không đối xứng là tương đối mới.
• Mã hóa Không đố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 công khai.
Mã hóa đối xứng và Mã hóa không đối xứng
Tôi có thể cung cấp cho bạn cái nhìn tổng quan toàn diện về việc chọn mã hóa đối xứng hay mã hóa không đố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 lớp đó trong 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ỳ lớp nào trong số đó. Họ sẽ có những đảm bảo ở các mức độ khác nhau về quyền riêng tư tùy thuộc vào chương trình họ sử dụng. Vì vậy, điều quan trọng cần nhớ là không bao giờ thông báo 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 không đố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 cần nhiều thời gian hơn và như vậy, hầu hết các hệ thống thực sử dụng kết hợp hai phương pháp 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 không đối xứng để được gửi qua một 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 được mã hóa không đối xứng, anh ta sẽ sử dụng khóa riêng của mình để giải mã và khi biết được bí mật, anh ta có thể dễ dàng giải mã thông điệp được mã hóa đối xứng.