Sự khác biệt giữa mã hóa và mã hóa


139

Sự khác biệt giữa mã hóa và mã hóa là gì?


5
Là một xấp xỉ đầu tiên, mã hóa sử dụng một khóa, mã hóa thì không.
Tổng thống James K. Polk

Nếu bạn giải mã một công việc goot dữ liệu được mã hóa, nhưng nếu bạn giải mã được dữ liệu được mã hóa mà không biết khóa secet, Kudos cho bạn, Bạn đã hack nó.
Sujeet Agrahari

1
Mã hóa giống như dịch ngôn ngữ A sang ngôn ngữ B để mọi người biết ngôn ngữ B dễ dàng có được ngôn ngữ đó. Mã hóa nó như dịch ngôn ngữ A sang ngôn ngữ B theo cách để chỉ những người cụ thể biết ngôn ngữ B có được ngôn ngữ đó, thông thường bạn nói với họ cách đó trước khi bạn bắt đầu dịch, có thể là một phương pháp hoặc khóa..như coi Pomegranate là lựu đạn.
Sujeet Agrahari

Câu trả lời:


177

Mã hóa chuyển đổi dữ liệu sang định dạng khác bằng cách sử dụng sơ đồ có sẵn công khai để có thể dễ dàng đảo ngược.

Mã hóa biến đổi dữ liệu sang định dạng khác theo cách mà chỉ những cá nhân cụ thể mới có thể đảo ngược việc chuyển đổi.

Tóm tắt -

Mã hóa là để duy trì khả năng sử dụng dữ liệu và sử dụng các chương trình được công khai.

Mã hóa là để duy trì bảo mật dữ liệu và do đó khả năng đảo ngược chuyển đổi (khóa) bị giới hạn ở một số người nhất định.

Thêm chi tiết trong NGUỒN


3
Bạn có coi "tài liệu có khóa công khai cho chữ ký" là Mã hóa hoặc Mã hóa không? :)
Jarod42

@ Jarod42 Chữ ký số không phải là mã hóa cũng không phải là mã hóa của tài liệu, vì dữ liệu gốc không thể được phục hồi từ nó.
Thilo

1
"Sử dụng một lược đồ có sẵn công khai" - mã hóa chắc chắn cũng sử dụng các lược đồ có sẵn công khai, trên thực tế, bất kỳ lược đồ mã hóa nào có giá trị riêng của nó luôn luôn có sẵn công khai (tức là không có backtime như trong mắt công chúng). Phần không có sẵn công khai là những bí mật cần thiết để giải mã dữ liệu, chứ không phải sơ đồ / thuật toán thực tế (ví dụ RSA, DH, v.v.).
thực dụng

32

Mã hóa là quá trình biến đổi dữ liệu để nó có thể được truyền đi mà không gây nguy hiểm qua kênh liên lạc hoặc được lưu trữ mà không gây nguy hiểm trên phương tiện lưu trữ. Ví dụ, phần cứng máy tính không thao tác văn bản, nó chỉ thao tác các byte, do đó, mã hóa văn bản là một mô tả về cách chuyển đổi văn bản thành byte. Tương tự, HTTP không cho phép tất cả các ký tự được truyền an toàn, do đó có thể cần phải mã hóa dữ liệu bằng cách sử dụng base64 (chỉ sử dụng các chữ cái, số và hai ký tự an toàn).

Khi mã hóa hoặc giải mã, sự nhấn mạnh được đặt vào tất cả mọi người có cùng thuật toán và thuật toán đó thường được ghi chép tốt, phân phối rộng rãi và được thực hiện khá dễ dàng. Bất cứ ai cuối cùng cũng có thể giải mã dữ liệu được mã hóa .

