Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

benchmark G1 and G2 subgroup validation #197

Merged
merged 1 commit into from
Mar 31, 2021
Merged

Conversation

arvidn
Copy link
Contributor

@arvidn arvidn commented Mar 31, 2021

This is meant to cover the validation of keys that have to happen in practice, in addition to validating the signature. The validation happens in FromBytes().

@arvidn arvidn requested a review from mariano54 March 31, 2021 10:26
@arvidn arvidn merged commit e420770 into main Mar 31, 2021
@arvidn arvidn deleted the key-validation-benchmark branch March 31, 2021 12:32
Fuzzbawls added a commit to Fuzzbawls/bls-signatures that referenced this pull request Jan 16, 2022
aecdcae7 Merge pull request Chia-Network#209 from luozejiaqun/patch-1
220d9c9e Add embedding degree for SM9 curve.
f09f1346 Fix copy for other memory allocators.
a143e5a0 Remove printing artifact.
efcc66db Optimize *_mul_sim_lot() similarly.
16af34c1 Restore the original BN-256 as the default parameter choice.
17b29504 Add SM9 curve (BN) over 256-bit prime and rename CP8 -> GMT8.
1f62f589 Add benchmarks for ep_mul_sim_lot().
3429421e Fix subgroup membership test in G1.
3dd26f5a Identation and other minor things.
f8466af7 Merge pull request Chia-Network#205 from huitseeker/open_ep_maps
fd00df0f Merge branch 'main' of https://github.com/relic-toolkit/relic
47173111 Change size of challenge to match paper.
662ebfb7 Update README.md
1ceb569a Check that points read from buffers are on the curve.
b7b2266a Remove warning of type mismatch.
7ed8e702 Fix comparison bug caused by casting reported by cryptofuzz.
4ef8f9c4 Include headersin editor config.
c259f6ec Fix identation in GitHub.
5b795881 Make exception-handling code more robust.
f476b78c Remove unused protocol.
f8a7908e Faster exponentiation for small integers.
acafbd6c Replace signed char with int8_t.
c46e6657 Faster multiplication by short scalars, unify terminology.
202f7476 Test smaller challeges in pairing delegation protocols.
e9948b70 Initialize buffers with 0.
36cb0960 Remove compilation warnings.
1620a03b Handle invalid encodings at a better place.
e580a217 Try optimization agan.
5efbe691 Fix macro.
51e78785 Specialize reduction to recover minor speedup.
a0b5cf54 Polish membership testing in G_T for prime-order curves.
c7177c87 Fix very old bug introduced to handle a special case and never updated.
dfa21290 Fix parameter.
e6209fd8 Increase robustness of non-initialized bignums.
d834ca4b Better place for exception throwing.
6d28711c Zero digits in recoding functions to simplify upper layer.
293beaf8 Add missing header.
ced4f230 Fixes.
8eec5159 Implementing blinding on twists for projective coordinates.
ff180c1e Avoid allocation rollbacks when errors occur.
a78ceb24 Fix comment, add missing error message.
9a012863 Add a direct map from field to curve
9bca8fc4 Remove duplicate header for ep_map_dst
09b8ff20 Add self-test for PRNG when callback is used.
82f87cef Removed unused include.
49e5486a Another fix for EPX == ep4 case.
4e2040a1 Fix GMP crash.
1b4d4ae8 Several minor fixes in FP and EPX. Implements ep4_mul_sim_lot().
cfa81d08 Pick correct curve when exponentiating G_T elements.
2a74905d Minor fix.
2e346579 Typos.
15cb6d1d Refactor to reduce code duplication.
30b67cbd Another fix.
ff2cf630 Fix typo.
73799126 Reduze size of regular recoding by one.
2f95c443 Better tests for the group order.
7991e63d Restore commented out tests.
9206ae50 Attempt to fix alignment issue.
17685344 Minor touches to protocols. ECIES nos supports legacy curves.
e2b7ffc2 More refined benchmarks.
bcda30a3 Refinement.
92c72508 Add ETRS to bench program.
696ddd77 Fix memory errors.
f58ce726 Refine benchmarking of ETRS further.
f5486775 Another try.
00c66b68 Reduce benchmarks size.
bf601552 Add ETRS scheme.
af858769 Add ETRS scheme.
5234fc6e Better benchmarking for ERS.
1ee21e7c Add better config for ed25519 curve.
1b7d6487 Add demo for ERS/ETRS scheme.
ecc5f7e8 Add demo for ERS/ETRS scheme.
ebea1e0e Update the backend for generality.
442ee0a7 Adjustments to ERS.
54676b0b Better bench.
946110d5 Improve benchmark for ERS.
9b97cf0f More experiments with GT membership checks.
e79a5781 Further fixes in FPX exponentiation.
f1452124 Polishing.
37f5cecc Implement 8-GLS method for BLS24.
ab14b575 Better GLV/GLS for curves and fields.
5887c2e2 Add hashing to BLS24 curves.
c4116a4d Memory bugs!
0e491e8b Square root in Fp4.
e99711b3 Faster cyclotomic squarings.
db2d6a9e Faster efficient membership tests again, getting there!
fe3ea6f9 Merge branch 'main' of github.com:relic-toolkit/relic
f1d9e3bf Better GT test for BLS24.
d524ff0f Update relic_ep_param.c
6cd1e3fc Add BLS12-383 curve and adjust backends.
73e4bde8 Make more general.
4b465952 Make subgroup membership tests less risky again.
26467be7 Combined low-level backends.
d2723fda Remove apparently useless CMake directive.
a970b292 Another type fix.
a20f81f0 Fix conditional compilation.
18eeb970 Merge branch 'main' of github.com:relic-toolkit/relic
29cd6315 Added new preset for BLS24 curve.
45a1bf0f Rename folder and preset.
f6634219 Make code a little more generic.
1cae37af Fix types.
a30eebc2 Fix error caused by previous merge.
49790b6c Fix type.
97ff7774 Merge pull request Chia-Network#199 from relic-toolkit/delegation
320774a2 Merge branch 'main' into delegation
c52bb96c Rename protocols.
8775b479 Add more benchmarks.
9149cead Fix membership tests.
4834f435 Use random points.
730bc944 More general choice of algs.
10168f0f Fix another memory issue.
0a265de4 Implement pairings over BLS24 and add glue code for protocols.
19dcfac7 Fix memory issues.
67abb197 Fix type mismatch.
634c0529 Stub for compression and adjustment for fp4_mul_frb().
48778406 Adjust benchmarks as well.
eda52e70 Complete implementation of Fp24.
3738c50d Add implementation of E(Fp4).
456e61a5 Extended Fp4 with new functions.
4c9be555 Rename variables to follow standard.
638291c6 Minor polishing.
52b316a6 Fix memory issue.
771e9f71 Replace curve BLS24-477 with BLS24-509.
3a9160b1 Fix copyright dates, add script.
0a19bdbb Removing include and list type.
d3645687 Add extendable ring signatures.
877f8e75 Fix memory issues.
999cd0c5 Add SoK protocols for discrete logarithms.
a689b8ff Add PoK protocols for dlogs.
aff5b254 Add new GHA configuration.
5f4bf29e Fix issues with constant-time GMP backend.
4e39e235 Remove unused variable.
6314936f Otimize GHA by reducing number of tests.
36c03729 Accelerate GHA by omitting excessive configurations.
4776b432 Change types and fix constant overflow.
173b674a Bug fixes detected by GHA.
de470937 Slightly more readable code.
65960446 Do not resize WSIZE after it was set once.
60008aa1 Remove printing artifact.
af425eca Fix test cases for trivial values of b.
9fa0f13a Rename config.
511bacef Add configurations for 8- and 16-bit microcontrollers to GHA.
784711bc Merge branch 'main' of github.com:relic-toolkit/relic
8d45773e Rename GHA config.
1a98c503 Refresh GHA configurations.
5daada8c Update README.md
5a5e2819 Merge pull request Chia-Network#197 from relic-toolkit/win64
bc11fc82 Fix documentation.
fda22d02 Reuse macros and simplify EASY backend.
69c51954 Fix more issues with BLAKE2.
03f86cb5 Rename bn_init -> bn_make to avoid clashing with OpenSSL.
43f2cd46 Fix issue with BLAKE2.
c457c28b Added Curve448 prime.
74a45c10 Compute the generator of G_T here.
63088b36 Merge pull request Chia-Network#194 from luozejiaqun/pcGtGen
1b9a2f93 Fix typo.
236330b2 Simplify generator getting for Gt.
23627901 Rename for clarity.
23175371 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
ec0323d6 Attempt to fix Win64 crash.
1964462b More fixes for Win64, almost there.
c5619102 New fix for Win64.
eee28940 Fix compile issues on Win64.
70d29ddb Typo.
5cf20c4c Another attempt to make code more portable.
5d299329 Make code more portable.
1df86afd Attempt to abstract multiplication/division involving single digits.
ebf7c8da Remove another occurence of dbl_t for Win64.
11d4414e Another fix.
efded21a Fix compile error on Win64.
1862a1f2 Attempt to compile on WIN64.
bf2b8035 Formatting.
252a53d4 Simplify iterated squaring interface to save memory on context.
6e4aaa56 Attempt to fix Win64 crash.
85fc0d45 More fixes for Win64, almost there.
f2ac7567 New fix for Win64.
7e3433e6 Fix compile issues on Win64.
f205ef68 Typo.
45bdce9f Another attempt to make code more portable.
bb9f7b6d Make code more portable.
70cef2fb Attempt to abstract multiplication/division involving single digits.
879ae213 Remove another occurence of dbl_t for Win64.
328865bf Another fix.
ca718dea Fix compile error on Win64.
52af7c93 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
1f6ec607 Attempt to compile on WIN64.
ec291eca Attempt to compile on WIN64.
9bee0e2f Improve detection for Windows 64.
d9ea26cf Improve detection for Windows 64.
b3e4bb6a Improve detection for Windows 64.
e6702621 Conditional ASM directives.
a6b49fe0 Change RNG for Windows build.
c2617189 Remove apparently seless directives from ASM in BLS12-381.
5f94a5ba One more try.
1e8748ca Restore GMP config.
d45fe501 More fixes.
a9051913 Another fix.
cee373b4 Fix typo in preset name.
f49a187f Add new configuration for GH Actions.
c7efde00 Minor tweak.
1c9ea9ed Fix further problems with padding in PKCS PIVX-Project#1.5 (no surprise).
83de89f7 Remove MSVC support for GMP.
02aba9fe Tweaks to GMP support.
5351e3ae Refactor fast reduction.
08b56edb Try more variants of GMP library name.
70f78c5e Final attempt before giving up.
f2e4760b Be more flexible with library names.
ad171c69 More details.
e823206f Be more descriptive about GMP location.
f0c10739 Going back to bash.
e55d01a7 Swap vcpkg commands.
53d495d9 Try to fix path.
7ce334de Windows uses backslash for dirs.
d32bded0 Try PowerShell now.
66de6363 Another attempt
78e74773 Try to fix include path for MSVC compilation.
924c20ea Another fix.
1f83fcca Fix hierarchy.
d724e5a8 Debug MSVC GMP install.
d562ed73 Again.
7bf116f7 Possible fix.
3e8f9e53 Another try.
1d368812 Fix typo.
54f857a0 Rename action.
dbc38931 Experiment with a different configuration.
ae4e09f4 (Much) Faster subgroup checks for BLS12 curves.
aca5315e Try to run CI on all branches.
0bfc2550 Be less dramatic about errors.
3a23142b Bump BLAKE2S to latest version.
8c030a57 Faster scalar multiplication in G2.
6e333f2a Make gt_exp_dig into a function and optimize subgroup membership more.
6d2901f2 Save some lines. :)
e1c2c139 Fix more problems with mem alloc.
840ea8fa More memory alloc.
babcb1b1 Memory allocation again.
fcbfcc69 Formatting and speedups.
f07f43ba Implement version with private inputs as well.
346af38d Formatting.
57ff4bd4 Exploit multi-pairing.
57f0c8ad Make date accurate.
03b9e559 Speedup using multi-pairing.
48125d66 Add pairing delegation protocols.
e54b04c9 Better conditional compilation.

