Your question, [MikeAzo's comment](http://chat.stackexchange.com/rooms/52499/discussion-on-question-by-pierte-why-is-writing-your-own-encryption-discouraged#) > Schneier's law is something to the effect of anyone can create a cipher that they themselves cannot break. For example, your method listed in your question you say results in "completely unreadable" ciphertexts. Unfortunately it is fatally flawed. It would be easy for me to break. and [your reply](http://chat.stackexchange.com/transcript/message/35015452#35015452) > @mikeazo: How can you break it if I send you this "QTCPIGXKUXTGG" ciphertext encrypted by a merely a simple algorithm which you have no idea about how it was encrypted? practically could not be a better example of [Schneier's law](https://www.schneier.com/blog/archives/2011/04/schneiers_law.html) in practice. Schneier stated: > Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can't break. To answer your reply > How can you break it if I send you this "QTCPIGXKUXTGG" ciphertext encrypted by a merely a simple algorithm which you have no idea about how it was encrypted? Because even though we might not know *exactly* what your secret algorithm is, the first thing an attacker is going to reach for are common tools to attack [substitution ciphers](https://en.wikipedia.org/wiki/Substitution_cipher) or [polyalphabetic ciphers](https://en.wikipedia.org/wiki/Polyalphabetic_cipher). Given even a few sentences of ciphertext is likely enough to fully recover every plaintext. The fact that *you* don't know how to break it is irrelevant. It's trivial to create a cipher that you yourself can't break, but it's another thing entirely to create a cipher that others can't break. And the odds that you are capable of doing it when you're not aware of even the most basic attacks against ciphers hundreds of years old — not to mention modern concepts like [indistinguishability under different attack models](https://en.wikipedia.org/wiki/Attack_model) — puts you at an insurmountable disadvantage compared to ciphers designed by researchers with decades of experience in the field who are building off of modern notions of security and the discarded remains of thousands of failed ciphers that came before. As an example, even if your cipher is somehow secure against a ciphertext-only attack (it's not), is it secure if I can trick you into encrypting a message for me? What if I can trick you into decrypting a message for me? What if I know part of or all of one of the messages you send? What if you encrypt multiple messages with the same key? I'll leave you with another Schneier classic, [Memo to the Amateur Cipher Designer](https://www.schneier.com/crypto-gram/archives/1998/1015.html#cipherdesign): > A cryptographer friend tells the story of an amateur who kept bothering him with the cipher he invented. The cryptographer would break the cipher, the amateur would make a change to "fix" it, and the cryptographer would break it again. This exchange went on a few times until the cryptographer became fed up. When the amateur visited him to hear what the cryptographer thought, the cryptographer put three envelopes face down on the table. "In each of these envelopes is an attack against your cipher. Take one and read it. Don't come back until you've discovered the other two attacks." The amateur was never heard from again. So here's your first envelope. Given a paragraph or two of ciphertext, your cipher will fail to language-based frequency analysis. Let me know when you've figured out the other two attacks. Edit: The comment about indistinguishability under different attack models is one reason why most "decipher this message crypto challenges" are [completely bunk](http://www.cryptofails.com/post/70546720222/telegrams-cryptanalysis-contest). They often simply give an attacker some ciphertext, ask them to decipher it, and declare victory when nobody produces the plaintext after some amount of time. Unfortunately that's not how crypto works in the real world; attackers have many more tricks up their sleeve in practice. They can trick computers into encrypting data of their choosing, they can trick computers into decrypting data of their choosing, and they can usually even do these things thousands, millions, or billions of times. [Moxie's post](https://moxie.org/blog/telegram-crypto-challenge/) shows how even the most terrible, horribly-designed, and obviously insecure ciphers can be effectively impervious when you restrict an attacker to a single [ciphertext-only attack](https://en.wikipedia.org/wiki/Ciphertext-only_attack), which aren't representative of attackers' capabilities against ciphers as they're actually deployed in practice.