# How to publish a cipher (concept)?

In the last months I was searching for a subject for my bachelor thesis. I came up with an idea for a new cipher concept that works by combining already known techniques in a (hopefully) new way.

So I talked to our professor for cryptography. Although she could not find any obvious weaknesses she mentioned that the review of a cipher is an ongoing and protracted process and therefore not suited as a subject for a bachelor thesis.

• Is there a way to publish the concept to get some reviews?
• What could one do to prevent the idea from falling into oblivion somewhere on my hard drive?

Update

I totally understood her reasons why this subject is not suitable. The question was more about the possible ways I could evolve, publish or analyze the idea (independently from my thesis). Sorry for the confusion this might have caused.

• Did your advisor provide any more specific reasons (besides "the review of a cipher [being] an ongoing and protracted process") why they consider your idea unsuitable for a bachelor's thesis? Mar 2 '16 at 10:50
• She mentioned that it would be nearly impossible to grade the result and that the subject is to difficult. Mar 2 '16 at 15:56
• eprint.iacr.org Mar 3 '16 at 0:29
• On top of what's already been submitted as an answer, I'd like to suggest that you should provide a well-backed reason why you think your cipher is an improvement on existing options. Is it faster for a given higher security margin? More resistant to misuse? Low memory footprint? Better suited for low-power embedded devices? If it's not an improvement in some way over current ciphers, why would anyone bother to review it, much less use it? May 16 '16 at 1:43

First : Welcome to Crypto.SE.

Even though you are quite young, it should not be a reason for someone to stop you : Alan Turing was 23 (still undergraduate) when he undermined the work of Alonzo Church (on untyped $\lambda$-Calculus). I'm not saying you should always provide your idea, but if you can defend them, have fun.

About your cipher : The first thing you should do, is to analyze your own cipher (Differential Cryptanalysis... Linear Cryptanalysis...) An overkill approach would be in the same way that Joan Daemen and Vincent Rijmen did for Rijndael. If you submit a cipher, one would expect at least a formal analysis of why you think this is a good idea. One is unlikely to spend time to review your work if you did not prove your part at the beginning. However, the same principle apply as writing clever code :

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
- Brian Kernighan

If you can't break a block cipher, it doesn't mean that other won't.

Some hint about how to start :
- How do you test the security of your cipher?
- How do I test my encryption? (absolute amateur)

Most ciphers are published (or at least get known) in competitions such as :

And if you think your idea is really great, you can also try to submit it as a paper to a workshop, Journal or conference. Here are some examples (and accepted) submissions that you probably never heard of :

Good Luck !

• I known that one should not post a 'thanks' comment, but your answer was so helpful and detailed that I would feel guilty if I'd only accept it. Therefore: Thanks - You made my day Mar 2 '16 at 8:42
• I can't think of any workshop, Journal or conference that would accept a paper on a new symmetric cipher (especially from a newbee). Mar 2 '16 at 16:02
• In what way did Turing "undermine" Church's work? Mar 2 '16 at 19:49
• @DavidRicherby Given your CS.SE profile, I'm pretty sure that I won't teach you anything: In order to show that the entscheidungsproblem is undecidable, one needs a formal definition of algorithm. In 1932 Church proposed the $\lambda$-calculus to prove that if an algo is expressible in $\lambda$-calc, it is undecidable. Turing proved the same thing with his Turing Machines: but he gave the argument that anything that a computer could do, is doable by a Turing machine. So in some way his argument is stronger than Church's (hence the undermined). Source Pr Wadler
– Biv
Mar 2 '16 at 21:03
• @Biv OK. But we have simulations the other way, too: anything a Turing machine can do can be expressed in the lambda calculus. So Church and Turing are actually equivalent, rather than undermining each other. Mar 2 '16 at 21:22

Honestly, I don't see any obvious reason why a novel cipher design couldn't be the subject of a bachelor's thesis. And presenting it as part of a thesis could even be a decent way to get others to look at it and maybe analyze it.

Admittedly, a more conventional choice for a bachelor's thesis might be something like a basic cryptanalysis of an existing cipher (or, more likely, a weakened version of one), or even just a literature review on the design of a specific cipher and any published cryptanalysis of it. Such a thesis might be easier to grade, as it's relatively straightforward for an examiner familiar with the subject to verify that your cryptanalysis works, or that your description of the cipher and its history is correct and omits no relevant references.

The point is that a bachelor's thesis is not, in general, expected to necessarily contain any novel and original research, but merely to demonstrate the candidate's familiarity with the subject and/or their competence in applying standard tools of the trade. While presenting original research in a bachelor's thesis is generally not forbidden, your advisor might be legitimately concerned that a thesis that tries to stray too far from the beaten path might be difficult to grade, difficult to advise for, potentially difficult to complete if your run into unexpected problems, and at worst might end up lacking in the aspects that a bachelor's thesis is supposed to demonstrate.

All that said, if you really want to do your thesis on a novel cipher, you might be able to sell it to your advisor as an exercise in applying established cipher design and analysis techniques. If you choose to follow this path, I'd recommend keeping the following things in mind:

• Treat your design as a "toy cipher", something constructed and analyzed for the sake of practice.

