A Cryptogtaphy based project involving Hill Cipher and Linear Transformations.
- Enciphering & Deciphering
- Modular Arithmetic
- Linear Transformations
- Hill n-cipher
- Digraphs
To perform encryption:
- Convert the input string into a vector.
- Produce a random non-singular encryption key matrix.
- Use the encryption key matrix to transform the input vector into an encrypted string.
To perform decryption:
- Use the concept of Modular Multiplicative Inverse of Matrices to obtain the Decryption Key from the Encryption Key.
- Use the obtained Decryption Key to convert the Encrypted Word Vector into its Decrypted counterpart.
Note: Modulo 26 is used at every stage ~ 26 Alphabets in the English Alphabet
For further resources, refer here and here.
Perform the following steps to run this project:
- Clone the repository to your local machine.
- Create a New Repl (C++).
- Drag and Drop folders (turn by turn) into the Repl - Note: Drag and Drop only one of the folders (Encryption/Decryption) at a time, as MakeFile causes issues. If you know a workaround, feel free to do so !
- Run the respective files and provide necessary inputs.
- Lipi Kansal : PES2UG20CS178
- Manab Kumar Biswas : PES2UG20CS185
- Manodnya K H : PES2UG20CS187
- Mayank Agrawal : PES2UG20CS188
- MD Taseen Atehar : PES2UG20CS191