153
votes

What is the difference between encoding and encryption?

10
As a first approximation, encryption uses a key, encoding does not.President James K. Polk
If you decode an encoded data goot job, but if you decrypt an encrypted data without knowing the secet key, Kudos to you, You hacked it.Sujeet Agrahari
Encoding is like translating language A to language B so that people knowing language B easily get it. Encrypting it like translating language A to language B in a way so that only specific people knowing language B get it, usually you tell them the way before you start translating, maybe a method or key..like treat Pomegranate as grenade.Sujeet Agrahari

10 Answers

197
votes

Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed.

Encryption transforms data into another format in such a way that only specific individual(s) can reverse the transformation.

For Summary -

Encoding is for maintaining data usability and uses schemes that are publicly available.

Encryption is for maintaining data confidentiality and thus the ability to reverse the transformation (keys) are limited to certain people.

More details in SOURCE

34
votes

Encoding:

  1. Purpose: The purpose of encoding is to transform data so that it can be properly (and safely) consumed by a different type of system.

  2. Used for: Maintaining data usability i.e., to ensure that it is able to be properly consumed.

  3. Data Retrieval Mechanism: No key and can be easily reversed provided we know what algorithm was used in encoding.

  4. Algorithms Used: ASCII, Unicode, URL Encoding, Base64.

  5. Example: Binary data being sent over email, or viewing special characters on a web page.

Encryption:

  1. Purpose: The purpose of encryption is to transform data in order to keep it secret from others.

  2. Used for: Maintaining data confidentiality i.e., to ensure the data cannot be consumed by anyone other than the intended recipient(s).

  3. Data Retrieval Mechanism: Original data can be obtained if we know the key and encryption algorithm used.

  4. Algorithms Used: AES, Blowfish, RSA.

  5. Example: Sending someone a secret letter that only they should be able to read, or securely sending a password over the Internet.

Reference URL: http://danielmiessler.com/study/encoding_vs_encryption/

32
votes

Encoding is the process of transforming data so that it may be transmitted without danger over a communication channel or stored without danger on a storage medium. For instance, computer hardware does not manipulate text, it merely manipulates bytes, so a text encoding is a description of how text should be transformed into bytes. Similarly, HTTP does not allow all characters to be transmitted safely, so it may be necessary to encode data using base64 (uses only letters, numbers and two safe characters).

When encoding or decoding, the emphasis is placed on everyone having the same algorithm, and that algorithm is usually well-documented, widely distributed and fairly easily implemented. Anyone is eventually able to decode encoded data.

Encryption, on the other hand, applies a transformation to a piece of data that can only be reversed with specific (and secret) knowledge of how to decrypt it. The emphasis is on making it hard for anyone but the intended recipient to read the original data. An encoding algorithm that is kept secret is a form of encryption, but quite vulnerable (it takes skill and time to devise any kind of encryption, and by definition you can't have someone else create such an encoding algorithm for you - or you would have to kill them). Instead, the most used encryption method uses secret keys : the algorithm is well-known, but the encryption and decryption process requires having the same key for both operations, and the key is then kept secret. Decrypting encrypted data is only possible with the corresponding key.

9
votes

Encoding is the process of putting a sequence of characters into a special format for transmission or storage purposes

Encryption is the process of translation of data into a secret code. Encryption is the most effective way to achieve data security. To read an encrypted file, you must have access to a secret key or password that enables you to decrypt it. Unencrypted data is called plain text ; encrypted data is referred to as cipher text

3
votes

See encoding as a way to store or communicate data between different systems. For example, if you want to store text on a hard drive, you're going to have to find a way to convert your characters to bits. Alternatively, if all you have is a flash light, you might want to encode your text using Morse. The result is always "readable", provided you know how it's stored.

Encryption means you want to make your data unreadable, by encrypting it using an algorithm. For example, Caesar did this by substituting each letter by another. The result here is unreadable, unless you know the secret "key" with which is was encrypted.

3
votes

I'd say that both operations transform information from one form to another, the difference being:

  • Encoding means transforming information from one form to another, in most cases it is easily reversible
  • Encryption means that the original information is obscured and involves encryption keys which must be supplied to the encryption / decryption process to do the transformation.

So, if it involves (symmetric or asymmetric) keys (aka a "secret"), it's encryption, otherwise it's encoding.

2
votes

These are little bit different from each other. The encoding used when we want to convert text in a specific computer coding technique and in the encryption we hide data between a specific key or text.

2
votes

Encoding -》 example data is 16
Then encoding is 10000 means it's binary format or ASCII or UNCODED etc Which can be read by any system eassily and eassy to understand it's real meaning

Encryption -》 example data is 16 Then encryprion is 3t57 or may be anything depend upon which algo is used to encryption Which can be read by any system eassily BUT ony who can understand it's real meaning who has it's decryption key

1
votes

Encoding is for maintaining data usability and can be reversed by employing the same algorithm that encoded the content, i.e. no key is used.

Encryption is for maintaining data confidentiality and requires the use of a key (kept secret) in order to return to plaintext.

Also there are two major terms that brings confusion in the world of security Hashing and Obfuscation

Hashing is for validating the integrity of content by detecting all modification thereof via obvious changes to the hash output.

Obfuscation is used to prevent people from understanding the meaning of something, and is often used with computer code to help prevent successful reverse engineering and/or theft of a product’s functionality.

Read more @ Danielmiessler article

0
votes

Encryption converts data to non-readable format (Possibly containing special non-readable characters).

Encoding helps to convert that data to readable format (characters) so that it can be stored for future use i.e. possibly during decryption.