solution whith details and code, explain in details
Lab Environment. SEED Ubuntu 20.04 VM
Task 1: Deriving the Private Key
Let p, q, and e be three prime numbers. Let n = p*q.We will usee, n as the public key. Please calculate the private key d. The hexadecimal values of p, q, and e are listed in the following. It should be noted that although p and q used in this task are quite large numbers,they are not large enough to be secure We intentionally make them small for the sake of simplicity. In practice, these numbers should be at least 512 bits long (the one used here are only 128 bits). p = F7E75FDC469067FFDC4E847C51F452DF q = E85CED54AF57E53E092113E62F436F4F e=0D88C3
Task 2: Signing a Message
The public/private keys used in this task are the same as the ones used in Task 2. Please generate a signature for the following message (please directly sign this message, instead of signing its hash value):
M = I owe you $2000.
Please make a slight change to the message M, such as changing $2000 to $3000, and sign the modified message. Compare both signatures and describe what you observe.
Task 3: Verifying a Signature
Bob receives a message M= "Launch a mi ss ile." from Alice,with her signature S.We know tha Alice's public key is (e, n) . Please verify whether the signature is indeed Alice's or not. The public key and signature (hexadecimal) are listed in the following:
M = Launch a missile
S = 643D6F34902D9C7EC90CB0B2BCA36C47FA37165C0005CAB026C0542CBDB6802F
e = 0l0001 (this hex value equals to decimal 65537) n =AE1CD4DC432798D933779FBD46C6E1247F0CF1233595113AA51B450F18116115
Suppose that the signature above is corrupted, such that the last byte of the signature changes from 2F to 3F, i.e, there is only one bit of change. Please repeat this task, and describe what will happen to the verification process.