ArticleslgStudy

computer science

YAK (cryptography)

YAK (cryptography) is a computer 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 YAK (cryptography) rather than just read about it. In short: YAK (named after the animal) is a public-key authenticated key-agreement protocol, proposed by Feng Hao in 2010. It is claimed to be the simplest authenticated key exchange protocol among the related schemes, including MQV, HMQV, Station-to-Station protocol, SSL/TLS etc.

Key takeaways

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

Reference excerpt

YAK (named after the animal) is a public-key authenticated key-agreement protocol, proposed by Feng Hao in 2010. It is claimed to be the simplest authenticated key exchange protocol among the related schemes, including MQV, HMQV, Station-to-Station protocol, SSL/TLS etc. The authentication is based on public key pairs. As with other protocols, YAK normally requires a Public Key Infrastructure to distribute authentic public keys to the communicating parties. The security of YAK is disputed (see below and the talk page).

Description Two parties, Alice and Bob, agree on a group G {\displaystyle G} with generator g {\displaystyle g} of prime order q {\displaystyle q} in which the discrete log problem is hard. Typically a Schnorr group is used. In general, YAK can use any prime order group that is suitable for public key cryptography, including elliptic curve cryptography. Let g a {\displaystyle g^{a}} be Alice's long-term public key and g b {\displaystyle g^{b}} be Bob's. The protocol executes in one round: Alice selects x ∈ R [ 0 , q − 1 ] {\displaystyle x\in _{\text{R}}[0,q-1]} and sends out g x {\displaystyle g^{x}} together with a zero-knowledge proof (using for example Schnorr non-interactive zero-knowledge proof as described in RFC 8235) for the proof of the exponent x {\displaystyle x} . Similarly, Bob selects y ∈ R [ 0 , q − 1 ] {\displaystyle y\in _{\text{R}}[0,q-1]} and sends out g y {\displaystyle g^{y}} together with a zero-knowledge proof for the proof of the exponent y {\displaystyle y} . Here, the notation ∈ R {\displaystyle \in _{\text{R}}} denotes an element selected randomly with uniform probability. The above communication can be completed in one round as neither party depends on the other. When it finishes, Alice and Bob verify the received zero-knowledge proofs. Alice then computes K = ( g y g b ) x + a = g ( x + a ) ( y + b ) {\displaystyle K=(g^{y}g^{b})^{x+a}=g^{(x+a)(y+b)}} . Similarly, Bob computes K = ( g x g a ) y + b = g ( x + a ) ( y + b ) {\displaystyle K=(g^{x}g^{a})^{y+b}=g^{(x+a)(y+b)}} . With the same keying material K {\displaystyle K} , Alice and Bob can derive a session key using a cryptographic hash function: κ = H ( K ) {\displaystyle \kappa =H(K)} .

Security properties The use of well-established zero-knowledge proof primitives such as Schnorr's scheme greatly simplifies the security proofs. Given that the underlying zero knowledge proof primitive is secure, the YAK protocol aims to satisfy the following properties.

Private key security – An attacker cannot learn the user's static private key even if he is able to learn all session-specific secrets in any compromised session. Forward secrecy – Session keys that were securely established in the past uncorrupted sessions will remain incomputable in the future even when both users' static private keys are disclosed. Session key security – An attacker cannot compute the session key if he impersonates a user but has no access to the user's private key. The security claims in the original YAK paper are based on the Computational Diffie-Hellman assumption in a random oracle model.

Cryptanalysis In 2015, Toorani mentioned that "the YAK protocol lacks joint key control and perfect forward secrecy attributes and is vulnerable to some attacks including unknown key-share and key-replication attacks" to which Hao has a different opinion. In 2020, Mohammad mentioned that YAK protocol cannot withstand the known key security attack which leads to a new key compromise impersonation attack where an adversary is allowed to reveal both the shared static secret key between two parties and the ephemeral private key of the initiator. The author also proposed an improved protocol to remedy these attacks and the previous attacks mentioned by Toorani on the YAK protocol, and the proposed protocol uses a verification mechanism that provides entity authentication and key confirmation. The author showed that the proposed protocol is secure in the proposed formal security model under the gap Diffie‐Hellman assumption and the random oracle assumption. Moreover, the security of the proposed protocol and attacks on the YAK protocol were verified by the Scyther tool. Mohammad's paper is discussed in the talk page.

References

Worked examples

Example 1 — a first encounter with YAK (cryptography)

Start with the simplest possible case. Write down what YAK (cryptography) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer 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 YAK (cryptography) 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 YAK (cryptography) 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 YAK (cryptography)

In research
YAK (cryptography) appears in computer 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 YAK (cryptography) 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
YAK (cryptography) is common in secondary-school and first-year university syllabi. It links to neighbouring topics Cryptographic protocols, so understanding it makes those chapters shorter.
In everyday life
Look for YAK (cryptography) 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 “YAK (cryptography)” →

Affiliate

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

How to study YAK (cryptography) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what YAK (cryptography) 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 YAK (cryptography) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is YAK (cryptography) in simple terms?

YAK (named after the animal) is a public-key authenticated key-agreement protocol, proposed by Feng Hao in 2010. It is claimed to be the simplest authenticated key exchange protocol among the related schemes, including MQV, HMQV, Station-to-Station protocol, SSL/TLS etc.

Why does YAK (cryptography) matter?

Because it connects several computer 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 YAK (cryptography)?

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 YAK (cryptography).

Tags

  • Cryptographic protocols

Keep exploring