Forgot some changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
\subsection{Bounds on \somdl} \label{sec:somdl}
|
\subsection{Bounds on \somdl} \label{sec:somdl}
|
||||||
|
|
||||||
This section provides a lower bound on the hardness of the modified version one-more discrete logarithm problem in the generic group model. The variant of the one-more discrete logarithm problem was introduced in definition \ref{def:somdl}. \somdl differs from the original one-more discrete logarithm problem by only allowing the adversary to query the discrete logarithm of all challenges but one. Also the discrete logarithms are chosen from a predefined set that is the result of the special key generation algorithm used in EdDSA. The following proof uses the generic group model for twisted Edwards curves. There already exists a proof for the one-more discrete logarithm problem in the generic group model \cite{EPRINT:BauFucPlo21}. This proof provides a lower bound on the original definition of the one-more discrete logarithm problem. This proof is not directly applicable to this definition of \sdlog, since the secret scalars are not chosen uniformly at random from $\field{L}$ and the group structure is not just a prime order group. Also since a more restricted version of the one-more discrete logarithm problem is used a simpler proof, than that in \cite{EPRINT:BauFucPlo21}, can be used, providing a better bound on \somdl.
|
This section provides a lower bound on the hardness of the modified version of the one-more discrete logarithm problem in the generic group model. The variant of the one-more discrete logarithm problem was introduced in the definition \ref{def:somdl}. \somdl differs from the original one-more discrete logarithm problem by only allowing the adversary to query the discrete logarithm of all challenges but one. Also the discrete logarithms are chosen from a predefined set that is the result of the special key generation algorithm used in EdDSA. The following proof uses the generic group model for twisted Edwards curves. There already exists a proof for the one-more discrete logarithm problem in the generic group model \cite{EPRINT:BauFucPlo21}. This proof provides a lower bound on the original definition of the one-more discrete logarithm problem. This proof is not directly applicable to this definition of \sdlog, since the secret scalars are not chosen uniformly at random from $\field{L}$ and the group structure is not just a prime order group. Also since a more restricted version of the one-more discrete logarithm problem is used a simpler proof, than that in \cite{EPRINT:BauFucPlo21} can be used, providing a better bound on \somdl.
|
||||||
|
|
||||||
\begin{theorem}
|
\begin{theorem}
|
||||||
\label{theorem:somdl_ggm}
|
\label{theorem:somdl_ggm}
|
||||||
@@ -9,7 +9,7 @@ This section provides a lower bound on the hardness of the modified version one-
|
|||||||
\[ \advantage{\curve, n, c, L, \adversary{A}}{\somdl} \leq \frac{2(\oraclequeries + N + 2)^2 + 1}{2^{n-1-c}}. \]
|
\[ \advantage{\curve, n, c, L, \adversary{A}}{\somdl} \leq \frac{2(\oraclequeries + N + 2)^2 + 1}{2^{n-1-c}}. \]
|
||||||
\end{theorem}
|
\end{theorem}
|
||||||
|
|
||||||
\paragraph{\underline{Proof Overview}} This proof uses the same approach as the discrete logarithm proof in the generic group model, by replacing the group elements with polynomials and choosing the challenge after the adversary provided its solution. The tricky part is that the adversary is able to query the discrete logarithms of $N - 1$ group elements, provided to it as a challenge. The proof starts by replacing all group elements with multivariate polynomials representing their discrete logarithms. The indeterminants of those polynomials are the discrete logarithms of each group element, provided to the adversary as challenges. Once the adversary requests the discrete logarithms for all but one group element of the challenge those discrete logarithms are chosen uniformly at random and all polynomials are partially evaluated. This leaves polynomials with just one indeterminant, representing the discrete logarithm of the last challenge. This challenge is then chosen after the adversary provided its solution, leaving the adversay no option but to guess the remaining discrete logarithm. The \somdl game in the generic group model is depicted in figure \ref{fig:somdl_ggm}.
|
\paragraph{\underline{Proof Overview}} This proof uses the same approach as the discrete logarithm proof in the generic group model by replacing the group elements with polynomials and choosing the challenge after the adversary provided its solution. The tricky part is that the adversary is able to query the discrete logarithms of the $N - 1$ group elements, provided to it as a challenge. The proof starts by replacing all group elements with multivariate polynomials representing their discrete logarithms. The indeterminants of those polynomials are the discrete logarithms of each group element, provided to the adversary as challenges. Once the adversary requests the discrete logarithms for all but one group element of the challenge those discrete logarithms are chosen uniformly at random and all polynomials are partially evaluated. This leaves polynomials with just one indeterminate, representing the discrete logarithm of the last challenge. This challenge is then chosen after the adversary provided its solution, leaving the adversay no option but to guess the remaining discrete logarithm. The \somdl game in the generic group model is depicted in figure \ref{fig:somdl_ggm}.
|
||||||
|
|
||||||
\begin{figure}[h]
|
\begin{figure}[h]
|
||||||
\hrule
|
\hrule
|
||||||
@@ -206,15 +206,15 @@ This section provides a lower bound on the hardness of the modified version one-
|
|||||||
|
|
||||||
\[ \advantage{\curve, n, c, L, \adversary{A}}{\somdl} = \prone{G_0^{\adversary{A}}}. \]
|
\[ \advantage{\curve, n, c, L, \adversary{A}}{\somdl} = \prone{G_0^{\adversary{A}}}. \]
|
||||||
|
|
||||||
\item \paragraph{\underline{$G_1:$}} $G_1$ now replaces the group elements in the challenger with its discrete logarithms. This change is purely conceptual, since the adversary only sees the labels of the group elements and each group element can be uniquely identified by its discrete logarithm. Like in the \sdlog proof the discrete logarithm of a group element is denoted by an integer vector, with each element in the vector representing the discrete logarithm regarding one generator from the generating set. For this reason,
|
\item \paragraph{\underline{$G_1:$}} $G_1$ now replaces the group elements in the challenger with their discrete logarithms. This change is purely conceptual, since the adversary only sees the labels of the group elements, and each group element can be uniquely identified by its discrete logarithm. As in the \sdlog proof, the discrete logarithm of a group element is denoted by an integer vector, where each element in the vector represents the discrete logarithm with respect to a generator from the generating set. For this reason,
|
||||||
|
|
||||||
\[ \prone{G_0^{\adversary{A}}} = \prone{G_1^{\adversary{A}}}. \]
|
\[ \prone{G_0^{\adversary{A}}} = \prone{G_1^{\adversary{A}}}. \]
|
||||||
|
|
||||||
\item \paragraph{\underline{$G_2:$}} $G_2$ replaces the blue boxes with the red ones. This change regards the discrete logarithm of the group elements in the prime order subgroup. The discrete logarithm is now represented as a multivariate polynomial. Each indeterminant of the polynomial represents the discrete logarithm of one of the group elements in the challenge to the adversary. The discrete logarithm of group element in the challenge to the adversary is then instantiated with the indeterminant representing the discrete logarithm of that challenge, instead of the discrete logarithm itself. This change is only conceptual, since the polynomials are evaluated, with the discrete logarithm vector of the group elements in the challenge, before being compared in the Enc procedure. Hence,
|
\item \paragraph{\underline{$G_2:$}} $G_2$ replaces the blue boxes with the red ones. This change affects the discrete logarithm of the group elements in the prime order subgroup. The discrete logarithm is now represented as a multivariate polynomial. Each indeterminate of the polynomial represents the discrete logarithm of one of the group elements in the challenge to the adversary. The discrete logarithm of the group element in the challenge to the adversary is then instantiated with the indeterminate representing the discrete logarithm of that challenge, instead of the discrete logarithm itself. This change is only conceptual, since the polynomials are evaluated, with the discrete logarithm vector of the group elements in the challenge, before being compared in the Enc procedure. Hence,
|
||||||
|
|
||||||
\[ \prone{G_1^{\adversary{A}}} = \prone{G_2^{\adversary{A}}}. \]
|
\[ \prone{G_1^{\adversary{A}}} = \prone{G_2^{\adversary{A}}}. \]
|
||||||
|
|
||||||
\item \paragraph{\underline{$G_3:$}} $G_3$ also introduces the $bad_1$ flag in the DL query. Without loss of generality the following explanation assumes that the adversary queries the DL oracle with input $j = N$. Each polynomial, generated by the challenger, is a linear multivariate polynomial of degree one. This is due to the fact that the challenger starts with linear multivariate polynomials of degree one in $\field{L}[Z_1, ..., Z_N]$ and only adds them to generate new polynomials. This means that each polynomial $P_i \in \field{L}[Z_1,...,Z_N]$, generated by the challenger, can be split into two polynomials $R_i \in \field{L}[Z_1,...,Z_{N-1}], S_i \in \field{L}[Z_N]$ so that $P_i = R_i + S_i$, simply by distributing the monials between the polynomials $R_i$ and $S_i$. Now the polynomial $P_i$ can be partially evaluated by setting $P_i = R_i(\overset{\rightharpoonup}{a}) + S_i$. For the simulation to be correct, when replacing the polynomial $P_i$ with $R_i(\overset{\rightharpoonup}{a}) + S_i$, it has to be ensured that distinct polynomials stay distinct after being partially evaluated. To ensure this it has to be checked that no two distinct polynomials $R_i, R_j$ result in the same value, when evaluated with $\overset{\rightharpoonup}{a}$. In the case of this happening the $bad_1$ flag is set to true. Afterward, each generated polynomial is partially evaluated as described and the table $\sum$, which stores the association between group elements and lables, is updated to reflect this partial evaluation as well. From now on each polynomial used by the challenger is in $\field{L}[Z_N]$. This change is purely conceptual, since the polynomials still get fully evaluated before being compared in the Enc procedure. Therefore,
|
\item \paragraph{\underline{$G_3:$}} $G_3$ also introduces the $bad_1$ flag in the DL query. Without loss of generality the following explanation assumes that the adversary queries the DL oracle with input $j = N$. Each polynomial, generated by the challenger, is a linear multivariate polynomial of degree one. This is due to the fact that the challenger starts with linear multivariate polynomials of degree one in $\field{L}[Z_1, ..., Z_N]$ and only adds them to generate new polynomials. This means that each polynomial $P_i \in \field{L}[Z_1,...,Z_N]$, generated by the challenger, can be split into two polynomials $R_i \in \field{L}[Z_1,...,Z_{N-1}], S_i \in \field{L}[Z_N]$ so that $P_i = R_i + S_i$, simply by distributing the monials between the polynomials $R_i$ and $S_i$. Now the polynomial $P_i$ can be partially evaluated by setting $P_i = R_i(\overset{\rightharpoonup}{a}) + S_i$. For the simulation to be correct, when replacing the polynomial $P_i$ with $R_i(\overset{\rightharpoonup}{a}) + S_i$, it has to be ensured that distinct polynomials stay distinct after being partially evaluated. To ensure this, it is necessary to check that no two distinct polynomials $R_i, R_j$ result in the same value when evaluated with $\overset{\rightharpoonup}{a}$. In the case of this happening the $bad_1$ flag is set to true. Afterward, each generated polynomial is partially evaluated as described and the table $\sum$, which stores the association between group elements and lables, is updated to reflect this partial evaluation as well. From now on, each polynomial used by the challenger is in $\field{L}[Z_N]$. This change is purely conceptual, since the polynomials still get fully evaluated before being compared in the Enc procedure. Therefore,
|
||||||
|
|
||||||
\[ \prone{G_2^{\adversary{A}}} = \prone{G_3^{\adversary{A}}} \]
|
\[ \prone{G_2^{\adversary{A}}} = \prone{G_3^{\adversary{A}}} \]
|
||||||
|
|
||||||
@@ -228,9 +228,9 @@ This section provides a lower bound on the hardness of the modified version one-
|
|||||||
|
|
||||||
\[ \prone{G_4^{\adversary{A}}} = \prone{G_5^{\adversary{A}}}. \]
|
\[ \prone{G_4^{\adversary{A}}} = \prone{G_5^{\adversary{A}}}. \]
|
||||||
|
|
||||||
\item \paragraph{\underline{$G_6:$}} $G_6$ aborts if the $bad_2$ flag is set. The $bad_2$ flag is set if any two distinct polynomials evaluate to the same value, when evaluated with the vector of discrete logarithms. There are two cases. The first case is that the adversary queried the DL oracle. The second case is that the adversary did not queried the DL oracle.
|
\item \paragraph{\underline{$G_6:$}} $G_6$ aborts if the $bad_2$ flag is set. The $bad_2$ flag is set if any two distinct polynomials evaluate to the same value, when evaluated with the vector of discrete logarithms. There are two cases. The first case is that the adversary has queried the DL oracle. The second case is that the adversary did not queried the DL oracle.
|
||||||
|
|
||||||
In the first case the adversary got the discrete logarithms of all but one challenge. Without loss of generality it is assumed that the adversary got the discrete logarithm of all but the $N$th group element. In this case all polynomials in $\pset{P}$ are in $\field{L}[Z_N]$, since at the time of DL query all polynomials, generated up to this point, are partially evaluated and are in $\field{Z}[Z_N]$. All polynomials that are generated after that point are generated by the addition of the existing polynomials and are therefore also in $\field{L}[Z_N]$. In this case the Schwartz-Zippel lemma can be applied since the adversary has no information on the remaining discrete logarithm. This is the same scenario as in the \sdlog proof.
|
In the first case the adversary got the discrete logarithms of all but one challenge. Without loss of generality it is assumed that the adversary got the discrete logarithm of all but the $N$th group element. In this case all polynomials in $\pset{P}$ are in $\field{L}[Z_N]$, since at the time of the DL query all polynomials, generated up to this point, are partially evaluated and are in $\field{Z}[Z_N]$. All polynomials that are generated after this point are generated by the addition of the existing polynomials and are therefore also in $\field{L}[Z_N]$. In this case the Schwartz-Zippel lemma can be applied since the adversary has no information on the remaining discrete logarithm. This is the same scenario as in the \sdlog proof.
|
||||||
|
|
||||||
In the case where the adversary did not queried the DL oracle the adversary has no information on any of the discrete logarithms. All polynomials in $\pset{P}$ are in $\field{Z}[N_1, ..., Z_N]$. In this case the Schwartz-Zippel lemma can be applied, since the all discrete logarithms are chosen uniformly at random and the adversary has no information on them.
|
In the case where the adversary did not queried the DL oracle the adversary has no information on any of the discrete logarithms. All polynomials in $\pset{P}$ are in $\field{Z}[N_1, ..., Z_N]$. In this case the Schwartz-Zippel lemma can be applied, since the all discrete logarithms are chosen uniformly at random and the adversary has no information on them.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user