Xor Verschlüsselungsverfahren

hi leute,

bei der xor-verschlüsselung und entschlüsselung stellen sich mir noch paar fragen, die ich irgendwie nicht herausbekomme.
wahrscheinlich liegts einfahc nur an meiner inkomepetnz richtig zu googlen.
naja wie auch immer.

das xor-verfahren habe ich soweit geschnallt.
was die binärcodes angeht etc. auch dasses ein symmetrisches verschlüsselungsverfahren ist, was aus lettern und keys definiert wird etc.pp.

aber:
wie verschlüsselt xor-ascii codes zu hexadezimal?

beispiel:

----------------------+-----------+------+--------------------
----------------------------| ASCII | Hex | Binär
----------------------+-----------+------+--------------------
Text: -----------------------| CD | 4344 | 0100 0011 0100 0100
Passwort: -------------------| YY | 5959 | 0101 1001 0101 1001
----------------------+-----------+------+--------------------
XOR-Verschlüsselung: | [SUB ] [GS] | 1A1D | 0001 1010 0001 1101
==============================================================


WIE KOMMT XOR NUN AUF " [ SUB] [GS] und 1A1D ????

vielen dank schonmal leute!
 
hi und vielen dank für die antwort!

die tabellen sind mir geläufig.

jedoch verstehe ich folgendes nicht:

wenn CD = 4344 ist und:
YY= 5959 ist, dann frage ich mich wieso als ergebnis 1A1D rauskommt.
 
AHHHH!!!!! danke für die antwort!!!

jetzt erschließt sich mri schon einiges mehr!!!

d.h. also, dass folgendes ergebnis - 0001 1010 0001 1101 - für 1a1d steht!!!

okok!!! soweit so gut!!!

danke danke danke danke!!!

wenn ich noch weiteres wissen möchte, meld ich mich!!!
 
noch eine frage:

wenn ich das wort "Buchstabe"

mit dem Buchstaben bzw. binärcode A verschlüsseln will, dann müsst ich doch jeden einzelnen buchstaben des wortes "Buchstabe" mit "A" verschlüsseln, oder?

Also Quasi:

01000010 01110101 01100011 01101000 01110011 01110100 01100001 01100010 01100101
----------------------------------------------------------------------------------------
01000001 01000001 01000001 01000001 01000001 01000001 01000001 01000001 01000001


Ergebnis: 00000011 00100010 00101001 00110010 00110101 etc. pp.
 
Zuletzt bearbeitet:
ich hab noch eine frage:

wenn ich einen text mit 3 buchstaben verschlüsseln würde, wäre das dann eine 12bit verschlüsselung? klar, oder?
 
Nein.

Wenn du einen Roman verschlüsselst, ist das auch keine 36 Milliarden Bit Verschlüssselung. Die "X"-Bit Verschlüsselung gibt die Länge des Schlüssels an und nicht die Länge des Textes den du verschlüsselst.

EDIT: Wobei mir beim erneuten durchlesen auffällt, dass der Satz "wenn ich einen text mit 3 buchstaben verschlüsseln würde" in der Hinsicht für mich doppeldeutig ist. Einen Text, den du mit 3 Buchstaben verschlüsselst oder einen Text, der 3 Buchstaben besitzt, verschlüsselst? Naja ist auch egal. Meine Antwort sollte beides lösen ;)
 
beispiel:

WISSEN IST MACHT

diesen text verschlüssel ich nun mit

AAA

wäre das dann eine 12 bit verschlüsselung? weil jeder buchstabe im binärsystem 4 bits hat.
 
Siehe auch nochmal oben meinen "EDIT" Teil.

Kommt drauf an. Ist das "A" jetzt ein Zeichen oder der Wert "a" aus den HEX Zahlen?

Ist es ein Zeichen und du benutzt ASCII Codierung, dann besitzt ein "A" zwei Hex Zahlen und damit 8 Bit. Also insgesamt 24 Bit.

