Skip to content
This repository has been archived by the owner on Nov 9, 2023. It is now read-only.

Implement and benchmark windowing point multiplication ops #94

Merged
merged 36 commits into from
Dec 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c8b7aab
Implement `Shr` for `Scalar`
CPerezz Oct 14, 2019
3c9c896
Implement `into_bits` for `Scalar`
CPerezz Oct 14, 2019
48698be
Implement `Display` for `FieldElement`
CPerezz Oct 15, 2019
1926af3
Update `FieldElement` benches to `Criterion v0.3`
CPerezz Oct 15, 2019
0e7ceda
Implement "Shift Left to Right Binary Point Mul"
CPerezz Oct 15, 2019
4dfe10d
Update benchmarks to Criterion v0.3
CPerezz Oct 15, 2019
5c59d18
Finnish benchmark update to Criterion v0.3
CPerezz Oct 15, 2019
528d0da
Implement Benches for ECDH implementations
CPerezz Oct 15, 2019
6879088
Add ristretto benchmarks and finnish refactor.
CPerezz Oct 15, 2019
3e1c1d2
Implement fast modulo-4 op for `Scalar`
CPerezz Oct 16, 2019
b446445
Optimize `mod4` function for `Scalar`
CPerezz Oct 16, 2019
2aa512a
Implement NAF computation algorithm
CPerezz Oct 16, 2019
903f917
Implement Point subtraction for `RistrettoPoint`
CPerezz Oct 16, 2019
9d4ab5d
Fix the random-generated bytes array lenght on `Scalar::random()` impl
CPerezz Oct 16, 2019
c40f2a8
Implement binary NAF method for Point mul.
CPerezz Oct 16, 2019
5e325b8
Implement `mod4()` more generically for powers of 2
CPerezz Oct 16, 2019
ef766df
Fix benchmarks with the new version of `mod4()`
CPerezz Oct 16, 2019
255f186
Implement, test & benchmark `windowed_naf()` function.
CPerezz Oct 16, 2019
f1910ff
Implement lrsb point multiplication for generic points.
CPerezz Oct 16, 2019
b579dbf
Implement window-NAF Point mul method
CPerezz Oct 18, 2019
7878f6c
Remove inlining compiler hints and refactor benchmarks
CPerezz Oct 18, 2019
daa3f53
Refactor Window-w NAF method and implemented tests
CPerezz Oct 20, 2019
f5376ea
Refactor `two_pow_k` tests for the non-inner function.
CPerezz Oct 21, 2019
0ceb707
Remove `kalinski_inverse` function since it's not needed anymore
CPerezz Oct 21, 2019
51be815
Remove `plus_p_and_half()` since it's not used anymore
CPerezz Oct 21, 2019
13d484f
Refactor `Half` and `inner_half` implementations.
CPerezz Oct 21, 2019
713cf40
Fork `Half` impl in two different implementations.
CPerezz Oct 21, 2019
ef51a7e
Refactor a wrong implementation of `Shr` for `Scalar`
CPerezz Oct 22, 2019
db3440a
Optimize `legendre_symbol` with pre-computed const.
CPerezz Oct 22, 2019
71f1680
Optimized `Pow` implementation by using `fast_even_half`
CPerezz Oct 22, 2019
fe7a1b4
Refactor `Half` implementations as done with `FieldElement`
CPerezz Oct 22, 2019
a98f210
Updating paper
LukePearson1 Oct 24, 2019
d9be36b
Refactor half functions for Scalar & FieldElement
CPerezz Oct 24, 2019
80bbfb2
Merge branch 'windowing' of https://github.com/dusk-network/dusk-zero…
CPerezz Oct 24, 2019
7839d20
Update paper
LukePearson1 Oct 24, 2019
dbd5b70
Update paper
LukePearson1 Oct 24, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ curve25519-dalek = "1.1.3"
rand = "0.7.0"

[dev-dependencies]
criterion = "0.2"
criterion = "0.3.0"
rand = "0.7.0"
hex = "0.3.2"

Expand All @@ -44,6 +44,15 @@ nightly = ["subtle/nightly"]
u64_backend = []
default = ["u64_backend"]

[profile.release]
opt-level = 3
incremental = false
codegen-units = 1
debug = false
#rpath = false
lto = true
overflow-checks = false




Loading