git-subtree-dir: contrib/relic
git-subtree-split: aecdcae7956f542fbee2392c1f0feb0a8ac41dc5
Fuzzbawls added a commit to Fuzzbawls/bls-signatures that referenced this pull request Jan 21, 2022
bf371297 Merge pull request Chia-Network#219 from Fuzzbawls/2022_remove-redundant-decls
ddaeb28a Remove redundant declarations in relic_fpx.h
97081d11 Minor speedup in LaPSI with cool trick on the exponent.
4107d14c Update LABEL support.
499a65a1 Better test and fixed memm alloc issue for PSI.
bbe8963e Memory allocation issue.
a3533dde Addind pairing-based PSI protocol.
e1b388a0 Trim bn_t at the end of copy.
8930b261 Restore benchmarks.
e9c681ab Fix bugs in EXTND coordinate system.
49b2a0d1 Respect STRIP.
a953d385 Fix symbol name.
5260f210 Build with stripping enabled.
4848f27d Fix problems with compression and blinding on EDDIE.
e4dd23d3 Remove redundant assignment.
50935c18 One more fix for EDDIE.
01433d7f Do not zero buffers without need.
2601df77 Make EDDIE compile with STRIP again.
6d29b274 Share more code between jumpdivstep inversion/symbol.
0f4a481f Refactoring of jumpdivstep inversion/symbol to share code.
f333841c Add missing present.
cb488ee4 Fix preset.
842cb1f8 Giving up again, problem is with GNU as and our macros.
970fac17 Trying again...
5d26c6a8 Fix typo.
eb09222d Another attempt at MacOS integration.
83090950 Merge pull request Chia-Network#216 from feandalo/patch-1
64a5e5e0 Update README.md
c56f2cc3 Remove MacOS for a while due to GCC shenanigans.
4a5b2527 Trying another compiler for MacOS.
052c1bf6 Fix artifact of the previous merge.
f8431f32 Fix syntax.
7d269435 Reorder CMake commands to see if config works.
bb278393 Merge pull request Chia-Network#215 from relic-toolkit/symbol
30f5b659 Fix signal on symbol computation as well.
9a001ec7 Fix for small limb sizes.
896022b3 Formatting.
2f081928 Fixed another bug in bn_mul2_low().
0c50b590 Another bug fixed.
a54c32c5 Fix carry issue in shifting functions.
06cff1fa Update LABEL support with new symbol functions.
37af1f4a Clarify this little hack.
0fce7d3f Merge branch 'main' into symbol
5ffc7f8c Fix bugs with divstep config and return value.
536422ad Update interface of the BN symbol functions.
c274e2b2 Update presets to complete configuration.
6c046a07 Better formatting.
e7a15a36 Remove compilation warning.
11592073 Add more missing files for Legendre.
6a2d8b9b Benchmark missing algorithm.
f5f36c07 Add another missing file, fix dates.
b7bbfa11 Fix default low-level implementation of Legendre.
a545d806 Add missing file.
f21d15ca Refactor configuration to include Legendre symbol, improve tests/bench.
d4747b69 Remove warning.
0b49c334 Fixed bug when prime is close to power of 2.
b06d27e5 Fix documentation of EP methods.
63aa2e29 Bump version for new future release.
a269b6db Fix allocation issue.
4ae9c899 Adjust batch size.
66993770 Simplify API and optimize constant-time execution.
e3f82e36 Rename workflow run.
0be5e47d Remove warning.
df5ce77a Restore commented out function.
f1688dd4 Replace dbl_t type with macros.
ab40d2f6 Fix typo.
24602b1b Add missing tests, label and benchmarks.
bb5a5dba Refactor divstep-based inversion.
1c6ef422 Fix type.
975573ee New jacobi symbol algorithm.
acdcf436 Merge pull request Chia-Network#213 from lorenzcat/main
3ab3a08f Fix NETBSD definition
260c9f8b More bug fixes involving inputs/outputs and corner cases for scalars.
ecaf98f9 Fix regression.
72e5652a Improve coverage of corner cases in tests.
a001e3e0 Simplify handling of scalars out of bounds.
7bc1d747 Make outputs independent of inputs.
156156a5 Fix sign bug in ep2_mul_sim_lot().
729bbc18 Fix LABEL and add GH Action for detecting regressions.
a33d45bd Add SMLERS.
dc851e38 Better printing.
cb2075dd Simplify code.
06f30d89 Update demo.
edd1aa0c Fix more.
89609c9e Fix compile error.
cf3a82a7 Add SMLERS and generalize SoK protocol.
64523296 Add bn_mod_inv_sim(), tests and benchmarks.
42790a02 Fix for ED module.
7a80c3e2 Improve documentation and flexibility of ep_mul_sim_lot().
edf5bd94 Merge branch 'main' of github.com:relic-toolkit/relic
804e5b7f Fix compile error with LABEL.
aecdcae7 Merge pull request Chia-Network#209 from luozejiaqun/patch-1
220d9c9e Add embedding degree for SM9 curve.
f09f1346 Fix copy for other memory allocators.
a143e5a0 Remove printing artifact.
efcc66db Optimize *_mul_sim_lot() similarly.
16af34c1 Restore the original BN-256 as the default parameter choice.
17b29504 Add SM9 curve (BN) over 256-bit prime and rename CP8 -> GMT8.
1f62f589 Add benchmarks for ep_mul_sim_lot().
3429421e Fix subgroup membership test in G1.
3dd26f5a Identation and other minor things.
f8466af7 Merge pull request Chia-Network#205 from huitseeker/open_ep_maps
fd00df0f Merge branch 'main' of https://github.com/relic-toolkit/relic
47173111 Change size of challenge to match paper.
662ebfb7 Update README.md
1ceb569a Check that points read from buffers are on the curve.
b7b2266a Remove warning of type mismatch.
7ed8e702 Fix comparison bug caused by casting reported by cryptofuzz.
4ef8f9c4 Include headersin editor config.
c259f6ec Fix identation in GitHub.
5b795881 Make exception-handling code more robust.
f476b78c Remove unused protocol.
f8a7908e Faster exponentiation for small integers.
acafbd6c Replace signed char with int8_t.
c46e6657 Faster multiplication by short scalars, unify terminology.
202f7476 Test smaller challeges in pairing delegation protocols.
46742aef Add new algorithm.
e9948b70 Initialize buffers with 0.
36cb0960 Remove compilation warnings.
1620a03b Handle invalid encodings at a better place.
e580a217 Try optimization agan.
5efbe691 Fix macro.
51e78785 Specialize reduction to recover minor speedup.
a0b5cf54 Polish membership testing in G_T for prime-order curves.
c7177c87 Fix very old bug introduced to handle a special case and never updated.
dfa21290 Fix parameter.
e6209fd8 Increase robustness of non-initialized bignums.
d834ca4b Better place for exception throwing.
6d28711c Zero digits in recoding functions to simplify upper layer.
293beaf8 Add missing header.
ced4f230 Fixes.
8eec5159 Implementing blinding on twists for projective coordinates.
ff180c1e Avoid allocation rollbacks when errors occur.
a78ceb24 Fix comment, add missing error message.
9a012863 Add a direct map from field to curve
9bca8fc4 Remove duplicate header for ep_map_dst
09b8ff20 Add self-test for PRNG when callback is used.
2f0273c5 Minor fixes.
f49ae035 More conservative optimization.
7fb584fa Add new symbol computations, more work to be done on the API.
82f87cef Removed unused include.
49e5486a Another fix for EPX == ep4 case.
4e2040a1 Fix GMP crash.
1b4d4ae8 Several minor fixes in FP and EPX. Implements ep4_mul_sim_lot().
cfa81d08 Pick correct curve when exponentiating G_T elements.
2a74905d Minor fix.
2e346579 Typos.
15cb6d1d Refactor to reduce code duplication.
30b67cbd Another fix.
ff2cf630 Fix typo.
73799126 Reduze size of regular recoding by one.
2f95c443 Better tests for the group order.
7991e63d Restore commented out tests.
9206ae50 Attempt to fix alignment issue.
17685344 Minor touches to protocols. ECIES nos supports legacy curves.
e2b7ffc2 More refined benchmarks.
bcda30a3 Refinement.
92c72508 Add ETRS to bench program.
696ddd77 Fix memory errors.
f58ce726 Refine benchmarking of ETRS further.
f5486775 Another try.
00c66b68 Reduce benchmarks size.
bf601552 Add ETRS scheme.
af858769 Add ETRS scheme.
5234fc6e Better benchmarking for ERS.
1ee21e7c Add better config for ed25519 curve.
1b7d6487 Add demo for ERS/ETRS scheme.
ecc5f7e8 Add demo for ERS/ETRS scheme.
ebea1e0e Update the backend for generality.
442ee0a7 Adjustments to ERS.
54676b0b Better bench.
946110d5 Improve benchmark for ERS.
9b97cf0f More experiments with GT membership checks.
e79a5781 Further fixes in FPX exponentiation.
f1452124 Polishing.
37f5cecc Implement 8-GLS method for BLS24.
ab14b575 Better GLV/GLS for curves and fields.
5887c2e2 Add hashing to BLS24 curves.
c4116a4d Memory bugs!
0e491e8b Square root in Fp4.
e99711b3 Faster cyclotomic squarings.
db2d6a9e Faster efficient membership tests again, getting there!
fe3ea6f9 Merge branch 'main' of github.com:relic-toolkit/relic
f1d9e3bf Better GT test for BLS24.
d524ff0f Update relic_ep_param.c
6cd1e3fc Add BLS12-383 curve and adjust backends.
73e4bde8 Make more general.
4b465952 Make subgroup membership tests less risky again.
26467be7 Combined low-level backends.
d2723fda Remove apparently useless CMake directive.
a970b292 Another type fix.
a20f81f0 Fix conditional compilation.
18eeb970 Merge branch 'main' of github.com:relic-toolkit/relic
29cd6315 Added new preset for BLS24 curve.
45a1bf0f Rename folder and preset.
f6634219 Make code a little more generic.
1cae37af Fix types.
a30eebc2 Fix error caused by previous merge.
49790b6c Fix type.
97ff7774 Merge pull request Chia-Network#199 from relic-toolkit/delegation
320774a2 Merge branch 'main' into delegation
c52bb96c Rename protocols.
8775b479 Add more benchmarks.
9149cead Fix membership tests.
4834f435 Use random points.
730bc944 More general choice of algs.
10168f0f Fix another memory issue.
0a265de4 Implement pairings over BLS24 and add glue code for protocols.
19dcfac7 Fix memory issues.
67abb197 Fix type mismatch.
634c0529 Stub for compression and adjustment for fp4_mul_frb().
48778406 Adjust benchmarks as well.
eda52e70 Complete implementation of Fp24.
3738c50d Add implementation of E(Fp4).
456e61a5 Extended Fp4 with new functions.
4c9be555 Rename variables to follow standard.
638291c6 Minor polishing.
52b316a6 Fix memory issue.
771e9f71 Replace curve BLS24-477 with BLS24-509.
3a9160b1 Fix copyright dates, add script.
0a19bdbb Removing include and list type.
d3645687 Add extendable ring signatures.
877f8e75 Fix memory issues.
999cd0c5 Add SoK protocols for discrete logarithms.
a689b8ff Add PoK protocols for dlogs.
aff5b254 Add new GHA configuration.
5f4bf29e Fix issues with constant-time GMP backend.
4e39e235 Remove unused variable.
6314936f Otimize GHA by reducing number of tests.
36c03729 Accelerate GHA by omitting excessive configurations.
4776b432 Change types and fix constant overflow.
173b674a Bug fixes detected by GHA.
de470937 Slightly more readable code.
65960446 Do not resize WSIZE after it was set once.
60008aa1 Remove printing artifact.
af425eca Fix test cases for trivial values of b.
9fa0f13a Rename config.
511bacef Add configurations for 8- and 16-bit microcontrollers to GHA.
784711bc Merge branch 'main' of github.com:relic-toolkit/relic
8d45773e Rename GHA config.
1a98c503 Refresh GHA configurations.
5daada8c Update README.md
5a5e2819 Merge pull request Chia-Network#197 from relic-toolkit/win64
bc11fc82 Fix documentation.
fda22d02 Reuse macros and simplify EASY backend.
69c51954 Fix more issues with BLAKE2.
03f86cb5 Rename bn_init -> bn_make to avoid clashing with OpenSSL.
43f2cd46 Fix issue with BLAKE2.
c457c28b Added Curve448 prime.
74a45c10 Compute the generator of G_T here.
63088b36 Merge pull request Chia-Network#194 from luozejiaqun/pcGtGen
1b9a2f93 Fix typo.
236330b2 Simplify generator getting for Gt.
23627901 Rename for clarity.
23175371 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
ec0323d6 Attempt to fix Win64 crash.
1964462b More fixes for Win64, almost there.
c5619102 New fix for Win64.
eee28940 Fix compile issues on Win64.
70d29ddb Typo.
5cf20c4c Another attempt to make code more portable.
5d299329 Make code more portable.
1df86afd Attempt to abstract multiplication/division involving single digits.
ebf7c8da Remove another occurence of dbl_t for Win64.
11d4414e Another fix.
efded21a Fix compile error on Win64.
1862a1f2 Attempt to compile on WIN64.
bf2b8035 Formatting.
252a53d4 Simplify iterated squaring interface to save memory on context.
6e4aaa56 Attempt to fix Win64 crash.
85fc0d45 More fixes for Win64, almost there.
f2ac7567 New fix for Win64.
7e3433e6 Fix compile issues on Win64.
f205ef68 Typo.
45bdce9f Another attempt to make code more portable.
bb9f7b6d Make code more portable.
70cef2fb Attempt to abstract multiplication/division involving single digits.
879ae213 Remove another occurence of dbl_t for Win64.
328865bf Another fix.
ca718dea Fix compile error on Win64.
52af7c93 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
1f6ec607 Attempt to compile on WIN64.
ec291eca Attempt to compile on WIN64.
9bee0e2f Improve detection for Windows 64.
d9ea26cf Improve detection for Windows 64.
b3e4bb6a Improve detection for Windows 64.
e6702621 Conditional ASM directives.
a6b49fe0 Change RNG for Windows build.
c2617189 Remove apparently seless directives from ASM in BLS12-381.
5f94a5ba One more try.
1e8748ca Restore GMP config.
d45fe501 More fixes.
a9051913 Another fix.
cee373b4 Fix typo in preset name.
f49a187f Add new configuration for GH Actions.
c7efde00 Minor tweak.
1c9ea9ed Fix further problems with padding in PKCS PIVX-Project#1.5 (no surprise).
83de89f7 Remove MSVC support for GMP.
02aba9fe Tweaks to GMP support.
5351e3ae Refactor fast reduction.
08b56edb Try more variants of GMP library name.
70f78c5e Final attempt before giving up.
f2e4760b Be more flexible with library names.
ad171c69 More details.
e823206f Be more descriptive about GMP location.
f0c10739 Going back to bash.
e55d01a7 Swap vcpkg commands.
53d495d9 Try to fix path.
7ce334de Windows uses backslash for dirs.
d32bded0 Try PowerShell now.
66de6363 Another attempt
78e74773 Try to fix include path for MSVC compilation.
924c20ea Another fix.
1f83fcca Fix hierarchy.
d724e5a8 Debug MSVC GMP install.
d562ed73 Again.
7bf116f7 Possible fix.
3e8f9e53 Another try.
1d368812 Fix typo.
54f857a0 Rename action.
dbc38931 Experiment with a different configuration.
ae4e09f4 (Much) Faster subgroup checks for BLS12 curves.
aca5315e Try to run CI on all branches.
0bfc2550 Be less dramatic about errors.
3a23142b Bump BLAKE2S to latest version.
8c030a57 Faster scalar multiplication in G2.
6e333f2a Make gt_exp_dig into a function and optimize subgroup membership more.
6d2901f2 Save some lines. :)
e1c2c139 Fix more problems with mem alloc.
840ea8fa More memory alloc.
babcb1b1 Memory allocation again.
fcbfcc69 Formatting and speedups.
f07f43ba Implement version with private inputs as well.
346af38d Formatting.
57ff4bd4 Exploit multi-pairing.
57f0c8ad Make date accurate.
03b9e559 Speedup using multi-pairing.
48125d66 Add pairing delegation protocols.
e54b04c9 Better conditional compilation.

git-subtree-dir: contrib/relic
git-subtree-split: bf37129789c7897f4144fe2f15d0bd2ef8091807
Fuzzbawls added a commit to Fuzzbawls/bls-signatures that referenced this pull request Apr 13, 2023
e6209fd8 Increase robustness of non-initialized bignums.
d834ca4b Better place for exception throwing.
6d28711c Zero digits in recoding functions to simplify upper layer.
293beaf8 Add missing header.
ced4f230 Fixes.
8eec5159 Implementing blinding on twists for projective coordinates.
ff180c1e Avoid allocation rollbacks when errors occur.
a78ceb24 Fix comment, add missing error message.
09b8ff20 Add self-test for PRNG when callback is used.
82f87cef Removed unused include.
49e5486a Another fix for EPX == ep4 case.
4e2040a1 Fix GMP crash.
1b4d4ae8 Several minor fixes in FP and EPX. Implements ep4_mul_sim_lot().
cfa81d08 Pick correct curve when exponentiating G_T elements.
2a74905d Minor fix.
2e346579 Typos.
15cb6d1d Refactor to reduce code duplication.
30b67cbd Another fix.
ff2cf630 Fix typo.
73799126 Reduze size of regular recoding by one.
2f95c443 Better tests for the group order.
7991e63d Restore commented out tests.
9206ae50 Attempt to fix alignment issue.
17685344 Minor touches to protocols. ECIES nos supports legacy curves.
e2b7ffc2 More refined benchmarks.
bcda30a3 Refinement.
92c72508 Add ETRS to bench program.
696ddd77 Fix memory errors.
f58ce726 Refine benchmarking of ETRS further.
f5486775 Another try.
00c66b68 Reduce benchmarks size.
bf601552 Add ETRS scheme.
af858769 Add ETRS scheme.
5234fc6e Better benchmarking for ERS.
1ee21e7c Add better config for ed25519 curve.
1b7d6487 Add demo for ERS/ETRS scheme.
ecc5f7e8 Add demo for ERS/ETRS scheme.
ebea1e0e Update the backend for generality.
442ee0a7 Adjustments to ERS.
54676b0b Better bench.
946110d5 Improve benchmark for ERS.
9b97cf0f More experiments with GT membership checks.
e79a5781 Further fixes in FPX exponentiation.
f1452124 Polishing.
37f5cecc Implement 8-GLS method for BLS24.
ab14b575 Better GLV/GLS for curves and fields.
5887c2e2 Add hashing to BLS24 curves.
c4116a4d Memory bugs!
0e491e8b Square root in Fp4.
e99711b3 Faster cyclotomic squarings.
db2d6a9e Faster efficient membership tests again, getting there!
fe3ea6f9 Merge branch 'main' of github.com:relic-toolkit/relic
f1d9e3bf Better GT test for BLS24.
d524ff0f Update relic_ep_param.c
6cd1e3fc Add BLS12-383 curve and adjust backends.
73e4bde8 Make more general.
4b465952 Make subgroup membership tests less risky again.
26467be7 Combined low-level backends.
d2723fda Remove apparently useless CMake directive.
a970b292 Another type fix.
a20f81f0 Fix conditional compilation.
18eeb970 Merge branch 'main' of github.com:relic-toolkit/relic
29cd6315 Added new preset for BLS24 curve.
45a1bf0f Rename folder and preset.
f6634219 Make code a little more generic.
1cae37af Fix types.
a30eebc2 Fix error caused by previous merge.
49790b6c Fix type.
97ff7774 Merge pull request Chia-Network#199 from relic-toolkit/delegation
320774a2 Merge branch 'main' into delegation
c52bb96c Rename protocols.
8775b479 Add more benchmarks.
9149cead Fix membership tests.
4834f435 Use random points.
730bc944 More general choice of algs.
10168f0f Fix another memory issue.
0a265de4 Implement pairings over BLS24 and add glue code for protocols.
19dcfac7 Fix memory issues.
67abb197 Fix type mismatch.
634c0529 Stub for compression and adjustment for fp4_mul_frb().
48778406 Adjust benchmarks as well.
eda52e70 Complete implementation of Fp24.
3738c50d Add implementation of E(Fp4).
456e61a5 Extended Fp4 with new functions.
4c9be555 Rename variables to follow standard.
638291c6 Minor polishing.
52b316a6 Fix memory issue.
771e9f71 Replace curve BLS24-477 with BLS24-509.
3a9160b1 Fix copyright dates, add script.
0a19bdbb Removing include and list type.
d3645687 Add extendable ring signatures.
877f8e75 Fix memory issues.
999cd0c5 Add SoK protocols for discrete logarithms.
a689b8ff Add PoK protocols for dlogs.
aff5b254 Add new GHA configuration.
5f4bf29e Fix issues with constant-time GMP backend.
4e39e235 Remove unused variable.
6314936f Otimize GHA by reducing number of tests.
36c03729 Accelerate GHA by omitting excessive configurations.
4776b432 Change types and fix constant overflow.
173b674a Bug fixes detected by GHA.
de470937 Slightly more readable code.
65960446 Do not resize WSIZE after it was set once.
60008aa1 Remove printing artifact.
af425eca Fix test cases for trivial values of b.
9fa0f13a Rename config.
511bacef Add configurations for 8- and 16-bit microcontrollers to GHA.
784711bc Merge branch 'main' of github.com:relic-toolkit/relic
8d45773e Rename GHA config.
1a98c503 Refresh GHA configurations.
5daada8c Update README.md
5a5e2819 Merge pull request Chia-Network#197 from relic-toolkit/win64
bc11fc82 Fix documentation.
fda22d02 Reuse macros and simplify EASY backend.
69c51954 Fix more issues with BLAKE2.
03f86cb5 Rename bn_init -> bn_make to avoid clashing with OpenSSL.
43f2cd46 Fix issue with BLAKE2.
c457c28b Added Curve448 prime.
74a45c10 Compute the generator of G_T here.
63088b36 Merge pull request Chia-Network#194 from luozejiaqun/pcGtGen
1b9a2f93 Fix typo.
236330b2 Simplify generator getting for Gt.
23627901 Rename for clarity.
23175371 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
ec0323d6 Attempt to fix Win64 crash.
1964462b More fixes for Win64, almost there.
c5619102 New fix for Win64.
eee28940 Fix compile issues on Win64.
70d29ddb Typo.
5cf20c4c Another attempt to make code more portable.
5d299329 Make code more portable.
1df86afd Attempt to abstract multiplication/division involving single digits.
ebf7c8da Remove another occurence of dbl_t for Win64.
11d4414e Another fix.
efded21a Fix compile error on Win64.
1862a1f2 Attempt to compile on WIN64.
bf2b8035 Formatting.
252a53d4 Simplify iterated squaring interface to save memory on context.
6e4aaa56 Attempt to fix Win64 crash.
85fc0d45 More fixes for Win64, almost there.
f2ac7567 New fix for Win64.
7e3433e6 Fix compile issues on Win64.
f205ef68 Typo.
45bdce9f Another attempt to make code more portable.
bb9f7b6d Make code more portable.
70cef2fb Attempt to abstract multiplication/division involving single digits.
879ae213 Remove another occurence of dbl_t for Win64.
328865bf Another fix.
ca718dea Fix compile error on Win64.
52af7c93 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
1f6ec607 Attempt to compile on WIN64.
ec291eca Attempt to compile on WIN64.
9bee0e2f Improve detection for Windows 64.
d9ea26cf Improve detection for Windows 64.
b3e4bb6a Improve detection for Windows 64.
e6702621 Conditional ASM directives.
a6b49fe0 Change RNG for Windows build.
c2617189 Remove apparently seless directives from ASM in BLS12-381.
5f94a5ba One more try.
1e8748ca Restore GMP config.
d45fe501 More fixes.
a9051913 Another fix.
cee373b4 Fix typo in preset name.
f49a187f Add new configuration for GH Actions.
c7efde00 Minor tweak.
1c9ea9ed Fix further problems with padding in PKCS PIVX-Project#1.5 (no surprise).
83de89f7 Remove MSVC support for GMP.
02aba9fe Tweaks to GMP support.
5351e3ae Refactor fast reduction.
08b56edb Try more variants of GMP library name.
70f78c5e Final attempt before giving up.
f2e4760b Be more flexible with library names.
ad171c69 More details.
e823206f Be more descriptive about GMP location.
f0c10739 Going back to bash.
e55d01a7 Swap vcpkg commands.
53d495d9 Try to fix path.
7ce334de Windows uses backslash for dirs.
d32bded0 Try PowerShell now.
66de6363 Another attempt
78e74773 Try to fix include path for MSVC compilation.
924c20ea Another fix.
1f83fcca Fix hierarchy.
d724e5a8 Debug MSVC GMP install.
d562ed73 Again.
7bf116f7 Possible fix.
3e8f9e53 Another try.
1d368812 Fix typo.
54f857a0 Rename action.
dbc38931 Experiment with a different configuration.
ae4e09f4 (Much) Faster subgroup checks for BLS12 curves.
aca5315e Try to run CI on all branches.
0bfc2550 Be less dramatic about errors.
3a23142b Bump BLAKE2S to latest version.
8c030a57 Faster scalar multiplication in G2.
6e333f2a Make gt_exp_dig into a function and optimize subgroup membership more.
6d2901f2 Save some lines. :)
e1c2c139 Fix more problems with mem alloc.
840ea8fa More memory alloc.
babcb1b1 Memory allocation again.
fcbfcc69 Formatting and speedups.
f07f43ba Implement version with private inputs as well.
346af38d Formatting.
57ff4bd4 Exploit multi-pairing.
57f0c8ad Make date accurate.
03b9e559 Speedup using multi-pairing.
48125d66 Add pairing delegation protocols.
e54b04c9 Better conditional compilation.

git-subtree-dir: contrib/relic
git-subtree-split: e6209fd80e07203b865983faee635fa1f85d6c9f
Fuzzbawls added a commit to Fuzzbawls/bls-signatures that referenced this pull request Apr 13, 2023
e6209fd8 Increase robustness of non-initialized bignums.
d834ca4b Better place for exception throwing.
6d28711c Zero digits in recoding functions to simplify upper layer.
293beaf8 Add missing header.
ced4f230 Fixes.
8eec5159 Implementing blinding on twists for projective coordinates.
ff180c1e Avoid allocation rollbacks when errors occur.
a78ceb24 Fix comment, add missing error message.
09b8ff20 Add self-test for PRNG when callback is used.
82f87cef Removed unused include.
49e5486a Another fix for EPX == ep4 case.
4e2040a1 Fix GMP crash.
1b4d4ae8 Several minor fixes in FP and EPX. Implements ep4_mul_sim_lot().
cfa81d08 Pick correct curve when exponentiating G_T elements.
2a74905d Minor fix.
2e346579 Typos.
15cb6d1d Refactor to reduce code duplication.
30b67cbd Another fix.
ff2cf630 Fix typo.
73799126 Reduze size of regular recoding by one.
2f95c443 Better tests for the group order.
7991e63d Restore commented out tests.
9206ae50 Attempt to fix alignment issue.
17685344 Minor touches to protocols. ECIES nos supports legacy curves.
e2b7ffc2 More refined benchmarks.
bcda30a3 Refinement.
92c72508 Add ETRS to bench program.
696ddd77 Fix memory errors.
f58ce726 Refine benchmarking of ETRS further.
f5486775 Another try.
00c66b68 Reduce benchmarks size.
bf601552 Add ETRS scheme.
af858769 Add ETRS scheme.
5234fc6e Better benchmarking for ERS.
1ee21e7c Add better config for ed25519 curve.
1b7d6487 Add demo for ERS/ETRS scheme.
ecc5f7e8 Add demo for ERS/ETRS scheme.
ebea1e0e Update the backend for generality.
442ee0a7 Adjustments to ERS.
54676b0b Better bench.
946110d5 Improve benchmark for ERS.
9b97cf0f More experiments with GT membership checks.
e79a5781 Further fixes in FPX exponentiation.
f1452124 Polishing.
37f5cecc Implement 8-GLS method for BLS24.
ab14b575 Better GLV/GLS for curves and fields.
5887c2e2 Add hashing to BLS24 curves.
c4116a4d Memory bugs!
0e491e8b Square root in Fp4.
e99711b3 Faster cyclotomic squarings.
db2d6a9e Faster efficient membership tests again, getting there!
fe3ea6f9 Merge branch 'main' of github.com:relic-toolkit/relic
f1d9e3bf Better GT test for BLS24.
d524ff0f Update relic_ep_param.c
6cd1e3fc Add BLS12-383 curve and adjust backends.
73e4bde8 Make more general.
4b465952 Make subgroup membership tests less risky again.
26467be7 Combined low-level backends.
d2723fda Remove apparently useless CMake directive.
a970b292 Another type fix.
a20f81f0 Fix conditional compilation.
18eeb970 Merge branch 'main' of github.com:relic-toolkit/relic
29cd6315 Added new preset for BLS24 curve.
45a1bf0f Rename folder and preset.
f6634219 Make code a little more generic.
1cae37af Fix types.
a30eebc2 Fix error caused by previous merge.
49790b6c Fix type.
97ff7774 Merge pull request Chia-Network#199 from relic-toolkit/delegation
320774a2 Merge branch 'main' into delegation
c52bb96c Rename protocols.
8775b479 Add more benchmarks.
9149cead Fix membership tests.
4834f435 Use random points.
730bc944 More general choice of algs.
10168f0f Fix another memory issue.
0a265de4 Implement pairings over BLS24 and add glue code for protocols.
19dcfac7 Fix memory issues.
67abb197 Fix type mismatch.
634c0529 Stub for compression and adjustment for fp4_mul_frb().
48778406 Adjust benchmarks as well.
eda52e70 Complete implementation of Fp24.
3738c50d Add implementation of E(Fp4).
456e61a5 Extended Fp4 with new functions.
4c9be555 Rename variables to follow standard.
638291c6 Minor polishing.
52b316a6 Fix memory issue.
771e9f71 Replace curve BLS24-477 with BLS24-509.
3a9160b1 Fix copyright dates, add script.
0a19bdbb Removing include and list type.
d3645687 Add extendable ring signatures.
877f8e75 Fix memory issues.
999cd0c5 Add SoK protocols for discrete logarithms.
a689b8ff Add PoK protocols for dlogs.
aff5b254 Add new GHA configuration.
5f4bf29e Fix issues with constant-time GMP backend.
4e39e235 Remove unused variable.
6314936f Otimize GHA by reducing number of tests.
36c03729 Accelerate GHA by omitting excessive configurations.
4776b432 Change types and fix constant overflow.
173b674a Bug fixes detected by GHA.
de470937 Slightly more readable code.
65960446 Do not resize WSIZE after it was set once.
60008aa1 Remove printing artifact.
af425eca Fix test cases for trivial values of b.
9fa0f13a Rename config.
511bacef Add configurations for 8- and 16-bit microcontrollers to GHA.
784711bc Merge branch 'main' of github.com:relic-toolkit/relic
8d45773e Rename GHA config.
1a98c503 Refresh GHA configurations.
5daada8c Update README.md
5a5e2819 Merge pull request Chia-Network#197 from relic-toolkit/win64
bc11fc82 Fix documentation.
fda22d02 Reuse macros and simplify EASY backend.
69c51954 Fix more issues with BLAKE2.
03f86cb5 Rename bn_init -> bn_make to avoid clashing with OpenSSL.
43f2cd46 Fix issue with BLAKE2.
c457c28b Added Curve448 prime.
74a45c10 Compute the generator of G_T here.
63088b36 Merge pull request Chia-Network#194 from luozejiaqun/pcGtGen
1b9a2f93 Fix typo.
236330b2 Simplify generator getting for Gt.
23627901 Rename for clarity.
23175371 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
ec0323d6 Attempt to fix Win64 crash.
1964462b More fixes for Win64, almost there.
c5619102 New fix for Win64.
eee28940 Fix compile issues on Win64.
70d29ddb Typo.
5cf20c4c Another attempt to make code more portable.
5d299329 Make code more portable.
1df86afd Attempt to abstract multiplication/division involving single digits.
ebf7c8da Remove another occurence of dbl_t for Win64.
11d4414e Another fix.
efded21a Fix compile error on Win64.
1862a1f2 Attempt to compile on WIN64.
bf2b8035 Formatting.
252a53d4 Simplify iterated squaring interface to save memory on context.
6e4aaa56 Attempt to fix Win64 crash.
85fc0d45 More fixes for Win64, almost there.
f2ac7567 New fix for Win64.
7e3433e6 Fix compile issues on Win64.
f205ef68 Typo.
45bdce9f Another attempt to make code more portable.
bb9f7b6d Make code more portable.
70cef2fb Attempt to abstract multiplication/division involving single digits.
879ae213 Remove another occurence of dbl_t for Win64.
328865bf Another fix.
ca718dea Fix compile error on Win64.
52af7c93 Merge branch 'win64' of github.com:relic-toolkit/relic into win64
1f6ec607 Attempt to compile on WIN64.
ec291eca Attempt to compile on WIN64.
9bee0e2f Improve detection for Windows 64.
d9ea26cf Improve detection for Windows 64.
b3e4bb6a Improve detection for Windows 64.
e6702621 Conditional ASM directives.
a6b49fe0 Change RNG for Windows build.
c2617189 Remove apparently seless directives from ASM in BLS12-381.
5f94a5ba One more try.
1e8748ca Restore GMP config.
d45fe501 More fixes.
a9051913 Another fix.
cee373b4 Fix typo in preset name.
f49a187f Add new configuration for GH Actions.
c7efde00 Minor tweak.
1c9ea9ed Fix further problems with padding in PKCS PIVX-Project#1.5 (no surprise).
83de89f7 Remove MSVC support for GMP.
02aba9fe Tweaks to GMP support.
5351e3ae Refactor fast reduction.
08b56edb Try more variants of GMP library name.
70f78c5e Final attempt before giving up.
f2e4760b Be more flexible with library names.
ad171c69 More details.
e823206f Be more descriptive about GMP location.
f0c10739 Going back to bash.
e55d01a7 Swap vcpkg commands.
53d495d9 Try to fix path.
7ce334de Windows uses backslash for dirs.
d32bded0 Try PowerShell now.
66de6363 Another attempt
78e74773 Try to fix include path for MSVC compilation.
924c20ea Another fix.
1f83fcca Fix hierarchy.
d724e5a8 Debug MSVC GMP install.
d562ed73 Again.
7bf116f7 Possible fix.
3e8f9e53 Another try.
1d368812 Fix typo.
54f857a0 Rename action.
dbc38931 Experiment with a different configuration.
ae4e09f4 (Much) Faster subgroup checks for BLS12 curves.
aca5315e Try to run CI on all branches.
0bfc2550 Be less dramatic about errors.
3a23142b Bump BLAKE2S to latest version.
8c030a57 Faster scalar multiplication in G2.
6e333f2a Make gt_exp_dig into a function and optimize subgroup membership more.
6d2901f2 Save some lines. :)
e1c2c139 Fix more problems with mem alloc.
840ea8fa More memory alloc.
babcb1b1 Memory allocation again.
fcbfcc69 Formatting and speedups.
f07f43ba Implement version with private inputs as well.
346af38d Formatting.
57ff4bd4 Exploit multi-pairing.
57f0c8ad Make date accurate.
03b9e559 Speedup using multi-pairing.
48125d66 Add pairing delegation protocols.
e54b04c9 Better conditional compilation.

git-subtree-dir: contrib/relic
git-subtree-split: e6209fd80e07203b865983faee635fa1f85d6c9f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants