Updated cipher descriptions

This commit is contained in:
Matthew Ellison
2024-04-25 17:16:03 -04:00
parent d2ee11b724
commit c37c5f1897

View File

@@ -13,7 +13,7 @@ cipher.mono.affine.facts={\
#Atbash #Atbash
cipher.mono.atbash.name=Atbash cipher.mono.atbash.name=Atbash
cipher.mono.atbash.description= cipher.mono.atbash.description=The Atbash cipher is a substitution cipher where each letter of the plaintext is replaced by its counterpart in the reverse alphabet.
cipher.mono.atbash.explanation={\ cipher.mono.atbash.explanation={\
"The Atbash cipher is a monoalphabetic substitution cipher and is one of the simplest and oldest forms of encryption.",\ "The Atbash cipher is a monoalphabetic substitution cipher and is one of the simplest and oldest forms of encryption.",\
"Encryption involves replacing each letter with its reverse counterpart. i.e. A becomes Z, B becomes Y, etc.",\ "Encryption involves replacing each letter with its reverse counterpart. i.e. A becomes Z, B becomes Y, etc.",\
@@ -21,13 +21,14 @@ cipher.mono.atbash.explanation={\
"Atbash cipher can effectively obscure the meaning of a message to those unfamiliar with the technique. However, it's very vulnerable to cryptanalysis, especially frequency analysis, and it provides very little security against modern decryption techniques."\ "Atbash cipher can effectively obscure the meaning of a message to those unfamiliar with the technique. However, it's very vulnerable to cryptanalysis, especially frequency analysis, and it provides very little security against modern decryption techniques."\
} }
cipher.mono.atbash.facts={\ cipher.mono.atbash.facts={\
"Atbash gets its name from a technique using the Hebrew alphabet, where the first letter 'Aleph' is replaced with the last latter 'Tav', 'Bet' is replaced with 'shin', etc.",\ "The Atbash cipher is one of the oldest known substitution ciphers. It is believed to have been used in ancient Hebrew texts as far back as 500-600 B.C.",\
"The Atbash cipher is a special case of the Affine cipher with a = 25 and b = 25."\ "It gets its name from a technique using the Hebrew alphabet, where the first letter 'Aleph' is replaced with the last latter 'Tav', 'Bet' is replaced with 'shin', etc.",\
"It is a special case of the Affine cipher with a = 25 and b = 25."\
} }
#Autokey #Autokey
cipher.mono.autokey.name=Autokey cipher.mono.autokey.name=Autokey
cipher.mono.autokey.description= cipher.mono.autokey.description=The Autokey cipher is a polyalphabetic substitution cipher where each letter of the plaintext is combined with a letter from a predetermined key sequence to generate the ciphertext.
cipher.mono.autokey.explanation={\ cipher.mono.autokey.explanation={\
"The autokey cipher extends the Vigenere cipher. Like the Vigenere cipher it uses a keyword to encrypt plaintext, but it also incorporates the plaintext itself into the keystream.",\ "The autokey cipher extends the Vigenere cipher. Like the Vigenere cipher it uses a keyword to encrypt plaintext, but it also incorporates the plaintext itself into the keystream.",\
"Encryption works by concatenating the message to the keyword. Then you convert the resulting key into a series of numeric values mod 26. Then you advance each letter the indicated number of letters similar to the Caesar cipher.",\ "Encryption works by concatenating the message to the keyword. Then you convert the resulting key into a series of numeric values mod 26. Then you advance each letter the indicated number of letters similar to the Caesar cipher.",\
@@ -35,11 +36,13 @@ cipher.mono.autokey.explanation={\
"The Autokey cipher is more secure than the Vigenere cipher due to the keyword including part of the text to be encoded. However, like the Vigenere cipher, the Autokey cipher is vulnerable to frequency analysis and other cryptanalysis techniques, especially if the keyword is short or if there are patterns in the plaintext."\ "The Autokey cipher is more secure than the Vigenere cipher due to the keyword including part of the text to be encoded. However, like the Vigenere cipher, the Autokey cipher is vulnerable to frequency analysis and other cryptanalysis techniques, especially if the keyword is short or if there are patterns in the plaintext."\
} }
cipher.mono.autokey.facts={\ cipher.mono.autokey.facts={\
"The Autokey cipher was the inspiriation for the ADFGVX cipher, which Germany used during World War I",\
"It has also served as the precursor to more complex modern encryption methods"\
} }
#Baconian #Baconian
cipher.mono.baconian.name=Baconian cipher.mono.baconian.name=Baconian
cipher.mono.baconian.description= cipher.mono.baconian.description=The Baconian cipher is a substitution cipher where the letters of the alphabet are represented by binary patterns of length 5 using 'A' and 'B' instead of '0' and '1'.
cipher.mono.baconian.explanation={\ cipher.mono.baconian.explanation={\
"The Baconian cipher, also known as the Baconian alphabet or Bacon's cipher, is a type of substitution cipher used for encoding and decoding messages.",\ "The Baconian cipher, also known as the Baconian alphabet or Bacon's cipher, is a type of substitution cipher used for encoding and decoding messages.",\
"In the Baconian cipher, each letter of the alphabet is replaced by a sequence of five characters, consisting of 'A' and 'B'.",\ "In the Baconian cipher, each letter of the alphabet is replaced by a sequence of five characters, consisting of 'A' and 'B'.",\
@@ -50,9 +53,10 @@ cipher.mono.baconian.explanation={\
} }
cipher.mono.baconian.facts={\ cipher.mono.baconian.facts={\
"It was developed by Sir Francis Bacon in the late 16th century."\ "It was developed by Sir Francis Bacon in the late 16th century."\
"There is a theory that he developed the cipher to conceal his authorship of Shakespeare's works, though there is no conclusive evidence support this theory.",\
"Sir Francis Bacon has also been proposed as the author behind the Voynich manuscript, which remains undeciphered to this day."\
} }
#TODO
#Base X #Base X
cipher.mono.basex.name=Base X cipher.mono.basex.name=Base X
cipher.mono.basex.description= cipher.mono.basex.description=
@@ -64,7 +68,7 @@ cipher.mono.basex.facts={\
#Beaufort #Beaufort
cipher.mono.beaufort.name=Beaufort cipher.mono.beaufort.name=Beaufort
cipher.mono.beaufort.description= cipher.mono.beaufort.description=The Beaufort cipher is a type of substitution cipher where each letter in the plaintext is replaced by another letter a certain number of letters before it in the alphabet. These offsets are determined by the keyword.
cipher.mono.beaufort.explanation={\ cipher.mono.beaufort.explanation={\
"The Beaufort cipher is a type of substitution cipher similar to the Vigenere cipher but with a different method of encryption.",\ "The Beaufort cipher is a type of substitution cipher similar to the Vigenere cipher but with a different method of encryption.",\
"In the Beaufort cipher, encryption and decryption are performed by using a keyword to determine the amount of backward displacement within the alphabet for each letter of the text, unlike the Vigenere cipher, where the key is added.",\ "In the Beaufort cipher, encryption and decryption are performed by using a keyword to determine the amount of backward displacement within the alphabet for each letter of the text, unlike the Vigenere cipher, where the key is added.",\
@@ -72,12 +76,12 @@ cipher.mono.beaufort.explanation={\
"However, it provides some variation in encryption compared to the Vigenere cipher, which may offer slightly different cryptographic properties."\ "However, it provides some variation in encryption compared to the Vigenere cipher, which may offer slightly different cryptographic properties."\
} }
cipher.mono.beaufort.facts={\ cipher.mono.beaufort.facts={\
"It was named after Sir Francis Beaufort, an Irish hydrographer, and admiral."\ "The Beaufort cipher was named in honor of Sir Francis Beaufort, and Irish hydrographer and admiral, for his contribution to cryptography and his work in creating the Beaufort wind force scale, despite him not being involved it its creation."\
} }
#Caesar #Caesar
cipher.mono.caesar.name=Caesar cipher.mono.caesar.name=Caesar
cipher.mono.caesar.description= cipher.mono.caesar.description=The Caesar cipher is a substitution cipher where each letter in the plaintext is shifted a certain number of places.
cipher.mono.caesar.explanation={\ cipher.mono.caesar.explanation={\
"The Caesar cipher is one of the simplest and most widely known encryption techniques. It's a type of substitution cipher where each letter in the plaintext is shifted a certain number of places down or up the alphabet.",\ "The Caesar cipher is one of the simplest and most widely known encryption techniques. It's a type of substitution cipher where each letter in the plaintext is shifted a certain number of places down or up the alphabet.",\
"For encryption a shift value is used which determines how many letters forward each letter in the text should be shifted.",\ "For encryption a shift value is used which determines how many letters forward each letter in the text should be shifted.",\
@@ -86,25 +90,28 @@ cipher.mono.caesar.explanation={\
"With only 25 possible keys, it's easily broken by trying all possible shifts. Despite its simplicity, it's still sometimes used as a part of more complex encryption algorithms or for educational purposes."\ "With only 25 possible keys, it's easily broken by trying all possible shifts. Despite its simplicity, it's still sometimes used as a part of more complex encryption algorithms or for educational purposes."\
} }
cipher.mono.caesar.facts={\ cipher.mono.caesar.facts={\
"The Caesar cipher, named after Julius Caesar who is said to have used it for communication."\ "The Caesar cipher, named after Julius Caesar who is said to have used it for personal communication.",\
"There are only 25 possible keys making this extremely vulnerable to brute force attacks."\
} }
#One-Time Pad #One-Time Pad
cipher.mono.onetimepad.name=One-Time Pad cipher.mono.onetimepad.name=One-Time Pad
cipher.mono.onetimepad.description= cipher.mono.onetimepad.description=The One-Time Pad cipher is a substitution cipher with the potential for perfect secrecy.
cipher.mono.onetimepad.explanation={\ cipher.mono.onetimepad.explanation={\
"A One-Time Pad cipher is a type of encryption technique that provides perfect secrecy when used correctly. The essence of a One-Time Pad cipher lies in the use of a randomly generated key that is at least as long as the message being encrypted.",\ "A One-Time Pad cipher is a type of encryption technique that provides perfect secrecy when used correctly. The essence of a One-Time Pad cipher lies in the use of a randomly generated key that is at least as long as the message being encrypted.",\
"The key is never reused and is kept completely secret between the sender and the recipient. Each character of the plaintext message is combined with the corresponding bit or character of the key using a the same shift as the Caesar cipher.",\ "The key is never reused and is kept completely secret between the sender and the recipient. Each character of the plaintext message is combined with the corresponding bit or character of the key using a the same shift as the Caesar cipher.",\
"In a slightly less secure, but more practical key selection, the passage of a book can also be used. Preferably one with a good mix of many characters that would make frequency analysis more difficult.",\ "In a slightly less secure, but more practical key selection, the passage of a book can also be used. Preferably one with a good mix of many characters that would make frequency analysis more difficult.",\
"When these principles are followed, the One-Time Pad provides perfect secrecy, meaning that the ciphertext reveals no information about the plaintext, even when the attacker has unlimited computational power. However, achieving and maintaining these conditions in practice can be extremely challenging, which limits the practical use of the One-Time Pad cipher."\ "When these principles are followed, the One-Time Pad provides perfect secrecy, meaning that the ciphertext reveals no information about the plaintext, even when the attacker has unlimited computational power. ",\
"However, achieving and maintaining these conditions in practice can be extremely challenging, which limits the practical use of the One-Time Pad cipher."\
} }
cipher.mono.onetimepad.facts={\ cipher.mono.onetimepad.facts={\
"It was invented independently by Gilbert Vernam in 1917 and later rediscovered by Joseph Mauborgne and patented by both in 1919."\ "It was invented independently by Gilbert Vernam in 1917 and later rediscovered by Joseph Mauborgne and patented by both in 1919.",\
"It was used by espionage agencies during the cold war, notably the Soviet spy network Venona Project used it to communicate securely."\
} }
#Porta #Porta
cipher.mono.porta.name=Porta cipher.mono.porta.name=Porta
cipher.mono.porta.description= cipher.mono.porta.description=The Porta cipher is a polyalphabetic substitution cipher where each letter in the plaintext is shifted based on a keyword, using a fixed tabula.
cipher.mono.porta.explanation={\ cipher.mono.porta.explanation={\
"The Porta cipher, also known as the Porta square or Portax cipher, is a variant of the Vigenere cipher and shares some similarities with it.",\ "The Porta cipher, also known as the Porta square or Portax cipher, is a variant of the Vigenere cipher and shares some similarities with it.",\
"In the Porta cipher, encryption and decryption are performed using a keyword and a tabula recta or Porta square. The Porta square is a table that consists of 26 rows and 26 columns, where each row represents the alphabet shifted by a certain number of positions.",\ "In the Porta cipher, encryption and decryption are performed using a keyword and a tabula recta or Porta square. The Porta square is a table that consists of 26 rows and 26 columns, where each row represents the alphabet shifted by a certain number of positions.",\
@@ -113,12 +120,14 @@ cipher.mono.porta.explanation={\
"The Porta cipher provides stronger encryption than simple substitution ciphers. However, it is still susceptible to frequency analysis and other cryptanalysis techniques."\ "The Porta cipher provides stronger encryption than simple substitution ciphers. However, it is still susceptible to frequency analysis and other cryptanalysis techniques."\
} }
cipher.mono.porta.facts={\ cipher.mono.porta.facts={\
"It was invented by Giovanni Battista della Porta in the 16th century."\ "It was invented by Giovanni Battista della Porta in the 16th century.",\
"It is one of the earliest known polyalphabetic ciphers, preceding the Vigenere cipher by several centuries.",\
"It was one of the first ciphers to use a keyword to deetermine the alphabetic shift."\
} }
#Substitution #Substitution
cipher.mono.substitution.name=Substitution cipher.mono.substitution.name=Substitution
cipher.mono.substitution.description= cipher.mono.substitution.description=The Substitution cipher is a method of encryption where each letter in the plaintext is replaced by another letter, determined by a predetermined key.
cipher.mono.substitution.explanation={\ cipher.mono.substitution.explanation={\
"A substitution cipher is a method of encryption where each letter in the plaintext is replaced by another letter or symbol according to a predetermined set of rules. In other words, it substitutes each plaintext character with another character.",\ "A substitution cipher is a method of encryption where each letter in the plaintext is replaced by another letter or symbol according to a predetermined set of rules. In other words, it substitutes each plaintext character with another character.",\
"Substitution ciphers are among the simplest forms of encryption and have been used throughout history for secret communication.",\ "Substitution ciphers are among the simplest forms of encryption and have been used throughout history for secret communication.",\
@@ -126,11 +135,14 @@ cipher.mono.substitution.explanation={\
"Despite their vulnerabilities, substitution ciphers are often used in educational settings to introduce basic concepts of cryptography."\ "Despite their vulnerabilities, substitution ciphers are often used in educational settings to introduce basic concepts of cryptography."\
} }
cipher.mono.substitution.facts={\ cipher.mono.substitution.facts={\
"The Caesar cipher is a type of substitution cipher, where the alphabet is just shifted rather than completely shuffled.",\
"Substitution ciphers are some of the earliest known encryption methods.",\
"Because of their nature they are easy to break using techniques such as frequency analysis."\
} }
#Vigenere #Vigenere
cipher.mono.vigenere.name=Vigenere cipher.mono.vigenere.name=Vigenere
cipher.mono.vigenere.description= cipher.mono.vigenere.description=The Vigenere cipher is a polyalphabetic encryption method that uses a keyword and series of interwoven Caesar ciphers.
cipher.mono.vigenere.explanation={\ cipher.mono.vigenere.explanation={\
"The Vigenere cipher adds more security compared to simple monoalphabetic substitution ciphers like the Caesar cipher.",\ "The Vigenere cipher adds more security compared to simple monoalphabetic substitution ciphers like the Caesar cipher.",\
"In the Vigenere cipher, encryption and decryption are performed using a keyword or keyphrase. The key is used to determine the shift applied to each letter in the plaintext, with different parts of the key determining different shifts.",\ "In the Vigenere cipher, encryption and decryption are performed using a keyword or keyphrase. The key is used to determine the shift applied to each letter in the plaintext, with different parts of the key determining different shifts.",\
@@ -140,14 +152,16 @@ cipher.mono.vigenere.explanation={\
"Despite its vulnerabilities, the Vigenere cipher was considered unbreakable for centuries and was widely used for secure communication."\ "Despite its vulnerabilities, the Vigenere cipher was considered unbreakable for centuries and was widely used for secure communication."\
} }
cipher.mono.vigenere.facts={\ cipher.mono.vigenere.facts={\
"It was invented by Giovan Battista Bellaso in the 16th century and later misattributed to Blaise de Vigenere, hence the name."\ "It was invented by Giovan Battista Bellaso in the 16th century and later misattributed to Blaise de Vigenere, hence the name.",\
"It is one of the earliest known examples of a polyalphabetic substitution cipher.",\
"It was cracked in the mid-19th century by Charles Babbage's assistant, Friedrich Kasiski. The method now known as the Kasiski examination exploits the repeated patters in the ciphertext to determine the length of the keyword."\
} }
#Poly-Substitution #Poly-Substitution
#Bifid #Bifid
cipher.poly.bifid.name=Bifid cipher.poly.bifid.name=Bifid
cipher.poly.bifid.description= cipher.poly.bifid.description=The Bifid cipher involves converting plaintext characters into coordinates in a 5x5 grid, then transposing them into a single string using a keyword.
cipher.poly.bifid.explanation={\ cipher.poly.bifid.explanation={\
"The Bifid cipher is a type of polyalphabetic substitution cipher that combines elements of both transposition and substitution.",\ "The Bifid cipher is a type of polyalphabetic substitution cipher that combines elements of both transposition and substitution.",\
"It was invented by Felix Delastelle in 1901 and was considered one of the strongest ciphers at the time due to its complexity.",\ "It was invented by Felix Delastelle in 1901 and was considered one of the strongest ciphers at the time due to its complexity.",\
@@ -160,11 +174,12 @@ cipher.poly.bifid.explanation={\
"Overall, the Bifid cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\ "Overall, the Bifid cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\
} }
cipher.poly.bifid.facts={\ cipher.poly.bifid.facts={\
"The Bifid cipher was used by the French military during World War I."\
} }
#Columnar #Columnar
cipher.poly.columnar.name=Columnar cipher.poly.columnar.name=Columnar
cipher.poly.columnar.description= cipher.poly.columnar.description=The Columnar cipher is a transposition cipher where the plaintext is written out in rows under a keyword, then read out column by column, forming the ciphertext.
cipher.poly.columnar.explanation={\ cipher.poly.columnar.explanation={\
"The Columnar cipher, also known as the Columnar Transposition cipher, is a type of transposition cipher where the characters of the plaintext are rearranged according to a specific method based on the columns of a grid.",\ "The Columnar cipher, also known as the Columnar Transposition cipher, is a type of transposition cipher where the characters of the plaintext are rearranged according to a specific method based on the columns of a grid.",\
"Start by writing the plaintext message into a grid, row by row, with a fixed number of columns. The number of columns is determined by the key, which is a word or a sequence of letters chosen by the sender.",\ "Start by writing the plaintext message into a grid, row by row, with a fixed number of columns. The number of columns is determined by the key, which is a word or a sequence of letters chosen by the sender.",\
@@ -173,11 +188,12 @@ cipher.poly.columnar.explanation={\
"The Columnar cipher is relatively simple to implement and understand, and it provides a moderate level of security against casual attempts to decrypt it. However, it is vulnerable to more sophisticated cryptanalysis methods, especially if the key is short or if there are patterns in the plaintext."\ "The Columnar cipher is relatively simple to implement and understand, and it provides a moderate level of security against casual attempts to decrypt it. However, it is vulnerable to more sophisticated cryptanalysis methods, especially if the key is short or if there are patterns in the plaintext."\
} }
cipher.poly.columnar.facts={\ cipher.poly.columnar.facts={\
"It was used by many military forces and intelligence agencies in World War I and II"\
} }
#Hill #Hill
cipher.poly.hill.name=Hill cipher.poly.hill.name=Hill
cipher.poly.hill.description= cipher.poly.hill.description=The Hill cipher is a polygraphic substitution cipher that operates on groups of letters in a plaintext message, transforming them using matrix multiplication.
cipher.poly.hill.explanation={\ cipher.poly.hill.explanation={\
"The Hill cipher is a type of polygraphic substitution cipher based on linear algebra and is one of the earliest known examples of a block cipher. The Hill cipher operates on blocks of plaintext letters and uses matrix multiplication to encrypt and decrypt messages.",\ "The Hill cipher is a type of polygraphic substitution cipher based on linear algebra and is one of the earliest known examples of a block cipher. The Hill cipher operates on blocks of plaintext letters and uses matrix multiplication to encrypt and decrypt messages.",\
"The encryption key in the Hill cipher is a square matrix called the encryption matrix. The size of the matrix (i.e., the number of rows and columns) depends on the key length and the block size of the plaintext. The determinant of the encryption matrix must be relatively prime to the size of the alphabet used (typically 26 for English text) to ensure that the encryption matrix is invertible.",\ "The encryption key in the Hill cipher is a square matrix called the encryption matrix. The size of the matrix (i.e., the number of rows and columns) depends on the key length and the block size of the plaintext. The determinant of the encryption matrix must be relatively prime to the size of the alphabet used (typically 26 for English text) to ensure that the encryption matrix is invertible.",\
@@ -187,24 +203,27 @@ cipher.poly.hill.explanation={\
"One limitation of the Hill cipher is that it requires the plaintext to be divided into blocks of fixed length, which can result in padding if the plaintext length is not a multiple of the block size. Additionally, the size of the encryption matrix and the choice of plaintext block size can impact the complexity and security of the cipher."\ "One limitation of the Hill cipher is that it requires the plaintext to be divided into blocks of fixed length, which can result in padding if the plaintext length is not a multiple of the block size. Additionally, the size of the encryption matrix and the choice of plaintext block size can impact the complexity and security of the cipher."\
} }
cipher.poly.hill.facts={\ cipher.poly.hill.facts={\
"It was invented by Lester S. Hill in 1929."\ "It was invented by Lester S. Hill in 1929.",\
"It is one of the earliest examples of a block cipher."\
} }
#Morse #Morse
cipher.poly.morse.name=Morse Code cipher.poly.morse.name=Morse Code
cipher.poly.morse.description= cipher.poly.morse.description=Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks, with each character represented by a unique sequence of dots and dashes.
cipher.poly.morse.explanation={\ cipher.poly.morse.explanation={\
"Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks. Morse code encodes characters (letters, numbers, and punctuation) as sequences of dots (short signals) and dashes (long signals) arranged in specific patterns.",\ "Morse code is a method of transmitting text information as a series of on-off tones, lights, or clicks. Morse code encodes characters (letters, numbers, and punctuation) as sequences of dots (short signals) and dashes (long signals) arranged in specific patterns.",\
"The basic elemens of Morse Code are dots and dashes. Each letter, number, or punctuation mark is represented by a unique combination of dots and dashes. Numbers and punctuation marks also have their own Morse code representations.",\ "The basic elemens of Morse Code are dots and dashes. Each letter, number, or punctuation mark is represented by a unique combination of dots and dashes. Numbers and punctuation marks also have their own Morse code representations.",\
"Morse code has been widely used in various forms of communication, including telegraphy, radio communication, aviation, and navigation. Despite advances in technology, Morse code remains relevant today, particularly in emergency communication, amateur radio, and certain military applications. It is also used by some individuals for its simplicity and effectiveness in situations where other forms of communication may be unreliable or unavailable."\ "Morse code has been widely used in various forms of communication, including telegraphy, radio communication, aviation, and navigation. Despite advances in technology, Morse code remains relevant today, particularly in emergency communication, amateur radio, and certain military applications. It is also used by some individuals for its simplicity and effectiveness in situations where other forms of communication may be unreliable or unavailable."\
} }
cipher.poly.morse.facts={\ cipher.poly.morse.facts={\
"It was developed in the early 19th century by Samuel Morse and Alfred Vail as a means of long-distance communication using telegraphy."\ "It was developed in the early 1830s century by Samuel Morse and Alfred Vail as a means of long-distance communication using telegraphy.",\
"It became the standard fo maritime distress signals after the sinking of the RMS Titanic in 1912.",\
"Each letter and number in Morse code is represented by a unique combination of dots and dashes, with shorter signals representing more common letters, like 'E' and longer signals representing less common letters like 'Q' and 'Z'"\
} }
#Playfair #Playfair
cipher.poly.playfair.name=Playfair cipher.poly.playfair.name=Playfair
cipher.poly.playfair.description= cipher.poly.playfair.description=The Playfair cipher is a symmetric encryption technique that employs a 5x5 grid of letters to encrypt pairs of letters in the plaintext.
cipher.poly.playfair.explanation={\ cipher.poly.playfair.explanation={\
"The Playfair cipher is a type of digraph substitution cipher. It was used for secure communication in the early days of telegraphy.",\ "The Playfair cipher is a type of digraph substitution cipher. It was used for secure communication in the early days of telegraphy.",\
"To encode start with a 5x5 grid, known as the Playfair square. The letters of the alphabet (usually excluding 'J', which is combined with 'I') are written into the grid in order, omitting any duplicates. Choose a keyword or keyphrase and use it to fill in the rest of the grid, omitting any duplicate letters.",\ "To encode start with a 5x5 grid, known as the Playfair square. The letters of the alphabet (usually excluding 'J', which is combined with 'I') are written into the grid in order, omitting any duplicates. Choose a keyword or keyphrase and use it to fill in the rest of the grid, omitting any duplicate letters.",\
@@ -217,12 +236,14 @@ cipher.poly.playfair.explanation={\
"Overall, the Playfair cipher is a historically significant encryption technique that demonstrates the use of digraph substitution in cryptography."\ "Overall, the Playfair cipher is a historically significant encryption technique that demonstrates the use of digraph substitution in cryptography."\
} }
cipher.poly.playfair.facts={\ cipher.poly.playfair.facts={\
"It was invented by Charles Wheatstone and popularized by Lyon Playfair in the 19th century."\ "It was invented by Sir Charles Wheatstone in 1854, but it was popularized by Lyon Playfair.",\
"It was the first cipher to use digraphs rather than single letters for encryption, making it more resistant to frequency analysis.",\
"It was used by both the British and American militaries during World War I and II."\
} }
#Polybius #Polybius
cipher.poly.polybius.name=Polybius cipher.poly.polybius.name=Polybius
cipher.poly.polybius.description= cipher.poly.polybius.description=The Polybius Square cipher is a substitution cipher that uses a 5x5 grid to encode letters from the plaintext into 2 digits, represented by row and column numbers.
cipher.poly.polybius.explanation={\ cipher.poly.polybius.explanation={\
"The Polybius Square cipher, also known as the Polybius checkerboard, is a method of encryption that replaces pairs of letters with coordinates from a grid.",\ "The Polybius Square cipher, also known as the Polybius checkerboard, is a method of encryption that replaces pairs of letters with coordinates from a grid.",\
"The cipher typically uses a 5x5 grid, with the letters of the alphabet (usually excluding 'J') arranged within it. Each letter is represented by its row and column coordinates in the grid. For example, if 'A' is in the first row and first column, it could be represented as '11', and if 'B' is in the first row and second column, it could be represented as '12'.",\ "The cipher typically uses a 5x5 grid, with the letters of the alphabet (usually excluding 'J') arranged within it. Each letter is represented by its row and column coordinates in the grid. For example, if 'A' is in the first row and first column, it could be represented as '11', and if 'B' is in the first row and second column, it could be represented as '12'.",\
@@ -231,12 +252,12 @@ cipher.poly.polybius.explanation={\
"It's a relatively simple cipher, but it provides a method of encryption that can be implemented by hand without requiring complex mathematical operations. However, it's also relatively easy to break using frequency analysis or other cryptographic techniques."\ "It's a relatively simple cipher, but it provides a method of encryption that can be implemented by hand without requiring complex mathematical operations. However, it's also relatively easy to break using frequency analysis or other cryptographic techniques."\
} }
cipher.poly.polybius.facts={\ cipher.poly.polybius.facts={\
"It was named after the ancient Greek historian Polybius who first described it."\ "It was named after the ancient Greek historian Polybius who first described it in the 2nd century B.C."\
} }
#Rail Fence #Rail Fence
cipher.poly.railfence.name=Rail Fence cipher.poly.railfence.name=Rail Fence
cipher.poly.railfence.description= cipher.poly.railfence.description=The Rail Fence cipher is a transposition cipher where the plaintext is written diagonally on a number of 'rails' then read off horizontally.
cipher.poly.railfence.explanation={\ cipher.poly.railfence.explanation={\
"The Rail Fence cipher is a transposition cipher that works by writing the plaintext in a zigzag pattern across a number of 'rails' or 'fences,'' and then reading off the ciphertext from the pattern formed by the rails.",\ "The Rail Fence cipher is a transposition cipher that works by writing the plaintext in a zigzag pattern across a number of 'rails' or 'fences,'' and then reading off the ciphertext from the pattern formed by the rails.",\
"We first write the message in a zigzag pattern across 3 'rails.'' Then we read off the ciphertext by concatenating the characters from each rail. So, 'HELLO WORLD' is encrypted to 'HOLL ELWRLOL' using the Rail Fence cipher with 3 rails.",\ "We first write the message in a zigzag pattern across 3 'rails.'' Then we read off the ciphertext by concatenating the characters from each rail. So, 'HELLO WORLD' is encrypted to 'HOLL ELWRLOL' using the Rail Fence cipher with 3 rails.",\
@@ -244,11 +265,12 @@ cipher.poly.railfence.explanation={\
"The Rail Fence cipher is relatively easy to implement and understand, but it's not very secure against modern cryptanalysis techniques. It's often used as a teaching tool rather than for serious encryption."\ "The Rail Fence cipher is relatively easy to implement and understand, but it's not very secure against modern cryptanalysis techniques. It's often used as a teaching tool rather than for serious encryption."\
} }
cipher.poly.railfence.facts={\ cipher.poly.railfence.facts={\
"It was used by both Confederate and Union forces during the American Civil War."\
} }
#Trifid #Trifid
cipher.poly.trifid.name=Trifid cipher.poly.trifid.name=Trifid
cipher.poly.trifid.description= cipher.poly.trifid.description=The Trifid cipher is a polygraphic substitution cipher substituting each letter in the plaintext with coordinates in a 3x3x3 grid.
cipher.poly.trifid.explanation={\ cipher.poly.trifid.explanation={\
"The trifid cipher is a polygraphic substitution cipher and is an extention of the Bifid cipher.",\ "The trifid cipher is a polygraphic substitution cipher and is an extention of the Bifid cipher.",\
"To encode, a key matrix is generated, typically a permutation of the alphabet plus some additional symbols. Each letter of the plaintext is converted into its corresponding coordinates in the 3x3x3 grid. For example, if the letter is 'A', it could be represented as (1,1,1).",\ "To encode, a key matrix is generated, typically a permutation of the alphabet plus some additional symbols. Each letter of the plaintext is converted into its corresponding coordinates in the 3x3x3 grid. For example, if the letter is 'A', it could be represented as (1,1,1).",\
@@ -257,14 +279,16 @@ cipher.poly.trifid.explanation={\
"The Trifid cipher provides a higher degree of security compared to simpler ciphers like Caesar or Atbash, but it's still vulnerable to cryptanalysis, especially with modern computational methods. Despite its age, it remains an interesting historical cipher and is occasionally used in puzzles and cryptography challenges."\ "The Trifid cipher provides a higher degree of security compared to simpler ciphers like Caesar or Atbash, but it's still vulnerable to cryptanalysis, especially with modern computational methods. Despite its age, it remains an interesting historical cipher and is occasionally used in puzzles and cryptography challenges."\
} }
cipher.poly.trifid.facts={\ cipher.poly.trifid.facts={\
"It was invented by Felix Delastelle in 1901."\ "It was invented by Felix Delastelle in 1901.",\
"It was used by the French during World War I.",\
"Its name, 'Trifid', comes from the Latin word 'trifidus', meaning 'divided into three parts.'"\
} }
#Combination #Combination
#ADFGVX #ADFGVX
cipher.combination.adfgvx.name=ADFGVX cipher.combination.adfgvx.name=ADFGVX
cipher.combination.adfgvx.description= cipher.combination.adfgvx.description=The ADFGVX cipher is a cryptographic technique involving a combination of Polybius Square and Columnar transposition, utilizing a key phrase to encrypt plaintext into a grid using ADFGVX as coordinates.
cipher.combination.adfgvx.explanation={\ cipher.combination.adfgvx.explanation={\
"The ADFGVX cipher is a fractionating transposition cipher and was named after the six letters used in the cipher.",\ "The ADFGVX cipher is a fractionating transposition cipher and was named after the six letters used in the cipher.",\
"This cipher was notable for its use of a 6x6 grid to encode letters, making it more complex than many other ciphers of its time.",\ "This cipher was notable for its use of a 6x6 grid to encode letters, making it more complex than many other ciphers of its time.",\
@@ -276,13 +300,14 @@ cipher.combination.adfgvx.explanation={\
"Overall, the ADFGVX cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\ "Overall, the ADFGVX cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\
} }
cipher.combination.adfgvx.facts={\ cipher.combination.adfgvx.facts={\
"It was used by the German Army during World War 1.",\ "It was used extensively by the German Army during World War I, but it was eventually broken by French cryptanalyst Georges Painvin in 1918.",\
"It was used extensively by the German Army during World War I for secure communication. However, it was eventually broken by French cryptanalysts, contributing to the Allies' efforts in the war."\ "It was considered one of the most secure ciphers of its time.",\
"It was used in part because it is able to be transmitted quickly using Morse code."\
} }
#ADFGX #ADFGX
cipher.combination.adfgx.name=ADFGX cipher.combination.adfgx.name=ADFGX
cipher.combination.adfgx.description= cipher.combination.adfgx.description=The ADFGX cipher is a variation of the ADFGVX cipher which involves a combination of Polybius Square and Columnar transposition, utilizing a key phrase to encrypt plaintext into a grid using ADFGX as coordinates.
cipher.combination.adfgx.explanation={\ cipher.combination.adfgx.explanation={\
"The ADFGX cipher is a variant of the ADFGVX cipher. Both the ADFGX and ADFGVX ciphers are similar in structure and operation, but the ADFGX cipher uses a 5x5 grid instead of a 6x6 grid.",\ "The ADFGX cipher is a variant of the ADFGVX cipher. Both the ADFGX and ADFGVX ciphers are similar in structure and operation, but the ADFGX cipher uses a 5x5 grid instead of a 6x6 grid.",\
"A 5x5 grid, usually called the Polybius square, is created. The rows and columns are labeled with the letters A, D, F, G, and X.",\ "A 5x5 grid, usually called the Polybius square, is created. The rows and columns are labeled with the letters A, D, F, G, and X.",\
@@ -293,6 +318,7 @@ cipher.combination.adfgx.explanation={\
"Overall, the ADFGX cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\ "Overall, the ADFGX cipher is a historically significant encryption technique that demonstrates the use of both fractionation and transposition in cryptography."\
} }
cipher.combination.adfgx.facts={\ cipher.combination.adfgx.facts={\
"It was used by the German Army during World War 1.",\ "It was used extensively by the German Army during World War I, but it was eventually broken by French cryptanalyst Georges Painvin in 1918.",\
"It was used extensively by the German Army during World War I for secure communication. However, it was eventually broken by French cryptanalysts, contributing to the Allies' efforts in the war."\ "It was considered one of the most secure ciphers of its time.",\
"It was used in part because it is able to be transmitted quickly using Morse code."\
} }