cloudflare / cloudflare/circl

enhancement request: implement KDF (SDHI and/or Naor-Reingold)

Open
#423 4 comments 0 reactions 0 assignees View on GitHub
good first issue help wanted question
Dominant language
Go
Stars
1.7k
Forks
219
Avg merge
15h 45m
Merged PRs (30d)
4

Description

By way of backround, this request is based on my reading about Meta Anonymous Credential Service which they recently open-sourced (unfortunately in C !) https://github.com/facebookresearch/acs.

Anyways ... TL;DR, the curious beast in me thought I might have a go at re-implementing it in Go so I can play around with it.

Obviously Go stdlib doesn't provide many of the necessary building crypto building blocks, but `circl` does:

- VOPRF :white_check_mark:
- DLEQ :white_check_mark:
- Ed25519 :white_check_mark:

But unfortunately .....

"attribute-based key derivation function" :x:

Meta say[ in their blog post](https://engineering.fb.com/2022/12/12/security/anonymous-credential-service-acs-open-source/):

`We recommend Strong Diffie–Hellman Inversion (SDHI) or Naor-Reingold for better key transparency.`

Hence this request :wink:
( espcially as my github searches seem to show nobody else has a Go implementation of either of those KDFs either)

Perhaps see also comments in the header files re: SDHI and Naor-Reingold:
[kdf/kdf_sdhi.h](https://github.com/facebookresearch/acs/blob/main/lib/kdf/kdf_sdhi.h)
[kdf/kdf_naor_reingold.h](https://github.com/facebookresearch/acs/blob/main/lib/kdf/kdf_naor_reingold.h)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.