If one does not reveal what cryptographic algorithms are used, how does a cracker find out a password/cipher that is used to communicate data? I heard that because there are methods to try cracking without revealed algorithms, one should never create his own cryptographic algorithms, as they might be vulnerable.
The solution for problems like this is called differential cryptoanalysis. With differential cryptoanalysis you try to find patterns between a known plaintext and the resulting ciphertext without or with little knowledge of the algorithm used.
Also any code can be read if the executable is available... So hiding the algorithm itself is nearly impossible (see also security by obscurity).
|show 1 more comment|