Page MenuHomePhabricator

[shared] bump opaque-ke to 2.1.0-pre.1
Needs ReviewPublic

Authored by varun on Thu, Nov 7, 1:16 PM.
Tags
None
Referenced Files
F3179316: D13895.id45698.diff
Fri, Nov 8, 3:02 AM
F3179315: D13895.id45697.diff
Fri, Nov 8, 3:02 AM
F3179189: D13895.id.diff
Fri, Nov 8, 3:00 AM
F3179136: D13895.diff
Fri, Nov 8, 2:57 AM
F3177670: D13895.id45697.diff
Fri, Nov 8, 12:03 AM
F3174909: D13895.id45697.diff
Thu, Nov 7, 7:06 PM
F3174526: D13895.id45698.diff
Thu, Nov 7, 5:06 PM
F3173543: D13895.id.diff
Thu, Nov 7, 3:31 PM
Subscribers

Details

Reviewers
will
bartek
Summary

This version of opaque-ke uses the latest version of voprf. The previous version of opaque-ke was using an older version of voprf that no longer works with the latest version of Rust. Hence, in order to upgrade to the latest version of Rust, we need to first upgrade opaque-ke.

As part of this upgrade, we need a wrapper for Argon2 that uses the default params from argon 0.4. Further explanation provided inline.

Basically copied this code: https://github.com/drey7925/perovskite/commit/2076604cb44ba9c103eb0208efa7449cfb34bb73#diff-400eb1f04580ae4870aa9d4aae3210268771ed3a5237703cc070d87296830d38

This resolves: https://linear.app/comm/issue/ENG-9164/upgrade-opaque-ke-20

Next diff will bump our Rust version from 1.76 to 1.82 (latest stable version)

Test Plan
  1. deployed custom identity image to staging with these changes
  2. checked out master branch
  3. successfully logged in to existing account on staging identity from native, web, keyserver
  4. successfully registered and logged in to staging from native
  5. switched back to feature branch
  6. successfully logged in to existing account on staging identity from native, web, keyserver
  7. successfully registered and logged in to staging from native

Note that I ran cleaninstall after switching branches

Diff Detail

Repository
rCOMM Comm
Branch
opauqe (branched from master)
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

varun requested review of this revision.Thu, Nov 7, 1:36 PM

realize there's Rust code so @ashoat isn't a good reviewer

shared/comm-opaque2/src/opaque.rs
23 ↗(On Diff #45697)

These params come from this comment: https://github.com/facebook/opaque-ke/issues/359#issuecomment-2436428572

Basically, argon 0.5 uses different default params than 0.4. we need to use the 0.4 default params for existing users to be able to log in to identity

varun edited the summary of this revision. (Show Details)

get argon2 0.5 from root Cargo.toml