Tin tức và phân tích của tất cả các thiết bị di động

Mã hóa bất đối xứng được giải thích trong 5 phút hoặc ít hơn

Dữ liệu có giá trị và nếu rơi vào tay kẻ xấu, nó có thể gây hại cho cá nhân, bên thứ ba hoặc tổ chức.

Đó là lý do tại sao chúng ta có mã hóa, một cách bảo mật dữ liệu để lưu trữ hoặc khi truyền dữ liệu qua internet.

Trong bài viết này, chúng ta sẽ xem xét mã hóa bất đối xứng.

Hãy bắt đầu.

Mã hóa là gì?

Mã hóa là quá trình tính toán chuyển đổi dữ liệu sang định dạng khó giải mã (còn được gọi là bản mã). Nó dựa trên một thuật toán mã hóa tính toán mạnh mẽ.

Đó là lý do tại sao bạn yêu cầu máy tính mã hóa dữ liệu để lưu trữ hoặc truyền tải an toàn. Điều này cũng có nghĩa là chỉ những người được ủy quyền mới có quyền truy cập vào dữ liệu.

Trọng tâm của mã hóa là các khóa mật mã. Chúng có các khóa được tạo theo toán học, được tính toán dựa trên các tham số mã hóa khác và trên cơ sở thỏa thuận giữa người gửi và người nhận.

Hãy lấy một ví dụ về mã hóa đơn giản.

Vì vậy, bạn (hãy gọi nó là Bob) muốn gửi tin nhắn cho John, người bạn internet của bạn, người thích các văn bản mật mã.

Bob viết một tin nhắn và sau đó chuyển dữ liệu qua “mã hóa”. Thuật toán mã hóa họ sử dụng rất đơn giản. Đầu tiên, Bob dịch giá trị ASCII bằng 4 điểm và tạo ra bản mã.

Vì vậy, các giá trị ASCII của ‘A’ trở thành 65 thành 69, trả về kết quả là ‘E’. Trong ASCII, E có giá trị 69. Theo phương pháp đơn giản này, Bob soạn tin nhắn và gửi cho John.

Vì John và Bob đã đồng ý về cách mã hóa và giải mã nên họ có thể gửi tin nhắn cho nhau.

Vì vậy, nếu Bob viết “Hi John”, văn bản mã hóa của anh ấy sẽ trả về “LIPPS0$NRLR”.

Quá trình giải mã tin nhắn Bob gửi được gọi là giải mã.

Để hiểu điều này, hãy kiểm tra bảng ASCII.

Cũng đọc: Trình chuyển đổi văn bản sang ASCII tốt nhất bạn nên thử

Mã hóa bất đối xứng là gì?

Mã hóa bất đối xứng (còn gọi là mật mã bất đối xứng) là mã hóa khóa công khai. Ở đây thuật toán thực hiện mã hóa và giải mã bằng hai cặp khóa:

  • Khóa công khai: Khóa chung giúp mã hóa tin nhắn.
  • Khóa riêng: Khóa riêng giúp giải mã tin nhắn. Khóa riêng còn được gọi là khóa bí mật vì nó không thể chia sẻ và được chủ sở hữu giữ bí mật.

Mã hóa bất đối xứng hoạt động như thế nào?

Hãy quay lại Bob và John từ ví dụ trước của chúng ta.

Bob biết phương pháp gửi tin nhắn được mã hóa cho John không an toàn. Rốt cuộc, bất kỳ ai cũng có thể dễ dàng sử dụng mã hóa vũ phu.

Và đó là lý do tại sao anh ấy chọn mã hóa bất đối xứng để gửi tin nhắn cho John.

Trong trường hợp này, đầu tiên Bob yêu cầu khóa công khai của John. Sau đó, bây giờ cô ấy đã biết John, cô ấy có thể trực tiếp hỏi anh ấy.

Mặt khác, có các thư mục khóa chung (PKD) mà từ đó các thực thể có thể đăng ký và chia sẻ khóa chung của họ. Bằng cách này, bất kỳ ai muốn gửi tin nhắn an toàn đều cần phải nắm giữ khóa chung của người đó.

Bây giờ Bob có thể sử dụng mã hóa bất đối xứng để mã hóa tin nhắn bằng khóa chung của người gửi, trong trường hợp này là khóa chung của John.

John nhận được tin nhắn và có thể giải mã nó bằng khóa riêng của mình.

Mặt khác, cũng có thể đi theo hướng khác. Điều này có nghĩa là dữ liệu có thể được mã hóa và giải mã bằng khóa riêng.

Vì vậy, nếu Bob mã hóa tin nhắn bằng khóa riêng của mình thì John có thể giải mã nó bằng khóa chung của Bob!

Mã hóa bất đối xứng hoạt động vì nó cần hai khóa để hoạt động. Điều này khác với mã hóa đối xứng, trong đó cả mã hóa và giải mã đều được thực hiện bằng một khóa duy nhất.

Mật mã bất đối xứng hoạt động như thế nào?

Để thực sự hiểu mật mã bất đối xứng là gì, chúng ta cần xem nó hoạt động như thế nào.

Quá trình cơ bản phụ thuộc rất nhiều vào thuật toán sử dụng hàm toán học được xây dựng tốt. Chức năng hỗ trợ tạo cặp khóa.

Tuy nhiên, việc tạo khóa khác nhau tùy thuộc vào thỏa thuận giữa người gửi và người nhận.

Ngoài ra, hầu hết các công cụ và ngôn ngữ lập trình đều đã có sẵn thư viện để xử lý mật mã. Vì vậy, nếu bạn quyết định mã hóa mật mã bất đối xứng, bạn sẽ cần sử dụng các thư viện này và không lãng phí thời gian để phát minh lại bánh xe.

Quá trình điển hình diễn ra khi một người quyết định gửi tin nhắn được mã hóa cho người khác như sau:

➡️ Người gửi và người nhận tạo khóa chung và khóa riêng dựa trên các thông số nhất định.

➡️ Người gửi sau đó tìm kiếm public key của người nhận trong thư mục public-key.

➡️ Sau khi lưu public key, người gửi sẽ dùng nó để mã hóa tin nhắn.

➡️ Sau đó, nó sẽ gửi nó đến người nhận, người sẽ giải mã nó bằng khóa riêng của họ.

➡️ người nhận có thể chọn trả lời tin nhắn và quá trình tương tự được lặp lại (chỉ theo thứ tự ngược lại).

Ưu điểm của mã hóa bất đối xứng

Mã hóa bất đối xứng có nhiều ưu điểm. Chúng bao gồm:

  • Xác thực tin nhắn: Mã hóa bất đối xứng cung cấp khả năng xác thực tin nhắn tuyệt vời, cho phép xác minh tin nhắn và người gửi. Do đó, chữ ký số là một trong những trường hợp sử dụng tốt nhất cho mật mã bất đối xứng.
  • Thuận tiện: Việc thực hiện mã hóa bất đối xứng rất thuận tiện vì việc phân phối khóa dễ dàng và dễ tiếp cận. Khóa công khai luôn có sẵn nên người gửi có thể dễ dàng mã hóa tin nhắn bằng khóa chung của người nhận. Mặt khác, người nhận có thể giải mã tin nhắn bằng khóa riêng của mình.
  • Phát hiện giả mạo: Mật mã bất đối xứng cũng phát hiện tất cả các hình thức giả mạo trong quá trình vận chuyển.
  • Cho phép chống chối bỏ: Hoạt động tương tự như các tài liệu được ký thực tế, do đó người gửi không thể từ chối.

Tiếp theo, chúng ta sẽ thảo luận về những nhược điểm của mã hóa bất đối xứng.

Nhược điểm của mã hóa bất đối xứng

Nhược điểm của việc sử dụng mã hóa bất đối xứng bao gồm:

  • Chậm: Mã hóa bất đối xứng chậm nên không lý tưởng để truyền lượng lớn dữ liệu.
  • Khóa công khai không được xác thực: Cung cấp một mô hình mở trong đó khóa công khai được cung cấp miễn phí. Tuy nhiên, không có cách nào để xác minh tính xác thực tổng thể của khóa và mối liên hệ của nó với một người. Điều này tạo gánh nặng cho người dùng trong việc xác minh tính xác thực của nó.
  • Khóa riêng không thể phục hồi: Không có cơ chế khôi phục khóa riêng. Nếu bị mất, tin nhắn sẽ không bao giờ được giải mã.
  • Nếu khóa riêng bị rò rỉ, nó có thể ảnh hưởng đến bảo mật: nếu khóa riêng bị lộ, điều đó có thể dẫn đến rò rỉ dữ liệu hoặc tin nhắn.

Bây giờ hãy xem xét một số trường hợp sử dụng mã hóa bất đối xứng.

Các trường hợp sử dụng mã hóa bất đối xứng

# 1. Chữ ký số

Chữ ký số hiện nay đã phổ biến. Họ sử dụng thuật toán Rivest-Shamir-Adleman (RSA). Tạo hai khóa liên quan đến toán học: công khai và riêng tư. Bằng cách này, chữ ký số được tạo bằng khóa riêng và có thể dễ dàng xác minh hoặc giải mã bằng khóa chung của người ký.

#2. Email được mã hóa

Email có thể được gửi một cách an toàn qua Internet. Nội dung của email được mã hóa bằng khóa chung và được giải mã bằng khóa riêng.

#3. SSL/TLS

SSL/TLS là một giao thức an toàn cho giao tiếp mạng. Nó sử dụng mã hóa đối xứng và bất đối xứng để tạo kết nối an toàn giữa người gửi và người nhận.

Trong hầu hết các trường hợp, nó sử dụng mã hóa đối xứng. Tuy nhiên, có thể cần phải sử dụng mật mã bất đối xứng khi cả hai bên tạo khóa phiên của họ, yêu cầu mã hóa bất đối xứng để xác minh danh tính của máy chủ nguồn.

