Skip to content

v1.1.0 — Fiat-Shamir Integrity Release

Choose a tag to compare

@zkarchitect zkarchitect released this 03 Aug 17:33

???? v1.1.0 ??? Fiat-Shamir Integrity Release

This release fixes three critical security bugs discovered during an internal security review, implements the Fiat-Shamir transform for the PLONK prover, and publishes a comprehensive 15-page technical paper.

??????? Critical Security Fixes

C1: Comparison Constraints Forgeable (FIXED)

assert age >= 18 with age = 3 ??? previously passed. Constraints now use proper bit decomposition. All comparison proofs were trivially forgeable.

C2: PLONK Witness Bypass (FIXED)

The PLONK prover assigned domain elements instead of actual witness values. Any PLONK proof verified successfully regardless of input. Fixed by reading real values from the R1CS solver.

C3: Inequality Constraint Broken (FIXED)

!= used diff * inv = -1 instead of diff * inv = 1. The constraint could never be satisfied. Fixed to the correct ZK encoding.

M1-M3: Medium fixes

  • Equality bypass via zero result ??? FIXED
  • Integer division in witness solver ??? FIXED (modular inverse)
  • make_public ordering ??? FIXED

??? New Feature

Fiat-Shamir for PLONK

The PLONK prover now uses a Poseidon-based transcript to derive all challenges (beta, gamma, zeta, v) in the correct order, replacing hardcoded constants. Both prover and verifier reconstruct identical challenges.

???? Documentation

  • TECHNICAL_PAPER.md ??? 15-page paper covering architecture, protocols, security review, performance, and known limitations
  • README and benchmarks now reflect actual bench output
  • All feature descriptions verified against source code

???? Testing

  • 128/128 tests passing (Ubuntu + Windows)
  • Zero Clippy warnings
  • All CI workflows green
  • 5 adversarial test suites confirming each critical fix

???? Install

cargo install --git https://github.com/zkarchitect/zkforge

?????? Status

ZKForge is a pre-audit research project. Known limitations:

  • ECDSA verification is partial (k256 outside circuit, Poseidon commitment inside)
  • No formal security proof for Fiat-Shamir construction
  • Not yet compared against circom 2.x
  • See SECURITY.md for full disclosure