Skip to content

Conversation

sander
Copy link
Owner

@sander sander commented Jan 6, 2025

Since draft-irtf-cfrg-signature-key-blinding is mature, we may want to reuse some of its definitions and security properties for BL. Adaptations needed:

  • Introduce DeriveBlindingFactor(bk, ctx) to expose intermediate value bf and BlindSign(skS, bf, msg) to use it: no security impact expected.
  • Introduce BlindDH(skX, bf, pkY) for a similar “Key Blinding for Diffie-Hellman” scheme: security proof needed (Security Proof Multiplicative Key Blinding #77).
  • Allow any 32-byte string as private blind key bk for P-256, not just scalars modulo Order(), enabling direct use of KEM or hash output: security argument needed. Generalise by keeping DeriveBlindKey(ikm) which is the identity function in this case.

Further changes needed to HDK:

  • Derive the private blinding key from salt.
  • Derive the KEM private key from salt.

Suggested HDK interface update:

  • Replace single HDK function by CreateContext(index), creating context string ctx, and Descend(salt, ctx), deriving child HDK salt'. This enables simple application of BL by both parties.
  • Replace generic Authenticate(sk, reader_data, bf) with specific BlindSign and BlindDH invocations.

@sander sander force-pushed the feat/key-blinding branch from 0714c36 to 02d24d4 Compare January 19, 2025 12:33
@sander sander marked this pull request as ready for review January 19, 2025 12:33
@sander sander merged commit 5066d45 into main Jan 19, 2025
2 checks passed
@sander sander deleted the feat/key-blinding branch January 19, 2025 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant