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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started