ArticleslgStudy

science

GOST (block cipher)

GOST (block cipher) is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand GOST (block cipher) rather than just read about it. In short: The GOST block cipher (Magma), defined in the standard GOST 28147-89, is a Soviet and Russian government standard symmetric key block cipher with a block size of 64 bits. The original standard, published in 1989, did not give the cipher any name, but the most recent revision of the standard, GOST R 34.12-2015, specifies that it may be referred to as Magma.

GOST (block cipher) — main illustration
GOST (block cipher) — illustration

Key takeaways

  • GOST (block cipher) belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect GOST (block cipher) to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of GOST (block cipher) from memory before moving on to harder problems.

Reference excerpt

The GOST block cipher (Magma), defined in the standard GOST 28147-89, is a Soviet and Russian government standard symmetric key block cipher with a block size of 64 bits. The original standard, published in 1989, did not give the cipher any name, but the most recent revision of the standard, GOST R 34.12-2015, specifies that it may be referred to as Magma. The GOST hash function is based on this cipher. The new standard also specifies a new 128-bit block cipher called Kuznyechik. Developed in the 1970s, the standard had been marked "Top Secret" and then downgraded to "Secret" in 1990. Shortly after the dissolution of the USSR, it was declassified and it was released to the public in 1994. GOST 28147 was a Soviet alternative to the United States standard algorithm, DES. Thus, the two are very similar in structure.

The algorithm GOST has a 64-bit block size and a key length of 256 bits. Its S-boxes can be secret, and they contain about 354 (log2(16!8)) bits of secret information, so the effective key size can be increased to 610 bits; however, a chosen-key attack can recover the contents of the S-boxes in approximately 232 encryptions. GOST is a Feistel network of 32 rounds. Its round function is very simple: add a 32-bit subkey modulo 232, put the result through a layer of S-boxes, and rotate that result left by 11 bits. The result of that is the output of the round function. In the adjacent diagram, one line represents 32 bits. The subkeys are chosen in a pre-specified order. The key schedule is very simple: break the 256-bit key into eight 32-bit subkeys, and each subkey is used four times in the algorithm; the first 24 rounds use the key words in order, and the last 8 rounds use them in reverse order. The S-boxes accept a four-bit input and produce a four-bit output. The S-box substitution in the round function consists of eight 4 × 4 S-boxes. The S-boxes are implementation-dependent, thus parties that want to secure their communications using GOST must be using the same S-boxes. For extra security, the S-boxes can be kept secret. In the original standard where GOST was specified, no S-boxes were given, but they were to be supplied somehow. This led to speculation that organizations the government wished to spy on were given weak S-boxes. One GOST chip manufacturer reported that he generated S-boxes himself using a pseudorandom number generator. For example, the Central Bank of Russian Federation used the following S-boxes:

However, the most recent revision of the standard, GOST R 34.12-2015, adds the missing S-box specification and defines it as follows.

Cryptanalysis of GOST The latest cryptanalysis of GOST shows that it is secure in a theoretical sense. In practice, the data and memory complexity of the best published attacks has reached the level of practical, while the time complexity of even the best attack is still 2192 when 264 data is available. Since 2007, several attacks have been developed against reduced-round GOST implementations and/or weak keys. In 2011 several authors discovered more significant flaws in GOST, being able to attack the full 32-round GOST with arbitrary keys for the first time. It has even been called "a deeply flawed cipher" by Nicolas Courtois. Initial attacks were able to reduce time complexity from 2256 to 2228 at the cost of huge memory requirements, and soon they were improved up to 2178 time complexity (at the cost of 270 memory and 264 data). In December 2012, Courtois, Gawinecki, and Song improved attacks on GOST by computing only 2101 GOST rounds. Isobe had already published a single key attack on the full GOST cipher, which Dinur, Dunkelman, and Shamir improved upon, reaching 2224 time complexity for 232 data and 236 memory, and 2192 time complexity for 264 data. Since the attacks reduce the expected strength from 2256 (key length) to around 2178, the cipher can be considered broken. However, this attack is not feasible in practice, as the number of tests to be performed 2178 is out of reach. Note that for any block cipher with block size of n bits, the maximum amount of plaintext that can be encrypted before rekeying must take place is 2n/2 blocks, due to the birthday paradox, and none of the aforementioned attacks require less than 232 data.

See also GOST standards

References

Further reading "WebCrypto GOST Library". Rudolf Nickolaev, WebCrypto GOST team. V. Popov; I. Kurepkin; S. Leontiev (January 2006). Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms. Network Working Group. doi:10.17487/RFC4357. RFC 4357. Informational. Alex Biryukov & David Wagner (May 2000). Advanced Slide Attacks (PDF). Advances in Cryptology, Proceedings of EUROCRYPT 2000. Bruges: Springer-Verlag. pp. 589–606. doi:10.1007/3-540-45539-6_41. Retrieved 2007-09-03.

External links Description, texts of the standard, online GOST encrypt and decrypt tools SCAN's entry for GOST An open source implementation of PKCS#11 software device with Russian GOST cryptography standards capabilities https://github.com/gost-engine/engine — open-source implementation of Russian GOST cryptography for OpenSSL.

Illustrations

GOST (block cipher) illustration

Worked examples

Example 1 — a first encounter with GOST (block cipher)

Start with the simplest possible case. Write down what GOST (block cipher) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to GOST (block cipher) before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about GOST (block cipher) ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of GOST (block cipher)

In research
GOST (block cipher) appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses GOST (block cipher) in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
GOST (block cipher) is common in secondary-school and first-year university syllabi. It links to neighbouring topics Block ciphers, Broken block ciphers, Feistel ciphers, so understanding it makes those chapters shorter.
In everyday life
Look for GOST (block cipher) outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “GOST (block cipher)” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study GOST (block cipher) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what GOST (block cipher) means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain GOST (block cipher) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is GOST (block cipher) in simple terms?

The GOST block cipher (Magma), defined in the standard GOST 28147-89, is a Soviet and Russian government standard symmetric key block cipher with a block size of 64 bits. The original standard, published in 1989, did not give the cipher any name, but the most recent revision of the standard, GOST R…

Why does GOST (block cipher) matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study GOST (block cipher)?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on GOST (block cipher).

Tags

  • Block ciphers
  • Broken block ciphers
  • Feistel ciphers
  • GOST standards

Keep exploring