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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!