Skip to content
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

Suggestions for pqARKG-H security proof #31

Open
wants to merge 12 commits into
base: pqarkg-h
Choose a base branch
from

Conversation

sander
Copy link

@sander sander commented Feb 1, 2025

Probably easiest to review/cherry-pick commit-by-commit. Context is discussion in: sander/hierarchical-deterministic-keys#94

Copy link
Member

@emlun emlun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I like most but not all of this, and some changes like the proof rewrite are a bit too large to entangle with the smaller fixes. I'll cherry-pick the obvious improvements directly to the pqarkg-h branch and we can look at the rest in isolation.

@@ -369,7 +369,7 @@ \section{Reduction of \ALGBASE to \ALGNAME in \msks security experiment}
also defeats \expmsksbase.
Given such an adversary \bdv,
we construct an adversary \adv that defeats \expmsksbase
as defined in \figref{adv-reduction}.
as defined in \figref{exp-msks-pqarkg}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was not meant to reference the experiment, but the adversary construction. Let's instead clarify the text to remove that confusion.

@@ -12,7 +12,7 @@
\addbibresource{pqarkg-h.bib}

\author{Emil Lundberg\\Yubico AB\\[email protected]}
\title{pqARKG-H: An extension of pqARKG for Hierarchical Deterministic Keys}
\title{Quantum-safe Hierarchical Deterministic Keys with the pqARKG-H extension}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this to a different changeset. I'm not sold on this title, I think it over-emphasizes the quantum part and under-emphasizes the HDK part which is the actual innovation here.

Comment on lines 475 to 479
In conclusion, we see that \adv wins its game precisely when \bdv wins its game. Therefore:

$$ \advantage{\msks}{\ALGNAME,\bdv} \geq \advantage{\msks}{\ALGBASE,\adv} $$

On the other hand, given an adversary \adv that defeats \expmsksbase, we can trivially construct an adversary \bdv that defeats \expmsksnew by invoking \adv and additionally returning $b^*=1$. Therefore the advantages are equal:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary? I reckon that "\adv wins its game precisely when \bdv wins its game" on its own is enough to conclude equality, is it not?

\begin{proof}

Given an adversary \bdv that defeats \expmsksnew,
we construct an adversary \adv that defeats \expmsksbase.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the general outline of this, but let's move this to a separate changeset apart from the smaller fixes.

Comment on lines +241 to +242
allowing the ARKG delegating party (the party holding the ARKG private seed) to add any number of additional blinding layers
on top of the one performed by the ARKG subordinate party (the party generating public keys).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is the subordinate party that adds the additional blinding layers - namely reducing them to the single additional blinding factor b passed to the delegating party. I'll keep this as is.

To~prevent choosing $b = -\tau$ so that it cancels the blinding factor~$\tau$
computed in step~2 of~\algdsk of~\ALGBASE, this~$b$ is also mixed into the PRF arguments to compute~$\tau$.
This disrupts any algebraic relationship between $b$ and~$\tau$,
thus preventing the subordinate party from extracting the private seed~\sk by a malicious choice of~$b$.
thus preventing the a compromised subordinate party from extracting the private seed~\sk by a malicious choice of~$b$.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this addition is necessary.

Comment on lines 250 to 254
This enables the delegating party to share a derived public \ALGNAME seed with a subordinate party without having to disclose~$b$.
This is desirable if the delegating party does not wish to reveal
the relationship with other keys in an HDK tree which might be used for unrelated purposes;
knowing~$b$ would enable the subordinate party to unblind the derived public key~\pkp to reveal the root public seed~\pkbl.
Instead, the subordinate party may determine $k$ and~\aux and compute steps 3--5 of \algdpk with $\pkbl=\pkbd$ and~$b=1$,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll cherry-pick parts of this but keep the overall structure the same. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants