Implemented various encryption/decryption, number theory and cryptographic applications made using Python
Symmetrical block cipher algorithm that takes plain text in blocks of 128 bits and converts them to ciphertext using keys of 128, 192, and 256 bits.
Uses a substitution method where letters in the alphabet are shifted by some fixed number of spaces to yield an encoding alphabet
Calculator which is able to perform the following arithmetic:
- Addition
- Subtraction
- Division
- Multiplication
The calculator has a GUI (Graphical User Interface) for ease of use
- Polygraphic substitution cipher based on linear algebra
- Keyword and plaintext turned into key matrix and column vector
- Matrix multiplication modulo the length of the alphabet (i.e. 26) is performed on each vector
- These vectors are then converted back into letters to produce the ciphertext
- Frequency analysis is one of the known ciphertext attacks. It is based on the study of the frequency of letters or groups of letters in a ciphertext
- Find the difference between i-th maximum occurring letter in the given string and the string T and then shift all the letters of the given string with that difference
- The string obtained will be one of the possible decrypted strings.
Determines whether a given number is likely to be prime
- Type of polyalphabetic substitution cipher
- Cipher alphabet is changed regularly during the encryption process, making it less vulnerable to cryptanalysis.
To set up the database:
-
Open a new command prompt window
-
Redirect to the location of the python file you wish to run
-
Type the following command and press
Enter
:python3 name_of_application.py
|-- AES Algorithm (Key Expansion)
| '-- keyExpansionAES.py
|-- Caesar Cipher
| '-- caesar_cipher.py
|-- Calculator
| '-- CalculatorApp.py
|-- Hill Cipher
| '-- main.py
|-- Letter Frequency Attack on Mono-Alphabetic Substitution Cipher
| '-- main.py
|-- Miller-Rabin Algorithm
| '-- millerRabinAlgorithm.py
|-- Vigeneré Cipher
| |-- test.py
| '-- vigenere_cipher.py