Create a program to encrypt and decrypt binary files using S-DES (Simplified DES) in the
Cipher Block Chaining mode. The program takes the input of an initial key and an initial
vector, reads the plaintext or ciphertext from a file, conducts the encryption or
decryption, and writes the resulting ciphertext or plaintext into a second file.
You can use any of your preferred programming languages and operating systems. A
test case is as follows: using a binary initialization vector of 10101010, a binary plaintext
of 00000001 00100011 encrypted with a binary key of 0111111101 should give a binary
ciphertext of 11110100 00001011. Decryption should work correspondingly.
Input Format:
The program should take a command in the following format.
(java) mycipher -m mode -k initial_key -i initial_vector -p plaintext_file -c ciphertext_file
mode: can be only encrypt or decrypt
initial_key: 10-bit initial key
initial_vector: 8-bit initial vector
plaintext_file: a binary (not text) file to store the plaintext
ciphertext_file: a binary (not text) file to store the ciphertext
Output Format:
The program should print output in the following format.
k1=subkey 1
k2=subkey 2
plaintext=all bytes of the plaintext separated by blanks, starting from the first byte
ciphertext= all bytes of the ciphertext separated by blanks, starting from the first byte