Commit Graph

365 Commits

Author SHA1 Message Date
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