他のみんながこれまでに言ったことと矛盾するために、それを行ってください! ええ、あなたのコードにはバッファオーバーフローの脆弱性があり、遅い、バグがあるなどの可能性がありますが、あなたは楽しいためにこれをやっています!私は暗号で遊ぶことに見られるレクリエーションの楽しみを完全に理解しています。
そうは言っても、暗号化は難読化にまったく基づいていません(または少なくともそうすべきではありません)。Eveが難読化されたコードを調べて、何が起こっているのかを完全に理解した後でも、優れた暗号は引き続き機能します。IE:多くの新聞には、読者が朝食を破ろうとする換字式暗号パズルがあります。もし彼らが文字列全体を逆にするようなことを始めたら、そうです、それはもっと難しいでしょう、しかしジョー・リーダーはそれでもそれを壊すことができるでしょう、neve tuohtiwgniebdlot。
優れた暗号化は、(まだ証明されていない、AFAIK)本当に難しいと思われる問題に基づいています。この例には、素数の因数分解、ログの検索、またはその他のNP完全問題が含まれます。
[編集:スナップ、どちらもNP完全であることが証明されていません。それらはすべて証明されていませんが、異なっています。うまくいけば、あなたはまだ私のポイントを見るでしょう:暗号は一方向性関数に基づいています。これらは簡単に実行できる操作ですが、元に戻すのは困難です。つまり、2つの数値を掛けて、製品の素因数を求めます。グッドキャッチtduehr ]
数学の本当にクールなブランチで遊ぶためのあなたへのより多くの力、ただ暗号が複雑ではなく難しいものに基づいていることを覚えておいてください。多くの暗号化アルゴリズムは、一度実際に理解すると、驚くほど単純ですが、文字を切り替えるだけでなく、難しいものに基づいているため、それでも機能します。
注:これが言われていると、一部のアルゴリズムは、ブルートフォース攻撃をはるかに困難にするために余分な癖(文字列の分離など)を追加します。私の一部は、 DESを参照してこれをどこかで読んだように感じますが、信じられません... [編集:私は正しかった。順列が役に立たないことについては、この記事の5番目の段落を参照してください。]
ところで:もしあなたがそれを以前に見つけたことがなければ、私はTEA / XTEA / XXTEAシリーズのアルゴリズムが興味深いだろうと思います。