wasi-crypto icon indicating copy to clipboard operation
wasi-crypto copied to clipboard

OPRF module

Open jedisct1 opened this issue 1 year ago • 2 comments

Consider adding optional module for OPRFs.

Ref: https://github.com/cloudflare/voprf-ts/issues/32#issuecomment-1701911526

jedisct1 avatar Sep 01 '23 16:09 jedisct1

How do we start sketching the specification for (V)OPRFs?

armfazh avatar Sep 01 '23 19:09 armfazh

Hi Armando!

First, take a look at the existing modules.

There are some constraints that come with WASI modules. They are similar to system calls: the number of functions should be as small as possible, and they should be generic and future-proof rather than specific. Even at the expense of performance. Breaking changes would be complicated and would break all existing applications.

Parameters or return values that are not primitive types should generally be handles. This is especially true for secrets, as the API can also be used in a HSM-like context, where the secrets are only accessible by the runtime, not directly by applications.

The interfaces themselves are described in a language called witx.

The witx files for the current modules can be found here: https://github.com/WebAssembly/wasi-crypto/tree/main/witx/witx-0.10

So, in order to add a new module for {P,V}OPRFs, a new wasi_ephemeral_crypto_oprf.witx file should be added there.

We can set up a meeting to discuss all this if you like.

jedisct1 avatar Sep 01 '23 20:09 jedisct1