-
Notifications
You must be signed in to change notification settings - Fork 5
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
sander
wants to merge
12
commits into
Yubico:pqarkg-h
Choose a base branch
from
sander:feat/pqarkg-h-fixes
base: pqarkg-h
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
74e5616
Include b in SKList entries in mkKS for pkARKG-H
sander 4503cb4
Small algorithm syntax fixes
sander b97d949
More attractive title
sander 1f01711
Fix figure reference for the pqARKG experiment
sander fe444c0
Note why the pqARKG and pqARKG-H advantages are equal
sander b4cd553
Clarify the proof by putting the conclusion first
sander 63d886d
Try to make the proof flow easier
sander 551618e
Clarify HDK use case and b=1
sander 5a605d3
Notation compatible with additive blinding
sander d7ee6ea
Fix typo in public key oracle for mkKS
sander a64b22a
Render current draft
sander a3b4c6c
Merge changes in the original draft from last week
sander File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -238,21 +238,20 @@ \section{\ALGNAME} | |
|
||
A new parameter~$b$ is added to the \algdpk and \algdsk functions. | ||
This~$b$ is an additional blinding factor in the key blinding scheme~\bl, | ||
allowing the ARKG subordinate party (the party generating public keys) to add any number of additional blinding layers | ||
on top of the one performed by the ARKG delegating party (the party holding the ARKG private seed). | ||
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). | ||
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$. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this addition is necessary. |
||
|
||
The new argument mixed into the PRF is however not $b$ directly, | ||
but a blinded public key~\pkbd incorporating the blinding factor~$b$. | ||
This enables the subordinate party to prove to a third party that a public key was generated using \ALGNAME | ||
without having to disclose~$b$. | ||
This is desirable if the subordinate party does not wish to reveal | ||
the relationship with keys from other branches of an HDK tree which might be used for unrelated purposes; | ||
knowing~$b$ would enable the third party to unblind the derived public key~\pkp to reveal the root public seed~\pkbl. | ||
Instead, the third party may receive $k$ and~\aux and recompute steps 3-5 of \algdpk with $\pkbl=\pkbd$ and~$b=1$, | ||
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$, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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! |
||
the identity blinding factor, | ||
and thus be convinced that \pkp was generated from the claimed public seed~\pkbd. | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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.