Mặt khác, mã hóa áp dụng một phép biến đổi thành một phần dữ liệu chỉ có thể đảo ngược với kiến ​​thức cụ thể (và bí mật) về cách giải mã nó. Trọng tâm là làm cho khó khăn cho bất cứ ai trừ người nhận dự định đọc dữ liệu gốc. Thuật toán mã hóa được giữ bí mật là một dạng mã hóa, nhưng khá dễ bị tổn thương (cần có kỹ năng và thời gian để tạo ra bất kỳ loại mã hóa nào và theo định nghĩa, bạn không thể nhờ người khác tạo ra thuật toán mã hóa như vậy cho bạn - hoặc bạn sẽ phải giết chúng). Thay vào đó, phương thức mã hóa được sử dụng nhiều nhất sử dụng các khóa bí mật: thuật toán đã được biết đến, nhưng quá trình mã hóa và giải mã đòi hỏi phải có cùng một khóa cho cả hai hoạt động và sau đó khóa được giữ bí mật. Giải mã dữ liệu được mã hóa chỉ có thể với khóa tương ứng .


Nó không luôn luôn yêu cầu phải có cùng khóa để thực hiện mã hóa và giải mã. Không phải diffe-hellman sử dụng khóa riêng của người gửi để mã hóa và khóa riêng của người nhận để giải mã?
David Mann

"HTTP không cho phép tất cả các ký tự được truyền an toàn ...." Tôi nghĩ rằng điều này là sai lệch. HTTP sạch 8 bit. Bạn có thể truyền bất kỳ byte nào bạn muốn trong phần thân thông điệp HTTP. Các tiêu đề là ASCII, nhưng không liên quan gì đến truyền "an toàn".
Hawkeye Parker

27

Mã hóa:

  1. Mục đích: Mục đích của mã hóa là biến đổi dữ liệu để nó có thể được sử dụng đúng cách (và an toàn) bởi một loại hệ thống khác.

  2. Được sử dụng cho: Duy trì khả năng sử dụng dữ liệu tức là để đảm bảo rằng nó có thể được tiêu thụ đúng cách.

  3. Cơ chế truy xuất dữ liệu: Không có khóa và có thể dễ dàng đảo ngược miễn là chúng tôi biết thuật toán nào được sử dụng trong mã hóa.

  4. Các thuật toán được sử dụng: ASCII, Unicode, Mã hóa URL, Base64.

  5. Ví dụ: Dữ liệu nhị phân được gửi qua email hoặc xem các ký tự đặc biệt trên trang web.

Mã hóa:

  1. Mục đích: Mục đích của mã hóa là biến đổi dữ liệu để giữ bí mật với người khác.

  2. Được sử dụng cho: Duy trì bảo mật dữ liệu, tức là để đảm bảo dữ liệu không thể được sử dụng bởi bất kỳ ai khác ngoài (những) người nhận dự định.

  3. Cơ chế truy xuất dữ liệu: Dữ liệu gốc có thể được lấy nếu chúng ta biết khóa và thuật toán mã hóa được sử dụng.

  4. Các thuật toán được sử dụng: AES, blowfish, RSA.

  5. Ví dụ: Gửi cho ai đó một bức thư bí mật mà chỉ họ mới có thể đọc hoặc gửi mật khẩu an toàn qua Internet.

URL tham chiếu: http://danielmiessler.com/study/encoding_vs_encoding/


9

Mã hóa là quá trình đưa một chuỗi các ký tự thành một định dạng đặc biệt cho mục đích truyền tải hoặc lưu trữ

Mã hóa là quá trình dịch dữ liệu thành một mã bí mật. Mã hóa là cách hiệu quả nhất để đạt được bảo mật dữ liệu. Để đọc một tệp được mã hóa, bạn phải có quyền truy cập vào một khóa hoặc mật khẩu bí mật cho phép bạn giải mã nó. Dữ liệu không được mã hóa được gọi là văn bản thuần túy; dữ liệu được mã hóa được gọi là văn bản mật mã


3