#4. tiền điện tử

Một trong những trường hợp sử dụng phổ biến nhất đối với mật mã bất đối xứng là tiền điện tử. Ở đây khóa công khai và riêng tư được sử dụng để mã hóa.

Mật mã khóa công khai hoạt động tốt với mật mã vì khóa chung được chia sẻ để chuyển trong khi khóa riêng được sử dụng để mở khóa các giao dịch và nhận tiền điện tử. Một loại tiền điện tử phổ biến sử dụng mã hóa bất đối xứng bao gồm Bitcoin.

#5. Duyệt web được mã hóa

Các trình duyệt cũng có thể sử dụng mã hóa bất đối xứng để bảo mật dữ liệu trong quá trình truyền. Ví dụ: khi bạn mở trình duyệt và truy cập một trang web, bạn sẽ thấy HTTPS ở phía trước URL. Chữ “s” ở đây tượng trưng cho sự an toàn. Để có kết nối an toàn, trình duyệt trao đổi bắt tay với máy chủ, nơi cả hai bên quyết định cách mã hóa dữ liệu.

Trình duyệt có thể sử dụng cả mã hóa đối xứng và bất đối xứng để thực hiện bắt tay. Tuy nhiên, mã hóa bất đối xứng giúp dễ dàng tạo kết nối an toàn.

Trong tình huống thực tế, trình duyệt đủ thông minh để sử dụng cả hai loại mã hóa để kết nối an toàn.

#6. Chia sẻ khóa cho mật mã khóa đối xứng

Mã hóa khóa bất đối xứng cũng hoạt động như một cách để chia sẻ khóa đối xứng trên một kết nối.

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

Sự khác biệt giữa đối xứng và bất đối xứng như sau.

Mã hóa bất đối xứngMã hóa đối xứngKhóa cần có hai khóa để hoạt động. Khóa chung mã hóa tin nhắn trong khi khóa riêng giải mã tin nhắn. Tình huống ngược lại cũng có thể xảy ra. Mã hóa đối xứng chỉ yêu cầu một khóa. Chìa khóa mã hóa và giải mã tin nhắn. Kích thước văn bản mã hóa Văn bản mã hóa được tạo ra bằng mã hóa bất đối xứng có chiều dài bằng tin nhắn hoặc lớn hơn. Có nhiều thuật toán mã hóa bất đối xứng phổ biến, bao gồm RSA, ECC, EL, Gamal, Diffie-Hellman, v.v. Trường hợp sử dụng lý tưởng Các thuật toán mã hóa đối xứng phổ biến bao gồm RC4, DES, 3DES và AES. Bản mã được tạo bằng mã hóa đối xứng có độ dài bằng hoặc nhỏ hơn tin nhắn. Tốc độ và hiệu quả. Quá trình mã hóa tương đối chậm hơn so với mã hóa đối xứng. Điều này làm cho việc gửi lượng lớn dữ liệu kém hiệu quả hơn. Quá trình mã hóa nhanh hơn mã hóa bất đối xứng. Điều này làm cho việc gửi lượng lớn dữ liệu trở nên hiệu quả. Thuật toán Các thuật toán mã hóa đối xứng phổ biến bao gồm RC4, DES, 3DES và AES. Các thuật toán mã hóa đối xứng phổ biến bao gồm RC4, DES, 3DES và AES. Kích thước khóa Kích thước khóa có thể là 2048 bit trở lên. Kích thước khóa dài 128 hoặc 256 bit. Mục đích Mã hóa bất đối xứng có thể được sử dụng để mã hóa dữ liệu, xác thực và tạo kênh kết nối an toàn. Mã hóa đối xứng được sử dụng phổ biến nhất để truyền dữ liệu số lượng lớn.

Khi nào nên sử dụng mã hóa bất đối xứng?

Bạn nên sử dụng mã hóa bất đối xứng khi:

  • Đang tìm kiếm một tùy chọn nhắn tin và mã hóa an toàn hơn.
  • Bạn đang gửi lượng nhỏ dữ liệu vì mã hóa bất đối xứng chậm và không phù hợp để truyền lượng lớn dữ liệu.
  • Bạn muốn xác nhận chữ ký số.
  • Bạn làm việc với tiền điện tử và muốn ủy quyền các giao dịch bằng cách xác nhận danh tính của mình.

những từ cuối

Mã hóa bất đối xứng là nền tảng của nhiều công nghệ khác nhau. Bạn sẽ tìm thấy nhiều cách sử dụng, có thể là TLS/SSL để xác minh chữ ký số.

Hơn nữa, với các thư viện mật mã đã có sẵn, bạn có thể nhanh chóng triển khai mật mã bất đối xứng bằng công cụ và ngôn ngữ lập trình ưa thích của mình. Bạn không cần phải phát minh lại bánh xe và tự mình viết mật mã bất đối xứng.

Sau đó đọc bài viết chi tiết về mã hóa đối xứng.