← strona głównaProgramowanie (Програмування)

Co to jest XOR i jak to działa?

XOR (wykluczające LUB) – to operacja logiczna, która jest używana w szyfrowaniu, zmianie bitów i sprawdzaniu różnic. Jeśli wartości są takie same – wynik to 0, jeśli różne – 1. Przykład kodu Ruby.

Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
XOR (wykluczające LUB) – to prosta, ale użyteczna operacja logiczna, która jest stosowana w programowaniu, kryptografii i przetwarzaniu danych. Działa na zasadzie: jeśli dwa wartości są takie same, wynik będzie 0, jeśli różne – 1.

Jak XOR wygląda w praktyce?

Wyobraźmy sobie, że macie dwa przełączniki:
  • Jeśli oba wyłączone – światło nie świeci.
  • Jeśli oba włączone – też nie świeci.
  • Ale jeśli jeden włączony, a drugi wyłączony – światło się zapala.
Tak działa XOR: jeśli elementy są różne – wynik to 1, jeśli takie same – 0.

Gdzie stosuje się XOR?

Szyfrowanie – jeśli weźmiemy tekst i zrobimy XOR z kluczem, otrzymamy zaszyfrowaną wersję. Powtórny XOR tym samym kluczem zwróci oryginalny tekst.
Zmiana bitów – XOR pomaga w przełączaniu poszczególnych bitów w liczbach.
Sprawdzanie różnic – używane w algorytmach porównywania dwóch zbiorów danych.
Prosto mówiąc, XOR to jak zasada "tylko jedno z dwóch", która pomaga w wielu zadaniach związanych z przetwarzaniem informacji. Rozważmy prosty przykład napisany w Ruby (ruby 3.4.2)

Przykład XOR (Ruby)

def xor_encrypt(text, key)
  text.bytes.map.with_index { |char, i| char ^ key.bytes[i % key.size] }.pack('C*')
end

def xor_decrypt(encrypted_text, key)
  xor_encrypt(encrypted_text, key)
end

text = "Hello, XOR!"
key = "key123"

encrypted = xor_encrypt(text, key)
puts "🔒 Zaszyfrowano: #{encrypted.inspect}"

decrypted = xor_decrypt(encrypted, key)
puts "🔓 Odszyfrowano: #{decrypted}"
W terminalu wydrukuje mniej więcej tak:
...
🔒 Zaszyfrowano: "#\x00\x15]]\x1FK=6c\x13"
...
🔓 Odszyfrowano: Hello, XOR!
Tu każdy znak tekstu jest łączony z kluczem przez XOR.
Ponowna operacja tym samym kluczem zwraca początkowy tekst.
To jeden z najprostszych sposobów szyfrowania, który jest używany w wielu algorytmach.

🔥 Więcej postów

Wszystkie wpisy
Co to jest CFB (Cipher Feedback)?
Programowanie (Програмування)21 mar '25 16:53

Co to jest CFB (Cipher Feedback)?

CFB (Cipher Feedback) – to tryb szyfrowania, w którym każdy blok zależy od poprzedniego, co zapew...