I've always thought about how the symmetric cyphers are verified. Let say I would invent a new cypher. (actually I don't :-)) How should I rationalize its security to the public? As far as I saw papers about cyphers and their security I've never seen any real mathematical proof about it's security. I just saw a kind of reasoning, not real mathematical proofs. How would you prove a symmetric cypher is secure? No idea... Thinking about it is getting me close to P!=NP like questions.
I see it like this, to be able to invent a new cypher, you...
- must be well educated and known person to convince others to just listen to you
- if you fulfil (1), the other people of your interest would study your algorithm, checking whether any of known method would be applicable against it's security.
- the cypher should be discussed how resistant it is against those common methods. Probably you and people form (2) would do that.
- the cypher must be suitable for CPUs, it must be fast and easy to compute, easy to implement even on CPU level and different platforms
- somehow, the cypher must show it has no intended backdoors. For instance, constant arrays (S-Boxes) should be a well know common numerical series.
From my point of view, symmetric cryptography is much less about math then people think it is. Is't more about imagination how to mix the bits and confuse the data efficiently while using as little CPU instructions as possible. The verification is more about a discussion then about a real math.
Am I naive?