Encryption and decryption of a file in Python – Rot 13 algorithm

In this tutorial, you will learn how to do encryption and decryption of a file using Python. Using cryptography we will learn about encryption and decryption of a file in Python.

Cryptography:

Cryptography is the process of protecting data during communication using some algorithms. Generally, the meaning of cryptography was crypt means “vault” and graphy means “writing”. In a word, cryptography means protecting our data by encryption and decryption.
Encryption: In cryptography, encryption is the process of encoding our message or data into the scripted format, where only the authorized can understand it. The encoded data is called ciphertext.
Decryption: In cryptography, decryption is the process of decoding the encoded message back into the normal text format.

In cryptography, there are many algorithms. Some of them are:

  • Rot 13 algorithm
  • Data encryption standard algorithm (DES)
  • Caesar cipher algorithm
  • Triple DES algorithm

Rot 13 algorithm in Python

Rot13 is a letter substitution cipher algorithm where it replaces the 13th alphabet letter after it.

Example of rot13 encryption algorithm:

# rot13 encryption algorithm 
f=open("file.txt","r")
s=f.read()
f.close()
m2=""
a_m=[chr(i) for i in range(97,110)] # list of alphabets from a to m
n_z=[chr(i) for i in range(110,123)] #list of alphabets from n to z
for i in s:
    if(i in a_m):
        m2+=n_z[a_m.index(i)]
    elif(i in n_z):
        m2+=a_m[n_z.index(i)]
    else:
        m2+=i
f.close()
f=open("ecc.txt","w+")
for i in range(len(m2)):
    f.write(m2[i])
f.close()


In the above program,

  • In the first line of our script, we opened the file using the open() method and stored its contents in s using the read() method.
  • As in the next line, a_m defines the list of alphabets from a to m and n_z defines the list of alphabets from n to z.
  • Using for loop we solved the rot13 encryption algorithm in the above script.
  • Finally, we open a new file and we store the encrypted contents into that new file and close the file.

Example of rot13 decryption algorithm:

#rot13 decryption algorithm
f=open("ecc.txt","r")
s=f.read()
f.close()
a_m=[chr(i) for i in range(97,110)] #list of alphabets from a to m
n_z=[chr(i) for i in range(110,123)]#list of alphabets from n to z
d2=""
for i in s:
    if(i in a_m):
        d2+=n_z[a_m.index(i)]
    elif(i in n_z):
        d2+=a_m[n_z.index(i)]
    else:
        d2+=i
f=open("dcc.txt","w+")
for i in range(len(d2)):
    f.write(d2[i])
f.close()

In the above program,

  • In the first line of our script, we opened the file using the open() method and stored its contents in s using the read() method.
  • As in the next line, a_m defines the list of alphabets from a to m and n_z defines the list of alphabets from n to z.
  • Using for loop we solved the rot13 decryption algorithm in the above script.
  • Finally, we open a new file and store the decrypted contents into that new file and close the file.

Leave a Reply

Your email address will not be published.