What is Polyalphabetic Cipher Algorithm?
A polyalphabetic cipher is a cipher based on substitution concept which uses multiple substitution alphabets.
Alberti Cipher is probably one of the initial ciphers invented by Leon Battista Alberti in around 1467. One of the popular implementations of this cipher algorithm is Vigenere cipher and Playfair cipher.
In this cipher algorithm, a cipher alphabet for the plain-text alphabet may be different at different places during the encryption process.
A popular cross-table called Tabula recta is used to identify elements for encryption and decryption based on Polyalphabetic Substitution Cipher algorithm.
The Polyalphabetic Cipher C program requires two inputs from the end user:
- The polyalphabetic substitution is easy to implement
- It makes frequency analysis more difficult.
Polyalphabetic Cipher Implementations
There are so many implementations of polyalphabetic substitution cipher algorithm enlisted below:
- Enigma cipher
- Beaufort cipher
- Vigenere cipher
- Autokey cipher
- Gronsfeld cipher
- Porta cipher
- Running key cipher
Polyalphabetic Cipher Encryption
Key Value: ABCD
Cipher Text: #PFLNH#OPIC
Polyalphabetic Cipher Decryption
Key Value: ABCD
Cipher Text: CODINGALPHA
Note: This encryption and decryption algorithm of Polyalphabetic Cipher in C programming is compiled with GNU GCC compiler using CodeLite IDE on Microsoft Windows 10 operating system.
C Program For Polyalphabetic Cipher Encryption
char plaintext, key_value, cipher_text;
int i, j = 0;
printf(“nEnter Plain-Text to Encrypt:t”);
printf(“nEnter key value:t”);
for(i = 0; i < strlen(plaintext); i++)
cipher_text[i] = plaintext[i] + (key_value[j] – 97);
j = j + 1;
if(j == strlen(key_value))
j = 0;
printf(“nPolyalphabetic Cipher Text:t%s”, cipher_text);
If you have any doubts about the implementation of Polyalphabetic Cipher in C programming, let us know about it in the comment section. Find more about it in Interactive Maths.