How robust is my coded output?

I create codes and ciphers and as a hobby and I was wondering if there was any outfit that would 'test' your output to see how resilient it is. Is there a group anywhere that will accept code, try to break it, and report back to you with results? Or is there anyone who would do it on their own?

Thanks,

• Usually not. Did you try to apply standard attacks first (e.g. differential and linear cryptanalysis and variants thereof)? Commented Apr 27, 2016 at 21:52
• occasionally, members of the sci.crypt newsgroup will look at a cipher design, if it is interesting, and you have done a good job at describing it so that coming to an understanding of how it works is quick and easy. Commented Apr 27, 2016 at 23:51

No. Usually the Kerckhoff principle is considered. That means that the security of a cipher should rely on the key alone. The algorithm itself should be considered known. You could think of the algorithm as a single key that anybody that knows the algorithm possesses. Such a key should not be considered secure.

There is no generic way of testing the security of an unknown cipher, even if the plaintext and ciphertext are known. A block cipher is supposed to be a PRP - a pseudo random permutation - where the specific permutation is chosen using the key. Of course you could find relationships between the plaintext and the ciphertext for very weak ciphers. Usually attacks are on specific design or implementation details of the cipher, not directly on the ciphertext.

Basically to test the cipher you should create a paper formally describing it. The paper should indicate why you think the cipher is secure. You'd then have to find experts to take a look at it and possibly attack it. The best way to do that is to enter it into a competition.

If you're just experimenting, try to study attacks on other ciphers first. Then try and perform similar attacks on both your and other ciphers. See why other ciphers are broken.

If you subject your cipher to a competition prepare to be tossed out in the first round. Remember: the old ciphers of pioneers such as Bruce Schneier and Ron Rivest would be tossed out in the first round as well.

• Note that requests for analyzing a cipher are off topic here. You can however ask if specific parts of your design are considered secure with regards to current practices or not. Overly broad questions or questions that require original research shouldn't be asked here. Commented Apr 27, 2016 at 22:40
• Thank you for your responses. I apologize for my apparent off topic context. I have just joined this site and had some difficulty finding a precise list of keywords appropriate to my inquiry. I am a one man band doing this on my own. I have not been able to crack my own output based on any differential methods. Who or what the competitions that accept and 'judge' these sort of submissions. Thank you again. Commented Apr 27, 2016 at 22:46
• Your current question isn't off topic Clarence - I would not have answered it if that was the case. But we get quite a few questions that simply show some ciphertext or a newly thought out algorithm and we have to close those. This was just a small reminder not to post such questions to you and other aspirant cryptographers. Commented Apr 27, 2016 at 23:01
• ECRYPT (EU) uses to run stream cipher competitions. I'm not sure if anybody is really interested in non-authenticated block ciphers - we've quite a few good ones. I could imagine tweakable block ciphers become subject to one. If that happens, look here (competitions at Dan Bernsteins cr.yp.to site) Commented Apr 27, 2016 at 23:01
• @Clarence Given Maarten answer, I would also point you to this question :)
– Biv
Commented Apr 27, 2016 at 23:18