2010-01-08 7 views
12

Ich habe von Leuten gehört, die Verschlüsselung starten und dachte, dass es etwas sein könnte, das ich möchte, also überprüfte ich XOR und kann keinen Sinn davon machen. Kann mir jemand erklären, was XOR ist?Was ist XOR-Verschlüsselung?

+8

http://en.wikipedia.org/wiki/XOR_cipher – miku

Antwort

6

XOR ist eine logische Operation, ausgesprochen exklusive oder. Es kann verwendet werden, um Nachrichten einfach und schnell zu verschlüsseln. Sie können eine Wahrheitstabelle für diesen Vorgang sehen hier: http://mathworld.wolfram.com/XOR.html

quasi-Pseudo-Code-Implementierung (via http://www.evanfosmark.com/2008/06/xor-encryption-with-python/):

#!/usr/bin/env python 

from itertools import izip, cycle 

def xor_crypt_string(data, key): 
    return ''.join(chr(ord(x)^ord(y)) for (x,y) in izip(data, cycle(key))) 

my_data = "Hello. This is a secret message! How fun." 
my_key= "firefly" 

# Do the actual encryption 
encrypted = xor_crypt_string(my_data, key=my_key) 

print encrypted 
print '---->' 

# This will obtain the original data from the encrypted 
original = xor_crypt_string(encrypted, key=my_key) 

print original 

Ausgang:

.  BY2F 
FRR 
DF$IB 
----> 
Hello. This is a secret message! How fun. 
10

XOR oder ‚exklusiv oder‘ ist ein 2 logische Operandenoperation definiert als:

(a and b) or (not a and not b) 

a b result 
0 0 0 
1 0 1 
0 1 1 
1 1 0 

Das kritische Merkmal der XOR mit Bezug auf die Verschlüsselung es ist reversibel, das heißt, wo C A XOR B =, dann Sie können A mit A = C XOR B.

So erhalten Sie für einen Stream von Klartext A und einen Schlüssel der gleichen Länge B, können Sie Cryptotext C generieren und senden Sie diese an den Empfänger.

Der Empfänger, die eine Kopie von B in seinem Safe hat, kann C XOR B tun und regenerieren A.

+0

Wenn B nur einmal verwendet wird, dann ist dies eine einmalige Verschlüsselung, die einzige Art von Verschlüsselung, die theoretisch unzerbrechlich ist. –

24

Sie einen Schlüssel nehmen, wie 0101, dann verwenden Sie, dass Ihre Zeichenfolge XOR (binär Format), um eine verschlüsselte Zeichenfolge zu erhalten.

0101 XOR <-- key 
1011 <---- original message 
---- 
1110 <-- send message 

Sie senden 1110 an Ihren Empfänger. Das Empfänger, nimmt dann die empfangene Zeichenfolge und XORs es mit dem Schlüssel die ursprüngliche Nachricht zu erhalten:

1110 XOR <--- received message 
0101 <-- key 
---- 
1011 <--- original message 
1

XOR ist die Abkürzung für ‚exklusiv oder‘. Ein XOR B ist wahr, wenn A wahr ist, oder wenn B wahr ist, aber nicht, wenn sowohl A als auch B wahr sind.

Es wird für die Kryptographie verwendet, da A XOR B XOR A gleich B ist - also wenn Sie A als Schlüssel für die Verschlüsselung und Entschlüsselung verwenden können.

1

Es sollte beachtet werden, dass diese Methode der Verschlüsselung kann kaum als sicher betrachtet werden Wenn Sie eine gängige Datei (PNGs, JPGs usw.) verschlüsseln, bei der der Header bekannt ist, kann der Schlüssel einfach aus dem verschlüsselten Inhalt und dem bekannten Header abgeleitet werden

+1

Eigentlich hängt es von der Implementierung ab. Wenn Ihre Schlüssellänge kleiner als die Nachrichtenlänge ist, wird der Schlüssel wiederholt und kann abgeleitet werden. Wenn die Schlüssellänge mit der Nachrichtenlänge übereinstimmt und Sie nie dieselbe Taste zweimal verwenden, haben Sie im Wesentlichen ein Einmal-Pad, das nicht unterbrochen werden kann. – Marko

+0

Dann müssen Sie jedoch einen Weg finden, den Schlüssel sicher an den Empfänger zu übertragen - und wenn Sie das tun könnten, hätten Sie stattdessen die Nachricht nur mit diesem sicheren Kanal gesendet. (Daher wird OTP in der realen Welt nicht oft verwendet). – Noah

2

Auf der einfachsten Ebene bilden reversible Operationen wie XOR (ausgesprochen "exklusives ODER") die foundation of most cryptography.

XOR verhält sich wie ein Kippschalter, mit dem Sie bestimmte Bits ein- und ausschalten können. Wenn Sie eine Nummer (ein Muster von Bits) "verschlüsseln" möchten, XOR es mit einer "geheimen" Nummer. Wenn Sie diese verschlüsselte Nummer und XOR es wieder mit der gleichen geheimen Nummer nehmen, erhalten Sie Ihre ursprüngliche Nummer zurück.

 
Encrypt a number (210) with a secret "key" (145). 

        210 XOR 145gives you 65 ←-- your "scrambled" result 
             | 
        + now unscramble it + 
        | 
        ↓ 
        65 XOR 145gives you 210 ←-- and back to your original number 

Dies ist ein sehr rudamentary Beispiel. Wenn Sie eine Sequenz von Zahlen (oder Text oder irgendein Muster von Bits) mit XOR verschlüsseln, haben Sie eine very basic cipher algorithm.

+0

Nicht wirklich die Basis von * all * Kryptografie, da Blockchiffre mehrere Modi haben, die niemals ein einziges XOR wie EZB, OFB und CFB ausführen. Auch jede reversible Operation kann die Stelle von XOR einnehmen, wie zum Beispiel die Addition/Subtraktion von Mod 256 als ein gemeinsames Beispiel. –

+0

Ich klärte den Beitrag ein wenig auf. –

2

ich einen Blog über XOR-Verschlüsselung schrieb http://programmingconsole.blogspot.in/2013/10/xor-encryption-for-alphabets.html

Mathematisch XOR-Verschlüsselung/Chiffre ist additiv Chiffre, ein Verschlüsselungsalgorithmus, der auf folgenden Grundsätzen arbeitet nach:

(A * B) + (!A * !B) 

A B A XOR B 
0 0  0 
1 0  1 
0 1  1 
1 1  0 

xor Operator ist wie AND (*) und OR (+) Operator die Chiffre entschlüsseln wir müssen nur mit dem Schlüssel der Chiffre XOR das Original wieder Text. Der XOR-Operator ist eine sehr häufige Komponente in komplexen Verschlüsselungsalgorithmen. Eine solche Verschlüsselung kann leicht durch Verwendung eines konstanten Wiederholungsschlüssels und Verwendung der Frequenzanalyse unterbrochen werden. Aber wir ändern den Schlüssel nach jeder Verschlüsselung bricht eine solche Verschlüsselung ist sehr rechenintensiv solch eine Chiffre heißt eine Stromchiffre, in der jedes nächste Bit mit einem anderen Pseudozufallsschlüssel verschlüsselt wird, eine solche Art der Verschlüsselung wurde von Deutschen in verwendet ihre Lorentz-Chiffre.

ein wirklich zufällig * Strom von Schlüssel der Chiffre Durch die Verwendung theoretisch unzerbrechlich daher unbrauchbar

Ich würde Ihnen empfehlen zu sehen

BBC: Code Breakers Bletchley Parks verloren Helden Dokumentarfilm

Es wird Ihnen echte Einblicke in die Welt der Kryptographie und verschlüsselte Bits geben. Wie wichtig ist die Kryptographie? Nun, es war die Ursache für die Erfindung von Computern.