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

Limit analysis #3

Merged
merged 7 commits into from
Jul 5, 2024
Merged

Limit analysis #3

merged 7 commits into from
Jul 5, 2024

Conversation

martinthomson
Copy link
Member

@martinthomson martinthomson commented Jun 24, 2024

I spent some time with this and concluded that our limits were not good in the first time around. A more careful analysis shows that we are still OK, but the limits are closer than ideal. We're assuming $2^{44}$ work for the adversary here for 40 bits of security, which is probably fine, though it is much weaker than the same analysis I've seen for cipher usage elsewhere.

Concrete numbers: $2^{64}$ becomes $2^{42}$ for AES-128 (double that for AES-256).

This shows much smaller limits, but it seems far more credible than the
last one.
Copy link
Contributor

@akoshelev akoshelev left a comment

Choose a reason for hiding this comment

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

How useful it is for us to model PRSS in the form of throughput, rather than number of invocations that is bound to 16 byte inputs? This may come down to the same question about vectorization - if we standardize it, it will become tricky to say how many invocations per input row we expect from PRSS.

>= 2p.2^{-a/2}.2^{k/2-b}
2^{-a/2}/4/2^{k/2-b} >= p
2^{b-k/2-a/2-2} >= p
p <= 2^{b-(k+a)/2-2}
Copy link
Contributor

Choose a reason for hiding this comment

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

have you build a good intuition around ρ value from that paper? I read it a few times but I don't seem to understand the role of pseudo-random function in AES encryption

Copy link
Member Author

@martinthomson martinthomson Jun 28, 2024

Choose a reason for hiding this comment

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

The way to think of AES is as a PRP (which is a narrower formulation than a PRF). The $\rho$ parameter is defined as the entropy of $\mathcal{R}$.

image

Follow this through to Theorem 4, where they look at their $\mathrm{MMO}^\pi$ function:

$$ \mathsf{MMO}^\pi(x) \overset{\mathrm{def}}{=} \pi(x)\oplus x $$

There, they use $\mathcal{R}$ to mask the input, in addition to the masking from $\pi(\cdot)$ (i.e., AES) and say:

In the real world, the second oracle is $\mathcal{O}^\mathrm{cr}_R(\cdot) = \mathsf{MMO}^\pi(R\oplus\cdot)$ (for $R$ sampled from a distribution $\mathcal{R}$).

From this, $\rho$ is a limit on the entropy that can pass into the permutation. AES has a similar limiting effect, so effectively $\rho$ is equivalent to the entropy of AES. So $\rho$ is, in effect, the block size of 128 bits.

(Edited to correct differences between $\rho$ and $\pi(\cdot)$.)

Co-authored-by: Alex Koshelev <[email protected]>
@martinthomson martinthomson merged commit f787440 into main Jul 5, 2024
2 checks passed
@martinthomson martinthomson deleted the limit-analysis branch July 5, 2024 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants