Implementation of Block Cipher
SuperClassDepartment of Computing COMP343 -Cryptography and Information Security Assignment 1 -Implementation of Block Cipher Worth: • 150 marks, scaled to 15% Includes: • Implementation of a block cipher class • Program which uses the class for encryption and decryption of files • Program that implements the birthday attack on a compression function built from the cipher Learning outcomes assessed: • Understanding of basic principles of modern cryptography (100 marks, i.e. 10% overall) • Implementation skills (50 marks, i.e. 5% overall) 1 Overview Block ciphers are basic cryptographic algorithms which provide confidentiality for messages transmitted over insecure channels or stored in insecure databases. This assignment is in three parts: implementation of a block cipher, imple- mentation of a file encryption/decryption program which uses the cipher, and implementation of a birthday paradox attack against a hash function which is based on the cipher. 1 1.1 Implementation of Block Cipher You should implement and thoroughly test a block cipher class, called Comp343Cipher according to the specification in section 1.3. You should start by working through some paper-and-pencil examples of the operations the cipher performs, and using the results of these to write some tests for your implementation. The cipher will use an S-box and permutation, which in turn may require some supporting methods. You should implement these in supporting classes, and test them in the same way. 1.2 Implementation of Encryption / Decryption Program In this stage, you need to use the Comp343Cipher class in a program that en- crypts and decrypts files using a user-provided key. Use Java as your program- ming language, and call your program Crypt.java The program must be designed in such a way that it can be used for both encryption and decryption. Your program should accept the following command line arguments: 1. The name of the file to be encrypted or decrypted 2. The output file to which the...
10 years ago
Purchase the answer to view it

- implementation_of_block_cipher__1.txt
- implementation_of_block_cipher_2.txt
- implementation_of_block_cipher_3.txt
- implementation_of_block_cipher_4.txt
- implementation_of_block_cipher_5.txt
- implementation_of_block_cipher_6.txt
- implementation_of_block_cipher_7.txt
- implementation_of_block_cipher_8.txt
- implementation_of_block_cipher_9.txt
- implementation_of_block_cipher_10.txt
- implementation_of_block_cipher_11.txt