Is it possible to achieve perfect secrecy, unbreakable, unguessable, uncrackable by using a totally secret cypher?
The following conditions must apply:
- Using the secret cypher only 1 time, so that no correlation between outputs can be achieved
- The cypher itself has to be selected from a big pool of possibilities and having a high complexity so that an attacker would not have the option to just run through all combinations of cryptological operations (XOR, NOR, ShiftRows, Shiftcolumns, etc..)
- So the attacker only knows the OUTPUT, and doesn't know the private key, doesn't know the cypher, and doesn't know the input. The attacker also doesn't know the size of the input in relation to the output, other than the input being < or = to the output, but not the precise size. Also the cypher would not be shared, so 1 time use by 1 person, and no other user.
Now using the cypher only 1 time is self explanatory. If you use it multiple times, and the cypher turns out to be weak, then probaly some kind of correlation attack between multiple outputs could be mounted to recover the input.
Now the complexity of the cypher should also be obvious. Like if you just pick a simple cypher like one of those old cyphers from the cold war, or one of a similar structure, then the adversary can just run through the possible combinations of all cryptological operations and then brute force each. It would slow him down, but not stop him.
Then some people might say that this would violate Kerckhoffs's principle, but I disagree.
Because if the cypher is secret, then obtaining the cypher is equivalent to obtaining the private key. If the attacker can obtain the cypher through some side channel attack, then with the same effort he can just obtain the key altogether and decrypt the message.
So a secret cypher that nobody knows, and it's complex enough, would be like Navajo code
that was used during WW2.
Furthermore of the input itself is unknown, like the attacker doesn't even know what to look for, then even if he break N
rounds of the cypher, he has absolutely no clue what to look for, and doesn't know how many rounds are there left. It doesn't even know if the algorithm he used is correct at all.
So it's not even like searching for a needle in a haystack. It's like having a haystack and no needle, the attacker doesn't even know what to look for.