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!


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...

  • $\begingroup$ Was I to provide a plaintext along with? $\endgroup$
    – William
    Nov 13, 2018 at 18:03
  • 1
    $\begingroup$ 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. $\endgroup$
    – kelalaka
    Nov 13, 2018 at 18:07
  • $\begingroup$ @kelalaka Can you make it bit clearer? It is challenging for me to classify my cipher... $\endgroup$
    – William
    Nov 13, 2018 at 18:19
  • 1
    $\begingroup$ 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 $\endgroup$
    – kelalaka
    Nov 13, 2018 at 18:21
  • 3
    $\begingroup$ Please see Kerckhoffs's principle $\endgroup$
    – kelalaka
    Nov 13, 2018 at 18:44

1 Answer 1


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.


Not the answer you're looking for? Browse other questions tagged or ask your own question.