Codes, cryptography and algorithms · Maths EE idea · Solid

Sharing a secret in public

A research question to start from

How does Diffie–Hellman key exchange let two people agree a secret over a public channel, and why does its security rest on the discrete logarithm problem?

A starting point, not your question: change the case, the comparison or the limit until it is yours. The research-question builder helps you check it.

Why it works as a maths EE

Group theory and modular arithmetic in a protocol you can analyse step by step.

Mathematics you would need

  • Modular exponentiation
  • Primitive roots
  • Discrete logarithms
  • Baby-step giant-step algorithm

Much of this goes beyond the DP course. That is expected in a maths EE, but you must understand and explain everything you use.

One possible line of attack

  1. Explain and prove the protocol works.
  2. Explain why primitive roots are used.
  3. Implement and analyse an algorithm for small discrete logs.

Scope and difficulty

Solid. Solid.

Pitfalls

  • Code without mathematics.
  • Security claims without argument.

Where to start reading

Search a library catalogue or a university's open lecture notes for: Diffie-Hellman proof primitive root; baby-step giant-step complexity. Prefer textbooks, lecture notes and journal articles to a single website, and cite everything you use (how to reference a maths EE).

Make it your EE

Similar ideas

All codes, cryptography and algorithms ideas · the full ideas library