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
- Explain and prove the protocol works.
- Explain why primitive roots are used.
- 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
- Breaking substitution ciphers with statisticsCodes & algorithmsAccessible
- Why the fast Fourier transform is fastCodes & algorithmsAmbitious
- How many comparisons does sorting need?Codes & algorithmsSolid
- Ranking web pages with eigenvectorsCodes & algorithmsAmbitious
All codes, cryptography and algorithms ideas · the full ideas library