Modern cryptography-traditional cryptography technology (replacement, substitution password)

table of Contents

Replacement password/transposition password

Column permutation

Cycle replacement

Substitution password

Single table substitution password

Multi-table substitution password


Replacement password/transposition password

Permutation Cipher is also called Transposi-tion Cipher, which rearranges the plaintext according to certain rules in order to break the structural characteristics of the plaintext. The feature of the replacement password is to keep all the characters in the plaintext unchanged , but to use the replacement to disrupt the position and order of the plaintext characters .
    There are two most common replacement passwords:

  • Column replacement password (key procedures in accordance with the plaintext P by column transposition and column by column readout sequence to obtain the ciphertext C);
  • Periodic replacement cipher (group the plaintext P according to a fixed length m , and then rearrange the position of each group according to a certain permutation of 1, 2..., m to obtain the ciphertext C).

Column permutation

Encryption process

  1. Write the plaintext P in lines with the set fixed grouping width m , that is, there are m characters in each line . If the length of the plaintext is not an integral multiple of m, the insufficient part shall be filled in the method agreed by both parties. If the two parties agree to replace the characters in the vacant with spaces, you may wish to set the final character matrix
[M]_{m*n}

;

  1. The
\sigma

character matrix is ​​obtained by swapping the position order of a certain permutation column of 1, 2..., m

[M_P]_{m*n}

;

  1. The matrix
[M_P]_{m*n}

by columns 1, 2, ..., n in order to obtain sequentially read ciphertext sequence C.

For example

For the 2022 Beijing Winter Olympics, the English name is " The XXIV Olympic Winter Games ". Assuming m is 5, there is no space when sending.

\sigma=(143)(25)
[M]_{5*5}=\begin{bmatrix} T& h & e & X &X \\ I& V & O & l & y\\ m& p &i & c & W\\ i& n & t & e & r\\ G&a&m&e&s \end{bmatrix}\stackrel{\sigma }\Rightarrow [M_P]_{5*5}=\begin{bmatrix} e& X & X & T &h \\ O& y & l & I & V\ \ i& W &c & m & p\\ t& r & e & i & n\\ m&s&e&G&a \end{bmatrix}

The content in column 1 is changed to 4, the content in column 4 is changed to 3, the content in column 3 is changed to 1, 2, and 5 are interchanged.

Clear text: TheXXIVOlympicWinterGames

Ciphertext: eOitmXyWrsXlceeTImiGhVpna

Encryption key:

\sigma=(143)(25)

Decryption process

  1. Write the ciphertext C in columns with the same packet width m as the encryption process to obtain a character matrix
[M_P]_{m*n}

.

  1. The character matrix is ​​obtained by exchanging the position order of the columns according to
\sigma

the inverse permutation of the permutation used in the encryption process .

\sigma^{-1}
[M]_{m*n}
  1. Read   the matrix in the
[M]_{m*n}

order of 1, 2, ..., m rows to get the plaintext P.

[M_P]_{5*5}=\begin{bmatrix} e& X & X & T &h \\ O& y & l & I & V\\ i& W &c & m & p\\ t& r & e & i & n\\ m&s&e&G&a \end{bmatrix}\stackrel{\sigma^{-1} }\Rightarrow [M]_{5*5}=\begin{bmatrix} T& h & e & X &X \\ I& V & O & l & y\\ m& p &i & c & W\\ i& n & t & e & r\\ G&a&m&e&s \end{bmatrix}


 Decryption key:

\sigma^{-1}=(134)(25)

Cycle replacement

The periodic replacement cipher is to group the plaintext string P according to a fixed length m, and then rearrange the substrings in each group according to a certain permutation position of 1, 2..., m to obtain the ciphertext C. The key

\sigma

contains the packet length information. When decrypting, the ciphertext C is also grouped by length m, and

\sigma^{-1}

each group of substrings are rearranged according to the inverse permutation of the mouth to obtain the plaintext P.

For example

Encrypt "State Key Laboratory of Networking and Switching" without spaces, and m is 7. Encryption key

\sigma

= (15623)

The plaintext is divided into 7 groups:
    (StateK)(eyLabo)(ratory)(ofNetw)(orking)(andSwi)(tching)

Encryption transformation:
    (akttSe)(Loyaeb)(tyaorr)(Nwfeot)(kgrion)(dinSaw)(hgcitn)

Final ciphertext:
    akttSeLoyaebtyaorrNwfeotkgriondinSawhgcitn

It is easy to know the decryption key from the encryption key:

\sigma^{-1}

=(13265), the decryption is easy to implement, please try it yourself.

Substitution password

The so-called substitution is a method of replacing a letter in the plain text with other letters, numbers or symbols .
    Substitution password refers to the establishment of a substitution table . When encrypting, the plaintext that needs to be encrypted is sequentially checked through the table and replaced with corresponding characters . After the plaintext characters are replaced one by one, a character string with no meaning is generated, that is, ciphertext. Such a substitution table is usually called a key.

Single table substitution password

For the same letter that appears in the plaintext message, the same fixed letter is used to replace it when encrypting , no matter where it appears. Such as Caesar, affine and so on.

For example

Caesar Code

All the letters in the plaintext are shifted backward (or forward) in the alphabet by a fixed number ( key n ) and then replaced with ciphertext.

The encryption and decryption methods are as follows:

\\ E_n(x)=(x+n)mod26\\ D_n(x)=(xn)mod26

When the key n is 3:

Plaintext alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Ciphertext alphabet: DEFGHIJKLMNOPQRSTUVWXYZABC.

The encryption process is as follows:

Plain text: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG;

Ciphertext: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ.

The reverse process of decryption is enough. You can write a small program yourself, enter the plaintext/ciphertext, key, and get the result. Of course, there is also an online toolbox.

Find the online encryption and decryption toolbox, the URL is in the reference section

Multi-table substitution password

The same letter that appears in the plaintext message is not completely replaced by the same fixed letter during encryption , but is replaced with a different letter according to the order of its appearance. Multi-table substitution cipher is a cryptographic system that uses multiple single tables to replace passwords. It uses multiple single tables to replace passwords in turn in the process of encrypting plaintext. Such as Virginia, Playfair, Runner, etc.

For example

Virginia Code

It is an encryption algorithm that uses a series of Caesar ciphers to form a cipher alphabet, which is a simple form of multi-table ciphers.

Suppose the plaintext is:

ATTACKATDAWN

Select a certain keyword and repeat it to get the key. For example, when the key word is LEMON, the key is:

LEMONLEMONLE

For the first letter A of the plaintext , it corresponds to the first letter L of the key , so use the L row alphabet in the table to encrypt, and get the first letter L of the ciphertext . Similarly, the second letter T of the plaintext is encrypted with the corresponding row E in the table to obtain the second letter X of the ciphertext . And so on, namely:

Plain text: ATTACKATDAWN

Key: LEMONLEMONLE

Ciphertext: LXFOPVEFRNHR

The decryption process is reversed

reference

Encryption and decryption online tools-a toolbox

Thousands of Words-Virginia Encryption and Decryption