Home > Tips > Encryption and Decryption > XOR Encryption
XOR Encryption
XOR Encryption, Vernam Cipher Logics, Sample Coding, Text and
Database Encryptr by XOR Encryption
What is XOR Encryption?
The simplest stream cipher is called the Vernam cipher or XOR
Encryption. A bit from a key is added, with the carry discarded,
to a bit from the plaintext to yield one bit of cipher text
(this operation is called exclusive -OR). One simple way to encrypt
and decrypt data is using XOR Encryption method, The character
in the data stream and those of a code key are XORed together
to create and encrypted character. The process is exactly same
for encryption as well as decryption.
The code key can be made up of any alphanumeric characters you
want. It can be any long, much longer key used it is most tough
to crack.
Vernam or XOR Ciphers turn out to be easy to break. An attack
can mathematically combine ciphertext messages in pairs to
factor out the key stream and produce a messages that is
easier to crack. If the attacker solves one message,
extracting its plaintext from ciphertext, the plaintext from
ciphertext, that plaintext can be used to create the key
string. Once the key string is recovered, the attacker can
decipher all of the other messages protected with that key
string.
Despite its weakness in simple applications, the XOR
Encryption remains an important cipher, It is weak when we use
repeating keys, but it can be very effective when the key stream
varies continuously. this approaches is often uses in modern
stream ciphers RC4 (Rivest Cipher #4), developed by Ron Rivest
of RSA data security. It is used wisely in the field of data
security for its easy to use, however it is very easy to
crack for professional hacker.
XOR Encryption is not very secure and it can be crack very
easily, however if want encrypt messages or documents so that
the cannot be viewed in text editor, then it is simple way to
accomplish.
Following code demonstrate how to use XOR Encryption algorithm
to encrypt and decrypt a stream of text with Key Code, here we
are creating a function named XORCipher which take two
argument one is Input stream and one is Key code.
We XORed each bit of stream with the Key bit and concatenate
the resulting bit to produce return string, it used same function
to encryption and decryption, however in both case the key
code should be same.
Public Function
XORCipher(ByVal strDataIn As
String, _
ByVal CodeKey As
Integer) As
String
Dim
i As Integer
Dim
j As Long
Dim
StrOut As String
StrOut = ""
For
j = 1 To Len(strDataIn)
i
= Asc(Mid(strDataIn, j, 1)) Xor
CodeKey
StrOut
= StrOut & Chr(i)
Next
XORCipher = StrOut
End
Function
For example if we call the function
XORCipher("ATANU MAITY",160) then it returns cipher
text "áôáîõ€íáéôù", same way if we call
the function XORCipher("áôáîõ€íáéôù",160)
then it returns plain text "ATANU MAITY".
For completing listing of the code and sample Visual Basic 6, VB.NET, C# .NET
project for XOR Encryption can be found in Sample Code
section.
Home > Tips > Encryption and Decryption > XOR Encryption