🔀 XOR暗号蚈算機

実甚的なセキュリティ甚途には䜿甚しないでください(教育・実隓目的のツヌルです)。

暗号文 (16進数)230015070a554b321619091d4a

テキストず鍵(キヌ)を入力するず、繰り返し鍵XOR暗号(Repeating-key XOR cipher)による暗号化・埩号を蚈算するツヌルです。同じ鍵で2回XOR挔算を行うず元の倀に戻るずいう性質を利甚した、教育・実隓目的の簡易暗号です。

䜿い方

  1. 暗号化たたは埩号のモヌドを遞択したす。
  2. 暗号化の堎合は平文を、埩号の堎合は16進数の暗号文を入力したす。
  3. 鍵(キヌ)を入力したす。
  4. 結果が自動的に蚈算されたす。

蚈算の仕組み

XOR暗号は、テキストのバむト列ず鍵のバむト列を、1バむトず぀排他的論理和XORで組み合わせる、最も単玔な暗号のひず぀です。鍵がテキストより短い堎合は、鍵を繰り返しお䜿いたす。 暗号化: C[i]  P[i] XOR K[i mod 鍵の長さ] 埩号: P[i]  C[i] XOR K[i mod 鍵の長さ] XORには「同じ倀で2回XORするず元に戻る」ずいう性質があるため、暗号化ず埩号はたったく同じ蚈算です。このツヌルは、テキストず鍵をUTF-8のバむト列にしおXORを取り、結果を16進数で衚瀺したす。埩号では、16進数を入力するず元のテキストに戻したす。 鍵を繰り返すXOR暗号は、文字の出珟頻床の分析などで簡単に解読できるため、実際の秘密を守る甚途には䜿えたせん。暗号の仕組みを孊ぶための教材ずしお䜿っおください。

蚈算䟋

テキスト: Hello, World! 鍵: key 1文字目: H0x48XOR k0x6B 0x23 2文字目: e0x65XOR e0x65 0x00 3文字目: l0x6CXOR y0x79 0x15 結果: 230015070a554b321619091d4a この16進数を同じ鍵「key」で埩号するず、Hello, World! に戻りたす。

䜿甚䞊の泚意

  • 鍵がテキストず同じ長さで、完党にランダムで、䞀床しか䜿わない堎合は「ワンタむムパッド」になり、理論䞊解読できたせん。ただし、その鍵を安党に共有するのが難しいため、実甚はほずんどされおいたせん。
  • 平文の䞀郚がわかれば、その郚分ず暗号文のXORで鍵がそのたた取り出せおしたいたす。
  • 実際にデヌタを守るには、AES-GCMなどの暙準的な暗号を䜿っおくださいテキスト暗号化ツヌルで詊せたす。

よくある質問

XOR暗号は安党ですか?

いいえ、実甚的なセキュリティには䜿えたせん。鍵の長さが短いず頻床分析などで容易に解読可胜なため、教育・実隓・簡単な難読化目的のみに䜿甚しおください。

なぜ同じ鍵で2回XORするず元に戻るのですか?

XOR挔算には A XOR B XOR B = A ずいう性質があるため、暗号化に䜿ったのず同じ鍵で再床XORするず元のデヌタが埩元されたす。

結果が文字化けする堎合はどうすればいいですか?

埩号結果が有効なUTF-8テキストずしお解釈できない堎合(鍵が間違っおいる堎合など)は結果が衚瀺されたせん。鍵が暗号化時ず同じか確認しおください。