Question: Consider developing a framework name cipra in your favourite programming language. 1. Create an interface Cipher with following abstract methods: generate_key(); encrypt(); decrypt(); cryptoanalysis(); 2.
Consider developing a framework name cipra in your favourite programming language. 1. Create an interface Cipher with following abstract methods:
generate_key(); encrypt(); decrypt(); cryptoanalysis();
2. Now, write implementation of this interface for atleast three ciphers of your own choice (such as hill, playfair, monoalphabetic substitution cipher). You should provide appropriate class name such as Hill, PlayFair etc. Provide one argument constructor to initialize with plain text. Provide implementation for generate key, encryption, decryption and cryptoanalysis methods.
3. What is the theoretical complexity of your ciphers? Now analyze the complexity of your cipher for input of size 10^n (for 1<=n<=20). Plot the complexity of each ciphers all in a single graph and comment.
4. Now analyze the complexity of cryptoanalysis. Plot the complexity for each ciphers all in a single graph and comment.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
