Question: Data Encryption is the process of transforming data, using a cipher, to make it unreadable to anyone except those possessing special knowledge. In this problem


Data Encryption is the process of transforming data, using a cipher, to make it unreadable to anyone except those possessing special knowledge. In this problem you will implement a simple encryption technique on data that comprises of non-negative integers that have at least six digits with no leading zeroes. In order to encrypt the number the following nctions are to be implemented void input(int *num); int add4 (int num); int shift(int num); void printoutput(int encryptNum, int origina!Num); The function input is used to read a positive integer having at least six digits and store it in the variable num. All leading zeroes in the input are neglected and are not counted as valid digits. The function will continue requesting for a number until a valid input is provided by the user A sample run of the function is shown below with data entered by the user displayed us ing bold font. Please enter an integer greater than 99999: 2348 Incorrect input. Please enter an integer greater than 99999: 012345 Incorrect input. Please enter an integer greater than 99999: 102345 The number entered is 102345 The functions add4 and shift are used to encrypt the number. First, modify the value of each digit of num by adding 4 to the digit. The function add4 modifies the value of each digit of num by adding 4 to each digit, and returns the modified number. Due to addition, if the value of any digit is greater than 9 then subtract 10 from the number so that each digit ranges between 0 and 9. For example, if num is 345678 then add4 should return 789012. Note that the number of digits of the modified number returned by add4 can be less than the number of digits in num. For example, if num is 665325, then add4 returns 009769, which is really 9769 The input (num) of the function shift is the modified number (output of the function add4) The function shift shifts the position of each digit to the left by one place. The most signif- icant digit becomes the least significant digit. For example, if the input (num) is 567890 then the output of the function shift is 678905. The modified value is returned by shift and is the final encrypted number. Similar to add4 function, the number of digits returned by shift can be less than the number of digits in num (input to function shift). For example, if num is 107982, then the encrypted number is 79821 The function printoutput prints the original number (originalNum) and the encrypted number (encryptNum). Refer to the examples below for the output format You are allowed to use the math.h functions in your solution. Remember to add-lm to your gcc command line own below are example runs of the program with data entered by the user displaye using bold font. Given the same user input, your output should match the output exactly, including all punctuation. Any variation from this will result in loss of marks Example 1: Please enter an integer greater than 99999: 4569012 The number entered is 4569012 Original number: 4569012 Encrypted number: 9034568 . Example 2: Please enter an integer greater than 99999: 563918 The number entered is 563918 Original number: 563918 Encrypted number: 73529 . Example 3: Please enter an integer greater than 99999: 70912 Incorrect input. Please enter an integer greater than 99999: 093679 Incorrect input. Please enter an integer greater than 99999: 0877893 The number entered is 877893 Original number: 877893 Encrypted number 112372 Note: The encrypted number can have less than 6 digits (as shown in Example 2). It is up to the decryption technique to handle this (not part of this problem). In the case of Example 3,0877893 is a valid input as it has 6 digits without any leading zero (877893) When you are ready to submit your work, place all of your functions in a file named Lab5Part1.c (with no main function) for submission