In cryptography, the simple XOR cipher is a type of additive cipher.
As the XOR operation is common in programming languages. It's pretty simple to implement it and it's also less expensive on computers.
The cipher is sometimes used for hiding information or used in cases where no particular security is required.
But, before we dive into code keep in mind that this cypher can easily be crack using a frequency analysis . But wait !, this is easy because most of the time they use the same key for xoring and if we simply generates random keys its actually pretty hard than to crack it.
So, below is the implementation of xoring in python 3.
As the XOR operation is common in programming languages. It's pretty simple to implement it and it's also less expensive on computers.
The cipher is sometimes used for hiding information or used in cases where no particular security is required.
But, before we dive into code keep in mind that this cypher can easily be crack using a frequency analysis . But wait !, this is easy because most of the time they use the same key for xoring and if we simply generates random keys its actually pretty hard than to crack it.
So, below is the implementation of xoring in python 3.
#!/usr/bin/env python3 from os import urandom as keygen def xor_str(data, key): return "".join(chr(ord(a) ^ b) for a, b in zip(data, key)) def run(): # Note: string in Python 2.x is a bytestring msg = input("Enter your message: ") key = keygen(len(msg)) xored = xor_str(msg, key) # this is how you can decrypt the data un_xored = xor_str(xored, key) # Verify that data if un_xored == msg: print("success") print("Encrypted:") print(xored) else: print("Error") if __name__ == "__main__": run()
No comments :
Post a Comment