Madars Virza
2d434df8a4
Refactor cryptographic encodings and multiexponentiation.
2015-03-05 15:47:21 -05:00
Madars Virza
b4a8928c40
Factor out R1CS to QAP reduction.
2015-03-05 15:47:21 -05:00
Madars Virza
83682afa8a
Factor out evaluation domains.
2015-03-05 15:47:21 -05:00
Madars Virza
79af373a1a
Move debug printing infrastructure from R1CS to linear combination; unify repeated linear terms in linear combinations.
2015-03-05 15:47:21 -05:00
Madars Virza
dd5082e064
Factor out abstract variable from R1CS.
2015-03-05 15:47:21 -05:00
Madars Virza
dd2711f9aa
Better comments about R1CS and updated R1CS example generators.
2015-03-05 15:47:21 -05:00
Madars Virza
69f9e29a1a
Factor out serialization routines.
2015-03-05 15:47:21 -05:00
Eran Tromer
faf1ebbe96
Merge pull request #6 from jkroll/clarify-system-randomness
...
Make the discussion of system sources of randomness clearer.
2014-10-06 23:04:32 +03:00
Joshua Kroll
4b983e3c38
Update verbiage per Eran's suggestions.
2014-10-06 15:10:41 -04:00
Joshua Kroll
62a2ae044c
Make the discussion of system sources of randomness clearer.
...
On most modern linux systems, there's essentially no security
difference between /dev/random and /dev/urandom, meaning that the
blocking property of /dev/random is actually harmful in many
cases. This advice is not necessarily true if you care about
e.g. embedded systems where you're going to generate crypto keys
immediately after boot (or, in some cases, even a long time after
boot).
In general, the best advice is to use external high-quality randomness
for keys (or to use urandom on a system where you believe it has been
keyed appropriately). See
http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/
for a careful explanation. Also know that there's a lot of active work
to improve the behavior and cluefulness of both /dev/random and
/dev/urandom. I don't know enough about the state of that to summarize
it, though.
2014-09-25 16:27:27 -04:00
Madars Virza
6dae0ee356
Emulate "install -D" behavior as it is not available on OS X.
2014-08-29 19:29:48 -04:00
Madars Virza
75da14a993
Reference LDLIBS in .so generation.
2014-08-11 13:43:18 -04:00
Madars Virza
18bf239ad7
Tighter constraint system for packing.
2014-08-09 21:16:40 -04:00
Madars Virza
98ddaf4e21
Factor out wNAF generation.
2014-08-09 21:16:14 -04:00
Madars Virza
1862f7d2fc
Add OS X as a tested architecture.
2014-08-07 11:58:45 -04:00
Madars Virza
2329ea87be
Makefile tweaks: add missing -lpthread for GTest and split LDLIBS in LDFLAGS/LDLIBS
2014-08-07 11:57:44 -04:00
Madars Virza
9ea0b4eddc
Move from clock_gettime to more portable std::chrono.
2014-08-07 11:56:18 -04:00
Madars Virza
49ddda2510
Rename MINDEPS to more accurate NO_PROCPS and add NO_DOCS make option.
2014-08-07 11:55:13 -04:00
Madars Virza
7876e71620
Remove dependency on OpenMP when multicore mode is not enabled.
2014-08-07 11:41:46 -04:00
Madars Virza
f4d9dcf579
Ensure that all necessary object files are used when building the .so/.a
2014-08-06 20:12:31 -04:00
Madars Virza
d34b477ed9
Update README to document more tested architectures.
2014-07-22 15:08:37 +03:00
Madars Virza
91f7c72428
Allow even more minimalistic builds:
...
introduce NO_GTEST=1 to prevent linking against libgtest (see README); and
only require lzm (ate-pairing) for bn128 curve choice.
2014-07-22 14:22:27 +03:00
Madars Virza
8c1df67068
g++-4.7 compatibility fixes
2014-07-22 14:08:15 +03:00
Madars Virza
1d00195109
Merge pull request #5 from Erkan-Yilmaz/patch-1
...
typo
2014-07-20 22:27:51 +03:00
MITSUNARI Shigeo
e79edd80a0
rename namespace
2014-07-20 22:07:32 +03:00
Erkan Yilmaz
67d69a3407
typo
2014-07-20 20:50:30 +02:00
Madars Virza
d2238de313
Update license and README to account for merging of our pairing precomputation code in ate-pairing upstream.
2014-07-17 11:13:40 +03:00
Madars Virza
7bf95fe074
Merge pull request #4 from herumi/move_impl_to_pairing
...
Move some functions to ate-pairing library
2014-07-17 10:30:09 +03:00
MITSUNARI Shigeo
bd2bdd86a8
use experimental::millerLoop2
2014-07-16 21:44:16 +09:00
MITSUNARI Shigeo
742817331c
use bn::experimental api
2014-07-16 17:24:38 +09:00
MITSUNARI Shigeo
05a1d03a67
use point{Add/Dbl}LineEvalWithoutP
2014-07-16 16:32:53 +09:00
Madars Virza
cf796654c1
Update the list of contributors.
2014-07-15 13:13:13 +03:00
Madars Virza
3017ed85a0
Update LICENSE and README to reflect the fact that ate-pairing has incorporated our patch.
2014-07-15 12:56:22 +03:00
Madars Virza
6def288c30
Merge pull request #3 from herumi/xbyak_support_snark
...
ate-pairing patch has been graciously merged by the upstream; this commit accounts for this in our build infrastructure
2014-07-15 11:05:20 +03:00
MITSUNARI Shigeo
9f490c351a
support_snark branch is merged into master
2014-07-15 06:49:43 +09:00
MITSUNARI Shigeo
4ea45a0fee
xbyak with -DBN_SUPPORT_SNARK merged the patch
2014-07-15 06:46:31 +09:00
Eran Tromer
525922fa43
README.md tweaks
2014-07-14 22:47:26 +03:00
Madars Virza
50b6a30249
Provide a "make install" target.
2014-07-14 16:51:44 +03:00
Madars Virza
d2bb57180c
add gadgetlib1 gadget base class
2014-07-14 11:44:23 +03:00
Madars Virza
7a33a748db
QAP documentation updates.
2014-07-14 11:11:56 +03:00
Madars Virza
f65f0d05ae
fast_add_special: support for faster addition formulas when one of the
...
points is of special form. Improves performance for ppzkSNARK prover
when witness is mostly 0/1 valued at slight pre-processing cost in the
ppzkSNARK key generator.
2014-07-14 11:11:56 +03:00
Madars Virza
7b2de53c85
Inline point equality check in G1/G2 operator+ so temporary results are reused.
2014-07-14 11:11:55 +03:00
Madars Virza
b7a2a1355d
Abstract away double-and-add pattern in exponentiations.
2014-07-14 11:11:55 +03:00
Madars Virza
21cf8f0c8c
Update gadgetlib2 documentation.
2014-07-14 11:11:55 +03:00
Madars Virza
42e1678dc4
Update gadgetlib1 to support linear combinations as first-class
...
objects and add functionality to report constraints that would benefit
from linear combination inlining.
2014-07-14 11:11:55 +03:00
Madars Virza
63b895cf49
Rename profile_r1cs_ppzksnark to demo_r1cs_ppzksnark and do additional directory re-structuring.
2014-07-14 11:11:55 +03:00
Madars Virza
71883bc168
Update authorship information.
2014-07-14 11:11:55 +03:00
Eran Tromer
962cb33d6f
doxygen.conf: minor typo
2014-07-13 17:02:20 +03:00
Eran Tromer
2ad444964b
Add "make lib" and tell about it in README
2014-07-13 16:57:00 +03:00
Madars Virza
0f5bc4a8f7
Remove superfluous dependency
2014-07-10 17:36:23 +03:00