基本的に、この種の暗号化は、適度に簡単に解読できます。base64 エンコーディングは、合理的に認識しやすいでしょう。(Base64 では一般的な 64 文字のみを使用します。) 次は、元の XOR キーを見つける手順です。これは少し難しいですが、暗号化されたデータが十分にあれば、これらのキーを検出できるアルゴリズムがいくつかあります。単純なテキストでは不十分ですが、それが 16 進数の文字列になることがわかっていれば、作業はずっと簡単になります。次に、他の手順を逆にします。どれも簡単すぎる。
可能であれば、ハッカーが暗号化前の元の値を知っていればハッキングできるはずです。このような場合、提供されたものと同じくらい短い文字列で、少なくとも完全な暗号化ルーチンを検出するのに十分な場合がありますが、文字列の XOR に使用したキーは完全にはわからない可能性があります。
よし、A751CD9E1F99... 12 文字を解読してみましょう。数文字しか使用していないように見えるため、16 進数の文字列のように見えます。オリジナルは6文字だったはずです。値は 0x51 から 0xCD の範囲になり、これは base64 エンコーディングに使用するには大きすぎます。また、ほとんどの値は 0x7F を超えているため、何らかのエンコードを行ったことを示しています。辞書攻撃は、使用された XOR キーですでにある程度の洞察を提供する可能性があります。6 つの 16 進値と 6 文字の多くの単語を XOR して、どれが辞書内の別の単語を返すかを確認します。有効な単語を返すように見えるものは、元の XOR に使用したキーである可能性があります。2 番目の暗号化された文字列を使用すると、これらの検出されたキーを再度使用して、可能なキーのセットをさらに小さなセットにフィルター処理できます。現代のシステムでは、
約 50 年前、この暗号化方式は非常に強力でした。今日では、解読に興味のある人なら誰でも、1 日以内にクラックされると考えてください。
私は暗号解読の専門家ではありませんが、どの暗号化方法が弱すぎて使用できないかを十分に知っています。約 10 年前、私はあなたのような複雑な XOR メカニズムを使用して暗号化されたファイルにパスワードを保存するプロジェクトに取り組みました。その後、顧客はセキュリティをチェックすることに決め、専門家にパスワード ファイルだけを調査してもらいました。彼は 1 つのユーザー名とパスワードしか知らず、そのユーザー アカウントには管理者権限がありませんでした。しかし、彼が 1 時間以内にそのセキュリティを解読し、管理者アカウントに関する情報を読み取り、その情報を使用して好きなことをするのに十分な情報でした。その後、私の会社は彼に 1 週間無料のビールを提供しました... :-) したがって、10 年前、専門家は 1 時間しか必要としませんでした。今日では、彼らはさらに複雑なアルゴリズムを比較的簡単にクラックしています。単純に、コンピューターの方がはるかに強力だからです。この種の暗号化を使用する必要がある場合は、暗号化を使用しないこともできます。ハッカーにとってはまったく問題になりません。