Tjenare! Hej Hej, > Varför använder man XOR och vad är det XOR gör????XOR?????
Jag håller på med ett krypteringsprogram och har kollat på tips & tricks å hittade några exempel på kryptering.Många av exemplerna använde XOR i krypteringsfunktionerna. Varför använder man XOR och vad är det XOR gör???? Jag har letat i böcker och så men jag kan bara hitte det här om värde 1 är TRUE och värde 2 är TRUE så blir svaret False.....
/Gurra Sv: XOR?????
Det kallas bitvis operation .
Du kan testa att skriva
Label1.Caption = 65 XOR 32 'tex man omvandlar alltså
Ascii nummret på en bokstav till ett annat tal.
Sen kan man köra bakvänt och få tillbaka den ursprunliga
talet/tecknet. 32 XOR 65
ungefär så har inte kollat exakt "principen Helge"
fritt ur minnet
SvenSv: XOR?????
XOR är en logisk operation precis som AND och OR
true OR false = True
false OR true = True
True OR true = true
false OR false = false
true AND false = false
false AND true = false
true AND true =true
false AND fale =false
true XOR false =true
false XOR true =true
true XOR true =false
false XOR false = false
alltså : OR --> Om MINST EN av operanderna är true (1) så är resultatet true (1)
AND --> om BÅDA operanderna är true är svaret true, annars false
XOR om ENDAST EN av operanderna är true, är svaret true, annars false
/MartinSv: XOR?????
Xor är ett räknesätt, som plus. Precis som du tar ett tal plus ett annat och får ett svar, så tar du ett tal xor ett annat och får ett svar. Skillnaden är att xor bara kan användas med binära tal (ettor och nollor). Det har dock inte datorn nånting emot eftersom den räknar allt med binära tal.
Xor gör så här:
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0
Om du har 11001 xor 10101 så tar du siffra för siffra, alltså så här:
11001 (xor)
10101
=====
01100
* * *
Varje tecken i datorn motsvaras av en följd av ettor och nollor (åtta stycken). På sidan http://www.tydal.nu/ascii.phtml så kan du enkelt se det för varje bokstav.
När man krypter så brukar man ha en kod, eller nyckel, som man använder för att kryptera och som sedan behövs för att kryptera upp texten. Använder man xor så kan man enkelt kryptera så att man tar först bokstaven i texten xor första bokstaven i koden, sedan andra bokstaven i texten xor andra bokstaven i koden, osv... När koden tar slut låter man den börja om igen, så här:
Låt oss kryptera texten: "Skattemyndigheten" med kodordet "xor". Första bokstaven i texten är S och första i koden är x:
"S" xor "x"
"k" xor "o"
"a" xor "r"
"t" xor "x"
"t" xor "o"
.. (osv...)
"n" xor "o"
Vi kan ju ta och räkna på det själva för övningens skull också... Vi slår upp "S" i tabellen på http://www.tydal.nu/ascii.phtml och ser att det blir: 01010011. Sedan kollar vi "x" och ser att det är: 01111000. Dessa ska vi alltså ta xor varandra:
01010011 (xor)
01111000
=======
00101011
Svaret kan vi slå upp i tabellen och se att det betyder tecknet "+". När vi krypterar texten blir alltså det första tecknet i den krypterade texten ett plustecken.
Låt oss ta nästa också... Och det blir alltså "k" xor "o", 01101011 xor 01101111:
01101011 (xor)
01101111
=======
00000100
Det svaret står inte med i min tabell och det beror på att det inte är något tecken. Det är inget du behöver bekymra dig om, utan det sköter datorn. Däremot kan det bli problem om man tittar på den krypterade filen i en texteditor.
* * *
Men så var det också anledningen till varför man har xor. Jo, det är för att det blir väldigt enkelt sen när man ska kryptera upp texten. Man använder nämligen samma sätt att räkna, samma formel för att kryptera som för att kryptera upp.
För om du har ett tal, vilket som helst, låt oss kalla det x, och tar det xor ett annat tal vilket som helst, låt oss kalla det y, så får du tillbaka x om du tar det xor y en gång till. Alltså:
x xor y xor y = x
* * *
En sak som är viktig att lägga på minnet är ju också att xor inte ger mycket till skydd. Det är väldigt lätt att knäcka och bör verkligen inte användas för att skydda data på riktigt. Tyvärr görs det dock ändå, har jag märkt...
Hmm... det var väl det jag kom på att berätta så här på rak arm. Fråga gärna om det är nåt mer du undrar eller om nåt är oklart.