1. Implement program RC4_insecure_XXXXXX in C that will encrypt data using RC4 stream cipher(use arbitrary implementation of RC4). Program will use two command line arguments (size, plaintext) and will PRINT OUT the corresponding ciphertext and used RC4 key. The key will be generated using LCG (with parameters a=1103515245, c=12345, m=2^31) seeded with the time. Key bytes will be constructed as concatenation of 31 bits of generated values x_1=LCG(x_0), x_2=LCG(x1), etc. In case of size not being multiple of 31 use zero padding (of most significant bits). Input: size (int representing number of bits) of RC4 key, plaintext (hexadecimal string) Output: ciphertext (hexadecimal string), key (hexadecimal string) Key: x_1[0..31] | x_2[0..31] | ... (bits) Do not forget to comment the code, especially bit manipulations used within the key construction. Usage: RC4_insecure_XXXXXX 256 5056313831 (5 points) 2. Implement program RC4_key_UCO that will use two command line arguments plaintext="This is my XXXXXX" (replace XXXXXX by your actual UCO) and ciphertext(plaintext encrypted by 992 bit key) and returns the used key: 1) plaintext(hexadecimal string) 2) ciphertext(hexadecimal string) = RC4_insecure_XXXXXX 992 54686973206973206d79... 3) key (hexadecimal string) At the beginning of the code shortly describe your approach and the time complexity of the attack. (3 points) 3. Implement program RC4_secure_XXXXXX same as RC4_insecure_XXXXXX but with the secure key generation (take care of short read!). At the beginning of the code shortly describe your understanding of secure key generation and its pros and cons. (2 points) Comment your code so it will be easy to understand (otherwise small penalization will applied). Submit zip with 3 source files(RC4_insecure_XXXXXX.c, RC4_key_XXXXXX.c, RC4_secure_XXXXXX.c with XXXXXX replaced by your actual UCO) to vault https://is.muni.cz/auth/el/fi/podzim2022/PV181/ode/130970432/ before the DEADLINE 21.09.2021 08:00.