XOR-portti

XOR-portti.

XOR-portti (engl. XOR gate, sanoista exclusive or, joskus käytetään suomalaista nimitystä poissulkeva tai, ehdoton tai tai eri) on looginen portti, joka vastaa eksklusiivinen disjunktio -operaatiota. Operaatiosta käytetään logiikassa joskus symbolia {\displaystyle \oplus } tai _ {\displaystyle {\underline {\lor }}} . Sen merkitys on ”toinen ja vain toinen on tosi”, ts. propositiologiikan kaavana:

( p 0   x o r   p 1 ) ( p 0 ¬ p 1 ) ( ¬ p 0 p 1 ) {\displaystyle (p_{0}\ xor\ p_{1})\Leftrightarrow (p_{0}\land \neg p_{1})\lor (\neg p_{0}\land p_{1})}

ja totuustauluna:

p0 p1 p0 xor p1
0 0 0
0 1 1
1 0 1
1 1 0

Normaalista looginen vertailusta OR:sta, se eroaa vain yllä olevan taulukon viimeisestä kohdasta. Tavallinen OR (tai) on tosi myös silloin, kun molemmat ovat tosi.

Xor ja salaus

Tietotekniikassa xor on yleisesti käytetty bittioperaatio. C-kielen kaltaisissa kielissä ja Javassa operaatio merkitään ^. Pascal:ssa kuten esimerkiksi Delphi, FreePascal ja Lazarus käytetään varattua sanaa xor [1]. Xoria käytetään salauksessa symmetrisenä salausmenetelmänä. Salaus perustuu avaimen ja lähdetekstin xor-operaatioon: salakielinen teksti saadaan tekemällä XOR operaatio avaimen kanssa ja se puretaan samalla tavalla: salakielinen teksti XOR avain. Jos avain on vähintään yhtä pitkä kuin viesti, salaus on teoriassa mahdoton murtaa. Tällaiseen menetelmään perustuvaan salausta kutsutaan kertakäyttö- (one-time pad) tai Vernamin menetelmäksi. Sen huono puoli on avaimen kertakäyttöisyys. Avaimien pituuden ja kertakäyttöisyyden vuoksi Vernamin menetelmää ei yleensä sovelleta käytäntöön sellaisenaan.

Katso myös

  • NOT-portti
  • OR-portti
  • AND-portti
  • NAND-portti
  • NOR-portti
  • XNOR-portti

Lähteet

  1. http://wiki.lazarus.freepascal.org/Xor/fi

Aiheesta muualla

  • Kuvia tai muita tiedostoja aiheesta XOR-portti Wikimedia Commonsissa