![]() |
XOR Verschlüsselung
Moin :o
Ich hab schon mehrere threads darüber gelesen, das einige eine "XOR-verschlüsselung" benutzen. Kann mir jemand genau sagen wie das funktioniert? und wieso gerade XOR? soweit ich weiss is das nichts anderes als OR, bloss das nur true zurückgegeben wird wenn nur 1e sache true ist. |
Re: XOR Verschlüsselung
Hai silent,
Eine XOR "Verschlüsselung" benutzen viele weil sie so schön einfach ist. Und darum ist sie auch absolut unsicher. Warum XOR? Weil Du wenn Du eine Bitfolge mit einer anderen XOR verbindest das Ergebniss durch ein neues XOR wieder in den ursprüngszustand versetzen kannst.
Code:
01100101
XOR 11100011 10000110 XOR 11100011 01100101 |
Re: XOR Verschlüsselung
ich verstehs noch nicht so ganz was da geprüft wird *g*
|
Re: XOR Verschlüsselung
Schaue dir doch mal mein Beispiel an.
In der ersten Zeile steht das was "verschlüsselt" werden soll. Ind zeile 2 und 4 ist jeweilt mein "Schlüssel". Wenn Zeile 1 mit dem Schlüssel XOR verknüpt wird kommt Zeile 3 Raus. Diese ist jetzt "verschlüsselt". Wenn Du dies nochmals mit dem Schlüssel XOR verknüpfst hast Du wieder den Ursprungswert wie in Zeiel 1. |
Re: XOR Verschlüsselung
Hier mal ein mini-Demo:
Delphi-Quellcode:
In Edit1 einen Text eingeben. In Edit2 deinen Schlüssel. Dann auf den Button klicken. Jetzt hast Du in Edit3 den verschlüsselten Text.
var
verschluesselt : String; procedure TForm1.Button1Click(Sender: TObject); var ndx : Integer; begin verschluesselt := ''; if (Length(Edit1.Text) > Length(Edit2.Text)) then begin ShowMessage ('Der Schlüssel muss länger als der Text sein'); end else begin Label1.Caption := Edit1.Text; for ndx := 1 to Length (Edit1.Text) do begin verschluesselt := verschluesselt + Char (((ORD (Edit1.Text[ndx])) XOR (ORD (Edit2.Text[ndx])))); end; Edit3.Text := verschluesselt; end; end; Wenn Du nun diesen in das Edit1 kopierst und mit dem selben Schlüssel auf Button 1 klickst sollte jetzt in Edit 3 der original Text stehen. |
Re: XOR Verschlüsselung
im allgemeinen sieht XOR so aus:
0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 xor ist 1 (true) wenn eines der beiden bits 1 ist, aber nicht beide. wenn man jetzt zeichens (chars) miteinander XORdiert so wird genau das gleiche schema auf jedes einzelne bit angewendet. 01010101 xor 11110000 -------- 10100101 |
Re: XOR Verschlüsselung
Hi Silent !
Zitat:
Viele Grüße, Christian |
Re: XOR Verschlüsselung
danke für die hilfe leute :)
danke für das beispiel sharky |
Re: XOR Verschlüsselung
Und falls du wissen willst warum man XOR nicht benutzen sollte guckst du hier:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz