Skip to content

Commit 1fbe255

Browse files
authored
Bump voprf to v0.5.0-pre.2 (#304)
1 parent 8901b74 commit 1fbe255

File tree

10 files changed

+70
-89
lines changed

10 files changed

+70
-89
lines changed

.github/workflows/main.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- --features serde
2424
toolchain:
2525
- stable
26-
- 1.57.0
26+
- 1.60.0
2727
name: test
2828
steps:
2929
- name: Checkout sources
@@ -78,7 +78,7 @@ jobs:
7878
matrix:
7979
toolchain:
8080
- stable
81-
- 1.57.0
81+
- 1.60.0
8282
name: test simple_login command-line example
8383
steps:
8484
- name: install expect
@@ -101,7 +101,7 @@ jobs:
101101
matrix:
102102
toolchain:
103103
- stable
104-
- 1.57.0
104+
- 1.60.0
105105
name: test digital_locker command-line example
106106
steps:
107107
- name: install expect

Cargo.toml

+8-6
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ license = "Apache-2.0 OR MIT"
88
name = "opaque-ke"
99
readme = "README.md"
1010
repository = "https://github.com/novifinancial/opaque-ke"
11-
rust-version = "1.57"
11+
rust-version = "1.60"
1212
version = "2.0.0"
1313

1414
[features]
15-
curve25519 = ["curve25519-dalek"]
15+
curve25519 = ["curve25519-dalek/precomputed-tables"]
1616
default = ["ristretto255-voprf", "serde"]
1717
ristretto255 = ["curve25519-dalek", "voprf/ristretto255"]
1818
ristretto255-voprf = ["ristretto255", "voprf/ristretto255-ciphersuite"]
@@ -23,8 +23,9 @@ std = ["getrandom"]
2323
argon2 = { version = "0.4", default-features = false, features = [
2424
"alloc",
2525
], optional = true }
26-
curve25519-dalek = { version = "=4.0.0-pre.5", default-features = false, features = [
26+
curve25519-dalek = { version = "=4.0.0-rc.1", default-features = false, features = [
2727
"rand_core",
28+
"zeroize",
2829
], optional = true }
2930
derive-where = { version = "1", features = ["zeroize-on-drop"] }
3031
digest = "0.10"
@@ -38,7 +39,7 @@ serde_ = { version = "1", package = "serde", default-features = false, features
3839
"derive",
3940
], optional = true }
4041
subtle = { version = "2.3", default-features = false }
41-
voprf = { version = "=0.5.0-pre.1", default-features = false, features = [
42+
voprf = { version = "=0.5.0-pre.2", default-features = false, features = [
4243
"danger",
4344
] }
4445
zeroize = { version = "1.5", features = ["zeroize_derive"] }
@@ -52,14 +53,15 @@ chacha20poly1305 = "0.10"
5253
criterion = "0.4"
5354
hex = "0.4"
5455
json = "0.12"
55-
p256 = { version = "0.11", default-features = false, features = [
56+
p256 = { version = "0.12", default-features = false, features = [
5657
"hash2curve",
5758
"voprf",
5859
] }
5960
proptest = "1"
6061
rand = "0.8"
6162
regex = "1"
62-
rustyline = "10"
63+
# MSRV
64+
rustyline = "10.1.1"
6365
scrypt = "0.10"
6466
serde_json = "1"
6567

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ opaque-ke = "2"
2727

2828
### Minimum Supported Rust Version
2929

30-
Rust **1.57** or higher.
30+
Rust **1.60** or higher.
3131

3232
Audit
3333
-----

benches/opaque.rs

+47-59
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl CipherSuite for Default {
3838
fn server_setup(c: &mut Criterion) {
3939
let mut rng = OsRng;
4040

41-
c.bench_function(&format!("server setup ({})", SUFFIX), move |b| {
41+
c.bench_function(&format!("server setup ({SUFFIX})"), move |b| {
4242
b.iter(|| {
4343
ServerSetup::<Default>::new(&mut rng);
4444
})
@@ -49,14 +49,11 @@ fn client_registration_start(c: &mut Criterion) {
4949
let mut rng = OsRng;
5050
let password = b"password";
5151

52-
c.bench_function(
53-
&format!("client registration start ({})", SUFFIX),
54-
move |b| {
55-
b.iter(|| {
56-
ClientRegistration::<Default>::start(&mut rng, password).unwrap();
57-
})
58-
},
59-
);
52+
c.bench_function(&format!("client registration start ({SUFFIX})"), move |b| {
53+
b.iter(|| {
54+
ClientRegistration::<Default>::start(&mut rng, password).unwrap();
55+
})
56+
});
6057
}
6158

6259
fn server_registration_start(c: &mut Criterion) {
@@ -67,19 +64,16 @@ fn server_registration_start(c: &mut Criterion) {
6764
let client_registration_start_result =
6865
ClientRegistration::<Default>::start(&mut rng, password).unwrap();
6966

70-
c.bench_function(
71-
&format!("server registration start ({})", SUFFIX),
72-
move |b| {
73-
b.iter(|| {
74-
ServerRegistration::<Default>::start(
75-
&server_setup,
76-
client_registration_start_result.message.clone(),
77-
username,
78-
)
79-
.unwrap();
80-
})
81-
},
82-
);
67+
c.bench_function(&format!("server registration start ({SUFFIX})"), move |b| {
68+
b.iter(|| {
69+
ServerRegistration::<Default>::start(
70+
&server_setup,
71+
client_registration_start_result.message.clone(),
72+
username,
73+
)
74+
.unwrap();
75+
})
76+
});
8377
}
8478

8579
fn client_registration_finish(c: &mut Criterion) {
@@ -97,7 +91,7 @@ fn client_registration_finish(c: &mut Criterion) {
9791
.unwrap();
9892

9993
c.bench_function(
100-
&format!("client registration finish ({})", SUFFIX),
94+
&format!("client registration finish ({SUFFIX})"),
10195
move |b| {
10296
b.iter(|| {
10397
client_registration_start_result
@@ -139,7 +133,7 @@ fn server_registration_finish(c: &mut Criterion) {
139133
.unwrap();
140134

141135
c.bench_function(
142-
&format!("server registration finish ({})", SUFFIX),
136+
&format!("server registration finish ({SUFFIX})"),
143137
move |b| {
144138
b.iter(|| {
145139
ServerRegistration::finish(client_registration_finish_result.clone().message);
@@ -152,7 +146,7 @@ fn client_login_start(c: &mut Criterion) {
152146
let mut rng = OsRng;
153147
let password = b"password";
154148

155-
c.bench_function(&format!("client login start ({})", SUFFIX), move |b| {
149+
c.bench_function(&format!("client login start ({SUFFIX})"), move |b| {
156150
b.iter(|| {
157151
ClientLogin::<Default>::start(&mut rng, password).unwrap();
158152
})
@@ -184,22 +178,19 @@ fn server_login_start_real(c: &mut Criterion) {
184178
let password_file = ServerRegistration::finish(client_registration_finish_result.message);
185179
let client_login_start_result = ClientLogin::<Default>::start(&mut rng, password).unwrap();
186180

187-
c.bench_function(
188-
&format!("server login start (real) ({})", SUFFIX),
189-
move |b| {
190-
b.iter(|| {
191-
ServerLogin::start(
192-
&mut rng,
193-
&server_setup,
194-
Some(password_file.clone()),
195-
client_login_start_result.clone().message,
196-
username,
197-
ServerLoginStartParameters::default(),
198-
)
199-
.unwrap();
200-
})
201-
},
202-
);
181+
c.bench_function(&format!("server login start (real) ({SUFFIX})"), move |b| {
182+
b.iter(|| {
183+
ServerLogin::start(
184+
&mut rng,
185+
&server_setup,
186+
Some(password_file.clone()),
187+
client_login_start_result.clone().message,
188+
username,
189+
ServerLoginStartParameters::default(),
190+
)
191+
.unwrap();
192+
})
193+
});
203194
}
204195

205196
fn server_login_start_fake(c: &mut Criterion) {
@@ -209,22 +200,19 @@ fn server_login_start_fake(c: &mut Criterion) {
209200
let server_setup = ServerSetup::<Default>::new(&mut rng);
210201
let client_login_start_result = ClientLogin::<Default>::start(&mut rng, password).unwrap();
211202

212-
c.bench_function(
213-
&format!("server login start (fake) ({})", SUFFIX),
214-
move |b| {
215-
b.iter(|| {
216-
ServerLogin::start(
217-
&mut rng,
218-
&server_setup,
219-
None,
220-
client_login_start_result.clone().message,
221-
username,
222-
ServerLoginStartParameters::default(),
223-
)
224-
.unwrap();
225-
})
226-
},
227-
);
203+
c.bench_function(&format!("server login start (fake) ({SUFFIX})"), move |b| {
204+
b.iter(|| {
205+
ServerLogin::start(
206+
&mut rng,
207+
&server_setup,
208+
None,
209+
client_login_start_result.clone().message,
210+
username,
211+
ServerLoginStartParameters::default(),
212+
)
213+
.unwrap();
214+
})
215+
});
228216
}
229217

230218
fn client_login_finish(c: &mut Criterion) {
@@ -261,7 +249,7 @@ fn client_login_finish(c: &mut Criterion) {
261249
)
262250
.unwrap();
263251

264-
c.bench_function(&format!("client login finish ({})", SUFFIX), move |b| {
252+
c.bench_function(&format!("client login finish ({SUFFIX})"), move |b| {
265253
b.iter(|| {
266254
client_login_start_result
267255
.clone()
@@ -318,7 +306,7 @@ fn server_login_finish(c: &mut Criterion) {
318306
)
319307
.unwrap();
320308

321-
c.bench_function(&format!("server login finish ({})", SUFFIX), move |b| {
309+
c.bench_function(&format!("server login finish ({SUFFIX})"), move |b| {
322310
b.iter(|| {
323311
server_login_start_result
324312
.clone()

examples/digital_locker.rs

+5-11
Original file line numberDiff line numberDiff line change
@@ -275,13 +275,10 @@ fn main() {
275275
&registered_lockers[locker_index],
276276
) {
277277
Ok(contents) => {
278-
println!("\n\nSuccess! Contents: {}\n\n", contents);
278+
println!("\n\nSuccess! Contents: {contents}\n\n");
279279
}
280280
Err(err) => {
281-
println!(
282-
"\n\nError encountered, could not open locker: {}\n\n",
283-
err
284-
);
281+
println!("\n\nError encountered, could not open locker: {err}\n\n");
285282
}
286283
}
287284
}
@@ -304,10 +301,7 @@ fn display_lockers(lockers: &[Locker]) {
304301
locker_numbers.push(i);
305302
}
306303

307-
println!(
308-
"\nCurrently registered locker numbers: {:?}\n",
309-
locker_numbers
310-
);
304+
println!("\nCurrently registered locker numbers: {locker_numbers:?}\n");
311305
}
312306

313307
// Handle readline errors
@@ -320,7 +314,7 @@ fn handle_error(err: ReadlineError) {
320314
println!("CTRL-D");
321315
}
322316
err => {
323-
println!("Error: {:?}", err);
317+
println!("Error: {err:?}");
324318
}
325319
}
326320
}
@@ -333,7 +327,7 @@ fn get_two_strings(
333327
string1: Option<String>,
334328
) -> (String, String) {
335329
let query = if string1.is_none() { s1 } else { s2 };
336-
let readline = rl.readline(&format!("{}: ", query));
330+
let readline = rl.readline(&format!("{query}: "));
337331
match readline {
338332
Ok(line) => match string1 {
339333
Some(x) => (x, line),

examples/simple_login.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ fn handle_error(err: ReadlineError) {
228228
println!("CTRL-D");
229229
}
230230
err => {
231-
println!("Error: {:?}", err);
231+
println!("Error: {err:?}");
232232
}
233233
}
234234
}
@@ -241,7 +241,7 @@ fn get_two_strings(
241241
string1: Option<String>,
242242
) -> (String, String) {
243243
let query = if string1.is_none() { s1 } else { s2 };
244-
let readline = rl.readline(&format!("{}: ", query));
244+
let readline = rl.readline(&format!("{query}: "));
245245
match readline {
246246
Ok(line) => match string1 {
247247
Some(x) => (x, line),

src/key_exchange/group/curve25519.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ impl KeGroup for Curve25519 {
8181
}
8282

8383
fn public_key(sk: Self::Sk) -> Self::Pk {
84-
(&ED25519_BASEPOINT_TABLE * &sk).to_montgomery()
84+
(ED25519_BASEPOINT_TABLE * &sk).to_montgomery()
8585
}
8686

8787
fn diffie_hellman(pk: Self::Pk, sk: Self::Sk) -> GenericArray<u8, Self::PkLen> {

src/key_exchange/group/ristretto255.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,8 @@ impl KeGroup for Ristretto255 {
3838
}
3939

4040
fn deserialize_pk(bytes: &[u8]) -> Result<Self::Pk, InternalError> {
41-
if bytes.len() != 32 {
42-
return Err(InternalError::PointError);
43-
}
44-
4541
CompressedRistretto::from_slice(bytes)
42+
.map_err(|_| InternalError::PointError)?
4643
.decompress()
4744
.filter(|point| point != &RistrettoPoint::identity())
4845
.ok_or(InternalError::PointError)

src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
//!
1515
//! ### Minimum Supported Rust Version
1616
//!
17-
//! Rust **1.57** or higher.
17+
//! Rust **1.60** or higher.
1818
//!
1919
//! # Overview
2020
//!

src/tests/parser.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ fn parse_params(input: &str) -> String {
8585
let key = iter.next().unwrap().split_whitespace().next().unwrap();
8686
let val = iter.next().unwrap().split_whitespace().next().unwrap();
8787

88-
param = format!(" \"{}\": \"{}", key, val);
88+
param = format!(" \"{key}\": \"{val}");
8989
} else {
9090
let s = line.trim().to_string();
9191
if s.contains('~') || s.contains('#') {

0 commit comments

Comments
 (0)