Encoding:
- Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed.
- It does not require a key as the only thing required to decode it is the algorithm that was used to encode it.
- 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.
- Examples: ASCII, Unicode, URL Encoding, Base64
Encryption:
- Encryption transforms data into another format in such a way that only specific individual(s) can reverse the transformation.
- It uses a key, which is kept secret, in conjunction with the plaintext and the algorithm, in order to perform the encryption operation.
- As such, the ciphertext, algorithm, and key are all required to return to the plaintext.
- Encryption is for maintaining data confidentiality and requires the use of a key (kept secret) in order to return to plaintext.
- 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.
- There are two main types of encryption: asymmetric encryption (also called public-key encryption) and symmetric encryption.
- Symmetric (or public-key) encryption: A type of encryption where the same key is used to encrypt and decrypt the message.
- Asymmetric (or public-key) encryption: This uses one key to encrypt a message and another to decrypt the message.
- Examples: AES, Blowfish, RSA
Hashing:
- Hashing is used in conjunction with authentication to produce strong evidence that a given message has not been modified.
- This is accomplished by taking a given input, hashing it, and then encrypting the sent hash with the recipient's public key.
- When the recipient opens the message with their private key they then hash the message themselves and compare it to the hash that was given encrypted by the sender.
- If they match it is an unmodified message.
- Hashing is for validating the integrity of content by detecting all modification thereof via obvious changes to the hash output.
- Examples: SHA-3, MD5 (Now obsolete), etc.
No comments:
Post a Comment