Dankrad Feist
80b256ad5f
Use batch inversion for Lagrange commitment
2022-09-17 23:25:21 +01:00
Dankrad Feist
a2a4e57622
Lagrange proof bench
2022-09-17 18:34:59 +01:00
Ramana Kumar
f7053514b3
Free temporary arrays
2022-09-17 18:21:56 +01:00
Dankrad Feist
dcf68949b3
Optimized eval_poly_l with batch inversion
2022-09-17 18:00:54 +01:00
Ramana Kumar
4c8787d87b
Fix fr_batch_inv
2022-09-17 17:06:54 +01:00
Dankrad Feist
9c36ca4f3d
WIP: Montgomery batch inversion
2022-09-17 16:24:14 +01:00
Ramana Kumar
3aff3eb727
Implement proof for Lagrange at a root of unity
2022-09-17 13:05:12 +01:00
Ramana Kumar
c4537ccdae
Make y a parameter of compute_proof_single_l
2022-09-17 11:00:13 +01:00
Ramana Kumar
3d286c6050
Add proof_single_l to tests
2022-09-17 10:59:39 +01:00
Ramana Kumar
94c7bb56cf
Add another test at a different poly_l and root
2022-09-17 10:53:25 +01:00
Ramana Kumar
10bff7d5c8
Fix eval_poly_l for evaluation at a root
...
Move the TODO for the special formula to compute_proof_single_l
2022-09-17 10:49:04 +01:00
Ramana Kumar
f2454c284c
Add barycentric benchmark to Makefile
2022-09-17 09:27:41 +01:00
Dankrad Feist
30f5911e14
Benchmark for barycentric formula
2022-09-17 09:20:08 +01:00
Dankrad Feist
279eb5b514
Add TODO for barycentric formula special case
2022-09-17 07:23:00 +01:00
Ramana Kumar
12c3cb7645
Remove tmp2
...
This is possible assuming the fr_ ops don't need to read their inputs
after writing to their output.
2022-09-16 15:16:12 +01:00
Ramana Kumar
8eda02ab72
Remove tmp3 and unnecessary op
2022-09-16 15:16:12 +01:00
Ramana Kumar
509e75b1d5
Add new_poly_l to interface
2022-09-16 15:16:11 +01:00
Ramana Kumar
f7aa56679b
Remove unused variable
2022-09-16 15:16:11 +01:00
Ramana Kumar
c8b18c3a22
Free allocated coeffs, avoid leak
2022-09-16 15:16:11 +01:00
Dankrad Feist
0861520a7e
Test for proofs computed in Lagrange form
2022-09-16 15:16:11 +01:00
Ramana Kumar
7f1a25bbc5
First pass at compute_proof_single_l
2022-09-16 15:16:11 +01:00
Ramana Kumar
15f2b9eef9
Add evaluation of Lagrange poly
2022-09-16 15:16:11 +01:00
Ramana Kumar
56e0769ce4
Add Lagrange form, with a test
2022-09-16 15:16:11 +01:00
Dankrad Feist
6b5140af66
Fixed test for check_proof_multi
2022-09-16 15:15:58 +01:00
Ramana Kumar
9bd8c3fdf8
Change coset_scale in test proof_multi
2022-09-15 13:35:02 +01:00
Ramana Kumar
f2f20141db
Stop adding one to secrets_len
2022-09-15 13:33:17 +01:00
Ramana Kumar
fa80d94168
Add newlines at ends of some files
2022-09-15 13:32:08 +01:00
Anton Nashatyrev
63612c1119
Fix toeplitz_coeffs_stride() for minimal sized poly ( #18 )
...
Fix an edge case in FKMulti when the chunk length was the same as the polynomial size, resulting in writing outside the return array in `toeplitz_coeffs_stride()`.
Co-authored-by: Ben Edgington <ben@benjaminion.xyz>
2021-08-20 16:07:16 +01:00
Anton Nashatyrev
350a961b90
Fix condition check ( #17 )
2021-08-11 11:13:08 +01:00
Ben Edgington
950d53c325
Nashatyrev feature/add g2 add dbl ( #16 )
...
* Add g2_add_or_dbl() function
* Add unit test
Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
2021-08-11 10:06:32 +01:00
Ben Edgington
80f984cecd
Correct include dir info
2021-07-09 13:41:30 +01:00
Ben Edgington
b21d13684b
Consolidate header files ( #14 )
...
* Consolidate header files
User should now need only include c_kzg.h and bls12_381.h.
* Update README
2021-07-09 13:35:19 +01:00
Ben Edgington
ca1acf61d6
Fix up docs (include static functions)
2021-07-09 09:54:37 +01:00
Ben Edgington
1f2c946ce8
Merge pull request #12 from Nashatyrev/fix/double-include-guard
...
Add double header include guard for kzg_proofs.h
2021-07-09 06:26:15 +01:00
Ben Edgington
e8b140a88b
Comment end of #if
2021-07-09 06:23:35 +01:00
Ben Edgington
13d523a079
Merge pull request #13 from benjaminion/testing_refactor
...
Refactor unit testing
2021-07-09 06:19:35 +01:00
Anton Nashatyrev
1712cd83bb
Add newline at the end of file
2021-07-08 17:59:32 +03:00
Anton Nashatyrev
0c8c174a31
Add double header include guard for kzg_proofs.h
2021-07-08 17:58:15 +03:00
Ben Edgington
f6b1d0ff57
Refactor unit testing
2021-07-03 13:55:54 +01:00
Ben Edgington
144d81b2c1
Fix up documentation
2021-07-03 11:45:39 +01:00
Ben Edgington
479a9cab28
Merge pull request #11 from benjaminion/das_extension_stride_fix
...
Fix initial stride in das_fft_extension
2021-07-03 10:57:06 +01:00
Ben Edgington
27bde1aff7
Fix initial stride in das_fft_extension
2021-07-03 10:50:56 +01:00
Ben Edgington
419e28b46b
Merge pull request #9 from benjaminion/Nashatyrev-feature/add-fr-to-uints
...
Add fr_to_uints() function
2021-07-03 09:45:58 +01:00
Ben Edgington
958dc1aee7
Minor tweaks and add a unit test
2021-07-03 09:37:20 +01:00
Anton Nashatyrev
fc641a2197
Add fr_to_uint64s() function
2021-07-02 14:48:36 +03:00
Ben Edgington
ba81164330
Implements fast division for long divisors ( #7 )
2021-06-28 12:42:14 +01:00
Ben Edgington
244bfe8740
Add ASSERT macro
2021-06-24 16:22:37 +01:00
Ben Edgington
2cf8782e91
Add length check for polynomial commitment
2021-06-23 11:51:50 +01:00
Ben Edgington
37021b9653
Use Blst's multiscalar multiplication for commitments
2021-06-22 19:52:44 +01:00
Ben Edgington
18f7d8f72e
Link to jc-kzg Java wrapper
2021-06-21 16:11:03 +01:00