I recently designed an encoding method that I'm fairly sure is unique. Is it universally secure, provided that anyone intercepting the message doesn't know anything about how it was encrypted? Could it be cracked given a large sample of ciphertexts? If so, how many? Additionally, how can I find out how secure it is? Here's an encoded message as an example:


If anyone's interested in trying to crack it, or determining how secure it is, I'm happy to send whatever you might need. I'm very interested in determining how good of a code this is.

  • $\begingroup$ Without any information about the encryption algorithm it is close to impossible to say anything about the security. That is one of the reasons why you are generally advised to publish new encryption methods. $\endgroup$ – Guut Boy Apr 18 '17 at 6:31
  • $\begingroup$ @GuutBoy Actually, if it's just an encoding as the question indicates, it's like breaking a monoalphabetic substitution cipher - almost trivial for any longer text. $\endgroup$ – tylo Apr 18 '17 at 10:31

You should consider Kerkhoff's principle [1] and reveal all necessary details about your algorithm. Necessary means: everything except the key.

Recently I have to summarize a small fact: only knowing the cipher lets the cipher occur to be random. A random set could be translated in infinity strings, that make sense, more or less. In the end, there are unlimited plaintext that relate to the cipher. This is the principle that makes OTP 100% secure.

[1] https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle

| improve this answer | |
  • $\begingroup$ I've translated the second part of the first sentence of the second section into "only knowing the cipher lets the cipher occur to be random" but even now it doesn't make sense to me. $\endgroup$ – Maarten Bodewes Apr 18 '17 at 12:32
  • $\begingroup$ Ha.. its about having only the cipher text, you can look at it bytes and won't get any information about the decryption. Therefore only the cipher, without anything else of background information leads to a random-bit-string with unlimited possible decryptions. $\endgroup$ – Shalec Apr 18 '17 at 12:36
  • $\begingroup$ Another cipher could lead to the same random output right? If you replace AES with any other AES candidate you would have as random a string as when specifying the exact cipher. $\endgroup$ – Maarten Bodewes Apr 18 '17 at 12:41
  • $\begingroup$ Thanks for the reply. I wasn't actually trying to make a new cipher that is totally secure (especially b/c there's no current need for that with AES) but it's cool to realize that a cipher is secure provided that someone has no idea how it works. $\endgroup$ – ArmaDolphins Apr 18 '17 at 15:32
  • $\begingroup$ I tried to say: If you look at any kind of cipher of specific length, without any background information, you are not able to recover the secret. Its like the OTP, but in OTP you know how it works, but are not able to recover the secret right. There are unlimited possibilities that could have sense in any language. ;) $\endgroup$ – Shalec Apr 19 '17 at 12:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.