mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
Fix zeroization timeline in multiexp, cargo machete
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -2705,7 +2705,6 @@ dependencies = [
|
|||||||
"merlin",
|
"merlin",
|
||||||
"sha2",
|
"sha2",
|
||||||
"std-shims",
|
"std-shims",
|
||||||
"subtle",
|
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "multiexp"
|
name = "multiexp"
|
||||||
version = "0.4.1"
|
version = "0.4.2"
|
||||||
description = "Multiexponentiation algorithms for ff/group"
|
description = "Multiexponentiation algorithms for ff/group"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://github.com/serai-dex/serai/tree/develop/crypto/multiexp"
|
repository = "https://github.com/serai-dex/serai/tree/develop/crypto/multiexp"
|
||||||
|
|||||||
@@ -25,13 +25,14 @@ pub(crate) fn pippenger<G: Zeroize + Group<Scalar: PrimeFieldBits>>(
|
|||||||
for p in 0 .. bits.len() {
|
for p in 0 .. bits.len() {
|
||||||
buckets[usize::from(bits[p][n])] += pairs[p].1;
|
buckets[usize::from(bits[p][n])] += pairs[p].1;
|
||||||
}
|
}
|
||||||
buckets.zeroize();
|
|
||||||
|
|
||||||
let mut intermediate_sum = G::identity();
|
let mut intermediate_sum = G::identity();
|
||||||
for b in (1 .. buckets.len()).rev() {
|
for b in (1 .. buckets.len()).rev() {
|
||||||
intermediate_sum += buckets[b];
|
intermediate_sum += buckets[b];
|
||||||
res += intermediate_sum;
|
res += intermediate_sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buckets.zeroize();
|
||||||
}
|
}
|
||||||
|
|
||||||
bits.zeroize();
|
bits.zeroize();
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ workspace = true
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
std-shims = { path = "../../common/std-shims", version = "0.1.4", default-features = false }
|
std-shims = { path = "../../common/std-shims", version = "0.1.4", default-features = false }
|
||||||
|
|
||||||
subtle = { version = "^2.4", default-features = false }
|
|
||||||
zeroize = { version = "^1.5", default-features = false }
|
zeroize = { version = "^1.5", default-features = false }
|
||||||
|
|
||||||
digest = { version = "0.10", default-features = false, features = ["core-api"] }
|
digest = { version = "0.10", default-features = false, features = ["core-api"] }
|
||||||
@@ -32,7 +31,7 @@ sha2 = { version = "0.10", default-features = false }
|
|||||||
blake2 = { version = "0.10", default-features = false }
|
blake2 = { version = "0.10", default-features = false }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
std = ["std-shims/std", "subtle/std", "zeroize/std", "digest/std", "blake2?/std", "merlin?/std"]
|
std = ["std-shims/std", "zeroize/std", "digest/std", "blake2?/std", "merlin?/std"]
|
||||||
recommended = ["blake2"]
|
recommended = ["blake2"]
|
||||||
tests = []
|
tests = []
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
|
|||||||
Reference in New Issue
Block a user