This is a randomized encryption system made using a LFSR (Linear Feedback Shift Register) which encrptes the data given by user and decrptes a data encrypted by it.
It can do the following tasks which uses a random number generator (LFSR : Linear Feedback Shift Register) implemented in Verilog
- It can encrypt the data given by the user and decrypts the encrypted data.
- It can decrypt data encrypted by it.
- It can generate a secure password.
Currently input data supports
(A-Z,a-z,0-9,_, )
,If input is from file it also supports("\n",",",".")
To use, run the following command
python main.py
main.py
will ask to encrypt, decrypt or generate a secure password then it runs theverilog
modules.- It takes input from a
file
but if input is small it can take input fromconsole
as well - It takes
input file
and store the encrypted or decrypted data in atext file
specified by the user.
- Data is grouped in a lenght of 10 characters
- Each character of data is converted to
6 bit
binary representaion making a group of60 bit
bit_ran_6
andbit_ran_11
module keeps generating random numbers of widht 6 and 11 bit at each posedge of clock.- Based on these random numbers computation is done on the input (
60-bit
) and output is stored in78-bit
binary number. 78-bit
output is divided in6-bit
numbers and each6-bit
number is converted back into characters- These characters are taken together and written in a file specified by the user
- Data is grouped in a length of 13 characters
- Two characters extra help to decrypt it using the reverse computations
- The decrypt data is written in a file specified by the user
bit_ran_6
andbit_ran_11
are used to generate a random password of 10 characters.
Name | Entry Number |
---|---|
Sukhmeet Singh | 2020CSB1129 |
Sourabh Sanganwar | 2020CSB1121 |