Kryptographie mit Python-XOR-Prozess

Lassen Sie uns in diesem Kapitel den XOR-Prozess zusammen mit seiner Codierung in Python verstehen.

Algorithmus

Der XOR-Algorithmus zur Ver- und Entschlüsselung konvertiert den Klartext in das Format ASCII-Bytes und konvertiert ihn mithilfe der XOR-Prozedur in ein bestimmtes Byte. Es bietet seinen Benutzern die folgenden Vorteile:

  • Schnelle Berechnung
  • Kein Unterschied auf der linken und rechten Seite markiert
  • Einfach zu verstehen und zu analysieren

Code

Sie können den folgenden Code verwenden, um den XOR-Prozess auszuführen:

def xor_crypt_string(data, key = 'awesomepassword', encode = False, decode = False):
   from itertools import izip, cycle
   import base64
   
   if decode:
      data = base64.decodestring(data)
   xored = ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key)))
   
   if encode:
      return base64.encodestring(xored).strip()
   return xored
secret_data = "XOR procedure"

print("The cipher text is")
print xor_crypt_string(secret_data, encode = True)
print("The plain text fetched")
print xor_crypt_string(xor_crypt_string(secret_data, encode = True), decode = True)

Ausgabe

Der Code für den XOR-Prozess gibt Ihnen die folgende Ausgabe:

Erläuterung

  • Die Funktion xor_crypt_string() Enthält einen Parameter zum Festlegen des Codierungs- und Decodierungsmodus sowie den Zeichenfolgenwert.

  • Die Grundfunktionen werden mit base64-Modulen übernommen, die der XOR-Prozedur / Operation zum Ver- oder Entschlüsseln des Klartextes / Chiffretextes folgen.

Note - Die XOR-Verschlüsselung wird zum Verschlüsseln von Daten verwendet und ist mit der Brute-Force-Methode nur schwer zu knacken, dh indem zufällige Verschlüsselungsschlüssel generiert werden, die mit dem richtigen Chiffretext übereinstimmen.