13

I've just developed a block cipher symmetric-key algorithm and I am using it in some of my products. I want to put it to real test.

How would one go about entering their encryption algorithm into an international encrytption contest?

gnat
  • 21,442
  • 29
  • 112
  • 288
Kaveh Shahbazian
  • 332
  • 1
  • 13
  • 21
    Are you a cryptographer, or at least familiar with crypto literature and research? If not, even I can tell you that your products will be broken easily and that you should just use existing, widely peer-reviewed ciphers and implementations. Cryptography is seriously hard - it's hard to tell when you screw up before it's too late. –  Nov 11 '12 at 21:35
  • 15
    Seconding @delnan. Writing your own crypto is **never** a good idea unless it's specifically **only** for *learning* and *experimenting* purposes and will never be used in real world scenarios. And even then, one should prefer implementing and studying known algorithms with good emphasis on mathematical principles behind them rather than trying to come up with new algorithms. Getting crypto right is *hard*, as such one should not try to implement their own crypto - **ever**. – zxcdw Nov 11 '12 at 21:46
  • 3
    Find out some of the techniques used by pros and try to crack your own cipher. If you think it's solid then publish the source code. – James Nov 11 '12 at 22:14
  • 16
    Bruce Schneier has a memo that is relevant to your situation: http://www.schneier.com/crypto-gram-9810.html#cipherdesign – K.Steff Nov 11 '12 at 23:21
  • @K.Steff: that link (and an excerpt from it) should really be the answer! It's not a "nice" answer, but it's the reality. – Joachim Sauer Nov 12 '12 at 07:51
  • 6
    As an aside, I don't think this is a stupid question, nor that it should be closed. Having it stand openly will allow others attempting the same work to see that they are entering an extremely difficult field of endeavour. – Gary Nov 12 '12 at 09:30
  • 2
    @KavehShahbazian Before putting your own algorithm out there for review, ensure that you are in a position to confidently answer the majority of questions on http://crypto.stackexchange.com/ first. – Gary Nov 12 '12 at 09:33
  • @Gary Rowe I did not know there is a crypto.stackexchange.com! Thanks for comment. – Kaveh Shahbazian Nov 12 '12 at 11:50
  • @KavehShahbazian FYI asking for resources or lists is generally frowned upon on StackExchange sites. I feel however your question is good, so I edited it to make it more appropriate for Programmers. For more information about what kinds of questions and answers we look for on Programmers, please take a moment to read the [FAQ](http://programmers.stackexchange.com/faq) – maple_shaft Nov 12 '12 at 12:09

2 Answers2

16

Yes but they are normally the other way around.

Well respected experts in crypto are invited to submit their algorithms and everyone else in the world is invited to break them. The one that does best ends up as the next standard. These algorithms have already stood up to the mathematical tests of their own inventors, their students and fellow researches as well as the experts at various inteligence agencies.

Sorry but nobody is going to put time/effort/resources into trying to break an algorithm by an amateur with no reputation, publications or standing in the field.

Martin Beckett
  • 15,776
  • 3
  • 42
  • 69
13

I want to put it to real test.

Use it to control access to non-trivial amounts of money, in public. Wait some time. If you still have your money, it's strong enough.

AakashM
  • 2,107
  • 16
  • 20
  • 2
    Interestingly that is exactly what is happening with Elliptic Curve Cryptography with Bitcoin (see http://bitcoin.stackexchange.com) – Gary Nov 12 '12 at 14:13
  • @GaryRowe I was being slightly tongue-in-cheek, but that's actually a very good point! – AakashM Nov 12 '12 at 14:31