Kuznyechik

Kuznyechik (Russian: Кузнечик, literally grasshopper) is a symmetric block cipher.

It has a block size of 128 bits and key length of 256 bits. It is defined in the National Standard of the Russian Federation GOST R 34.12-2015 and also in RFC 7801.

Kuznyechik
General
DesignersInfoTeCS JSC
First published2015
CertificationGOST, and FSS
Cipher detail
Key sizes256 bits Feistel network
Block sizes128 bits
StructureSubstitution–permutation network
Rounds10
Best public cryptanalysis
A meet-in-the-middle attack on 5 rounds.

The name of the cipher can be translated from Russian as grasshopper, however, the standard explicitly says that the English name for the cipher is Kuznyechik (/kʊznˈɛɪk/). The designers claim that by naming the cipher Kuznyechik they follow the trend of difficult to pronounce algorithm names set up by Rijndael and Keccak. There is also a rumor that the cipher was named after its creators: A. S. Kuzmin, A. A. Nechaev and Company (Russian: Кузьмин, Нечаев и Компания).[citation needed]

The standard GOST R 34.12-2015 defines the new cipher in addition to the old GOST block cipher (now called Magma) as one and does not declare the old cipher obsolete.

Kuznyechik is based on a substitution–permutation network, though the key schedule employs a Feistel network.

Designations

Kuznyechik Finite field Kuznyechik  Kuznyechik .

Kuznyechik Kuznyechik  (Kuznyechik )

Kuznyechik Kuznyechik .

Kuznyechik Kuznyechik .

Kuznyechik Kuznyechik 

Description

For encryption, decryption and key generation, the following functions:

Kuznyechik , where Kuznyechik , Kuznyechik  are binary strings of the form Kuznyechik Kuznyechik  (Kuznyechik  is string concatenation).

Kuznyechik Kuznyechik  is a reversed transformation of Kuznyechik .

Kuznyechik Kuznyechik Kuznyechik 

Kuznyechik  — reversed transformation of Kuznyechik  , Kuznyechik Kuznyechik Kuznyechik 

Kuznyechik , where Kuznyechik  — composition of transformations Kuznyechik  and Kuznyechik  etc.

Kuznyechik 

The nonlinear transformation

Non-linear transformation is given by substituting S = Bin8 S' Bin8−1.

Values of the substitution S' are given as array S' = (S'(0), S'(1), …, S'(255)):

Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik  Kuznyechik 

Linear transformation

Kuznyechik : Kuznyechik Kuznyechik  Kuznyechik  Kuznyechik 

operations of addition and multiplication are carried out in the field Kuznyechik .

Key generation

The key generation algorithm uses iterative constant Kuznyechik , i=1,2,…32 and sets the shared key as follows: Kuznyechik Kuznyechik .

Iterated keys:

Kuznyechik Kuznyechik 

Kuznyechik Kuznyechik 

Kuznyechik Kuznyechik 

Encryption algorithm

Kuznyechik Kuznyechik  where a — 128-bit string.

Decryption algorithm

Kuznyechik Kuznyechik 

Cryptanalysis

Riham AlTawy and Amr M. Youssef describe a meet-in-the-middle attack on the 5-round reduced Kuznyechik which enables recovery of the key with a time complexity of 2140, memory complexity of 2153, and data complexity of 2113.

Alex Biryukov, Leo Perrin, and Aleksei Udovenko published a paper in which they show that the S-boxes of Kuznyechik and Streebog were not created pseudo-randomly but by using a hidden algorithm which they were able to reverse engineer.

Later Leo Perrin and Aleksei Udovenko published two alternative decompositions of the S-box and proved its connection to the S-box of the Belarusian cipher BelT. The authors of the paper note that while the reason for using such a structure remains unclear, generating S-boxes by a hidden algorithm contradicts the concept of nothing-up-my-sleeve numbers which could prove that no weaknesses were intentionally introduced in their design.

Riham AlTawy, Onur Duman, and Amr M. Youssef published two fault attacks on Kuznyechik which show the importance of protecting the implementations of the cipher.

Adoption

VeraCrypt (a fork of TrueCrypt) included Kuznyechik as one of its supported encryption algorithms.

Source code

References

Tags:

Kuznyechik DesignationsKuznyechik DescriptionKuznyechik CryptanalysisKuznyechik AdoptionKuznyechik Source codeKuznyechikBlock cipherRussian language

🔥 Trending searches on Wiki English:

Euphoria (American TV series)Clint EastwoodFrancis Scott Key Bridge collapseMadgaon ExpressLauryn HillJim Carrey2024 Indian general election in West BengalTeri Baaton Mein Aisa Uljha JiyaSpaceman (2024 film)The Bear (TV series)UEFA Champions LeagueFIFA World CupCanvaXHamsterSexual intercourseMuhammad AliSama-BajauAnya Taylor-JoyClaudia Sanders Dinner HouseGeneration ZMount TakaheBattle of BadrJosh PeckMathias BoeCosta Rica national football teamBilly MagnussenLisa (rapper)MadonnaInstagramTenebraeADX FlorenceMaster X MasterList of bridge failuresList of highest-grossing filmsJapanImmaculate (2024 film)YouTubeOnlyFansChristian Dior2026 FIFA World Cup qualification (UEFA)Arnold SchwarzeneggerNetflixMrBeastAndre Jin CoquillardMao ZedongMichaela Jaé RodriguezAlexa NikolasJustin TimberlakeDebbie ReynoldsRobert PattinsonDiana RossBrian PeckRajiv Gandhi International Cricket StadiumBattlegrounds Mobile IndiaAnimal (2023 Indian film)Jeff HealeyCatherine, Princess of Wales2020 United States presidential electionIllit (group)Mckenna GraceSoaking (sexual practice)Vladimir PutinKim Soo-hyunCowboy CarterDavid DastmalchianJoe BidenTom HardyUnited KingdomList of Twenty20 cricket recordsContinuous truss bridgeTravis HeadFighter (2024 film)Larry DavidChance the RapperNicholas Galitzine2026 FIFA World Cup qualificationJohnny Depp🡆 More