Navigation X
ALERT
Click here to register with a few steps and explore all our cool stuff we have to offer!



 1672

[In-depth Explanation] Encryption vs Hashing vs Obfuscation vs Encoding [Info]

by Ping - 27 May, 2021 - 11:18 AM
This post is by a banned member (Ping) - Unhide
Ping  
Staff
2.603
Posts
84
Threads
Staff Team
6 Years of service
#1
Encryption? Obfuscation? Hashing? Encoding? 
Common Misconceptions & Their In-depth Explanations 


Introduction - The explanation behind common myths and misconceptions in regards to encryption, hashing, encoding, and obfuscation of data
To prevent the spreading of misinformation and the spreading of incorrect knowledge pertaining to the meanings revolving around the vernacular used when speaking on topics such as cryptology, I will try to explain the fundamental differences between functionalities and use cases of hashing, and encryption.

We will also for full clarity on the subject as a whole touch on encoding and obfuscation as well. All of these words although seem similar are each performing a specific function that is unique to them, and have their own use cases. 



Encoding (Examples; ASCII, UNICODE, URL Encoding, BASE64)
The rudimentary explanation of encoding would be the transforming of data so that it may be properly and safely processed, and/or consumed by a different type of system.
Here are some real-world use cases and scenarios in which encoding can and more than likely should be utilized.
  • -Attempting to render and/or view special characters which are displayed on the webpage/document you are viewing. 
  • -Composing an e-mail for forwarding to a co-worker in which the content is inclusive of binary data. 
The underlying functionality of encoding is not to take the data and make it 'secretive'
but instead to provide the data in a form that will be executed and rendered appropriately
for the end-user, and the machine which will be executing it.

Encryption (Examples; AES, BLOWFISH, RSA)
Unlike encoding, which we reviewed above the purpose of encryption is to keep the data a secret, but to do so in a unique way that will allow it to be later decrypted, using a set key by the original encryptor. Our goal in encryption primarily is to make sure no one else other than who we want to be able to
read and understand the data we are providing is going to be the one and only person(s) who are capable of doing so. We want to eliminate the chance of those who are not supposed to be reading the plaintext data, are in turn incapable of reading the plaintext data and will remain that way until the key used for the decryption is presented. Only our intended recipient should ever be able to understand our data! There are many forms of encryption as well some being asymmetric and others symmetric. In order for the recipient to decrypt the encryption you forward them, they will require the ciphertext, algorithm, and the key in order to return the encrypted string back into the unencrypted format.



Hashing (Examples; SHA-3. MD5, bcrypt)
 
Now we are going to talk about hashing, a very unique subject that has an overwhelming amount of misinformation already is surrounding the subject. 

Hashing's purpose is to preserve the integrity of the data which is inputted. This means that if any tiny bit of the data is to change, in any way imaginable, you will be made aware of such a change due to the core functionality of what hashing is used to provide. Hashing accomplishes this through taking an arbitrary input and in turn, will produce a fixed-length string that corresponds to the following rules.
  1. The same input used to produce then hashed value will always produce the exact same output.
  2. Multiple disparate inputs should not produce the same output.
  3. It should not be possible to go from the output to the input.
    1. 3.1 (This is a key difference that sets it apart from encryption!)
  4. Any and all modification of a given input should result in a drastic change of the hashed value.
We use hashing in conjunction with authentication to produce strong evidence that a given piece of data has not been modified, or tampered with by any means. 
By reviewing the original hash of the data, and comparing it to a newer hash of the data one can determine whether or not any of it has been affected.

A common use case you can see such as this can be seen in applications and software by verifying the checksum of the software/application to ensure the hash checks out with the corresponding version number which the application is supposed to be.

Obfuscation (Examples; ProGuard, Javascript Obfuscator)
This is used in order to scramble what it is exactly that our data is doing. We are wanting to have the same end goal accomplished but make it as enigmatic to understand how we got to that end goal as we possibly can. We do this in order to make whatever it is which we are obfuscating harder to attack and/or copy. 
We often will primarily notice the usage of obfuscation being utilized in source code to increase the difficulty of replicating the product in the event which it succumbs to being reverse engineered. 

Obfuscation is by nature not a strong control, unlike properly employed and implemented encryption. Obfuscation is more so better described and/or thought of to be seen as an obstacle. It similar to encoding, can more often than not be reversed by utilizing the same technique which was used to obfuscate it in the first place, otherwise, it is a simple manual process that takes time to work through.

It is also a key factor to remember when we are speaking of obfuscation that there is a limitation to how obscure we can allow our code to become, and it is dependent upon the content which we are choosing to obscure. If the content which you are obscuring is consistent with computer code, the imitation is that the result must still be consumable by the computer, or else the application's functionality will cease to exist, and the software will be of no use to anyone.



Additional Information
A concept that is often asked in the field of study pertinent to these matters would be when obfuscation should be utilized in favor of encryption. The verdict would be that obfuscation is used to make the data difficult for one entity to understand and comprehend such an entity would be for example a human. While being hard for one entity to understand, however, it will maintain the ability to be easily understood for the other entity; such as a computer. Encryption however would be different in the sense that neither a human nor a computer could read the content which has been encrypted without having the key for decryption of the encrypted string!

[align=center]

If you have any question(s) and/or concern(s) don't hesitate to ask
Have a nice day.
[DM to purchase Signature Ad Slots]

[Ping's PGP Key]
I am NOT affiliated with any "Ping" shops, or services being marketed over this forum.
Before conducting any form of business confirm my identity through onsite PM.
This post is by a banned member (XRP) - Unhide
This post is by a banned member (shady) - Unhide
shady  
Heaven
3.503
Posts
1.496
Threads
4 Years of service
#3
appreciate it.
 
[Image: Final_1.gif]
19k+ Sales - 5+ Years - LifeTime Warranty |List of  Products: https://rentry.co/1s1dstore
This post is by a banned member (TimeChangeEverything) - Unhide
39.897
Posts
13.013
Threads
5 Years of service
#4
Thanks for this Explanation Pepelove
[Image: 81QoXii.gif]
[Image: PUm4fxA.gif]

 
                                                      
Above Services are Paid Advertisement
This post is by a banned member (Vectonsid) - Unhide
Vectonsid  
Heaven
2.750
Posts
236
Threads
5 Years of service
#5
UHQ thread. I feel very big 5head sir
I don't sell nor buy. Don't sent any business msg to me, it will be ignored.

https://files.catbox.moe/d2pcrz.mp4
This post is by a banned member (Ping) - Unhide
Ping  
Staff
2.603
Posts
84
Threads
Staff Team
6 Years of service
#6
This is a bump
[DM to purchase Signature Ad Slots]

[Ping's PGP Key]
I am NOT affiliated with any "Ping" shops, or services being marketed over this forum.
Before conducting any form of business confirm my identity through onsite PM.
This post is by a banned member (Ping) - Unhide
Ping  
Staff
2.603
Posts
84
Threads
Staff Team
6 Years of service
#7
This is a bump
[DM to purchase Signature Ad Slots]

[Ping's PGP Key]
I am NOT affiliated with any "Ping" shops, or services being marketed over this forum.
Before conducting any form of business confirm my identity through onsite PM.
This post is by a banned member (SATAN) - Unhide
SATAN  
Godlike
3.139
Posts
486
Threads
4 Years of service
#8
insane sir, ty for contribution

Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
or
Sign in
Already have an account? Sign in here.


Forum Jump:


Users browsing this thread: 1 Guest(s)