---
type: slide
title: bigint audit slides
tags: bigint
---
## circom-bigint audit
---
### Goals
- Security focused review of circom-bigint library.
- Deliver an audit report at the end.
- Establish a reference for Circom focused audits.
- Veridise working on its formal verification.
---
### What is bigint?
- All operations are in $\mathbb{F}_p$ where $p$ is a prime.
- All numbers are integers in $[0,p)$ (signals).
- We need the capability to work with bigger numbers, hence bigint library.
- A "bigint" number is represented as an array of $k$ signals, each of which has $n$ bits.
- Basically, a $k$ digit number in base $2^n$.
---
### Updates
- https://github.com/0xbok/circom-bigint
- Each file is a separate PR where we leave comments as we review. Follow [along](https://github.com/0xbok/circom-bigint/pulls).
- Create github issues for each finding, combine them in a report.
- Currently reviewing [bigint.circom](https://github.com/0xbok/circom-bigint/pull/3/files).
---
### Interesting findings
- Need to document circuit templates.
- Need to document assumptions on input size.
- One constraint optimization in `BigSubModP`.
---
### Next meeting milestone
#### Freeze `bigint.circom`.
- Create a new branch with documented code.
- Create github issues for `bigint.circom`, and move on to `bigint_4x64_mult.circom`.