Design a product cipher algorithm that combines three simple transposition ciphers or substitution ciphers to generate a more secure encryption that suits embedded,resource constrained devices that comprises the IoT. The algorithm has to be designed and implemented with a particular set of objectives in mind, e.g.speed,security level,and power consumption.It is essential that the cipher should run in a finite amount of time on most inputs.Produce a report that includes the algorithm design disclosure; this should cover (not limited to):the operation of the three transformations used by the algorithm, their running order and interconnections,input to each transformation, key generation and length, and the number of rounds. It is essential to develop a schematic diagram that shows the details of your algorithm.
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.The proposed algorithm consists of the following three substitution ciphers (applied successively): shift (Caesar), affine transformation and Hill cipher. All transformations are performed modulo n, where n is the dimension of the alphabet.
In order to understand the detailed design of the algorithm, it is needed to show how both encryption and decryption work for a plaintext as initial input. It can be assumed the initial plaintext is P and each plaintext character is P[i], with i from the range [0, length-1].
There are 6 rounds of the algorithm, namely:
1) Encryption of plaintext according Caesar/shift cipher
2) Encryption of ciphertext resulted at previous step by applying affine transformation.
3) Encryption of the ciphertext resulted at previous step by applying Hill cipher.
4) Decryption of the ciphertext resulted at previous step by applying the inverse matrix of the matrix generated at previous step.
5) Decryption of the ciphertext resulted at step 4) by applying the inverse function of the affine transformation from step 2)
6) Retrieving the initial plaintext from the ciphertext from step 5) by applying the inverse of Caesar cipher.
At the bottom of the design part, a full working example is also included (covering both encryption and decryption)....