The odds are that your first cipher won't withstand serious cryptanalysis — and even if, by some miracle, it does, you'll almost surely later think of ways to improve its performance, versatility, footprint, etc. If you're lucky, you might come up with some neat ideas that could be reused (by you, or by others citing your work) in later designs, but you shouldn't expect your first attempt to be any good except as a learning exercise.

• Don't stray too far off the beaten path. You're supposed to be demonstrating that you know the standard tools of modern cipher design and how to apply them cleanly, so make sure to actually do that.

Whenever possible, try to borrow standard, already well analyzed parts (S-boxes, etc.) from well known ciphers — the more standard components you use, the easier you make it for your advisor and readers to see how well you're putting those components together.

If you really want, you can include one neat new idea in your otherwise conventional design — but if you do that, be prepared to spend the greater part of your thesis (and at least 90% of the effort in writing it) on clearly explaining, formalizing, justifying (e.g. by showing its mathematical equivalence to a more standard design) and analyzing that one novel piece.

• Analyze your cipher. This is important. The world is full of home-grown hobbyist ciphers presented without any attempt at cryptanalysis, and they're all basically worthless — you don't want to contribute to that pile of junk.

Ideally, at least half of your thesis, and preferably more, should be about cryptanalysis of your cipher. Even so, you may not have much room (or time) to carry out an extensive cryptanalysis in a bachelor's thesis, but you should present at least one basic cryptanalytic attack on your cipher, just to demonstrate that you know how to do it.

BTW, it's perfectly OK if you end up breaking your own cipher — that's why I said you should consider it a learning exercise to begin with. In fact, if you can't break your cipher as originally presented, I'd suggest at least breaking a weakened version of it. Don't forget to include an invitation for others to continue the analysis where you left off — who knows, someone else might find it an interesting challenge.

• Have a backup plan to scale down your thesis, in case you still find that your original plan was too ambitious. You can always save the extra stuff you cut out for later publications, or perhaps for your master's (or Ph.D.) thesis.

Discuss this with your advisor — it's very important that they know that you're not going to get stuck just because you've bitten off more than you can swallow, especially as they seem already worried that this might be the case. You should also talk with your advisor to ensure that, even if your initial thesis plan is a bit unconventional and ambitious, at least your backup plan involves things that are squarely within their own area of competence, and which they therefore can effectively advise you with.

• Finally, keep it simple! A typical bachelor's thesis is about the size of a single journal article, and much of it will typically consist of summaries of background material. There's really not a lot of room for anything fancy or ambitious there, so trim things down as much as you can. The odds are, whatever you think is as simple and basic as it gets is still far too complex. Again, remember that you can always save the fancier stuff for later publications and theses.

Of course, the length and scope of a bachelor's thesis can vary a lot between fields, countries and individual institutions. Your own university may have guides on what such a thesis should contain and how it should be structured, and your advisor should certainly be able to provide you with examples of what kind of work they expect from you. Still, remember that a bachelor's thesis is basically the first tentative step in your academic research career, not your magnum opus. It's really more like just a glorified final essay or class project.

Mind you, I'm pretty sure I've never met anybody, myself included, who picked their own thesis topic (as opposed to just having it handed out to them) and wasn't at least a little bit too ambitious about it. The best survival trick I've found is to notice when you're running out of time, space or effort, and just ask yourself (and maybe your advisor) "Do I really need to make it so fancy?" Usually, the answer is "No."

• And remember, if your cipher does seem to be broken, that doesn't necessarily mean that your paper necessarily is. If you've broken your new idea you can document it, so that the next cryptographer may not fall into the same pit. If you however fail in a completely expected way then you might have not much to write about. In other words, negative results are results as well. Mar 25 '16 at 13:31

I'd have to dig up the quote, but one thing you should be ready for is a statement which I believe was made by Bruce Schneier. He commented that if someone presents him with a new algorithm they invented, his first questions are "who are you, and what encryption algorithms have you played a part in breaking?" Because it's so easy to make an encryption that you, yourself, cannot break, the crypto community tends not to listen much to such inventions unless the person who has invented them has a demonstrated history of cracking others' encryption methods.

I liken it as similar to how the job market often demands a degree, even if the degree isn't necessarily a perfect match for the job you are applying for. Breaking others' encryption methods isn't a perfect match for the skillset needed to make a new encryption method, but it does seem to be the way cryptographers decide whether they will take the new invention seriously or not. Spending some time breaking the encryption methods of others might help you build the credibility to take the next step.

EDIT: In comments, Biv pointed out a wonderful essay by Bruce Schneier, A Self-Study Course in Block-Cipher Cryptanalysis. It would be a solid place to start down the path of breaking the algorithms of others! Thanks Biv!

• Schneier : The only way to learn cryptanalysis is through practice. source Swenson : The best way to become a better cryptanalyst is to practice, practice, practice ! source
– Biv
Mar 2 '16 at 15:02
• @Biv Thank you for those links! I felt the message of my answer was an important one, but I was having trouble turning it into a positive direction rather than a negative one. That Schneier link is exactly the thing that was missing. Mar 2 '16 at 15:31