-2

I recently developed a new cryptographic algorithm. I just initiated with just nothing in mind. But being near to completion (though my algorithm is constantly developing. Now it is version 11.02), I am very curious about how strong my cipher might be...

So I entered the technical side of my algorithm and I step onto here...

I have asked my friends if they can decipher my code but they found it difficult... But they weren't professional as a matter of fact!

I WISH A PROFESSIONAL TO ANALYSE MY CIPHER!

Note: I am completely new to this business. If I missed any prerequisite, please mention in the comments below... Thanks in advance. Hopefully William!

Edit: Here is a screenshot on how my cipher works...

William
  • 1
  • 2
  • Was I to provide a plaintext along with? – William Nov 13 '18 at 18:03
  • 1
    Well, if your friends decipher, then we don't need to talk about the analysis. They already have. I don't have any clue, does it a block cipher, stream cipher, or modified classical cipher? Source code link with test vectors. But this site not accepting this type of questions. – kelalaka Nov 13 '18 at 18:07
  • @kelalaka Can you make it bit clearer? It is challenging for me to classify my cipher... – William Nov 13 '18 at 18:19
  • 1
    There is a lot to learn. Start with reading a book on introduction to Cryptography or online course. See Difference between stream cipher and block cipher – kelalaka Nov 13 '18 at 18:21
  • I have added a screenshot, please consider it... – William Nov 13 '18 at 18:39
  • 3
  • Well @kelalaka what type of crypt do you think it might be? Based on the screenshot... I guess its a block cipher... – William Nov 13 '18 at 18:50
  • Ok I studied it... Now what? – William Nov 13 '18 at 20:13
  • Now... spend a decade and a half with mathematics and get a PhD in cryptography. Maybe, just maybe, if you're lucky and particularly clever, you might be able to give some professional feedback in a report about the security of some cipher, or might play a small role in fixing a couple theoretical issues with some obscure mode of operation. Yes, cryptography is not something that can be done by amateurs, no matter how clever you think you are. – forest Nov 15 '18 at 06:13
  • Anyway, for an analysis of your cipher, any expert would have this to say: 1) The entire output space of ${0, 1}$ appears not to be preserved, making your cipher fatally broken (it must be some sort of trivial substitution cipher). 2) Case is preserved, making your cipher fatally broken. 3) Spaces and exclamation points are not encrypted, making your cipher fatally broken. 4) No key appears to be used, meaning this is encoding, not encryption, making your cipher fatally broken. – forest Nov 15 '18 at 06:17
  • @William It is definitely not a block cipher. If you can't tell that this is not a block cipher, then chances are, your cipher is fatally broken. Seriously, don't roll your own crypto and expect it to stand up to any scrutiny. And more importantly, don't give us just plaintext/ciphertext pairs and ask us to analyze that for you... We'd need the full cipher specifications. – forest Nov 15 '18 at 06:19
  • I am getting it.... Alright to be particularly specific this is really a encoding and not meant for professionals. And as you described it is apparently crystal clear that it is a substitution cipher working on bit out-of-order rules of encoding. In brief, particular combination of letters and depending on the position of these combinations are located within the word, these are encoded into their corresponding letter combination. Some special words also get encoded specially in order to cause additional confusion. Appending to this it has its own NUMBER SYSTEM. – William Nov 16 '18 at 15:34
  • Well I have got another possible cause of existence for my encoding. Just a proposal... however! What if we first encode it with my system and then apply some strong encryption like SHA and etc. – William Nov 16 '18 at 15:37
  • This will essentially prevent the encryption (used in the second phase) to be decrypted since one cannot use dictionary attacks and possible decryption due to the absence of any natural language. We can think on it... – William Nov 16 '18 at 15:42

1 Answers1

2

First, you need to understand developing new ciphers is really hard. And assuming your work is sufficiently original (rather than a small modification of a well known secure cipher) The odds are overwhelmingly against an amateur creating a secure original cipher. And even if you didn't stray very far from well trodden ground there are still plenty of pitfalls.

Nevertheless, you ask how you get professional attention for your cipher. First is it needs to have a reason to exist. I felt like writing a new cipher isn't good enough to get serious attention, the cipher should solve a real problem. Is it more efficient on particular hardware? Does it have interesting properties making it particularly suitable for some task? etc.

Once We have established it has a reason to exist and should it be proven secure would bring value comes the next step.

Analyze the cipher yourself. There are a bunch of standard techniques to analyze ciphers such as linear and differential cryptanalysis, You need to apply these and show they do not break your cipher and you have a significant safety margin. Also show good avalanche properties, perhaps black box statistical tests etc.

After you have done this it was written up your work it is evident you have something potentially valuable and there is a non-negligible chance of it being secure. Then you can show it around, and try to get serious people to spend effort on your cipher.

kelalaka
  • 48,443
  • 11
  • 116
  • 196
Meir Maor
  • 11,835
  • 1
  • 23
  • 54