HomePhabricator
Diffusion Comm 6d7806eed0f2

[Identity] Implement some generic OPAQUE types

Description

[Identity] Implement some generic OPAQUE types

Summary:
Depends on D3578

Implementation of the CipherSuite trait, which configures the underlying primitives for OPAQUE.

  • Group: a finite cyclic group along with a point representation, along with an extension trait PasswordToCurve that allows some customization on how to hash a password to a curve point
  • KeyExchange: The key exchange protocol to use in the login step
  • Hash: The main hashing function to use
  • SlowHash: A slow hashing function, typically used for password hashing

Test Plan:
cargo build

this will get tested more in subsequent diffs that use the CipherSuite

Reviewers: jimpo, karol-bisztyga, atul, anunayk

Reviewed By: jimpo, atul

Subscribers: anunayk, ashoat, palys-swm, Adrian, benschac, yayabosh

Differential Revision: https://phabricator.ashoat.com/D3747

Details

Provenance
varunAuthored on Apr 20 2022, 8:35 PM
Reviewer
jim
Differential Revision
D3747: [Identity] Implement some generic OPAQUE types
Parents
rCOMMfe45694021ff: [services][identity] grpc scaffolding for the identity service
Branches
Unknown
Tags
Unknown