Mohammadtaghi Badakhshan

Applied Cryptographer (zkSNARK and PQC)

Email: mbadakhshan [at] uwaterloo [dot] ca

GitHub · LinkedIn · Resume · X

About Me

Photo of Taghi

My name is Mohammadtaghi Badakhshan, but I usually go by Taghi. I am a Ph.D. candidate at the University of Waterloo with over seven years of research in blockchain technologies and four years of specialization in post-quantum secure zkSNARKs. I have successfully defended my thesis and am finalizing revisions. My research includes accelerating post-quantum zkSNARK protocols using optimized FFT algorithms in C++, and designing privacy-preserving systems across Ethereum-like blockchains.

Education

  • Ph.D. in Computer Software Engineering, University of Waterloo (2021–2025)
    • Thesis: Accelerating Post-Quantum Secure zkSNARKs for Privacy-Preserving Frameworks.
  • M.Sc. in Secure Communication & Cryptography, University of Tehran (2017–2020)
    • Thesis: Security Analysis of Lightweight Clients in a Blockchain Based Peer-to-Peer Network.
  • B.Sc. in Electrical Engineering, University of Tehran (2013–2017)
    • Project: Network Traffic Classification and Industrial Control System (ICS) Intrusion Detection.

Experience

  • Intern (MITACS), BTQ Technologies Corp. (2024–2025)
    • Led a team consisting of a postdoctoral researcher and a master's student to analyze and accelerate the Aurora post-quantum secure zkSNARK, and prepared technical reports documenting the findings.
    • Implemented, optimized and benchmarked additive FFT algorithms in C, C++, and SageMath.
    • Reduced Aurora zkSNARK prover runtime by 40% via optimized FFT implementations.
  • Research Assistant, University of Waterloo (2020–2025)
    • Designed and threat-modeled a privacy-preserving ownership protocol for supply chains on Ethereum, implemented using Aurora and Groth16 zkSNARKs in C++ and Solidity.
    • Designed and implemented application-specific zkSNARK circuits in C++.
    • Designed an arithmetic circuit for the GKR protocol to enhance efficiency of the Polaris zkSNARK.
  • Teaching Assistant, University of Waterloo (2021–2024)
    • Conducted tutorial sessions and provided guidance to students for various courses, including Computer Security, Digital Circuits and Systems, Digital Computers, and Digital Computation.

Technical Skills

  • Languages: C/C++/C#, Python, Rust, SageMath, Bash, Solidity (Familiar: Java, JavaScript, Verilog)
  • Libraries: libff, libiop, libsnark, libsodium, gf2x, bitpolymul, Bitcoin Core, Google benchmark, Google test, Docker, Git
  • Tools: Docker, Git, CMake
  • Domains: zero-knowledge proofs (Aurora, Groth16, GKR, etc.), post-quantum cryptography (hash-based), abstract algebra, privacy-preserving protocol design, threat modeling, elliptic curve cryptography, and decentralized systems (Familiar: provable security, code-based, and lattice-based cryptogrpahy)

Publications