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.pywill ask to encrypt, decrypt or generate a secure password then it runs theverilogmodules.- It takes input from a
filebut if input is small it can take input fromconsoleas well - It takes
input fileand store the encrypted or decrypted data in atext filespecified by the user.
- Data is grouped in a lenght of 10 characters
- Each character of data is converted to
6 bitbinary representaion making a group of60 bit bit_ran_6andbit_ran_11module 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-bitbinary number. 78-bitoutput is divided in6-bitnumbers and each6-bitnumber 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_6andbit_ran_11are used to generate a random password of 10 characters.
| Name | Entry Number |
|---|---|
| Sukhmeet Singh | 2020CSB1129 |
| Sourabh Sanganwar | 2020CSB1121 |