Xem mã hóa như một cách để lưu trữ hoặc giao tiếp dữ liệu giữa các hệ thống khác nhau. Ví dụ: nếu bạn muốn lưu trữ văn bản trên ổ cứng, bạn sẽ phải tìm cách chuyển đổi các ký tự của mình thành bit. Ngoài ra, nếu tất cả những gì bạn có là đèn flash, bạn có thể muốn mã hóa văn bản của mình bằng Morse. Kết quả luôn luôn là "có thể đọc được", miễn là bạn biết nó được lưu trữ như thế nào.

Mã hóa có nghĩa là bạn muốn làm cho dữ liệu của bạn không thể đọc được, bằng cách mã hóa nó bằng thuật toán. Ví dụ, Caesar đã làm điều này bằng cách thay thế từng chữ cái khác. Kết quả ở đây là không thể đọc được, trừ khi bạn biết "khóa" bí mật được mã hóa.


3

Tôi muốn nói rằng cả hai hoạt động đều chuyển đổi thông tin từ dạng này sang dạng khác, sự khác biệt là:

  • Mã hóa có nghĩa là chuyển đổi thông tin từ dạng này sang dạng khác, trong hầu hết các trường hợp, nó có thể dễ dàng đảo ngược
  • Mã hóa có nghĩa là thông tin ban đầu bị che khuất và liên quan đến các khóa mã hóa phải được cung cấp cho quá trình mã hóa / giải mã để thực hiện chuyển đổi.

Vì vậy, nếu nó liên quan đến các khóa (đối xứng hoặc không đối xứng) (còn gọi là "bí mật"), thì đó là mã hóa, nếu không thì là mã hóa.


2

Đây là một chút khác nhau từ nhau. Mã hóa được sử dụng khi chúng ta muốn chuyển đổi văn bản trong một kỹ thuật mã hóa máy tính cụ thể và trong mã hóa, chúng ta ẩn dữ liệu giữa một khóa hoặc văn bản cụ thể.


1

Mã hóa - data dữ liệu ví dụ là 16
Sau đó, mã hóa là 10000 có nghĩa là định dạng nhị phân hoặc ASCII hoặc UNCODED, v.v. Bất kỳ hệ thống nào cũng có thể đọc được dễ dàng và dễ hiểu

Mã hóa - data dữ liệu ví dụ là 16 Sau đó, mã hóa là 3t57 hoặc có thể là bất cứ điều gì phụ thuộc vào thuật toán nào được sử dụng để mã hóa.


0

Mã hóa là để duy trì khả năng sử dụng dữ liệu và có thể được đảo ngược bằng cách sử dụng cùng một thuật toán mã hóa nội dung, tức là không sử dụng khóa nào.

Mã hóa là để duy trì bảo mật dữ liệu và yêu cầu sử dụng khóa (được giữ bí mật) để trở về bản rõ.

Ngoài ra, có hai thuật ngữ chính mang lại sự nhầm lẫn trong thế giới bảo mật Hashing và Obfuscation

Băm là để xác nhận tính toàn vẹn của nội dung bằng cách phát hiện tất cả các sửa đổi thông qua các thay đổi rõ ràng đối với đầu ra băm.

Obfuscation được sử dụng để ngăn mọi người hiểu ý nghĩa của một cái gì đó và thường được sử dụng với mã máy tính để giúp ngăn chặn kỹ thuật đảo ngược thành công và / hoặc đánh cắp chức năng của sản phẩm.

Đọc thêm bài viết @ Danielmiessler


1
Mã hóa là khả năng hiểu bảng mã. Dựa trên nội dung nào được đọc và ghi trong tệp. Ví dụ. UTF-8, UTF-16, UTF-32, ANSI. Mã hóa là biến đổi dữ liệu đã được mã hóa.
Arun

0

Mã hóa chuyển đổi dữ liệu sang định dạng không thể đọc được (Có thể chứa các ký tự đặc biệt không thể đọc được).

Mã hóa giúp chuyển đổi dữ liệu đó sang định dạng có thể đọc được (ký tự) để có thể được lưu trữ để sử dụng trong tương lai, tức là có thể trong quá trình giải mã.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.