Question: In this project you are going to develop a program that implements three security mechanisms, where the program prompts the user to choose one of

In this project you are going to develop a program that implements three security mechanisms, where the program prompts the user to choose one of the three solutions.A. Data confidentiality assurance by symmetric encryption.This option implements the Data Encryption Standard (DES) with the Electronic Code Book (ECB) mode and one of the chaining modes (CBC, CFB, or OFB). Upon selecting this functionality, the program prompts the user to choose between encryption and decryption. For encryption, the user provides the plaintext and key, and the program generates two ciphertexts: one using ECB mode and the other using the selected chaining mode. The output highlights the differences between the ECB-based cipher and the serial-based cipher. For decryption, the user inputs the ciphertext, key, and the chosen mode of operation, and the program produces the corresponding plaintext. The procedure in which the security primitives such as IV, Nonce or S size is at your discretion.B. Message Authentication assurance.The second option simulates message authentication verification by ensuring the message: a) has not been altered during transmission, b) originated from an authenticated source and c) is not maliciously replayed. This mechanism should be implemented without relying on encryption. Your program should generate Message Authentication Code (MAC) for an input message based on a shared symmetric key. The output is the original message concatenated with the computed MAC (obviously, the input message must include a parameter that enables detecting replay attack). Your program must offer the choice of verifying a message with a precomputed MAC.C. Data confidentiality assurance by hybrid encryption (digital envelope).The final functionality your program must implement is hybrid encryption using a digital envelope. In this process, the input plaintext is encrypted with a randomly generated key, which is then encrypted using the receiver's public key. The resulting ciphertext consists of the encrypted plaintext combined with the encrypted random key. Additionally, your program should support the reverse operation, enabling the decryption of the digital envelope to retrieve its original content. Write this in Pyhton code

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 Programming Questions!