Als Hex Wert "a" sind es dann insgesamt 12 Bit.
 
AHA!!!

VIELEN VIELEN VIELEN DANK!!!!

d.h. also. ein A im als binärverschlüsselung wären 4 bits und als ASCII-Kodierung in Hex also 8.

vielen vielen dank!!!
 
um das ganze mal etwas verständlicher aufzubereiten:

XOR ist erstmal nur eine mathematische operation, und keine verschlüsselung ...

um daraus eine verschlüsselung zu machen, brauchst du eine anweisung (" führe XOR für jedes klartext bit mit dem dazugehörigen schlüssel bit durch") für die eigentliche verschlüsselung und eine definition oder anweisung die den schlüssel erzeugt/festlegt ... beispielsweise einen statischen schlüssel, also etwa eine sequenz aus 8 bit die sich immer wiederholt ...

nach diesem schema wäre man nun in der lage beliebige bitfolgen als klartext zu nehmen und diese zu verschlüsseln

um nun texte in solche bitfolgen zu verwandeln, bietet sich die codierung mittels ASCII tabelle oder utf-8 an, die jeden buchstaben bijektiv auf eine bitfolge abbildet ...

in der praxis gibt es neben der binären darstellung auch andere wie z.B. die hexadezimale darstellung ... während die darstellung einer zahl, z.B. 1234, in dezimal darstellung den meisten menschen geläufig ist, ist beispielsweise die darstellung 10011010010 im dualer oder auch binärer darstellung gleichbedeutend ... in hexadezimaler darstellung wäre dies 4D2 (für byte notation auch "04D2") ... der wert hat sich nicht verändert, lediglich die zahlenbasis ...

im dezimalsystem gibt es 10 ziffern, es ist das system zur basis 10 ...
im dualen oder binären system gibt es 2 ziffern, es ist das system zur basis 2...
im hexadezimalen system gibt es 16 ziffern ... es ist das system zur basis 16 ...

ein weiteres beispiel:


171 zur basis 10 = AB zur basis 16 = 10101011 zur basis 2

A ist die 10. ziffer im hexadezimalen system ... B die 11. ziffer

im folgenden steht ^ für den exponentiations operator ... 2^3 (sprich "2 hoch 3") = 2*2*2

1*10^2 + 7*10^1 + 1*10^0 = 10*16^1 + 11*16^0 = 1*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0

bei diesen darstellungen handelt es sich nicht um eine form der verschlüsselung, da kein schlüssel für die umwandlung erforderlich ist ... es ist eine codierung oder auch darstellung

für die umwandlung von text in eine binärdarstellung braucht man zwar etwas wie einen schlüssel, z.B. die ASCII tabelle, aber auch dies ist keine verschlüsselung im eigentlichen sinne, da die tabelle a) öffentlich bekannt ist, und b) lediglich der darstellung dient...

erst wenn einer umwandlung eine geheime information (sprich "ein schlüssel") hinzugefügt wird, ohne die man die original information nicht wieder herstellen kann, spricht man von einer verschlüsselung ...

abschließend noch 2 dinge:

nummer 1:

versuche nicht dein eigenes crypto system zu entwerfen ... es wird mit ziemlicher sicherheit schiefgehen und unsicher werden

nummer 2:

für die umwandlung zwischen binär und hex gibt es eine eigenschaft die sich nutzen lässt ... da die basis 16 teilbar ist durch die basis 2, und auch das ergebnis durch die basis 2 teilbar ist, kann man sequenzen zur basis 2 bilden und diese einzeln umwandeln ... einfacher ausgedrückt ... 4 bit werden immer in ein hex zeichen codiert ... demnach kann man ganze bitfolgen in 4 bit gruppen aufteilen und jede für sich umwandeln und anschließend alles hintereinander setzen ... umgekehrt kann man auch jedes hex zeichen einzeln in eine gruppe aus 4 bit überführen und die gruppen hintereinander schreiben ...
 
Zurück
Oben