-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Constant-time implementation with security proof #94
Comments
I have formulated a potential security proof for this here: https://github.com/Yubico/arkg-rfc/blob/pqarkg-h/pqarkg-h-security/pqarkg-h.pdf Anyone, please review and comment whether you agree the proof is valid! |
Thank you @emlun! Some first thoughts in the context of remote HDK.
|
I agree the proof is valid. While reading, I have proposed several changes in: Yubico/arkg-rfc#31 This addresses 1. I still need to reflect on the unlinkability question but this seems to be higher level than mkKS and possibly out of scope. |
Re: 1. I’ve reviewed the pku experiment for public-key unlinkability in Wilson’s thesis. In a pqARKG-H adaptation, we would need to position If instead we would allow the adversary to set Additionaly, Stebila & Wilson 2024 critique the pku model for not exposing the oracle-generated KEM ciphertext to the adversary, rendering them underpowered, but I don’t foresee consequences for the HDK use case. Our need for unlinkability gears towards third parties who anyway do not invoke any ARKG functions. Re: 2. The critique above seems to apply to mkKS as well. By not returning |
Discussed during the 2025-01-20 meeting with @mickrau and @emlun: we may replace:
with:
Or instead, taking
ctx = SerializeElement(pk) || ctx_original
as input to BlindPublicKey, this could be reformulated using the original construct, but where the implementation of BlindPrivateKey needs to also provide:That function would inherit the security properties of BlindPrivateKey, such as not leaking information about
Combine(sk, bf)
, making it impossible to formbf
in such a way that it leaks information aboutsk
. Furthermore, by includingbf
in the context over which the blinding factor is derived using a hash, it is infeasible to constructbf
in such a way that it cancels the DeriveBlindingFactor output.This would require no updates to Key Blinding for Signature Schemes, but would require changes to ARKG:
bf
parameter (default 0 for additive, 1 for multiplicative blinding), which is used to call BlindBlindedPrivateKeySerializeElement(pk)
The text was updated successfully, but these errors were encountered: