Commit Graph

  • d04ccdd578
    Move the cubic root to GLV files Mamy André-Ratsimbazafy 2020-09-27 16:01:31 +02:00
  • 34eb6fcfbd
    Move GLV constants Mamy André-Ratsimbazafy 2020-09-27 15:39:12 +02:00
  • e676e06959
    move frobenius macros Mamy André-Ratsimbazafy 2020-09-27 15:06:16 +02:00
  • fd45a790eb
    Consolidated curve-specific Frobenius in a curve folder Mamy André-Ratsimbazafy 2020-09-27 14:46:54 +02:00
  • 92183c8b05
    Remove unused curves Mamy André-Ratsimbazafy 2020-09-27 13:13:45 +02:00
  • 0e4dbfe400
    BLS12-377 (#91) Mamy Ratsimbazafy 2020-09-27 09:15:14 +02:00
  • ac37b55aa1
    publish the lattice decomposition finder mentioned in https://github.com/scipr-lab/zexe/issues/267 Mamy André-Ratsimbazafy 2020-09-26 15:33:41 +02:00
  • 6ecbedbd09
    Mixed addition (#90) Mamy Ratsimbazafy 2020-09-26 09:16:29 +02:00
  • 03ecb31c57
    Pairings for BN254-Nogami and BN254-Snarks (#86) Mamy Ratsimbazafy 2020-09-25 21:58:20 +02:00
  • f78ed23dad
    Pairing optim (#85) Mamy Ratsimbazafy 2020-09-24 17:18:23 +02:00
  • 0c18f4436c
    Frobenius map over fp12 (works for power 1 and 3 but not 2) Mamy André-Ratsimbazafy 2020-09-23 01:21:35 +02:00
  • 406d999a9b
    Higher-power frobenius applications Mamy André-Ratsimbazafy 2020-09-23 00:55:32 +02:00
  • d84edcd217
    Naive pairings + Naive cofactor clearing (#82) Mamy Ratsimbazafy 2020-09-21 23:24:00 +02:00
  • 28e83e7b49
    Faster inversion with addition chains (#80) Mamy Ratsimbazafy 2020-09-04 19:04:32 +02:00
  • c2313ad697
    5.3x faster test suite. The running time of the test suite has increased significantly with: - new tests (for example scalar mul implementations) - new tests that stresses the whole stack/tower - x3 randomizers for fuzzing - new CI and platforms: Total 16x runs per commit Mamy André-Ratsimbazafy 2020-09-03 23:30:39 +02:00
  • 85d365359d
    Endomorphism G2 (#79) Mamy Ratsimbazafy 2020-09-03 23:10:48 +02:00
  • 92939d40fb
    deactivated Linux 32-bit tests on Azure for now Mamy André-Ratsimbazafy 2020-09-01 14:17:38 +02:00
  • 437a61bd93
    Bash ~_~ .... Azure 32-bit (+ fix BN inversion alternative path) Mamy André-Ratsimbazafy 2020-09-01 13:40:39 +02:00
  • 303ce5b74c
    Fix GCC 32-bit script install Mamy André-Ratsimbazafy 2020-09-01 12:33:41 +02:00
  • 5c1c4e40eb
    and a missed UCPU Mamy André-Ratsimbazafy 2020-09-01 11:53:58 +02:00
  • 9976ac70bf
    Add gcc -m32 to path in Azure Mamy André-Ratsimbazafy 2020-09-01 10:29:02 +02:00
  • 42e05af698
    Add PowerPC64 support badge to the README Mamy André-Ratsimbazafy 2020-08-31 23:38:58 +02:00
  • a6e980c866
    Deactivate s390x - https://github.com/nim-lang/Nim/issues/15253 Mamy André-Ratsimbazafy 2020-08-31 23:36:23 +02:00
  • 4a308c2148
    Frobenius endomorphism ψ = φ−1 πp φ (psi = untwist-Frobenius-Twist) (#78) Mamy Ratsimbazafy 2020-08-31 23:18:48 +02:00
  • c8e4346414
    Fix UCPU for Linux i386 in Azure Mamy André-Ratsimbazafy 2020-08-31 23:18:16 +02:00
  • 54af3579f2
    Add PowerPC LittleEndian and s390x (big-endian) to the Travis test suite Mamy André-Ratsimbazafy 2020-08-31 23:13:16 +02:00
  • e3e9fc0e7f
    Add Linux 32-bit to Azure Mamy André-Ratsimbazafy 2020-08-31 23:04:41 +02:00
  • f57a7bfd77
    Deactivate windows 32-bit tests for the time being Mamy André-Ratsimbazafy 2020-08-31 22:47:57 +02:00
  • 66d9799918
    cleanups [skip ci] Mamy André-Ratsimbazafy 2020-08-25 01:01:38 +02:00
  • 6ac974d65e
    Windowed GLV acceleration - 25% faster signing on G1 (#74) Mamy Ratsimbazafy 2020-08-25 00:02:30 +02:00
  • 00ff599106
    Fix 8x bigger than necessary encoding size of miniscalars in scalar mul Mamy André-Ratsimbazafy 2020-08-24 18:31:27 +02:00
  • 442c3f6cf6
    Consolidate output folders of bench and testsuite Mamy André-Ratsimbazafy 2020-08-22 23:00:05 +02:00
  • eee0f4f0fc
    Lattice decomposition fixes (#71) Mamy Ratsimbazafy 2020-08-22 19:45:44 +02:00
  • d41c653c8a
    Double-width tower extension part 1 (#72) Mamy Ratsimbazafy 2020-08-20 10:21:39 +02:00
  • 5e8b1870a6
    Rename files Mamy André-Ratsimbazafy 2020-07-24 23:08:00 +02:00
  • d97bc9b61c
    Assembly backend (#69) Mamy Ratsimbazafy 2020-07-24 22:02:30 +02:00
  • 504e2a9c25
    typo Mamy Ratsimbazafy 2020-07-09 14:05:11 +02:00
  • ec76ac5ea6
    Fuzzing campaign fixes (#58) Mamy Ratsimbazafy 2020-06-23 01:27:40 +02:00
  • 0400187f05
    Use GMP and GNU parallel in GIthub Actions (#63) Mamy Ratsimbazafy 2020-06-20 19:46:30 +02:00
  • e491f3b91d
    [WIP] Skewed RNGs that trigger corner cases (#59) Mamy Ratsimbazafy 2020-06-20 18:55:27 +02:00
  • a2a2495351
    Github Action CI (without GMP) (#29) Mamy Ratsimbazafy 2020-06-19 22:08:15 +02:00
  • b509eeaeb6
    Don't use memcpy / memmove (#57) Mamy Ratsimbazafy 2020-06-19 20:29:11 +02:00
  • 608d26e497
    Fix #55 Mamy André-Ratsimbazafy 2020-06-19 00:24:50 +02:00
  • 4bbfd1dd45
    Add test generator for BLS12-381 G2 and pass the tests Mamy André-Ratsimbazafy 2020-06-18 22:00:31 +02:00
  • dc83855f26
    Add a test vector generator for BN254 on G2 and pass the tests Mamy André-Ratsimbazafy 2020-06-18 01:40:13 +02:00
  • d22d981e9e
    Implement fused sqrt invsqrt on Fp: Accelerate sqrt on Fp2 by 20% (hashToG2 and property-based testing bottleneck, 4 times slower than inversion and 87 times slower than Fp2 multiplication) Mamy André-Ratsimbazafy 2020-06-17 22:44:52 +02:00
  • 53c94e8aab
    cosmetic fix on non-residue Mamy André-Ratsimbazafy 2020-06-16 12:03:09 +02:00
  • 43abf9dfc4
    SHorter test names for github display Mamy André-Ratsimbazafy 2020-06-15 23:15:01 +02:00
  • d376f08d1b
    G2 / Operations on the twisted curve E'(Fp2) (#51) Mamy Ratsimbazafy 2020-06-15 22:58:56 +02:00
  • 2613356281
    Endomorphism acceleration for Scalar Multiplication (#44) Mamy Ratsimbazafy 2020-06-14 15:39:06 +02:00
  • f8fb54faef
    Build and run tests in parallel (#41) Mamy Ratsimbazafy 2020-06-07 19:39:34 +02:00
  • 3d1b1fab98
    Fix benchmark on ARM (#31) Mamy Ratsimbazafy 2020-06-04 22:09:30 +02:00
  • 82ceca6e3b
    Scalar mul tests (#28) Mamy Ratsimbazafy 2020-06-04 20:37:29 +02:00
  • 71a2acc202
    Report interesting moduli for BLS and BN curves Mamy André-Ratsimbazafy 2020-05-22 17:55:03 +02:00
  • ff9dec4813
    Initial impl of side-channel resistant scalar mul to securely handle secret keys inputs. Mamy André-Ratsimbazafy 2020-04-17 22:17:28 +02:00
  • 44350d08af
    Add elliptic doubling in projective coordinates Mamy André-Ratsimbazafy 2020-04-15 22:23:46 +02:00
  • f7818b566b
    Fix ARM bench and ignore Windows 32-bit bench Mamy André-Ratsimbazafy 2020-04-15 21:28:37 +02:00
  • 7ae0f51000
    benchmarking skips cycle counting for ARM Mamy André-Ratsimbazafy 2020-04-15 21:24:18 +02:00
  • d7e170288f
    Add benches to the test suite to prevent forgetting about updating them Mamy André-Ratsimbazafy 2020-04-15 19:46:25 +02:00
  • ce350d1dac
    add EC bench to nimble tasks Mamy André-Ratsimbazafy 2020-04-15 19:43:31 +02:00
  • e0c1e0b1c8
    Add EC bench on G1 + Add throughput to benches Mamy André-Ratsimbazafy 2020-04-15 19:38:02 +02:00
  • 4ccea4fcff
    Implement Chung-Hasan SQR3 Mamy André-Ratsimbazafy 2020-04-15 03:18:23 +02:00
  • aff44f4d8e
    Implement constant-time div2 on finite and extension fields Mamy André-Ratsimbazafy 2020-04-15 02:12:45 +02:00
  • 8a9cb9287c Highlight that bools and words are "Secret" in the codebase Mamy André-Ratsimbazafy 2020-04-14 22:55:52 +02:00
  • 75557d88d8 Generalize the tower extensions tests 1000+ lines saved Mamy André-Ratsimbazafy 2020-04-14 22:40:10 +02:00
  • 1559bda56c Use our prng through most of the test suite Mamy André-Ratsimbazafy 2020-04-14 20:46:39 +02:00
  • 0115d3fd8e Rename the test PRNG to unsafe and prepare random number generation for integer ranges to not depend on the stdlib and have a single unified seed. Mamy André-Ratsimbazafy 2020-04-14 20:02:21 +02:00
  • d61680e1ad Fix substraction being addition following tower refactor Mamy André-Ratsimbazafy 2020-04-14 18:30:59 +02:00
  • 5784e78606 Towered extension comparison bug: squaring in 𝔽p6 is not properly implemented Mamy André-Ratsimbazafy 2020-04-14 13:40:03 +02:00
  • c8935f0a1d More tests to ensure that inversion of zero is zero Mamy André-Ratsimbazafy 2020-04-14 13:39:03 +02:00
  • c04721a04e
    Refactor: Higher-Kinded Tower of Extension Fields (#25) Mamy Ratsimbazafy 2020-04-14 02:05:42 +02:00
  • 2f839cb1bf
    Initial support for Elliptic Curve (#24) Mamy Ratsimbazafy 2020-04-13 19:25:59 +02:00
  • 1889fc4eeb
    Improve bn curve family support (#23) Mamy Ratsimbazafy 2020-04-12 16:09:38 +02:00
  • 33314fe725
    Properly distinguish between Nogami and Snark/Ethereum BN254 closes #19 Mamy André-Ratsimbazafy 2020-04-12 03:01:50 +02:00
  • 42109d4f1c
    Square roots (#22) Mamy Ratsimbazafy 2020-04-11 23:53:21 +02:00
  • a6e4517be2
    Implement 𝔽p12 inversion, enable 𝔽p12 tests and bench Mamy André-Ratsimbazafy 2020-04-09 14:28:01 +02:00
  • 3a1a5f8847
    More coverage and crosscheck between multiplication, squaring, addition, substraction, negation Mamy André-Ratsimbazafy 2020-04-09 13:58:56 +02:00
  • 3a2b35ba26
    Fix multiplication in 𝔽p12 Mamy André-Ratsimbazafy 2020-04-09 13:37:45 +02:00
  • d081fca612
    Fix squaring in 𝔽p6 (𝔽p2 squaring require separate target and source buffer) Mamy André-Ratsimbazafy 2020-04-09 13:20:05 +02:00
  • f24d87fb00
    Fix squaring in 𝔽p12, mul in 𝔽p6 MUST NOT share buffer (i.e. broken value semantics) Mamy André-Ratsimbazafy 2020-04-09 02:00:45 +02:00
  • 8c478df0c1
    𝔽p12 extension - initial commit of squaring Mamy André-Ratsimbazafy 2020-04-09 01:23:10 +02:00
  • e47159e40d
    Somewhat working (?) sage script for quadratic/cubic non-residues Mamy André-Ratsimbazafy 2020-03-22 21:57:15 +01:00
  • 8b7374f405
    Cleanup in Montgomery Mul, Square, Pow Mamy André-Ratsimbazafy 2020-03-22 13:24:37 +01:00
  • 2d5b173a39
    Less magics, les macros, faster compile-times (or not, Fp6 starts to get really slow, like 5s) + some cleanups in curve families + test 𝔽p6 on 32-bit Mamy André-Ratsimbazafy 2020-03-22 12:28:53 +01:00
  • c40bc1977d
    Inverse in cubic extension field 𝔽p6 = 𝔽p2[∛(1 + 𝑖)] Mamy André-Ratsimbazafy 2020-03-21 23:47:43 +01:00
  • ff4a54daba
    Add multiplication in 𝔽p6 = 𝔽p2[∛(1+𝑖)] Mamy André-Ratsimbazafy 2020-03-21 19:03:57 +01:00
  • 964533494f
    Struggling with sage to verify non-residues of extension towers Mamy André-Ratsimbazafy 2020-03-21 17:42:06 +01:00
  • 1282c38845
    Add sage script for BN and BLS12 curve families Mamy André-Ratsimbazafy 2020-03-21 15:50:39 +01:00
  • 12363020e1
    Fix link to curves config Mamy André-Ratsimbazafy 2020-03-21 13:41:40 +01:00
  • 1855d14497
    Add more curves for testing: Curve25519, BLS12-377, BN446, FKM-447, BLS12-461, BN462 Mamy André-Ratsimbazafy 2020-03-21 13:05:58 +01:00
  • 9e78cd5d6d
    Benchmark template for 𝔽p, 𝔽p2, 𝔽p6 Mamy André-Ratsimbazafy 2020-03-21 02:31:31 +01:00
  • 03898b2292
    Implement squaring for 𝔽p6 = 𝔽p2[∛(1+𝑖)] Mamy André-Ratsimbazafy 2020-03-21 01:59:23 +01:00
  • bde619155b
    30% faster constant-time inversion Mamy André-Ratsimbazafy 2020-03-20 23:03:52 +01:00
  • 1958356a09
    duplicate the timer to mak formal verification self contained Mamy André-Ratsimbazafy 2020-03-19 00:25:22 +01:00
  • fafebacd05
    Add formally verified and prover generated BLS12_381 implementation Mamy André-Ratsimbazafy 2020-03-19 00:22:00 +01:00
  • 6423be0dfb
    Add optimized squaring (~15% speedup) (#18) Mamy Ratsimbazafy 2020-03-17 22:04:37 +01:00
  • 4ff0e3d90b
    Internals refactor + renewed focus on perf (#17) Mamy Ratsimbazafy 2020-03-16 16:33:51 +01:00
  • 191bb7710c
    Add a warmup to the Fp bench to deal with CPU scaling Mamy André-Ratsimbazafy 2020-03-15 21:02:17 +01:00
  • b810422486
    Add benchmark for Ethereum 1 and Ethereum 2 curves Mamy André-Ratsimbazafy 2020-03-15 20:54:14 +01:00
  • dc0c1c181c
    enable substraction benchmarks Mamy André-Ratsimbazafy 2020-03-07 12:23:46 +01:00