# Re: A new, fast and "unbreakable" encryption algorithm

From: Ismail Kizir
Date: Wed Nov 18 2015 - 21:35:48 EST

I am not a cyrptoanalyst, not a mathematicien. But, I wanted to
enumerate some facts about "The Hohha Dynamic XOR Encryption"
algorithm I mentioned earlier.

My algorithm is "fundamentally different" from classical encryption
methods, because, it dynamically "encrypts" the key itself "during a
single transaction"!

"My Salt value" is a randomly choosen 4 bytes for every "transaction".
My "salt" is neither salt, nor IV nor "salt in hashing", nor "nonce"
in cryptology, but a combination of all them.
Because:
The first jump position, depends on the salt value. Changing the
initial position of the encryption gives a "completely different
output"! This is a precaution against, chosen ciphertext attacks.
Not finished!
I XOR all bytes of salt value with 8Bit CRC, which give me a
"completely different output" for a small change in key, as I am using
those salt values for every byte to be encrypted. This is a precaution
against "related key attacks"
Changing the "salt value"(or call it nonce value if you prefer) of the
algorithm is not just a multiplication of possibilities by 255^4; but it also
"completely" changes the result. Because, it "completely" changes the
jump path!

The algorithm is safe against: Cryptoanalysis like : Index of
coincidence, Kasiski, Vigenere Cypher. Because, there is no "pattern".
For example the most frequent letter "A", of Turkish alphabet will be
encrpyted as different values each time.

Most importantly; during a single transaction, the plaintext is
encrypted with the key, meanwhile, the key itself is encrypted with
the plaintext. This avoids "chosen ciphertext" attack, "ciphertext
only attack" or differential cryptoanalysis.

Even if salting is not used, the algorithm guarantees us that it is
impossible to find out the key even if we have the cyphertext and
plaintext. Because, "there will be a lack of information". Let's take
the trivial example: We do at least 2 jumps. So, we XOR the plaintext
byte with at least 2 numbers. In this case, even if we have the
plaintext and the cyphertext, we may just obtain the XOR result of 2
unknown values.

Regards
Ismail Kizir

On Wed, Nov 18, 2015 at 6:33 PM, Harald Arnesen <harald@xxxxxxxxxxx> wrote:
> Ismail Kizir [2015-11-18 06:25]:
>
>> Hello,
>>
>> I've developed a new encryption algorithm, which dynamically changes
>> the key according to plaintext and practically impossible to break. I
>> also opened to public with MIT&GPL dual License.
>
> "There are two kinds of cryptography in this world: cryptography that