What is the difference between encryption and encoding? If you are in the market for script protection, it is important to know.
What is encryption and encoding?
The words "encryption" and "encoding" are often mistakenly interchanged as synonyms. They do have similar characteristics but are not the same.
Why are these terms interchanged? Actually, since most people don't know the difference, encryption/encoding providers (Codelock Tracker included) use these words interchangeably to cater to the general understanding.
So how are encoding and encryption the same?
Encryption and encoding both take data and convert it into an unrecognizable format. While this offers some protection for scripts, it is really important to realize that both encoding and encryption are reversible.
This may come as a shock, but it is worth repeating: encryption and encoding can be cracked - with enough time and expertise. If you look around on the internet, in fact, you will find decrypted Zend, Source Guardian, the Ioncube Encoder, and other encryption services. So far, our new Tracker has not been reverse engineered.
What is Encoding?
Encoding is not so much to hide or keep your data secret, but to modify a script so it can be transported by an otherwise incompatible vehicle. For example, sending binary data via email, or viewing special characters in a website.
With encoding, the key is not hidden. In fact, there is no key. The only thing needed to decode the data is the particular algorithm that was used to encode the script, which may or may not be publicly available. Encoding is an enabler, a facilitator.
Of course, it is possible to write an algorithm with a decoder provided as a key to the decoding process. One such system does exist on the market as a software license manager. The problem is the size and slowness of the system. Their encryption is too slow to be practical when encrypting multiple files (as is the case with most software).
ASCII, Unicode, URL Encoding, and Base64 are encoding methods.
What is Encryption?
Encryption also converts a script to a different format, but there is a secret key that only those who are supposed to read the data possess. Once they have the key, the unique algorithm unlocks the plaintext and makes the script usable and readable.
A patient and dedicated hacker can crack any encryption by reverse engineering. This is done through software that automates and hastens the process.
The secret is to thwart the automated software of the reverse engineering, and make the hacker reverse engineer by hand, script at a time. This is a very tedious and slow process. They might save time by just writing the script from scratch rather than stealing it.
Codelock Tracker Encryption
Codelock uses such an encryption system (which is also referred to as "morphing", "mazing" or "mutation", but is still a form of encryption). The Tracker encrypts every single file uniquely, then a 255 bit key on top of that. Codelock has one of the most powerful encryption methods available - equaling binary encryption.
So what is obfuscation?
Obfuscation is yet another method of script protection which attempts to shroud, and thereby protect, the script. It is time consuming to obfuscate, and so most developers don't do it.
Codelock Tracker is obfuscated, and therefore your scripts are shrouded within the Tracker's obfuscation as an added measure of script protection.
Obviously, with encoding or encryption, the main point is to protect software and PHP scripts from software piracy. It makes sense that the safer the software management system, the safer your scripts.
You will find, however, that NO encryption software or service is bold enough to claim their encryption is absolutely hacker-proof. Thus, the disclaimers and freedom from indemnity if your scripts should get hacked.
At Codelock, we want to be straight up with you, and at the same time offer our assurance that constant research is dedicated to offering you the highest PHP protection for the lowest cost.