---
# System prepended metadata

title: 'WW23 - Lattice-Based Functional Commitments: Fast Verification and Cryptanalysis'
tags: [commitment scheme]

---

# [WW23] implementation

> Lattice-Based Functional Commitments: Fast Verification and Cryptanalysis (https://eprint.iacr.org/2024/028)


### Survey on Implementation Components

- Arithmetic over finite field and integer math
    - [Z_p[x]/(x^32 + R)](https://github.com/zhenfeizhang/lb-vrf/blob/master/src/poly32.rs)
    - mul
        - will need [NTT](https://github.com/zhenfeizhang/lb-vrf/blob/master/src/ntt.rs)
        - [Three approach](https://github.com/zhenfeizhang/lb-vrf/blob/master/src/poly256.rs): mul_trinary, mul_karatsuba, mul_school_bool
    - [sample random poly from modulo q](https://github.com/zhenfeizhang/lb-vrf/blob/03171c5831b730193a645ded9541d16b0d73e781/src/poly32.rs#L85C5-L96C6)
- Lattice construction
    - [parameters](https://github.com/zhenfeizhang/lb-vrf/blob/master/src/param.rs)
    - [serde](https://github.com/zhenfeizhang/lb-vrf/blob/master/src/poly256.rs)

### Components in WW23

- Construct the l-succinct SIS assumption
- use l_inf-norm for vectors and matrices
- Gadget trapdoors
    - TrapGen
    - SamplePre
- Functional Commitment for Constant-Degree Poly
    - Param instatiation
    - Setup
    - Commit
    - Eval
    - Verify