Skip to content

Commit dc8246f

Browse files
kevinlewidaxpeddadependabot[bot]nikgraflucab
authored
Updating v2 with latest voprf (v0.4.1) release (#366)
* Fix Clippy (#289) * Add Dependabot (#287) * Fix Clippy * Add Dependabot * Bump actions/checkout from 2 to 3 (#291) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/cache from 2 to 3 (#292) Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v2...v3) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update dependencies (#288) * Fix Clippy * Update dependencies * Fix CI (#298) * Rename X25519 to Curve25519 (#302) * Update `curve25519-dalek` to 4.0.0-pre.5 (#301) * Update `curve25519-dalek` * Improve documentation * Update `voprf` to 0.5.0-pre.1 * Bump `voprf` to v0.5.0-pre.2 (#304) * Only use explicit crate features (#306) * Publishing v3.0.0-pre.1 (#309) * Update `rustyline` to v0.11 (#313) * Update VOPRF to draft 19 (#307) * Update `argon2` to v0.5 (#314) * Test P-384 (#290) * Update scrypt requirement from 0.10 to 0.11 (#315) Updates the requirements on [scrypt](https://github.com/RustCrypto/password-hashes) to permit the latest version. - [Release notes](https://github.com/RustCrypto/password-hashes/releases) - [Commits](RustCrypto/password-hashes@scrypt-v0.10.0...scrypt-v0.11.0) --- updated-dependencies: - dependency-name: scrypt dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Publishing v3.0.0-pre.2 (#318) * Bump `voprf` to v0.5.0-pre.4 (#322) * Correctly clamp Curve25519 secret keys (#323) * Curve25519 test vectors (#319) * Curve25519 test vectors * Adjust `derive_auth_keypair()` for Curve25519 * Update test vectors * Fix Curve25519 random scalar generation Co-Authored-By: Kevin Lewi <[email protected]> * Update test vectors * Update test vectors * Update test vectors --------- Co-authored-by: Kevin Lewi <[email protected]> * Updating dual-license language (#324) * Update criterion requirement from 0.4 to 0.5 (#325) Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version. - [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md) - [Commits](bheisler/criterion.rs@0.4.0...0.5.0) --- updated-dependencies: - dependency-name: criterion dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update keypair generation to use derive_auth_keypair (#326) * Fixing simple_login test to enable argon2 feature (#328) * Publishing v3.0.0-pre.3 (#327) * Update rustyline requirement from 11 to 12 (#332) Updates the requirements on [rustyline](https://github.com/kkawakam/rustyline) to permit the latest version. - [Release notes](https://github.com/kkawakam/rustyline/releases) - [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md) - [Commits](kkawakam/rustyline@v11.0.0...v12.0.0) --- updated-dependencies: - dependency-name: rustyline dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * update parameter from sk to private_key (#329) * Bump `curve25519-dalek` to v4.0.0-rc.3 (#330) * add more resources (WebAssembly and React Native) (#335) * add more resources (WebAssembly and React Native) * Fixing clippy --------- Co-authored-by: Kevin Lewi <[email protected]> * Publishing v3.0.0-pre.4 (#337) * update docs: clarify export_key and session_key length (#338) * Increase MSRV to 1.70 and update workflow dependencies (#342) * Clarifying the persisting of server setup (#344) * Add `clippy::doc_markdown` (#346) * Fixing clippy errors (#347) * Test P-521 (#349) * Test P-521 * De-duplicate generic calls * Simplify full test vectors generation * Adding copyright header to generated test file (#351) * Update rustyline requirement from 12 to 13 (#352) Updates the requirements on [rustyline](https://github.com/kkawakam/rustyline) to permit the latest version. - [Release notes](https://github.com/kkawakam/rustyline/releases) - [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md) - [Commits](kkawakam/rustyline@v12.0.0...v13.0.0) --- updated-dependencies: - dependency-name: rustyline dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/cache from 3 to 4 (#354) Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Updating dependencies (#360) * docs: add details for client login final step (#358) This tweaks the documentation on the main module, in order to add some details on the outcome of the client login final step. In particular, it clarifies the result of `ClientLogin::finish()` both on success and on errors and it adds some intra-crate links to the relevant structures and fields. * Publishing v3.0.0-pre.5 (#364) * Revert "Update keypair generation to use derive_auth_keypair (#326)" This reverts commit deb7ca3. * Fixups to keep in sync with draft-10 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: daxpedda <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nik Graf <[email protected]> Co-authored-by: Luca Bruno <[email protected]>
1 parent 556f6c2 commit dc8246f

39 files changed

+735
-704
lines changed

.cargo/license.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// Copyright (c) Facebook, Inc. and its affiliates.
1+
// Copyright (c) Meta Platforms, Inc. and affiliates.
22
//
3-
// This source code is licensed under both the MIT license found in the
4-
// LICENSE-MIT file in the root directory of this source tree and the Apache
3+
// This source code is dual-licensed under either the MIT license found in the
4+
// LICENSE-MIT file in the root directory of this source tree or the Apache
55
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
6-
// of this source tree.
6+
// of this source tree. You may select, at your option, one of the above-listed
7+
// licenses.

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: cargo
5+
directory: /
6+
schedule:
7+
interval: daily
8+
9+
- package-ecosystem: github-actions
10+
directory: /
11+
schedule:
12+
interval: daily

.github/workflows/main.yml

Lines changed: 31 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,21 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
backend_feature:
16-
- --features ristretto255-u64,ristretto255-voprf
17-
- --features ristretto255-u32,ristretto255-voprf
16+
- --features ristretto255-voprf
1817
-
19-
- --features x25519-u64,ristretto255-u64,ristretto255-voprf
20-
- --features x25519-u32,ristretto255-u32,ristretto255-voprf
21-
- --features x25519-u64
22-
- --features x25519-u32
18+
- --features curve25519,ristretto255-voprf
19+
- --features curve25519
2320
frontend_feature:
2421
-
2522
- --features argon2
2623
- --features serde
2724
toolchain:
2825
- stable
29-
- 1.57.0
26+
- 1.74.0
3027
name: test
3128
steps:
3229
- name: Checkout sources
33-
uses: actions/checkout@v2
30+
uses: actions/checkout@main
3431

3532
- name: Install ${{ matrix.toolchain }} toolchain
3633
uses: actions-rs/toolchain@v1
@@ -61,16 +58,13 @@ jobs:
6158
# 32-bit x86
6259
- i686-unknown-linux-gnu
6360
backend_feature:
64-
- --features ristretto255-u64,ristretto255-voprf
65-
- --features ristretto255-u32,ristretto255-voprf
61+
- --features ristretto255-voprf
6662
-
67-
- x25519-u64,ristretto255-u64,ristretto255-voprf
68-
- x25519-u32,ristretto255-u64,ristretto255-voprf
69-
- x25519-u64
70-
- x25519-u32
63+
- curve25519,ristretto255-voprf
64+
- curve25519
7165
steps:
72-
- uses: actions/checkout@v2
73-
- uses: hecrj/setup-rust-action@v1
66+
- uses: actions/checkout@main
67+
- uses: hecrj/setup-rust-action@v2
7468
- run: cargo install cross
7569
# Note: just use `cross` as you would `cargo`, but always
7670
# pass the `--target=${{ matrix.target }}` arg. (Yes, really).
@@ -84,13 +78,13 @@ jobs:
8478
matrix:
8579
toolchain:
8680
- stable
87-
- 1.57.0
81+
- 1.74.0
8882
name: test simple_login command-line example
8983
steps:
9084
- name: install expect
9185
run: sudo apt-get install expect
9286
- name: Checkout sources
93-
uses: actions/checkout@v2
87+
uses: actions/checkout@main
9488
- name: install rust
9589
uses: actions-rs/toolchain@v1
9690
with:
@@ -107,13 +101,13 @@ jobs:
107101
matrix:
108102
toolchain:
109103
- stable
110-
- 1.57.0
104+
- 1.74.0
111105
name: test digital_locker command-line example
112106
steps:
113107
- name: install expect
114108
run: sudo apt-get install expect
115109
- name: Checkout sources
116-
uses: actions/checkout@v2
110+
uses: actions/checkout@main
117111
- name: install rust
118112
uses: actions-rs/toolchain@v1
119113
with:
@@ -135,21 +129,18 @@ jobs:
135129
# for any no_std target
136130
- thumbv6m-none-eabi
137131
backend_feature:
138-
- ristretto255-u64,ristretto255-voprf
139-
- ristretto255-u32,ristretto255-voprf
132+
- ristretto255-voprf
140133
-
141-
- x25519-u64,ristretto255-u64,ristretto255-voprf
142-
- x25519-u32,ristretto255-u32,ristretto255-voprf
143-
- x25519-u64
144-
- x25519-u32
134+
- curve25519,ristretto255-voprf
135+
- curve25519
145136
frontend_feature:
146137
- argon2
147138
- serde
148139
steps:
149-
- uses: actions/checkout@v2
150-
- uses: hecrj/setup-rust-action@v1
140+
- uses: actions/checkout@main
141+
- uses: hecrj/setup-rust-action@v2
151142
- run: rustup target add ${{ matrix.target }}
152-
- run: cargo build --verbose --target=${{ matrix.target }} --no-default-features --features ${{ matrix.frontend_feature }} --features ${{ matrix.backend_feature }}
143+
- run: cargo build --verbose --target=${{ matrix.target }} --no-default-features --features ${{ matrix.frontend_feature }},${{ matrix.backend_feature }}
153144

154145
benches:
155146
name: cargo bench compilation
@@ -158,16 +149,13 @@ jobs:
158149
fail-fast: false
159150
matrix:
160151
backend_feature:
161-
- --features ristretto255-u64,ristretto255-voprf
162-
- --features ristretto255-u32,ristretto255-voprf
152+
- --features ristretto255-voprf
163153
-
164-
- --features x25519-u64,ristretto255-u64,ristretto255-voprf
165-
- --features x25519-u32,ristretto255-u32,ristretto255-voprf
166-
- --features x25519-u32
167-
- --features x25519-u32
154+
- --features curve25519,ristretto255-voprf
155+
- --features curve25519
168156
steps:
169157
- name: Checkout sources
170-
uses: actions/checkout@v2
158+
uses: actions/checkout@main
171159

172160
- name: Install stable toolchain
173161
uses: actions-rs/toolchain@v1
@@ -187,7 +175,7 @@ jobs:
187175
runs-on: ubuntu-latest
188176
steps:
189177
- name: Checkout sources
190-
uses: actions/checkout@v2
178+
uses: actions/checkout@main
191179

192180
- name: Install stable toolchain
193181
uses: actions-rs/toolchain@v1
@@ -201,22 +189,22 @@ jobs:
201189
uses: actions-rs/cargo@v1
202190
with:
203191
command: clippy
204-
args: --all-targets --features argon2,std,x25519-u64 -- -D warnings
192+
args: --all-targets --features argon2,std,curve25519 -- -D warnings
205193

206194
- name: Run cargo doc
207195
uses: actions-rs/cargo@v1
208196
env:
209197
RUSTDOCFLAGS: -D warnings
210198
with:
211199
command: doc
212-
args: --no-deps --document-private-items --features argon2,std,x25519-u64
200+
args: --no-deps --document-private-items --features argon2,std,curve25519
213201

214202
format:
215203
name: cargo fmt
216204
runs-on: ubuntu-latest
217205
steps:
218206
- name: Checkout sources
219-
uses: actions/checkout@v2
207+
uses: actions/checkout@main
220208

221209
- name: Install nightly toolchain
222210
uses: actions-rs/toolchain@v1
@@ -237,7 +225,7 @@ jobs:
237225
runs-on: ubuntu-latest
238226
steps:
239227
- name: Cache
240-
uses: actions/cache@v2
228+
uses: actions/cache@v4
241229
with:
242230
path: |
243231
~/.cargo/.crates.toml
@@ -251,7 +239,7 @@ jobs:
251239
run: cargo install taplo-cli --locked
252240

253241
- name: Checkout sources
254-
uses: actions/checkout@v2
242+
uses: actions/checkout@main
255243

256244
- name: Run Taplo
257245
run: taplo fmt --check
@@ -260,5 +248,5 @@ jobs:
260248
name: cargo-deny check
261249
runs-on: ubuntu-latest
262250
steps:
263-
- uses: actions/checkout@v1
251+
- uses: actions/checkout@main
264252
- uses: EmbarkStudios/cargo-deny-action@v1

.github/workflows/publish.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [ubuntu-latest]
14+
rust: [stable]
1415

1516
steps:
16-
- uses: hecrj/setup-rust-action@v1
17+
- uses: hecrj/setup-rust-action@v2
1718
with:
1819
rust-version: ${{ matrix.rust }}
19-
- uses: actions/checkout@master
20+
- uses: actions/checkout@main
2021
- name: Login to crates.io
2122
run: cargo login $CRATES_IO_TOKEN
2223
env:

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## 2.1.0-pre.1 (October 10, 2024)
4+
* Updated dependencies: voprf v0.4.1, curve25519-dalek v4
5+
36
## 2.0.0 (September 21, 2022)
47
* Synced implementation with draft-irtf-cfrg-opaque-10
58
* Changed argon2 salt length to recommended value (16 bytes)

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ outlined on that page and do not file a public issue.
2727

2828
## License
2929
By contributing to opaque-ke, you agree that your contributions will be
30-
licensed under the LICENSE file in the root directory of this source tree.
30+
licensed under both the LICENSE-MIT and LICENSE-APACHE files in the root
31+
directory of this source tree.

Cargo.toml

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,76 +7,77 @@ keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"]
77
license = "Apache-2.0 OR MIT"
88
name = "opaque-ke"
99
readme = "README.md"
10-
repository = "https://github.com/novifinancial/opaque-ke"
11-
rust-version = "1.57"
12-
version = "2.0.0"
10+
repository = "https://github.com/facebook/opaque-ke"
11+
rust-version = "1.74"
12+
version = "2.1.0-pre.1"
1313

1414
[features]
15-
default = ["ristretto255-u64", "ristretto255-voprf", "serde"]
16-
ristretto255 = ["curve25519-dalek", "voprf/ristretto255"]
17-
ristretto255-fiat-u32 = ["curve25519-dalek/fiat_u32_backend", "ristretto255"]
18-
ristretto255-fiat-u64 = ["curve25519-dalek/fiat_u64_backend", "ristretto255"]
19-
ristretto255-simd = ["curve25519-dalek/simd_backend", "ristretto255"]
20-
ristretto255-u32 = ["curve25519-dalek/u32_backend", "ristretto255"]
21-
ristretto255-u64 = ["curve25519-dalek/u64_backend", "ristretto255"]
15+
argon2 = ["dep:argon2"]
16+
curve25519 = ["dep:curve25519-dalek"]
17+
default = ["ristretto255-voprf", "serde"]
18+
ristretto255 = ["dep:curve25519-dalek", "voprf/ristretto255"]
2219
ristretto255-voprf = ["ristretto255", "voprf/ristretto255-ciphersuite"]
23-
serde = ["serde_", "generic-array/serde", "voprf/serde"]
24-
std = ["getrandom"]
25-
x25519 = ["curve25519-dalek"]
26-
x25519-fiat-u32 = ["curve25519-dalek/fiat_u32_backend", "x25519"]
27-
x25519-fiat-u64 = ["curve25519-dalek/fiat_u64_backend", "x25519"]
28-
x25519-simd = ["curve25519-dalek/simd_backend", "x25519"]
29-
x25519-u32 = ["curve25519-dalek/u32_backend", "x25519"]
30-
x25519-u64 = ["curve25519-dalek/u64_backend", "x25519"]
20+
serde = ["dep:serde", "generic-array/serde", "voprf/serde"]
21+
std = ["dep:getrandom"]
3122

3223
[dependencies]
33-
argon2 = { version = "0.4", default-features = false, features = [
24+
argon2 = { version = "0.5", default-features = false, features = [
3425
"alloc",
3526
], optional = true }
36-
curve25519-dalek = { version = "=4.0.0-pre.1", default-features = false, optional = true }
37-
derive-where = { version = "=1.0.0-rc.3", features = ["zeroize-on-drop"] }
27+
curve25519-dalek = { version = "4", default-features = false, features = [
28+
"zeroize",
29+
], optional = true }
30+
derive-where = { version = "1", features = ["zeroize-on-drop"] }
3831
digest = "0.10"
3932
displaydoc = { version = "0.2", default-features = false }
40-
elliptic-curve = { version = "0.12", features = ["hash2curve", "sec1"] }
33+
elliptic-curve = { version = "0.13", features = ["hash2curve", "sec1"] }
4134
generic-array = "0.14"
4235
hkdf = "0.12"
4336
hmac = "0.12"
4437
rand = { version = "0.8", default-features = false }
45-
serde_ = { version = "1", package = "serde", default-features = false, features = [
38+
serde = { version = "1", default-features = false, features = [
4639
"derive",
4740
], optional = true }
4841
subtle = { version = "2.3", default-features = false }
49-
voprf = { version = "=0.4.0-pre.3", default-features = false, features = [
50-
"danger",
51-
] }
42+
voprf = { version = "0.4.1", default-features = false, features = ["danger"] }
5243
zeroize = { version = "1.5", features = ["zeroize_derive"] }
5344

5445
[target.'cfg(target_arch = "wasm32")'.dependencies]
5546
getrandom = { version = "0.2", features = ["js"], optional = true }
5647

5748
[dev-dependencies]
5849
bincode = "1"
59-
chacha20poly1305 = "=0.10.0-pre"
60-
criterion = "0.4"
50+
chacha20poly1305 = "0.10"
51+
criterion = "0.5"
6152
hex = "0.4"
6253
json = "0.12"
63-
p256 = { version = "0.11", default-features = false, features = [
54+
p256 = { version = "0.13", default-features = false, features = [
55+
"hash2curve",
56+
"voprf",
57+
] }
58+
p384 = { version = "0.13", default-features = false, features = [
59+
"hash2curve",
60+
"voprf",
61+
] }
62+
p521 = { version = "0.13.3", default-features = false, features = [
6463
"hash2curve",
6564
"voprf",
6665
] }
6766
proptest = "1"
6867
rand = "0.8"
6968
regex = "1"
70-
rustyline = "9"
71-
scrypt = "0.10"
69+
# MSRV
70+
rustyline = "14"
71+
scrypt = "0.11"
7272
serde_json = "1"
7373

7474
[[bench]]
7575
harness = false
7676
name = "opaque"
7777

7878
[package.metadata.docs.rs]
79-
features = ["argon2", "std", "x25519-u64"]
79+
all-features = true
80+
rustdoc-args = ["--cfg", "docsrs"]
8081
targets = []
8182

8283
[[example]]

LICENSE

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)