You get a bonus - 1 coin for daily activity. Now you have 1 coin

Symmetric ciphers

Lecture



Symmetric cipher is an encryption method in which the same cryptographic key is used for encryption and decryption.
Before the invention of asymmetric encryption schemes, symmetric encryption was the only method that existed.
The algorithm key must be kept secret by both parties. The algorithm key is selected by the parties prior to the start of the message exchange.


Requirements



The complete loss of all statistical regularities of the original message is an important requirement for a symmetric cipher.
To achieve such a cipher, it must have an “avalanche effect” - a strong change in the cipher block upon a 1-bit change in the input
data (ideally should change the value of 1/2 bit cipher block).

Also an important requirement is the lack of linearity (that is, the condition f (a) xor f (b) == f (a xor b)), otherwise
the application of differential cryptanalysis to the cipher is facilitated.

General scheme

Currently, symmetric ciphers are:


block ciphers. They process information in blocks of a certain length (usually 64, 128 bits), applying a key to the block
the established order, as a rule, several cycles of mixing and substitution, called rounds.
The result of the repetition of rounds is an avalanche effect - an increasing loss of correspondence of bits between blocks of open and encrypted data.

stream ciphers in which encryption is carried out over each bit or byte of the source (open) text using gamming. A stream cipher can be easily created based on block (for example, GOST 28147-86 in gamming mode) running in a special mode.
Most symmetric ciphers use a complex combination of a large number of permutations and permutations. Many such ciphers are executed in several (sometimes up to 80) passes, using the “pass key” on each pass. The set of “pass keys” for all passes is called a “key schedule” (key schedule). As a rule, it is created from a key by performing certain operations on it, including permutations and substitutions.

A typical way to build symmetric encryption algorithms is the Feistel network. The algorithm builds an encryption scheme based on the function F (D, K), where D is a portion of data, half the size of an encryption block, and K is the “pass key” for a given pass. Reversibility is not required from the function - the inverse function may not be known. The advantages of the Feistel network are the almost complete coincidence of decryption with encryption (the only difference is the reverse order of “pass keys” in the schedule), which greatly facilitates the hardware implementation.

The permutation operation shuffles the bits of the message according to some law. In hardware implementations, it is trivially implemented as an entanglement of conductors. It is the permutation operations that make it possible to achieve the "avalanche effect". The permutation operation is linear - f (a) xor f (b) == f (a xor b)

Substitution operations are performed as replacing the value of a certain part of the message (often 4, 6 or 8 bits) with a standard number that is rigidly built into the algorithm by referring to a constant array. The substitution operation introduces nonlinearity into the algorithm.

Often, the robustness of an algorithm, especially to differential cryptanalysis, depends on the choice of values ​​in the lookup tables (S-blocks). At a minimum, the presence of fixed elements S (x) = x, as well as the absence of the influence of some bit of the input byte on any bit of the result is considered undesirable - that is, the result bit is the same for all pairs of input words that differ only in this bit .



Algorithm Parameters

  • stamina
  • key length
  • number of rounds
  • block length
  • hardware / software implementation complexity


Kinds

  • Caesar
  • Vizhener
  • Atbash
  • Playafer
  • ADFGVX
  • XOR
  • Vernam
  • IDEA
  • RC2
  • RC4
  • Des
  • Triple des
  • Rijndael (AES)
created: 2016-09-19
updated: 2021-03-15
132366



Rating 9 of 10. count vote: 2
Are you satisfied?:



Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Cryptographic ciphers

Terms: Cryptographic ciphers