Overview
The InfoLock encryption algorithm is unique in its security. It is a symmetrical encryption system that is largely based on the classic Vigenere cipher. The algorithm uses its own variation of this cipher, making use of a secondary binary passkey to greatly increase the length and unintelligibility of the passphrase. In addition, the algorithm uses differing alphabet spaces for the plaintext and passphrase, each in random order. While this last feature theoretically will not actually increase the strength of algorithm, it will certainly cause confusion and be a headache for anyone attempting to break encrypted code. Nevertheless, even without this added touch of obfuscation, the InfoLock algorithm is a very secure and strong one.
What is EKC encryption?
As far as the actual encryption process is concerned, there is no difference between using regular or EKC encryption. An EKC (Extended Key Combination) is a very long, randomly generated passphrase and passkey combination which is read from a file rather than entered by hand. EKC passphrases are between 35,000 and 45,000 characters in length.
How secure is EKC encryption?
The strength of encryption is often measured by the total number of possible keys that exist with which the information could be encrypted. A common key-length standard of today is 256-bit encryption. This means that a binary key of 256 bits is used. There are a total of
115,792,089,237,316,195,423,316,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000
possible such keys. This is a mind-boggling number of possible keys, and with todays technology cracking 256-bit encryption is thought to be impossible. However, with the research and development of quantum computing, 256-bit encryption may prove to be insecure within a decade or two. InfoLock's EKC encryption, however, is under no such threat. While the number of possible EKC keys is too large to display on this page, it can be approximately represented by the number 1 followed by 63,674 zeroes! Unless an astronimcal breakthrough in mathematics and technology occurs, the security of EKC encryption will long outlive anyone reading this. What this means to you is simple: your data is secure!
THE PROCESS - HOW DATA IS ENCRYPTED
The actual process of encrypting is pretty simple: corresponding characters in the passphrase and plaintext are compared with an alphabet space where numeral integers represent each, these integers are added, and the result is compared with an alphabet space to yield the encrypted character. To help you understand, let’s use a numeric example. Suppose you have a secret number that you want to encrypt: 5. To encrypt this number, you choose a number to act as a passphrase: 3. You then add these together to produce your encrypted code: 8. Anyone who sees the number 8 will not be able to determine what number you started with unless they know what number you used as the passphrase.
Let’s now look at a more realistic example. Suppose you want to encrypt the word “treasure”, and you will use the passphrase “abc” to do so. The first character of the plaintext is aligned with the first character of the passphrase, the second with the second, and so on until the end of the passphrase. At this point, the passphrase is repeated. The aligning letters are then compared on an alphabet space (we’ll assume a normal alphabet), their numeric values added, and the sum converted back to a character, as such:
Align:
T - R - E - A - S - U - R - E
A - B - C - A -B - C - A - B
Convert to number:
20 - 18 - 5 - 1 - 19 - 21 - 18 - 5
1 - 2 - 3 - 1 - 2 - 3 - 1 - 2
Add corresponding values:
21 - 20 - 8 - 2 - 21 - 24 - 19 - 7
Convert back to character:
U - T - H - B - U - X - S - G
Thus, the encrypted code is: ‘uthbuxsg’. This is an extremely simple example of a Vigenere cipher. The InfoLock algorithm uses an alphabet space that includes far more than just 26 letters (distinction between capital and lowercase, spaces, punctuation, symbols, etc,) in random order, and in fact uses differing alphabet spaces for the passphrase and plaintext. The InfoLock algorithm also introduces a new idea: passkeys.
In addition to a passphrase, a passkey is aligned with the plaintext. If the corresponding bit of the passkey is a 1, then the values of the passphrase character and plaintext character are added together. If the bit of the passkey is a 0, then the plaintext is subtracted from the passphrase. A passphrase and passkey of differing lengths will repeat offset from each other, and thus will produce a longer pattern. The length of the overall repeating pattern is the Least Common Multiple of the lengths of the passphrase and passkey. Thus, a passkey length should be chosen that has a very high least common multiple with the length of the passphrase. The greatest least common multiple an integer can have is that with a consecutive integer. So, to produce the longest and therefore strongest pattern, the passkey should be just one bit shorter or longer than the the passphrase (this is the case with EKCs). On the other hand, a long passkey is hard to remember.
To compromise, a passkey length should be chosen that gives a high least common multiple, but is short enough to remember. Since the average human can easily remember 5-9 units of data, we decided to let InfoLock advise a maximum of 6 digits. This means that when you enter a passphrase into the program, InfoLock computes a passkey length that will give the highest least common multiple, but only considers lengths 1 through 6 digits.
What has been described is essentially the process that InfoLock uses to encrypt your data. Like all symmetric encryption methods, it is only as strong as your passphrase a passkey. A strong passphrase should be long and hard to guess. A strong passkey should not repeat within itself. EKC encryption is by far the most secure option for encryption on the market, but it bears the weakness that it is a file stored on your computer. For the paranoid, a good strategy is to encrypt your sensitive data with an EKC, and then encrypt the EKC itself with a passphrase kept only in your head.