![](https://i.imgur.com/WeIvTiX.png =150x)
# WG Charter: SNARK-friendly Primitives
Zero-knowledge proof systems are used to prove mathematical statements while maintaining a level of privacy. In some cases, these statements, or predicates are based on larger cryptographic constructions and require proving the some primitives have been computed correctly.
Specifically, this working group was created as a way to coordinate and ensure the appropriate use of these primitives within other working groups and standardization efforts using zero-knowledge proofs.
We will aim to reuse any existing standard for the primitives in this charter, adapting them to the setting of SNARKs.
---
## Goals
We have built this working group in order to standardize the secure and interoperable description, implementation and applications of a variety of SNARK-friendly primitives to be used in different settings. These include among others:
- Hash functions
- Commitment schemes
- Pseudo-Random Functions (PRF)
- Message Authentication Codes (MAC)
- Signature schemes -- both discrete-log-based (e.g. RedDSA) and bilinear pairing-based (e.g. BLS)
- Key Derivation Functions (KDF)
- Symmetric Encryption schemes (AEADs)
- Asymmetric Encryption schemes
- Key agreement protocols.
----
## Milestones
As seen in several of the discussions during the 3rd ZKProof Workshop, the community would benefit most from an initial standard of hash functions, with a use in mind for both collision-resistant hashes and hiding commitments.
- We aim to generate a first draft by _______
----
## Initial Liaison with other WG
### Commit-and-Prove
The commit-and-prove paradigm provides a way to modularly commit to data in advance and then use different NIZK schemes to prove properties about those commitments. In essence, standardizing a commitment scheme (or more than one) would allow for
### DAPOL
### Semaphore

General Information ZKProof5 (2022), the 5th workshop of the zero-knowledge proof standardization effort, will take place, as an in-person event. Hybrid remote participation will be possible in most sessions, but we encourage physical presence to enable effective discussions and in-situ collaborations. Where: Tel Aviv Stock Exchange, Tel Aviv, Israel When: November 15--17, 2022 Submission due: Friday, October 14th Submission mail: zkproof5-submissions@zkproof.org Acceptance notification: Tuesday, October 25th Venue address: Ahuzat Bayit St 2, Tel Aviv-Yafo, 6525216, Israel

9/12/2022Date & Time: August, Tuesday 3rd @2:30pm UTC / 5:30pm Israel Time / 10:30am EST / 7:30am Pacific time Link to the Space: https://twitter.com/i/spaces/1BRJjBZQvNWJw Confirmed Participants: Technical part: Daira, Pratyush, Chelsea, Eran, Zac and Ian Economics part: Zooko, Jon, Michelle, Hudson, Jack and Moderators: Mary (as @ZKProof) and Daniel

8/3/2021Let $X$ be an integer, and $(x_n,...,x_0)$ binary decomposition Goal: define packing technique so that we can assume that the scheme works over messages that are vectors in $F^n_p$ despite the HE message space are polynomials in $R=F_p[X]/(X^n + 1)$. To this end we want define a bijection $(encode, decode)$ where $encode: F_p^n \to R=F_p[X]/(X^n + 1))$ s.t. $\forall v_1, v_2 \in F^n_p: v_1\cdot v_2 = decode(encode(v_1) * encode(v_2))$ Let $z$ be an integer, $n = 2^z$, $m = 2 · n$, and $p$ be a prime such that $p = 1 \mod m$. In this case, $(X^n + 1)$ splits over $F_p$, i.e., $(X^n +1) = \prod_i F_i(X)$, where each $F_i$ is a linear polynomial.

3/24/2021![](https://i.imgur.com/4rVEsHh.png =200x) Introduction As part of the SIEVE program, TA1 and TA2 performers are required to interoperate by generating or consuming the same intermediate representation (IR) of zero-knowledge statements. This document contains a brief description of the zkInterface interoperability tool, and focuses on outlining the relevant and important features. zkInterface is the first such proposal, allowing TA1 performers to use the most suitable and convenient TA2 proving system, and viceversa, without having to implement every possible connection. Furthermore, zkInterface can facilitate the process of testing and evaluation (T&E) for the deliverables of different performers. zkInterface was created as part of the ZKProof Standardization effort, where it quickly got traction becoming the standard tool for interoperability between frontends and backends. Resources

7/14/2020
Published on ** HackMD**