Data Structures & Algorithms Multiple Choice Questions on “Polyalphabetic Cipher”.
1. What is the meaning of cipher in cryptography?
a) an algorithm that performs encryption
b) an algorithm that generates a secret code
c) an algorithm that performs encryption or decryption
d) a secret code
View Answer
Answer: c
Clarification: Cipher is an algorithm for performing encryption or decryption. In cryptography, a set of defined steps are followed to generate ciphers. These are necessary to prevent data breach.
2. Which of the following ciphers are created by shuffling the letters of a word? Answer: b 3. Which of the following is a type of substitution cipher? 4. Which of the following correctly defines poly alphabetic cipher? Answer: a 5. Which of the following is not a type of poly alphabetic cipher? Answer: d 6. Which of the following is a type of traditional cipher? Answer: b 7. Poly alphabetic cipher harder to decipher than mono alphabetic cipher. Answer: a 8. Which cipher is represented by the following function? a) vigenere cipher Answer: b 9. Which cipher is represented by the following function? a) vigenere cipher 10. In which of the following cipher the plain text and the ciphered text does not have same number of letters? Answer: b 11. What will be the ciphered text if the string “” is given as input to the code of vigenere cipher with keyword as “HELLO”? Answer: c 12. What will be the ciphered text if the string “HELLO” is given as input to the code of hill cipher with keyword as “”? Answer: d
a) rotor cipher
b) rail fence cipher
c) vigenere cipher
d) hill cipher
Clarification: There are two types of traditional ciphers- Transposition and substitution cipher. In transposition cipher the letters of the given data are shuffled in a particular order, fixed by a given rule. Rail fence cipher is an example of transposition cipher.
a) poly alphabetic cipher
b) transposition cipher
c) columnar cipher
d) rail fence cipher
Answer: a
Clarification: In substitution cipher the plain text is replaced by cipher text according to a fixed rule. There are two types of substitution cipher- Mono alphabetic and Poly alphabetic cipher.
a) a substitution based cipher which uses multiple substitution at different positions
b) a substitution based cipher which uses fixed substitution over entire message
c) a transposition based cipher which uses multiple substitution at different positions
d) a transposition based cipher which uses fixed substitution over entire message
Clarification: Poly alphabetic cipher is a type of substitution cipher. It uses multiple substitution at different positions in order to cipher the plain text.
a) Rotor cipher
b) Hill cipher
c) One time pad cipher
d) Affine cipher
Clarification: In poly alphabetic cipher each symbol of plain text is replaced by a different cipher text regardless of its occurrence. Out of the given options, only affine cipher is not a poly alphabetic cipher.
a) transportation cipher
b) transposition cipher
c) transforming cipher
d) translating cipher
Clarification: There are two types of a traditional cipher. First is transposition cipher and the second is substitution cipher.
a) true
b) false
Clarification: Mono alphabetic ciphers can be decoded by using the method frequency analysis. But in poly alphabetic cipher each symbol of plain text is replaced by a different cipher text regardless of its occurrence. This makes it very difficult to be decoded by using frequency analysis.void Cipher(string msg, string key)
{
// Get key matrix from the key string
int keyMat[3][3];
getKeyMatrix(key, keyMat);
int msgVector[3][1];
for (int i = 0; i <=2; i++)
msgVector[i][0] = (msg[i]) % 65;
int cipherMat[3][1];
// Following function generates
// the encrypted vector
encrypt(cipherMat, keyMat, msgVector);
string CipherText;
for (int i = 0; i <=2; i++)
CipherText += cipherMat[i][0] + 65;
cout << CipherText;
}
b) hill cipher
c) keyword cipher
d) rotor cipher
View Answer
Clarification: The given function represents hill cipher. It is a type of poly alphabetic substitution which is based on linear algebra. public class Cipher
{
public static String encrypt(String text, final String key)
{
String res = "";
text = text.toUpperCase();
for (int i = 0, j = 0; i < text.length(); i++)
{
char c = text.charAt(i);
if (c < 'A' || c > 'Z')
continue;
res += (char) ((c + key.charAt(j) - 2 * 'A') % 26 + 'A');
j = ++j % key.length();
}
return res;
}
b) hill cipher
c) keyword cipher
d) rotor cipher
Answer: a
Clarification: The given function represents the function of hill cipher. It is a type of poly alphabetic substitution which makes use of the vigenere table for making substitutions in the plain text.
a) affine cipher
b) hill cipher
c) columnar cipher
d) additive cipher
Clarification: In transposition cipher and mono alphabetic cipher the number of letters remains the same in ciphered and deciphered text. But in poly alphabetic cipher the number of letters are different. So here as hill cipher is the only poly alphabetic cipher so it will be the answer.
a) UEWIIDKLL
b) ZEYQCOCM
c) ZEYQCBROCM
d) ZEYQCBROCMJDH
Clarification: Vigenere cipher is a type of poly alphabetic substitution which uses vigenere table for making substitutions in the plain text. Using the table we find the solution to be ZEYQCBROCM.
a) EZJ
b) JEZ
c) ZEJ
d) JZE
Clarification: Hill cipher is a type of poly alphabetic substitution. It uses a n x n matrix in order to cipher the given plain text. Using this method we find the ciphered text to be JZE.
