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?
Antwort
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.
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.
Wenn B nur einmal verwendet wird, dann ist dies eine einmalige Verschlüsselung, die einzige Art von Verschlüsselung, die theoretisch unzerbrechlich ist. –
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
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.
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
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
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
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.
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. –
Ich klärte den Beitrag ein wenig auf. –
XOR-Verschlüsselung kann auch in cipher block chaining verwendet werden. XOR CBC wird als Ergänzung zu vielen Verschlüsselungsimplementierungen verwendet. Es gibt ein Projekt Google Code ist, der von sich selbst Gebrauch dies macht, obwohl allein XOR nicht sehr sicher ist: http://code.google.com/p/xorencryption/
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.
- 1. Was ist JAF? Was ist seine Aufgabe?
- 2. Was ist
- 3. Was ist HTML "ist" Attribut?
- 4. Was ist 'das' ist Javascript
- 5. Was ist für Python was "explodieren" ist für PHP?
- 6. Was ist und was ist die Verwendung der Closure „Richtlinie“
- 7. (iOS) Was ist Superview und was ist Subviews
- 8. Was ist ein DTO und BO? Was ist der Unterschied?
- 9. Was ist xcscheme Datei? Was ist das Ziel?
- 10. Was ist ein PHP-Framework und was ist ein guter?
- 11. Was ist Blend? und was ist seine Beziehung zu WPF?
- 12. Google AMP: Was ist ein Layout? Was ist ein Behälter?
- 13. Was ist eine native Bibliothek? Was ist bindend?
- 14. Was ist das? Template-Methode oder was?
- 15. Was ist Thread.CurrentPrincipal und was macht es?
- 16. Was ist ((Fenster) => {...}) (Fenster); was bedeutet,
- 17. Was ist JSR und was nutzt es?
- 18. Was sind Threads (Was ist ein Thread)?
- 19. Was ist Boxen und was macht es?
- 20. Was ist POI und was bedeutet es?
- 21. Was ist SSO
- 22. _NSZombie_NSKeyValueUndefiniertGetter - Was ist das?
- 23. Was ist Klass & KlassKlass
- 24. Was ist Frühling Roo?
- 25. Was ist ein Protokoll?
- 26. Was ist idr_alloc()
- 27. Was ist Absender?
- 28. Was ist eine textViewResourceId?
- 29. Was ist P99 Latenz?
- 30. Was ist kontinuierliche Integration?
http://en.wikipedia.org/wiki/XOR_cipher – miku