Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757594AbbKSCfo (ORCPT ); Wed, 18 Nov 2015 21:35:44 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:35269 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757573AbbKSCfm (ORCPT ); Wed, 18 Nov 2015 21:35:42 -0500 MIME-Version: 1.0 In-Reply-To: <564CA86C.1000402@skogtun.org> References: <564CA86C.1000402@skogtun.org> Date: Thu, 19 Nov 2015 04:35:41 +0200 Message-ID: Subject: Re: A new, fast and "unbreakable" encryption algorithm From: Ismail Kizir To: Harald Arnesen Cc: linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2958 Lines: 66 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 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 > will stop your kid sister from reading your files, and cryptography that > will stop major governments from reading your files." > - Bruce Scheier, Applied Cryptography > -- > Hilsen Harald -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/