Verified-zkEVM / Verified-zkEVM/CompPoly

Optimize clMul in Binary Common

Open
#129 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Lean
Stars
47
Forks
43
Avg merge
2d 6h
Merged PRs (30d)
53

Description

Context

CompPoly/Fields/Binary/Common.lean contains this TODO above clMul:

optimize clMul, potentially using Karatsuba decomposition

clMul is currently a straightforward fold over 256 bits.

Proposed work

  • Replace the current implementation with a faster approach (Karatsuba or another documented strategy).
  • Keep the public API unchanged.

Acceptance criteria

  • clMul/clSq behavior is unchanged on representative test cases.
  • proofs and/or tests to show correctness

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in CompPoly/Fields/Binary/Common.lean at the TODO and clMul, then inspect the surrounding clSq implementation and existing proof or test conventions. The completed work should preserve the public API and include correctness proofs or tests demonstrating unchanged clMul and clSq behavior.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.