Isogeny Hashes and Collision Resistance

Isogeny Hashes and Collision Resistance

ISEF Category: Mathematics

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Number Theory  ·  Difficulty: Advanced  ·  Setup: University Lab  ·  Time: Full Year

The Hook

A hash function can turn any file into a short code, but one tiny change should completely scramble that code. That makes hashes useful for passwords, file checks, and digital signatures. Your project asks a harder question, can a hash built from elliptic curves stay hard to break even after quantum computers get better?

What Is It?

A hash function is a rule that takes an input and returns a fixed-size output. Good hashes act like a high-speed shredder and a fingerprint maker at the same time. You can feed in a sentence, a photo, or a number, and the output should look random and be hard to reverse.

This project uses isogeny graphs, which are networks of related elliptic curves. An elliptic curve is a special algebraic curve used in modern cryptography. An isogeny is a map between two such curves. Think of the graph like a maze, where each curve is a room and each isogeny is a doorway. A hash design can walk through that maze in a structured way and turn the path into a digest.

The quantum angle matters because some current cryptography may weaken if large quantum computers become practical. Isogeny-based ideas try to stay secure under that threat. Your project does not need to prove full security. You can study how the construction behaves, test for collisions, compare output patterns, and benchmark a reference implementation against SHA-3.

Why This Is a Good Topic

This is a strong science fair topic because you can test clear questions with code, math, and data. You can measure collisions, runtime, output distribution, and sensitivity to input changes. The topic connects to cybersecurity, which gives it real-world value. You can also learn how researchers judge a cryptographic idea, not just how to run code.

Research Questions

  • How does changing the prime p affect collision frequency in the isogeny-based hash model?
  • What is the effect of input length on output distribution and runtime?
  • Does the reference implementation produce avalanche behavior comparable to SHA-3?
  • To what extent do different starting curves change the digest pattern?
  • Which parameter settings give the best balance between speed and collision resistance?
  • How does the hash behave on structured inputs such as repeated strings versus random strings?

Basic Materials

  • Computer with Python installed.
  • Python libraries for number theory and plotting, such as SageMath, SymPy, NumPy, and Matplotlib.
  • Reference Python implementation of the hash construction.
  • SHA-3 implementation for comparison, such as Python's hashlib module.
  • Spreadsheet software or a notebook for logging results.
  • Version control tool such as Git for tracking code changes.
  • A set of test inputs, including random strings and patterned strings.

Advanced Materials

  • Access to SageMath or a similar computer algebra system.
  • Python environment with scientific libraries and timing tools.
  • Implementation of supersingular elliptic curve and isogeny routines.
  • Scripts for generating large test suites and collision search batches.
  • Statistical testing tools for output distribution and avalanche analysis.
  • Computing time on a multi-core workstation or university server.
  • Optional cryptography library for cross-checking hash behavior.

Software & Tools

  • Python: Runs the hash model, timing tests, and collision searches.
  • SageMath: Helps with elliptic curve, finite field, and isogeny computations.
  • NumPy: Stores output data and supports numerical analysis.
  • Matplotlib: Plots collision rates, output spread, and runtime trends.
  • hashlib: Provides SHA-3 outputs for a baseline comparison.

Experiment Steps

  1. Define the exact hash version you will test, including the curve family, the prime range, and the output size.
  2. Choose one input feature to vary first, such as length, pattern, or randomness.
  3. Build a small test harness that records digest values, runtime, and any repeated outputs.
  4. Plan a fair comparison against SHA-3 using the same input set and the same measurement method.
  5. Design statistical checks for collisions, output balance, and avalanche effect.
  6. Decide how you will interpret weak points, then connect them to the math behind the isogeny graph.

Common Pitfalls

  • Using too few test inputs, which makes rare collisions look more or less common than they are.
  • Comparing runtimes across different machines without controlling for hardware, which makes the benchmark misleading.
  • Treating a toy parameter choice as proof of security, which overstates what the data can support.
  • Ignoring output formatting, which can make two different digests look identical after trimming or encoding.
  • Changing several parameters at once, which hides the real cause of any collision or timing change.

What Makes This Competitive

A stronger project would not just run the hash once and report a few timings. You would build a careful test plan, compare multiple parameter choices, and use statistics to judge whether the output looks random enough. You would also explain the math behind any weakness you find, then connect that weakness to the structure of the isogeny graph. That turns a coding demo into a real research-style analysis.

Project Variations

  • Test the same hash idea on different supersingular curve families to see whether the base curve changes collision behavior.
  • Compare the isogeny hash against SHA-3, BLAKE2, or another standard hash on avalanche, speed, and output balance.
  • Study how the hash behaves on structured inputs such as repeated symbols, binary-like strings, or nearly identical files.

Learn More

  • MIT OpenCourseWare, Elliptic Curves and Cryptography: Search MIT OpenCourseWare for upper-level notes on elliptic curves and public-key cryptography.
  • NIST FIPS 202: Read the official SHA-3 standard on the NIST website.
  • NIST CSRC: Search the Computer Security Resource Center for hash function guidance and cryptographic background.
  • arXiv: Search for review papers and preprints on isogeny-based cryptography and supersingular isogeny graphs.
  • PubMed: Search for review articles on cryptography education or computational number theory methods if you want broader context.
  • OEIS: Use it to explore number patterns that may appear in your parameter experiments.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Hub →

Shopping Cart