Skip to content

Commit 9c27e2a

Browse files
committed
rust/deps: upgrade curve25519-dalek to 4.1.3
Alerted by dependabot to update this. > ### 4.1.3 > * Security: Fix timing leak in Scalar subtraction on u32, u64, fiat_u32, and fiat_u64 backends
1 parent 9ed2894 commit 9c27e2a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+161
-5016
lines changed

src/rust/Cargo.lock

Lines changed: 2 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"files":{"CHANGELOG.md":"651cb5d8e0703d46b2ef174d205131cca30bc49a6c08a2a90364369559f78cb2","Cargo.toml":"9795ae7b03937e95efa4e5bf6d1c12e8c9a445b23798dc182f188e9e2700e8cc","LICENSE":"cca0bd3c4fcdba74145ef9d49c62337e2c9fbf9368288f11d0547f1b0273219f","Makefile":"077a0ab4ad06f7e041968c7673c265360ce60254506b10820edb48bd38a07d7f","README.md":"5905d6af2da3098f3a095ed09d65b1236bd998fc3be803a626a4024399b6390f","benches/dalek_benchmarks.rs":"0ee0e8cd50cf9621fe40008283078f90e771cdd62d84237b5893acee67e6447c","build.rs":"0bc3f442a5bd41f57182bd8b77784f06e13b6ce64a9d8a875aa33d86f04e1e8d","docs/assets/rustdoc-include-katex-header.html":"088c9bb27bdc5c240c00ff1c06d583d77995d53b76421116609a751ca4a54b59","docs/avx2-notes.md":"47e41778044529299f78906d99d6dfe9c0400acf5ad32e519fa54b6d6bea36dc","docs/ifma-notes.md":"7ca18607cafca402b832c313de42763df9cf1f8c9ca0ac58621322b5e33e8461","docs/parallel-formulas.md":"94d620c7fd8a0c9edba320c175cedb5458a37833f3fb5dbe989c540ab8eda4ff","src/backend/mod.rs":"964679a09eb3f7a8c9182c027a1b8a4efbd666ee2249e725e88df92f13932334","src/backend/serial/curve_models/mod.rs":"05de9a2761a7f4fd271b5e4c350222175ecccecfcddc5210f5165cbfc89b35c8","src/backend/serial/fiat_u32/field.rs":"34f8b035e287a21cca59cb7fcfab68384c63bf775b3630a53b576df03dee9da9","src/backend/serial/fiat_u32/mod.rs":"6e36a757f0f804caaebb5a2f0c04754589740279160890d592287edc7d65efcf","src/backend/serial/fiat_u64/field.rs":"8d5ed7323d5d19894454f88af7e9156d20c5be9c1623112e1a9b98e45253e16c","src/backend/serial/fiat_u64/mod.rs":"6e6f773aa9669a740519d2256421734ddfee60cd6ad7f45156b6b5201c10487d","src/backend/serial/mod.rs":"8c92cec992cf112c0683ed328ecfdfcc08d4732de92a76c882b3062e4549f39c","src/backend/serial/scalar_mul/mod.rs":"a6a4185075faebf984f365b6dcc28c3da6c087d18d811257cd2c0245b41d113e","src/backend/serial/scalar_mul/pippenger.rs":"ced6a4944c7fca65dff9886378bb7850d513c5e10bc07c9201797281a6a9fc6a","src/backend/serial/scalar_mul/precomputed_straus.rs":"d26f11fc80a9ca95410007290746d04eaa7c8a85d7b3c686c856560847a6f3b3","src/backend/serial/scalar_mul/straus.rs":"92040d722c6771c3f90c8c86621f5ef9239e1bec237750d2f39c311d5cb7463b","src/backend/serial/scalar_mul/variable_base.rs":"b9bc69189d5a9339a4c05882b736ac65176b6e98eb93008bc5e200b090e386b6","src/backend/serial/scalar_mul/vartime_double_base.rs":"528db8b24adf9a3b50fbe89fe917b0ae9dace30bbcae9f40c0ba3583f1d80ac8","src/backend/serial/u32/constants.rs":"1e62a0897ecca3e4bec3512236160e3b9fc3b089ceccd9d0e2215c9e9765a986","src/backend/serial/u32/field.rs":"c2e790da017909043014e8e6fba0253837927f2a63a2ad5b818cc12f325c322b","src/backend/serial/u32/mod.rs":"14fabb2034c68094df508c19517db14e5e3b956b5dac93bd0dd3c125f47f396e","src/backend/serial/u32/scalar.rs":"d0997206203c0d4500fa09fb5e717695790afd3897c6a591a8b5d802e3c37de9","src/backend/serial/u64/constants.rs":"fa72dc113456cfbe5d34f144e89e1bbe2976b1016b09a278fe1e4b3fda57ab6f","src/backend/serial/u64/field.rs":"3bf761da7315476d791ba1a8be9f391c1f00505fca7356314cbede34bb1a6d9c","src/backend/serial/u64/mod.rs":"b4aab9c62cf39bafc976b2e03bea503f120b125c30eb0e9e5d5f257b08a3eda4","src/backend/serial/u64/scalar.rs":"a15df04bf46211e3e8dee7ffbf3df0843e64ec96f461959252114b749f50a6f2","src/backend/vector/avx2/constants.rs":"95f19d41ad1796d892734ba9125f6442dcb049f6392d31c1ec61d5b4a011102b","src/backend/vector/avx2/edwards.rs":"a879c057bcf1003139b3c9532a7e5d265acfa8e20994557aa80457ccefc253a5","src/backend/vector/avx2/field.rs":"9c904f61332c605850dc3a60808dc2981777facdf60ebf5f3bc8a325dea66fff","src/backend/vector/avx2/mod.rs":"e8933b6f1e11255c701eda08bdcbf3593c0c2e169006c13aab26e1c92ebe24d8","src/backend/vector/ifma/constants.rs":"69f06bb74de041842b8780bb13da4f636d2876ae0bb871889a192313f10d3511","src/backend/vector/ifma/edwards.rs":"84ca8c236dafe186599294dfbd5fc00f3961b7a631e4add1946c9b1d97aee3cb","src/backend/vector/ifma/field.rs":"e78789524cad9bdb4be2da87970da0a7852eb823c18a08df54f68683e69e4c0f","src/backend/vector/ifma/mod.rs":"5feec145182a460e856afe37d9aacac0124e59600e46727752e956ee908dec1e","src/backend/vector/mod.rs":"3fce1ede5a2705640aaa9e509c3c38614cbb5b8882d943fc112b91d00cfdccbf","src/backend/vector/packed_simd.rs":"295f734a1e4d752b6df0b8b0255315e6e6f9947c0abdcb98e0b346ded559f4d1","src/backend/vector/scalar_mul/mod.rs":"c2ae669727ba81a486b447f98561273cd62f76b1c546c55dafdc86c85674e8e7","src/backend/vector/scalar_mul/pippenger.rs":"55db1d720f2cc073352927d3517495b8faf6b368828d50eb1d91a45dfd288e81","src/backend/vector/scalar_mul/precomputed_straus.rs":"4adbab25fe3a26867548cd3fd788bbecab1c7c35270b9adbd59c466f09ecffed","src/backend/vector/scalar_mul/straus.rs":"3dea20f3f30aab82d06fa1416268015d20402c9d3211612549d89199182de810","src/backend/vector/scalar_mul/variable_base.rs":"6506efaf0c50dab542d8a4dcec0c94683296e02866367e777d1c259c41dbfc9b","src/backend/vector/scalar_mul/vartime_double_base.rs":"d1330c64e64343d2e3a79f01fa2b3ba6c004bc270f9796eee3117364cc726ee5","src/constants.rs":"f2de2d3e6c0cedc301475cc6043e0baa1418c677998ebce8863fa04a6e14a6b0","src/diagnostics.rs":"737e956565a9fac8b9b7245c259a3d776227812b4c735eea49abdf5f4b44ff63","src/edwards.rs":"8fc61ca156d8a17f603a95d9154e70ceee96e588e055d5ecff4b8f3544990d7f","src/field.rs":"5d5d12be9fcdf681df5762f951f59890ba5b7831bce2e88e257f30a958bb8dfd","src/lib.rs":"19301562aa3f5fb2e5f91ba75ced44131a5fa6a629f645d5c807c8a6bef96577","src/macros.rs":"2d848f7d36d69108f1ff0d641537c726bcefb40721f42ca2180176af14d081f3","src/montgomery.rs":"49a75524b05076d053c67b49f9e9f082fb0c5ec9c723acc8e73611f3c955a812","src/ristretto.rs":"76edde1a73b7bacc6f9c67f2f6cc82926f2dfa2d3dbd5d59429dfd4a0afb1ded","src/scalar.rs":"590d127b8b4b7531be11bc268e0784ac9125b9b13cbde7b44a63a900bb4aa60a","src/traits.rs":"7973535ac78cf86a6663df70f17d1c1fc828ab41b5a7ef7112d7915665b11725","src/window.rs":"d153d2ce0ae8a509824af884346fff8339c7f5ea3ce1008251b85622a82313b1","tests/build_tests.sh":"3eb54238d60cbe438f9fd0848aa9ce36eab6ea9de8ef655eba2118bf6ffeef3f","vendor/ristretto.sage":"a2f4309ada0afa4156f5a660be4384a0f1f332c12f836199124f48e89310344d"},"package":"e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"}
1+
{"files":{"CHANGELOG.md":"c1b62cc204693d67a509c5dc89dab51cdc81d95c457e70c8a9e57332e0b81044","Cargo.toml":"ef9a2ca89de6eb3e09adf27478df06d246f27ee025150241e847aff26d78129d","LICENSE":"cca0bd3c4fcdba74145ef9d49c62337e2c9fbf9368288f11d0547f1b0273219f","Makefile":"077a0ab4ad06f7e041968c7673c265360ce60254506b10820edb48bd38a07d7f","README.md":"5905d6af2da3098f3a095ed09d65b1236bd998fc3be803a626a4024399b6390f","benches/dalek_benchmarks.rs":"0ee0e8cd50cf9621fe40008283078f90e771cdd62d84237b5893acee67e6447c","build.rs":"c479ea95fa9cac8b3374564261c15cfcb110738ddcaa5e0852644b6083bd9189","docs/assets/rustdoc-include-katex-header.html":"088c9bb27bdc5c240c00ff1c06d583d77995d53b76421116609a751ca4a54b59","docs/avx2-notes.md":"47e41778044529299f78906d99d6dfe9c0400acf5ad32e519fa54b6d6bea36dc","docs/ifma-notes.md":"e1fab7acb37c363d391659b2b8cae44844aa1121a074e3752f5ae6b49027d8ac","docs/parallel-formulas.md":"94d620c7fd8a0c9edba320c175cedb5458a37833f3fb5dbe989c540ab8eda4ff","src/backend/mod.rs":"0a9c9afa3e88ee691a344460b76078a884d7a3cc722223cc95e62f4de235379d","src/backend/serial/curve_models/mod.rs":"ac3a6e25659ee804e55064d87010ab69af80a78a149d05796fa3d9e5c5fb0b62","src/backend/serial/fiat_u32/field.rs":"cc4f923ab24efd5f3942133143d6f0fc9e5fff00774cc22b1049e61f48d6c112","src/backend/serial/fiat_u32/mod.rs":"6e36a757f0f804caaebb5a2f0c04754589740279160890d592287edc7d65efcf","src/backend/serial/fiat_u64/field.rs":"1182ecb1321c597ac2f69ad25bce084a689913d0e43d41739783964f2b74d8e0","src/backend/serial/fiat_u64/mod.rs":"6e6f773aa9669a740519d2256421734ddfee60cd6ad7f45156b6b5201c10487d","src/backend/serial/mod.rs":"8c92cec992cf112c0683ed328ecfdfcc08d4732de92a76c882b3062e4549f39c","src/backend/serial/scalar_mul/mod.rs":"a6a4185075faebf984f365b6dcc28c3da6c087d18d811257cd2c0245b41d113e","src/backend/serial/scalar_mul/pippenger.rs":"d9bf40f8a31987a917f8e5b984443b60eb358cc0586c5b46ea6459446684cc64","src/backend/serial/scalar_mul/precomputed_straus.rs":"d26f11fc80a9ca95410007290746d04eaa7c8a85d7b3c686c856560847a6f3b3","src/backend/serial/scalar_mul/straus.rs":"92040d722c6771c3f90c8c86621f5ef9239e1bec237750d2f39c311d5cb7463b","src/backend/serial/scalar_mul/variable_base.rs":"b9bc69189d5a9339a4c05882b736ac65176b6e98eb93008bc5e200b090e386b6","src/backend/serial/scalar_mul/vartime_double_base.rs":"528db8b24adf9a3b50fbe89fe917b0ae9dace30bbcae9f40c0ba3583f1d80ac8","src/backend/serial/u32/constants.rs":"1e62a0897ecca3e4bec3512236160e3b9fc3b089ceccd9d0e2215c9e9765a986","src/backend/serial/u32/field.rs":"1aaefdbf121a7f9787ff6b2e5c370eca97d5a45f1c76df627f5cd430f7b7323d","src/backend/serial/u32/mod.rs":"14fabb2034c68094df508c19517db14e5e3b956b5dac93bd0dd3c125f47f396e","src/backend/serial/u32/scalar.rs":"0ccf76feb3452624f6716b7c8b906d7e0c9eeb3e9e4ad096acac3f1ecc16d416","src/backend/serial/u64/constants.rs":"fa72dc113456cfbe5d34f144e89e1bbe2976b1016b09a278fe1e4b3fda57ab6f","src/backend/serial/u64/field.rs":"a4e90b018c235852da117db1bb87e62a2bbe75725e52c16462705a9c0a25e977","src/backend/serial/u64/mod.rs":"b4aab9c62cf39bafc976b2e03bea503f120b125c30eb0e9e5d5f257b08a3eda4","src/backend/serial/u64/scalar.rs":"0926d7e50c7477ceb300f66c49f44c53c56597fcbd7083ba36f965b6e7a2301d","src/backend/vector/avx2/constants.rs":"95f19d41ad1796d892734ba9125f6442dcb049f6392d31c1ec61d5b4a011102b","src/backend/vector/avx2/edwards.rs":"6734cadeec567675b94b7278c9f4d21f53120a1a6c79b61261cc18b2fbb1d624","src/backend/vector/avx2/field.rs":"9c904f61332c605850dc3a60808dc2981777facdf60ebf5f3bc8a325dea66fff","src/backend/vector/avx2/mod.rs":"e8933b6f1e11255c701eda08bdcbf3593c0c2e169006c13aab26e1c92ebe24d8","src/backend/vector/ifma/constants.rs":"69f06bb74de041842b8780bb13da4f636d2876ae0bb871889a192313f10d3511","src/backend/vector/ifma/edwards.rs":"84ca8c236dafe186599294dfbd5fc00f3961b7a631e4add1946c9b1d97aee3cb","src/backend/vector/ifma/field.rs":"e78789524cad9bdb4be2da87970da0a7852eb823c18a08df54f68683e69e4c0f","src/backend/vector/ifma/mod.rs":"5feec145182a460e856afe37d9aacac0124e59600e46727752e956ee908dec1e","src/backend/vector/mod.rs":"3fce1ede5a2705640aaa9e509c3c38614cbb5b8882d943fc112b91d00cfdccbf","src/backend/vector/packed_simd.rs":"295f734a1e4d752b6df0b8b0255315e6e6f9947c0abdcb98e0b346ded559f4d1","src/backend/vector/scalar_mul/mod.rs":"c2ae669727ba81a486b447f98561273cd62f76b1c546c55dafdc86c85674e8e7","src/backend/vector/scalar_mul/pippenger.rs":"55db1d720f2cc073352927d3517495b8faf6b368828d50eb1d91a45dfd288e81","src/backend/vector/scalar_mul/precomputed_straus.rs":"4adbab25fe3a26867548cd3fd788bbecab1c7c35270b9adbd59c466f09ecffed","src/backend/vector/scalar_mul/straus.rs":"3dea20f3f30aab82d06fa1416268015d20402c9d3211612549d89199182de810","src/backend/vector/scalar_mul/variable_base.rs":"6506efaf0c50dab542d8a4dcec0c94683296e02866367e777d1c259c41dbfc9b","src/backend/vector/scalar_mul/vartime_double_base.rs":"d1330c64e64343d2e3a79f01fa2b3ba6c004bc270f9796eee3117364cc726ee5","src/constants.rs":"f2de2d3e6c0cedc301475cc6043e0baa1418c677998ebce8863fa04a6e14a6b0","src/diagnostics.rs":"737e956565a9fac8b9b7245c259a3d776227812b4c735eea49abdf5f4b44ff63","src/edwards.rs":"28014a3b0d1b4a4502eea90e812653a6cb6c01b77a9921719a422f808b7a9bbb","src/field.rs":"75fa7d6055d1f19aa9e4a2d231c6f2d4a74dfa62f0eb7e49a40b45462f709a01","src/lib.rs":"d8041dbc74e84df6a01cc0186a80501e5642d421734222950d8e0d5a50fc9701","src/macros.rs":"2d848f7d36d69108f1ff0d641537c726bcefb40721f42ca2180176af14d081f3","src/montgomery.rs":"49a75524b05076d053c67b49f9e9f082fb0c5ec9c723acc8e73611f3c955a812","src/ristretto.rs":"ea4f8f8c3785a8ccf17013610582a8c73d59c60693cf5a6298030a10c142c352","src/scalar.rs":"d60cd7ef2ef08072f9e073a43b3485a631dc732daf22054cceff00f96afaa4af","src/traits.rs":"67dc6e016c53c69225200a8cd2e76f152783d23149a11b7306f5de7cff37d92c","src/window.rs":"2124ce6436f9c9b753605c406de00443002a9f2c81cf2a24cbd0df0f7885f219","tests/build_tests.sh":"3eb54238d60cbe438f9fd0848aa9ce36eab6ea9de8ef655eba2118bf6ffeef3f","vendor/ristretto.sage":"a2f4309ada0afa4156f5a660be4384a0f1f332c12f836199124f48e89310344d"},"package":"97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"}

src/rust/vendor/curve25519-dalek/CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ major series.
55

66
## 4.x series
77

8+
### 4.1.3
9+
10+
* Security: Fix timing leak in Scalar subtraction on u32, u64, fiat_u32, and fiat_u64 backends
11+
* Fix assorted new warnings and lints from rustc and clippy
12+
13+
### 4.1.2
14+
15+
* Fix nightly SIMD build
16+
817
### 4.1.1
918

1019
* Mark `constants::BASEPOINT_ORDER` deprecated from pub API
@@ -123,7 +132,7 @@ major series.
123132

124133
### 2.1.2
125134

126-
* Multiple documenation typo fixes.
135+
* Multiple documentation typo fixes.
127136
* Fix `alloc` feature working with stable rust.
128137

129138
### 2.1.1

src/rust/vendor/curve25519-dalek/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
edition = "2021"
1414
rust-version = "1.60.0"
1515
name = "curve25519-dalek"
16-
version = "4.1.1"
16+
version = "4.1.3"
1717
authors = [
1818
"Isis Lovecruft <[email protected]>",
1919
"Henry de Valence <[email protected]>",
@@ -123,9 +123,6 @@ default-features = false
123123
version = "0.10"
124124
default-features = false
125125

126-
[build-dependencies.platforms]
127-
version = "3.0.2"
128-
129126
[build-dependencies.rustc_version]
130127
version = "0.4.0"
131128

src/rust/vendor/curve25519-dalek/build.rs

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,31 @@ enum DalekBits {
99
Dalek64,
1010
}
1111

12+
use std::fmt::Formatter;
13+
14+
impl std::fmt::Display for DalekBits {
15+
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), std::fmt::Error> {
16+
let w_bits = match self {
17+
DalekBits::Dalek32 => "32",
18+
DalekBits::Dalek64 => "64",
19+
};
20+
write!(f, "{}", w_bits)
21+
}
22+
}
23+
1224
fn main() {
25+
let target_arch = match std::env::var("CARGO_CFG_TARGET_ARCH") {
26+
Ok(arch) => arch,
27+
_ => "".to_string(),
28+
};
29+
1330
let curve25519_dalek_bits = match std::env::var("CARGO_CFG_CURVE25519_DALEK_BITS").as_deref() {
1431
Ok("32") => DalekBits::Dalek32,
1532
Ok("64") => DalekBits::Dalek64,
16-
_ => deterministic::determine_curve25519_dalek_bits(),
33+
_ => deterministic::determine_curve25519_dalek_bits(&target_arch),
1734
};
1835

19-
match curve25519_dalek_bits {
20-
DalekBits::Dalek64 => println!("cargo:rustc-cfg=curve25519_dalek_bits=\"64\""),
21-
DalekBits::Dalek32 => println!("cargo:rustc-cfg=curve25519_dalek_bits=\"32\""),
22-
}
36+
println!("cargo:rustc-cfg=curve25519_dalek_bits=\"{curve25519_dalek_bits}\"");
2337

2438
if rustc_version::version_meta()
2539
.expect("failed to detect rustc version")
@@ -36,11 +50,6 @@ fn main() {
3650
println!("cargo:rustc-cfg=allow_unused_unsafe");
3751
}
3852

39-
let target_arch = match std::env::var("CARGO_CFG_TARGET_ARCH") {
40-
Ok(arch) => arch,
41-
_ => "".to_string(),
42-
};
43-
4453
// Backend overrides / defaults
4554
let curve25519_dalek_backend =
4655
match std::env::var("CARGO_CFG_CURVE25519_DALEK_BACKEND").as_deref() {
@@ -74,53 +83,43 @@ mod deterministic {
7483

7584
use super::*;
7685

77-
// Standard Cargo TARGET environment variable of triplet is required
78-
static ERR_MSG_NO_TARGET: &str = "Standard Cargo TARGET environment variable is not set";
86+
// Custom Rust non-cargo build tooling needs to set CARGO_CFG_TARGET_POINTER_WIDTH
87+
static ERR_MSG_NO_POINTER_WIDTH: &str =
88+
"Standard Cargo TARGET_POINTER_WIDTH environment variable is not set.";
7989

80-
// Custom Non-Rust standard target platforms require explicit settings.
81-
static ERR_MSG_NO_PLATFORM: &str = "Unknown Rust target platform.";
90+
// When either non-32 or 64 TARGET_POINTER_WIDTH detected
91+
static ERR_MSG_UNKNOWN_POINTER_WIDTH: &str = "Unknown TARGET_POINTER_WIDTH detected.";
8292

8393
// Warning when the curve25519_dalek_bits cannot be determined
8494
fn determine_curve25519_dalek_bits_warning(cause: &str) {
8595
println!("cargo:warning=\"Defaulting to curve25519_dalek_bits=32: {cause}\"");
8696
}
8797

8898
// Determine the curve25519_dalek_bits based on Rust standard TARGET triplet
89-
pub(super) fn determine_curve25519_dalek_bits() -> DalekBits {
90-
use platforms::target::PointerWidth;
91-
92-
// TARGET environment is supplied by Cargo
93-
// https://doc.rust-lang.org/cargo/reference/environment-variables.html
94-
let target_triplet = match std::env::var("TARGET") {
95-
Ok(t) => t,
99+
pub(super) fn determine_curve25519_dalek_bits(target_arch: &String) -> DalekBits {
100+
let target_pointer_width = match std::env::var("CARGO_CFG_TARGET_POINTER_WIDTH") {
101+
Ok(pw) => pw,
96102
Err(_) => {
97-
determine_curve25519_dalek_bits_warning(ERR_MSG_NO_TARGET);
98-
return DalekBits::Dalek32;
99-
}
100-
};
101-
102-
// platforms crate is the source of truth used to determine the platform
103-
let platform = match platforms::Platform::find(&target_triplet) {
104-
Some(p) => p,
105-
None => {
106-
determine_curve25519_dalek_bits_warning(ERR_MSG_NO_PLATFORM);
103+
determine_curve25519_dalek_bits_warning(ERR_MSG_NO_POINTER_WIDTH);
107104
return DalekBits::Dalek32;
108105
}
109106
};
110107

111108
#[allow(clippy::match_single_binding)]
112-
match platform.target_arch {
109+
match &target_arch {
113110
//Issues: 449 and 456
111+
//TODO: When adding arch defaults use proper types not String match
114112
//TODO(Arm): Needs tests + benchmarks to back this up
115-
//platforms::target::Arch::Arm => DalekBits::Dalek64,
116113
//TODO(Wasm32): Needs tests + benchmarks to back this up
117-
//platforms::target::Arch::Wasm32 => DalekBits::Dalek64,
118-
_ => match platform.target_pointer_width {
119-
PointerWidth::U64 => DalekBits::Dalek64,
120-
PointerWidth::U32 => DalekBits::Dalek32,
114+
_ => match target_pointer_width.as_ref() {
115+
"64" => DalekBits::Dalek64,
116+
"32" => DalekBits::Dalek32,
121117
// Intended default solely for non-32/64 target pointer widths
122118
// Otherwise known target platforms only.
123-
_ => DalekBits::Dalek32,
119+
_ => {
120+
determine_curve25519_dalek_bits_warning(ERR_MSG_UNKNOWN_POINTER_WIDTH);
121+
DalekBits::Dalek32
122+
}
124123
},
125124
}
126125
}

src/rust/vendor/curve25519-dalek/docs/ifma-notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ This computation requires 25 `vpmadd52luq` and 25 `vpmadd52huq`
351351
operations. For 256-bit vectors, IFMA operations execute on an
352352
i3-8121U with latency 4 cycles, throughput 0.5 cycles, so executing 50
353353
instructions requires 25 cycles' worth of throughput. Accumulating
354-
terms with coefficient \\(1\\) and \\(2\\) seperately means that the
354+
terms with coefficient \\(1\\) and \\(2\\) separately means that the
355355
longest dependency chain has length 5, so the critical path has length
356356
20 cycles and the bottleneck is throughput.
357357

0 commit comments

Comments
 (0)