12.09.2021 Open Access
Attacking the linear congruential generator on elliptic curves via lattice techniques
 Zeitschrift:
 Cryptography and Communications
Wichtige Hinweise
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
1 Introduction
A PseudoRandom Bit Generator(PRBG) is a deterministic algorithm that, once initialized with some random value (called the seed), outputs a sequence that appears random, in the sense that an observer who does not know the value of the seed cannot distinguish the output from that of a (true) random bit generator. PRBG’s have important applications on simulations (e.g. for the Monte Carlo method), electronic games (e.g. for procedural generation), and cryptography. Good statistical properties are a vital requirement for the output of a PRBG. Cryptographic applications require the output not to be predictable from earlier outputs, and more elaborate algorithms, which do not inherit the linearity of simpler PRBGs, are needed.
There is a vast literature devoted to generating pseudorandom numbers using arithmetic of finite field and residue rings, see [
33,
37,
38,
45]. In 1994, Hallgreen [
21] proposed a pseudorandom number generator based on the group of points of an elliptic curve defined over a prime finite field.
Anzeige
For a prime
p, denote by
\(\mathbb {F}_{p}\) the field of
p elements and always assume that it is represented by the set {0,1,…,
p − 1}. Accordingly, sometimes, where obvious, we treat elements of
\(\mathbb {F}_{p}\) as integer numbers in the above range.
Let
E be an elliptic curve defined over
\(\mathbb {F}_{p}\) given by an
affine Weierstrass equation, which for
\(\gcd (p,6)=1\) takes form
for some
\(a,b \in \mathbb {F}_{p}\) with 4
a
^{3} + 27
b
^{2}≠ 0.
$$ Y^{2}=X^{3}+aX+b, $$
(1)
We recall that the set
\(E(\mathbb {F}_{p})\) of
\(\mathbb {F}_{p}\)rational points forms an abelian group, with the
point at infinity
\(\mathcal {O}\) as the neutral element of this group (which does not have affine coordinates).
For a given point
\(G \in E(\mathbb {F}_{p})\) the
Linear Congruential Generator on Elliptic Curves, ECLCG is a sequence
U
_{n} of pseudorandom numbers defined by the relation
where ⊕ denotes the group operation in
\(E(\mathbb {F}_{p})\) and
\(U_{0} \in E(\mathbb {F}_{p})\) is the
initial value or
seed. We refer to
G as the
composer of the ECLCG.
$$ U_{n}=U_{n1}\oplus G=nG\oplus U_{0}, \quad n=1,2,\ldots, $$
(2)
Anzeige
It is clear that the period of the sequence (
2) is equal to the order of
G. The ECLCG provides a very attractive alternative to linear and nonlinear congruential generators with many applications to cryptography and it has been extensively studied in the literature, see [
3,
12,
17,
18,
21,
22,
34,
35,
39,
40].
In the cryptographic setting, the initial value
U
_{0} = (
x
_{0},
y
_{0}) and the constants
G,
a, and
b are assumed to be the secret key, and we want to use the output of the generator as ephemeral key of a stream cipher. Of course, if two consecutive values
U
_{n} are revealed, it is almost always easy to find
U
_{0} and
G. So, we output only the most significant bits of each
U
_{n} in the hope that this makes the resulting output sequence difficult to predict.
It is known that not too many bits can be output at each stage: the ECLCG is unfortunately predictable if sufficiently many bits of its consecutive elements are revealed, see [
20,
31,
32].
Now, we are formalising the results. Assume that the sequence (
U
_{n}) is not known, but for some
n, approximations
W
_{j} of two consecutive values
U
_{n+j},
j = 0,1 are given. The results involve another parameter Δ which measures how well the values
W
_{j} approximate the terms
U
_{n+j}. This parameter is assumed to vary independently of
p subject to satisfying the inequality Δ <
p (and is not involved in the complexity estimates of our algorithms). More precisely, we say that
\(W=(x_{W},y_{W}){\in {\mathbb {F}}_{p}^{2}}\) is a Δapproximation to
\(U=(x_{U},y_{U}){\in \mathbb {F}_{p}^{2}}\) if there exist integers
e,
f satisfying:
$$e,f\leq{\Delta},\ x_{W}+ e=x_{U},\ y_{W}+ f=y_{U}.$$
In general, we say that
\(W=(\alpha _{1},\alpha _{2},\ldots ,\alpha _{n}) {\in \mathbb {F}_{p}^{n}}\) is a Δapproximation to
\(U=(x_{1},x_{2},\ldots ,x_{n}) {\in \mathbb {F}_{p}^{n}}\) if there exist integers
𝜖
_{i}, (
i = 1,…,
n) satisfying:
The case where Δ grows like a fixed power
p
^{δ} where 0 <
δ < 1 corresponds to the situation where a positive proportion
δ of the least significant bits of terms of the output sequence remain hidden. The goal is to get
δ as much larger as possible, recovering the rest of the bits in polynomial time.
$$\epsilon_{i} \leq{\Delta},\ \alpha_{i}+ \epsilon_{i}=x_{i}, \quad i=1,\ldots,n.$$
The problem is a particular case of the following computational problem: given
f
_{1}(
X
_{1},…,
X
_{n}),…,
f
_{s}(
X
_{1},…,
X
_{n}) irreducible multivariate polynomials defined over the integer ring
\({\mathbb {Z}}\), having a common root (
x
_{1},…,
x
_{n}) modulo a known integer
N, namely,
$$f_{i}(x_{1},\ldots,x_{n}) \equiv 0 \bmod N, \quad i=1,\ldots,s.$$
The root should be
small root, in the sense that each
x
_{i} is bounded by a known value Δ. We require to bound the sizes of Δ allowing to recover the desired root in polynomial time. For polynomial in one variable an algorithm has been given by Coppersmith in [
9]. For bivariate polynomials does exist different methods in [
6,
10,
11,
16] and, for general multivariate polynomials in [
16,
24]. All of them are based on the so called lattice reduction techniques, also called the LLL techniques, because the celebrated LLL algorithm of Lenstra, Lenstra and Lovász [
30]. However in the general case only heuristic results are known, which are just generalization of the original result by Coppersmith.
An algorithm to recover the seed
U
_{0} in deterministic polynomial time if Δ <
p
^{1/6}, requiring compute a closest vector of a lattice of dimension 8 and coefficients size
\(\log p\) is presented in [
20]. The recent results [
31,
32] recover ‘heuristically’ the seed
U
_{0} if Δ <
p
^{1/5}. The heuristic method, since there is no guarantee of success, may fail by several reason, among them the difficulty of finding a short vector in a high dimensional lattice. Since the number of the monomials is quite large; those results does not imply practical attacks, since the naive application of Coppersmith method is impractical for high dimensional lattice.
The computation which is theoretically polynomialtime becomes in practice prohibitive, for instance and according to [
32], if the quality is 0.187 < 0.2 = 1/5 requires 188 polynomials and 314 monomials, so the lattice dimension is 502.
In this paper, we prove a deterministic algorithm to recover the seed
U
_{0} in polynomial time if Δ <
p
^{1/6}, requiring compute a closest vector of a lattice of dimension 5. Previous result in [
20] required a lattice of dimension 8.
We also provide an heuristic method to recovering
U
_{0} if
\({\Delta } < p^{\frac {k1}{4k2}}\), requiring compute a closest vector for a lattice of dimension 3
k − 1, when
k > 2 consecutive Δ −approximations to points
U
_{i}, (0,…,
k − 1) of the curve
E are given. A similar result is also presented in [
31,
32] with a theoretical better bound
\({\Delta } < p^{\frac {3k}{11k+4}}\), but again requiring computing LLL’s algorithm for a lattice of huge dimension. In fact, there is no practical way of testing their methods, not only because the lattice large dimension used, but the size of the prime
p should be several hundreds of bits. On the other hand, for instance, we can recover the sequence produced by ECLCG if only three consecutive Δ −approximations are given as soon as Δ <
p
^{1/5} requiring, the most time consuming, to find a closest vector for a lattice of dimension 7, and it matched by primes
p of only 1000 bits.
In principle, we cannot obtain any approximation to composer
G from any approximations to two consecutive values
U
_{n},
U
_{n+ 1} of the ECLCG, because the elliptic curve group operation. We also rigorously demonstrate our approach in the special case when we have an approximation to composer
G; we show that given Δ if sufficiently many of the most significant bits of
G and of three consecutive values
U
_{n},
U
_{n+ 1},
U
_{n+ 2} of the ECLCG are given, one can recover the seed
U
_{0} and the composer
G as soon as
O(Δ) <
p
^{1/6} requiring compute two closest vector for two lattices of dimension 7. And heuristic algorithm if
O(Δ) <
p
^{5/12} by computing a short vector for a lattice of dimension 9. Finally, we obtain an heuristic method to recovering the whole sequence if
\({\Delta } < p^{\frac {k1}{5k4}}\), by computing a closest vector of a certain lattice of dimension 4
k − 3 when
k > 2 consecutive Δ −approximations to points
U
_{i}, (0,…,
k − 1) of the curve
E and an Δ −approximation to composer
G are given.
This suggests that for cryptographic applications ECLCG should be used with great care. For the
linear congruential generator similar problems have been introduced by Knuth [
26] and then considered in [
7,
13,
23,
27]; see also the surveys [
8,
28]. The
quadratic congruential generator and the
inverse congruential generator have been studied in [
4] and [
15], see also the recent paper [
44] for a more general problem
On the other hand, our results are substantially weaker than those known for the linear and nonlinear congruential generators.
The remainder of the paper is structured as follows. We start with a very short outline of some basic facts about the Closest Vector Problem (CVP), and the polynomial equations associated to the elliptic curve abelian group in Section
2. In Section
3 we attack the ECLCG when the composer
G is known. Section
4 is dedicated to study the case when the composer
G is private. Then in Section
5 we discuss the results of numerical tests of pour approaches. We conclude with Section
6, which makes some final comments and poses open questions.
Throughout the paper, we use the convention that the parameters on which the implied constant in a Landau symbol
O are written in the subscript of
O. A symbol
O without a subscript indicates and absolute implied constant.
2 Preliminaries
2.1 Closest vector problem in lattices
Here we review some results and definitions concerning the Closest Vector Problem, all of which can be found in [
19]. For more details and more recent references, we recommend consulting [
23].
Let {
b
_{1},…,
b
_{s}} be a set of linearly independent vectors in
\({\mathbb {R}}^{r}\). The set
is an
sdimensional lattice with
basis {
b
_{1},…,
b
_{s}}. If
s =
r, the lattice
\({\mathscr{L}}\) is of
full rank.
$$ \mathcal{L}=\{c_{1}\textbf{b}_{1}+\cdots+ c_{s}\textbf{b}_{s}\ \ c_{1}, \ldots, c_{s}\in\mathbb{Z}\} $$
One basic lattice problem is the
Closest Vector Problem (CVP): given a basis of a lattice
\({\mathscr{L}}\) in
\(\mathbb {R}^{s}\) and a shift vector
t in
\(\mathbb {R}^{s}\), the goal is finding a vector in the lattice
\({{\mathscr{L}}}\) closest to the target vector
t. It is well known that this problem is
NPhard when the dimension grows. However, it is solvable in deterministic polynomial time provided that the dimension of
\({{\mathscr{L}}}\) is fixed (see [
25], for example).
In fact, lattices in this paper consist of integer solutions:
\(\textbf x=(x_{0},\ldots ,x_{s1})\in ~\mathbb {Z}^{s}\) of a system of congruences
modulo some positive integers
q
_{1},…,
q
_{m}. Typically (although not always) the volume of such a lattice is the product
Q =
q
_{1}⋯
q
_{m}. Moreover, all the aforementioned algorithms, when applied to such a lattice, become polynomial in
\(\log Q\). If
t
e
x
t
b
f
b
_{1},…,
b
_{s}} is a basis of the above lattice, by the Hadamard inequality we have:
$$ \sum\limits_{i=0}^{s1} a_{ij} x_{i} \equiv 0 \bmod {q_{j}}, \qquad j = 1, \ldots, m, $$
$$ \prod\limits_{i=1}^{s} \\textbf{b}_{i}\\geq\text{vol}({\mathcal{L}}). $$
(3)
For a slightly weaker task of finding a sufficiently close vector, the celebrated
LLL algorithm of Lenstra, Lenstra and Lovász [
30] provides a desirable solution, as noticed by [
2], that is, a polynomial time algorithm in the bit size coefficients of the lattice basis and also of the lattice dimension. Here, we state this result as Lemma 1.
Lemma 1
There exists a deterministic polynomial time algorithm which, when given an
sdimensional full rank lattice
\({\mathscr{L}}\) and a shift vector
t, finds a lattice vector
\(\textbf {u}\in {\mathscr{L}}\) satisfying the inequality
$$ \\textbf{t}\textbf{u}\\le 2^{s/2}\min\{\\textbf{t}\textbf{v}\:\ \textbf{v}\in\mathcal{L}\}. $$
An outline of the algorithms presented in this paper goes as follows. They are divided into two stages.

Stage 1: We construct a certain lattice \({{\mathscr{L}}}\) of dimension s; this lattice depends on the given approximations. We also show that a certain vector E directly related to missing information is a very short vector. A closest vector F is found; see [ 25] for fixed dimension and Lemma 1 the approximation solution for arbitrary dimension.

Stage 2: We show that F provides the required information about E if the approximation is good enough.
2.2 The polynomial equation of the group associated to an elliptic curve
The operation ⊕ acts over the points
P = (
x
_{P},
y
_{P}) and
Q = (
x
_{Q},
y
_{Q}) of
\(E(\mathbb {F}_{p})\) with
\(P, Q \not = \mathcal {O}\) as follows:
$$P \oplus Q =R=(x_{R},y_{R})$$

If x _{P}≠ x _{Q}, then$$ \begin{array}{cc} x_{R}=m^{2}x_{P}x_{Q}, \qquad &y_{R}=m(x_{P}x_{R})y_{P}, \\ &\text{~where}\qquad m =\frac{y_{Q}y_{P}}{x_{Q}x_{P}}. \end{array} $$(4)

If x _{P} = x _{Q} but y _{P}≠ y _{Q}, then \(P \oplus Q =\mathcal {O}\).

If P = Q and y _{P}≠ 0, then$$ \begin{array}{ll} x_{R}=m^{2}2x_{P}, \qquad &y_{R}=m(x_{P}x_{R})y_{P}, \\ &~~\text{where}\quad m =\frac{3{x_{P}^{2}}+a}{2y_{P}}. \end{array} $$(5)

If P = Q and y _{P} = 0, then \(P \oplus Q =\mathcal {O}\).
Our context is a pseudorandom bit generator which outputs affine points in an elliptic curve. One obtains recursively them by operating a fixed composer
G to the previous value. So, almost always, the above equations in the first case (
4) will determine the process.
If
P is not
Q or −
Q, then, clearing denominators in (
4), we can translate
P ⊕
Q =
R into the following identities in the field
\(\mathbb {F}_{p}\):
and
where
$$L_{1}=L_{1}(x_{Q},y_{Q},x_{P},y_{P},x_{R})\equiv 0 \bmod p$$
$$L_{2}=L_{2}(x_{Q},y_{Q}, x_{P},y_{P},x_{R},y_{R}) \equiv 0 \bmod p,$$
$$ \begin{array}{ll} L_{1}={x_{{Q}}}^{3}+x_{{R}}{x_{{Q}}}^{2}x_{{P}}{x_{{Q}}}^{2}2 x_{{R}}x_{{ Q}}x_{{P}}x_{{Q}}{x_{{P}}}^{2}\\+{x_{{P}}}^{3}+2y_{{Q}}y_{{P}}+x_{{R} }{x_{{P}}}^{2}{y_{{Q}}}^{2}{y_{{P}}}^{2}, \\ L_{2}= y_{{R}}x_{{Q}}y_{{R}}x_{{P}}y_{{Q}}x_{{P}}+y_{{Q}}x_{{R}}y_{{P}}x_{ {R}}+y_{{P}}x_{{Q}}. \end{array} $$
(6)
Lemma 2
Let
L
_{1}(
X
_{Q},
Y
_{Q},
X
_{P},
Y
_{P},
X
_{R}),
L
_{2}(
X
_{Q},
Y
_{Q},
X
_{P},
Y
_{P},
X
_{R},
Y
_{R}) be elements of the polynomial ring
\(\mathbb {F}_{p}[X_{Q},Y_{Q},X_{P},Y_{P},X_{R},Y_{R}]\) and let
U,
V,
W be algebraically independent variables.
1.
Let Φ be the linear transformation:
we have Φ(
L
_{1}) = 3
X
_{P}
U
^{2} +
U
^{3} +
U
^{2}
W −
V
^{2}.
$$(X_{P} \to X_{P}, Y_{P}\to Y_{P}, X_{Q}\to X_{P}+U, Y_{Q} \to Y_{P} +V, X_{R} \to X_{P} +W)$$
2.
$$ L_{1}(X_{Q},Y_{Q}+U,X_{P}, Y_{P}+U, X_{R}) = L_{1}(X_{Q},Y_{Q},X_{P},Y_{P},X_{R})$$
$$ L_{2}(X_{Q}+U,Y_{Q},X_{P}+U, Y_{P}, X_{R}+U, Y_{R}) = L_{2}(X_{Q},Y_{Q},X_{P},Y_{P},X_{R},Y_{R})$$
Proof
It is straightforward. □
On the other hand, since
P = (
x
_{P},
y
_{P}),
Q = (
x
_{Q},
y
_{Q}) and
R = (
x
_{R},
y
_{R}) are points of the elliptic curve
E, we have:
Eliminating the curve parameters
a,
b and assuming that
x
_{P}≠
x
_{R}, we obtain the following polynomial
\(L_{3} \in \mathbb {F}_{p}[X_{Q},Y_{Q},X_{P},Y_{P},X_{R},Y_{R}]\)
verifying
L
_{3}(
x
_{Q},
y
_{Q},
x
_{P},
y
_{Q},
x
_{R},
y
_{R}) ≡ 0 mod
p. Now, we consider the linear map Θ :
where degree of
\(A\in \mathbb {F}_{p}[X_{Q},Y_{Q},X_{P},Y_{P},X_{R},Y_{R}, U,V] \) with respect the variable
Y
_{P} is zero.
$$ \begin{array}{ll} {y_{P}^{2}}={x_{P}^{3}}+ax_{P}+b, \\ {y_{Q}^{2}}={x_{Q}^{3}}+ax_{Q}+b, \\ {y_{R}^{2}}={x_{R}^{3}}+ax_{R}+b. \end{array} $$
$$ \begin{array}{ll} L_{3}= {X_{R}^{3}} X_{P} + {X_{R}^{3}} X_{Q} + X_{R} {X_{P}^{3}}  X_{R} {Y_{P}^{2}}  X_{R} {X_{Q}^{3}} + X_{R} {Y_{Q}^{2}} \\+ {Y_{R}^{2}} X_{P}  {Y_{R}^{2}} X_{Q}  {X_{P}^{3}} X_{Q} + X_{P} {X_{Q}^{3}}  X_{P} {Y_{Q}^{2}} + {Y_{P}^{2}} X_{Q} \end{array} $$
(7)
$$(X_{Q} \to X_{Q}, Y_{Q}\to Y_{P}+U, X_{P}\to X_{P}, Y_{P} \to Y_{P}, X_{R} \to X_{R}, Y_{R}\to Y_{P}+V)$$
$$ \begin{array}{ll} {\Theta}(L_{3})= [2U(X_{Q}X_{P})+2V(X_{R}X_{P})]Y_{P}+A \end{array} $$
(8)
3 Predicting ECLCG for Known composer
Assume that
a,
b are unknown, but the prime
p is given to us. In [
20] shows that when we are given Δapproximations
W
_{n},
W
_{n+ 1} to (respectively) two consecutive affine values
U
_{n},
U
_{n+ 1} produced by the ECLCG; we can recover the exact values, provided that
x
_{0} does not lie in a certain set, whose size is bounded by
O(Δ
^{6}). Note that once two affine points in a curve as (
1) are given, such that their first component is different, the curve (the parameters
a and
b) are determined. Then, after discovering the values
U
_{n} and
U
_{n+ 1}, we can reproduce (backwards and forwards) the whole sequence. To simplify the notation, we assume that
n = 0 from now on.
We write
W
_{j} = (
α
_{j},β
_{j}),
U
_{j} = (
x
_{j},
y
_{j}), for
j = 0,1; so there exist integers
e
_{j},
f
_{j} for j = 0, 1 with:
$$ \begin{array}{ll} x_{j}=\alpha_{j}+{e_{j}},\quad y_{j}={\upbeta}_{j}+ {f_{j}}\\ e_{j}, f_{j} \le {\Delta}, \quad j=0, 1. \end{array} $$
(9)
Theorem 1
[
20] With the above notations and definitions, there exists a set
\(\mathcal {U}({\Delta };a,x_{G},\)
\(y_{G})\subseteq \mathbb {F}_{p}\) of cardinality
\(\# \mathcal {U}({\Delta };a,x_{G},y_{G}) = O({\Delta }^{6})\) with the following property: whenever
\(x_{0} \not \in \mathcal {U} ({\Delta };a,x_{G},y_{G})\) then, given Δ −approximations
W
_{0},
W
_{1} to two consecutive affine values
U
_{0},
U
_{1} produced by linear congruential generator on elliptic curves (
2), and given the prime
p one can recover the seed
U
_{0} in deterministic polynomial time.
The proof of this result in [
20], the ‘bad’ set of values
\(\mathcal {U}({\Delta };a,x_{G},y_{G})\) for the components
x
_{0} is described, proving whenever that value lies outside the set, the algorithm works correctly. Furthermore, the size of the set is asymptotically bounded with Δ
^{6}. This means that if Δ =
o(
p
^{1/6}) and
p is large enough, assuming an uniform distribution of probabilities for
\(x_{0} \in {\mathbb {F}}_{p}\), the method is unlikely to fail.
The proof in [
20] requires the two polynomials
L
_{1} and
L
_{2} of (
6) and 8 monomials, so the involved lattice has dimension 8. Here, we use only the polynomial
L
_{2} of (
6), then the corresponding lattice dimension is only 5. The present proof is a simple observation of the same strategy, we have included here a significant part of the details for the reader convenience.
Proof
We assume that
\(x_{0} \in \mathbb {F}_{p}\) is chosen so as not to lie in a certain subset
\(\mathcal {U}({\Delta };a,x_{G},y_{G})\) of
\(\mathbb {F}_{p}\) We place the value
\(x_{G}\in \mathcal {U}({\Delta };a,x_{G},y_{G})\), so that
U
_{0} is not
G or −
G. Then, clearing denominators in (
4),
we obtain
$$ U_{1}=U_{0}\oplus G $$
(10)
$$L_{2}(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) \equiv 0 \bmod p,$$
Using the equalities
x
_{j} =
α
_{j} +
e
_{j} and
y
_{j} = β
_{j} +
f
_{j} for
j = 0,1, the polynomial
L
_{2} of (
6) become:
\( \left ({\upbeta }_{1}y_{G}\right )e_{0}+\left (x_{G}\alpha _{1}\right )f_{0}+\left (y_{G}{\upbeta }_{0}\right )e_{1}+\left (x_{G}\alpha _{0}\right )f_{1}[e_{0}f_{1}+e_{1}f_{0}] =\)
$${\upbeta}_{1}\alpha_{0}x_{G}{\upbeta}_{1}+y_{G}\alpha_{0}y_{G}\alpha_{1}+{\upbeta}_{0}\alpha_{1}x_{G}{\upbeta}_{0}.$$
Now, we linearize this polynomial system. Writing
$$ \begin{array}{ll} B_{0} \equiv {\upbeta}_{1}\alpha_{0}x_{G}{\upbeta}_{1}+y_{G}\alpha_{0}y_{G}\alpha_{1}+{\upbeta}_{0}\alpha_{1}x_{G}{\upbeta}_{0} \bmod p,\\ B_{1} \equiv {\upbeta}_{{1}}y_{{G}} \bmod p, \quad B_{2} \equiv x_{{G}}\alpha_{{1}} \bmod p, \\ B_{3} \equiv y_{{G}}{\upbeta}_{{0}} \bmod p, \quad B_{4} \equiv x_{{G}}\alpha_{{0}} \bmod p, \\ B_{5} \equiv 1 \bmod p. \end{array} $$
(11)
is it easy to check that the vector
is a solution to the following linear system of congruences:
$$E=({\Delta} e_{0}, {\Delta} f_{0}, {\Delta} e_{1}, {\Delta} f_{1}, e_{1}f_{0}+e_{0}f_{1})=$$
$$({\Delta} E_{1}, {\Delta} E_{2}, {\Delta} E_{3}, {\Delta} E_{4}, E_{5})$$
$$ \begin{array}{ll} {\sum}_{i = 1}^{4} B_{i}X_{i} + {\Delta} B_{5} \equiv {\Delta} B_{0} \bmod p, \\ X_{1} \equiv X_{2} \equiv X_{3} \equiv X_{4} & \equiv 0 \bmod {\Delta} \end{array} $$
(12)
Moreover, bounds (
9) implies
E is a relatively short vector. We have:
$$ E_{i}\le{\Delta},i=1,2,3,4, \ E_{5}\le2{\Delta}^{2};\ \\textbf E\\leq\sqrt{8}{\Delta}^{2}. $$
(13)
Let
\({{\mathscr{L}}}\) be the lattice consisting of integer solutions
\(\textbf {X}=(X_{1},X_{2},\ldots ,X_{5})\in {\mathbb {Z}}^{5}\) of the system of congruences:
$$ \begin{array}{@{}rcl@{}} \sum\limits_{i = 1}^{4} B_{i}X_{i} +B_{5}X_{5} \equiv 0 \bmod p, \\ X_{1} \equiv X_{2} \equiv X_{3} \equiv X_{4} & \equiv 0 \bmod {\Delta}. \end{array} $$
(14)
We compute a solution
T of the system of congruences (
12), using linear diophantine equations methods. Applying an algorithm solving the CVP for the shift vector
T and the lattice (
14), we obtain a vector
We have
F =
v +
T (where
v is the lattice vector returned by the CVP algorithm) is the vector of minimal norm satisfying (
12), hence
F must have norm at most equal to the norm of the solution
E. Using the bounds (
13), we get:
$$\textbf F = ({\Delta} F_{1}, {\Delta} F_{2}, {\Delta} F_{3}, {\Delta} F_{4}, F_{5}).$$
$$ \ \textbf F \ \le \sqrt{8}{\Delta}^{2}. $$
(15)
Note that we can compute
F in polynomial time from the information we are given. We might hope that
E and
F are the same, or at least, that we can recover the approximations errors from
F. If not, we will show that
x
_{0} belongs to a subset
\(\mathcal {U}({\Delta };a,x_{G},y_{G}) \subseteq \mathbb {F}_{p}\) of cardinality
\(\# \mathcal {U}({\Delta };a,x_{G},y_{G}) = O({\Delta }^{6})\). Vector
D =
E −
F lies in
\({{\mathscr{L}}}\):
$$\textbf D = ({\Delta} D_{1}, {\Delta} D_{2}, {\Delta} D_{3}, {\Delta} D_{4}, D_{5}), \quad D_{i}=E_{i}F_{i}, i=1,\ldots, 5. $$
We now present some heuristic arguments showing that Theorem 1 could possibly be strengthened so that it becomes nontrivial when the precision Δ is of the order of
p
^{1/4} rather than of order
p
^{1/6} as currently.
The heuristic that we use is of a totally different nature than that used in the so called Coppersmith’s method, where the heuristic assumption is that all created polynomials define a zero dimension algebraic variety. Here, we use the socalled “Gaussian heuristic” that suggests that and
sdimensional lattice
\({\mathscr{L}}\) with volume
\(vol({\mathscr{L}})\) is unlikely to have a nonzero vector which is substantially shorter than
\(vol({\mathscr{L}})^{1/s}\). Moreover, if it is known that such a very short vector does exist, then up to a scalar factor it is likely to be the only vector with this property.
Let us formalise the problem. Again, we assume that
a,
b are unknown, but the prime
p is given to us. Suppose that we are given
k ≥ 2 consecutive Δ −approximations
W
_{j} = (
α
_{j},β
_{j}) to
\(U_{j} =(x_{j},y_{j}) \in E({\mathbb {F}}_{p})\) (
j = 0,…,
k − 1), produced by the ECLCG, so there exist integers
e
_{j},
f
_{j} with:
$$ \begin{array}{ll} x_{j}=\alpha_{j}+{e_{j}},\quad y_{j}={\upbeta}_{j}+ {f_{j}}\\ e_{j}, f_{j} \le {\Delta}, \quad j=0, \ldots,k1 \end{array} $$
(16)
Theorem 2
With above notation, under the ‘Gaussian heuristic’ we can recovering the seed
U
_{0} in polynomial time in
\(\log p\) as soon as
\({\Delta } < p^{\frac {k1}{4k2}}\) by computing a closest vector of a certain lattice of dimension 3
k − 1.
Proof
As in the previous Theorem 1 we use only the polynomial
L
_{2} in (
6) for a pair of points (
U
_{j},
U
_{j+ 1}) for
j = 0,…,
k − 2. Again, we translate
U
_{j+ 1} =
U
_{j} ⊕
G into a polynomial system of equation:
$$ \begin{array}{ll} L^{(0)}_{2}(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) =L_{2}(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) \equiv 0 \bmod p,\\ L^{(1)}_{2}(x_{G},y_{G}, x_{1},y_{1},x_{2},y_{2})=L_{2}(x_{G},y_{G}, x_{1},y_{1},x_{2},y_{2}) \equiv 0 \bmod p,\\ {\cdots} \\ {\cdots} \\ L^{(k2)}_{2}(x_{G},y_{G}, x_{k2},y_{k2},x_{k1},y_{k1}) = L_{2}(x_{G},y_{G}, x_{k2},y_{k2},x_{k1},y_{k1}) \!\equiv\! 0 \bmod p. \end{array} $$
\( \left ({\upbeta }_{j+1}y_{G}\right )e_{j}+\left (x_{G}\alpha _{j+1}\right )f_{j}+\left (y_{G}{\upbeta }_{j}\right )e_{j+1}+\left (x_{G}\alpha _{j}\right )f_{j+1}[e_{j}f_{j+1}+e_{j+1}f_{j}] =\)
$${\upbeta}_{j+1}\alpha_{j}x_{G}{\upbeta}_{j+1}+y_{G}\alpha_{j}y_{G}\alpha_{j+1}+{\upbeta}_{j}\alpha_{j+1}x_{G}{\upbeta}_{j}.$$
Now, we linearize this polynomial system. Writing, for
j = 0,…,
k − 2 and for
i = 0,…,
k − 1:
$$ \begin{array}{ll} {\Sigma}^{(j)} \equiv {\upbeta}_{j+1}\alpha_{j}x_{G}{\upbeta}_{j+1}+y_{G}\alpha_{j}y_{G}\alpha_{j+1}+{\upbeta}_{j}\alpha_{j+1}x_{G}{\upbeta}_{j} \bmod p, \\ A^{(j)}_{j} \equiv {\upbeta}_{j+1}y_{G} \bmod p, A^{(j)}_{j+1} \equiv y_{{G}}{\upbeta}_{{j}} \bmod p, \\ B^{(j)}_{j+1} \equiv x_{G}\alpha_{j+1} \bmod p, B^{(j)}_{j} \equiv x_{{G}}\alpha_{{j}} \bmod p, \\ A^{(j)}_{i} \equiv 0 \bmod p, B^{(j)}_{i} \equiv 0 \bmod p, \quad i \not=j \lor i \not=j+1,\\ C^{(j)}_{j} \equiv 1 \bmod p, C^{(j)}_{i} \equiv 0 \bmod p, j\not=i. \end{array} $$
we obtain that vector
E =
is a solution to the following linear system of congruences (
j = 0,…,
k − 2):
$$({\Delta} e_{0}, {\Delta} e_{1},\ldots, {\Delta} e_{k1}, {\Delta} f_{0}, {\Delta} f_{1},\ldots, {\Delta} f_{k1},$$
$$ e_{1}f_{0}+e_{0}f_{1}, e_{2}f_{1}+e_{1}f_{2}, \ldots, e_{k1}f_{k2}+e_{k2}f_{k1})$$
$$=({\Delta} E_{1}, \ldots, {\Delta} E_{k}, {\Delta} E_{k+1}, \ldots, {\Delta} E_{2k},E_{2k+1}, \ldots,E_{3k1})$$
$$ \begin{array}{ll} {\sum}_{i = 0}^{k1} A^{(j)}_{i}X_{i} +{\sum}_{i = 0}^{k1} B^{(j)}_{i}Y_{i} + {\sum}_{i=0}^{k1}{\Delta} C^{(j)}_{i}Z_{i} \equiv {\Delta} {\Sigma}^{j} \bmod p, \\ X_{0} \equiv X_{1} \equiv {\ldots} \equiv X_{k1} & \equiv 0 \bmod {\Delta} \\ Y_{0} \equiv Y_{1} \equiv {\ldots} \equiv Y_{k1} & \equiv 0 \bmod {\Delta}. \end{array} $$
(17)
Moreover, bounds (
16) imply
E is a relatively short vector. We have:
$$ \\textbf E\\leq\sqrt{6k6}{\Delta}^{2}. $$
(18)
Let
\({{\mathscr{L}}_{k}}\) be the lattice consisting of integer solutions:
of the system of congruences, (
j = 0,…,
k − 2):
$$(X_{0},\ldots,X_{k1},Y_{0},\ldots, Y_{k1},Z_{0},\ldots,Z_{k1})\in{\mathbb{Z}}^{3k1}$$
$$ \begin{array}{@{}rcl@{}} \sum\limits_{i = 0}^{k1} A^{(j)}_{i}X_{i} +\sum\limits_{i = 0}^{k1} B^{(j)}_{i}Y_{i} + \sum\limits_{i=0}^{k1}{\Delta} C^{(j)}_{i}Z_{i} \equiv 0 \bmod p,\\ X_{0} \equiv X_{1} \equiv {\ldots} \equiv X_{k1} & \equiv 0 \bmod {\Delta} \\ Y_{0} \equiv Y_{1} \equiv {\ldots} \equiv Y_{k1} & \equiv 0 \bmod {\Delta}. \end{array} $$
(19)
We compute a solution
T of the system of congruences (
17), using linear diophantine equations methods. Applying an algorithm solving the CVP for the shift vector
T and the lattice (
19) we obtain a vector
We have
F =
v +
T (where
v is the lattice vector returned by the CVP algorithm) is the vector of minimal norm satisfying (
17), hence
F must have norm at most equal to the norm of the solution
E. Using the bounds (
18), we get:
$$\textbf F = ({\Delta} F_{1}, \ldots, {\Delta} F_{2k},F_{2k+1},\ldots,F_{3k1}).$$
$$ \ \textbf F \ \le \sqrt{6k6}{\Delta}^{2}. $$
(20)
Note that we can compute
F in polynomial time from the information we are given, see Lemma 1. We might hope that
E and
F are the same, or at least, that we can recover the approximations errors from
F. The volume of the lattice (
19) is
p
^{k− 1}Δ
^{2k} (see Section
2.1) Then, using (
20) and
Gaussian heuristic vector
E is likely to be the one founded whenever
\({\Delta }^{2} < p^{\frac {k1}{3k1}}{\Delta }^{\frac {2k}{3k1}}\), this is:
This finishes the proof. □
$${\Delta} < p^{\frac{k1}{4k2}}.$$
This time, we did not provide a rigorous proof to bound the number of possibilities for which this method could fail. We will see in Section
5 that our SageMath implementation certifies the above bound.
The following illustrates the importance of knowledge parameter
a of the elliptic curve (
1).
Remark 1
If three consecutive values of the ECLCG are given, then can eliminated
G from
U
_{0} ⊕
G =
U
_{1} and
U
_{1} ⊕
G =
U
_{2}:
$$U_{2} \oplus U_{0} = 2U_{1}$$
So, given three Δ −approximations to
U
_{0},
U
_{1},
U
_{2} and, assuming that
U
_{0} and
U
_{1} are not
G or −
G and
y
_{0}
y
_{1}≠ 0, clearing denominators in (
4) and (
5) we can translate equation
U
_{2} ⊕
U
_{0} = 2
U
_{1} into two polynomial identities in the field
\({\mathbb {F}}_{p}\), but involving the unknown parameter
a.
4 Predicting ECLCG for unknown composer
In previous section, it has been assumed that the cryptanalyst has access to the composer
G, which places his task in a quite optimistic frame. This section is devoted to the case that the parameter
G is also private. This case is studied in [
20] and also [
32] requiring three approximations, no necessarily consecutive, instead of two. They consider the information given as approximations to arbitrary points in the same elliptic curve, in such a way that they are not taking advantage from the knowledge of the procedure which has generated them. In other words, they provide a method to recover three points lying in an elliptic curve in the form (
1), given corresponding approximations. And then use that method in the frame of an ECLCG and three values partially revealed. Both methods are heuristics. In [
20] requieres a Δ −approximations such that Δ <
p
^{1/46}, a better result is presented in [
31,
32], which requieres Δ <
p
^{1/24}. Both methods are looking for small roots of polynomial (
7)
\(L_{3} \in {\mathbb {F}}_{p}[X_{Q},Y_{Q},X_{P},Y_{P},X_{R},Y_{R}]\).
We assume that approximations to the coordinates of
\(G =(x_{G},y_{G}) \in E(\mathbb {F}_{p})\) and also
W
_{n},
W
_{n+ 1} to (respectively) two consecutive affine values
U
_{n},
U
_{n+ 1} produced by the ECLCG; we are trying to recover the exact values, provided that the approximations are good enough.
We write
\(\bar {G}=(\gamma _{x},\gamma _{y})\) and
W
_{j} = (
α
_{j},β
_{j}),
U
_{j} = (
x
_{j},
y
_{j}), for
j = 0,1; so there exist integers
h
_{x},
h
_{y} and
e
_{j},
f
_{j} for j = 0, 1 with:
$$ \begin{array}{@{}rcl@{}} x_{G} = \gamma_{x} + h_{x}, \quad y_{G} = \gamma_{y} + h_{y}, \quad \& \quad h_{x}, h_{y} \le {\Delta} \\ x_{j}=\alpha_{j}+{e_{j}},\quad y_{j}={\upbeta}_{j}+ {f_{j}}\\ e_{j}, f_{j} \le {\Delta}, \quad j=0, 1. \end{array} $$
(21)
The first attempt to design a such procedure would be, as in the previous Theorem 1, translate (
10) into the identity in the fielp
\(\mathbb {F}_{p}\) getting
and looking for small roots of
L
_{2}. However, Lemma 2(2) shows it is no possible recovering the seed. Neither from
L
_{1} ≡ 0 mod
p, again by Lemma 2(2). So, we have to involve both polynomials:
$$ L_{2}(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) \equiv 0 \bmod p,$$
$$ L_{1} \equiv 0 \bmod p, \quad L_{2} \equiv 0 \bmod p $$
First, we rigorously demonstrate how recovering only abscissa coordinates if Δ <
p
^{1/6}.
Lemma 3
With the above notations and definitions, there exists a set
\(\mathcal {U}({\Delta }){\subseteq \mathbb {F}_{p}^{6}}\) of cardinality
\(\# \mathcal {U}({\Delta }) = O(p^{5}{\Delta }^{6})\) with the following property: whenever
P = (
x
_{G},
y
_{G},
x
_{0},
y
_{0},
\(x_{1},y_{1}) \not \in \mathcal {U} ({\Delta })\) then, given Δ −approximation
to point
P and given the prime
p, one can recover
x
_{G},
x
_{0},
x
_{1} in deterministic polynomial time by computing a closest vector of a certain lattice of dimension 5.
Proof
First, we place all points of the form
\((x_{0},y_{G},x_{0},x_{1},y_{0},y_{1}) \in \mathcal {U}({\Delta })\), so that
U
_{0} is not
G or −
G. We write
L
_{2} as
$$L_{2} = (Y_{P}+Y_{R})(X_{Q}X_{P})+(Y_{P}Y_{Q})(X_{P}X_{R}).$$
Taking
W
_{0} =
Y
_{P} +
Y
_{R},
V
_{0} =
X
_{Q} −
X
_{P},
W
_{1} =
Y
_{P} −
Y
_{Q},
V
_{1} =
X
_{P} −
X
_{R}, we consider polynomial
\(\bar {L}_{2} \in \mathbb {F}_{p}[W_{0},W_{1},V_{0},V_{1}]\):
$$ \bar{L}_{2} = W_{0}V_{0}+W_{1}V_{1}$$
We write
$$ w_{0}= y_{0}+y_{1}, \quad v_{0}= x_{G}x_{0},\quad w_{1}= y_{0}y_{G}, \quad v_{1}= x_{0}x_{1} $$
(22)
From (
21), we obtain (β
_{0} + β
_{1},
γ
_{x} −
α
_{1},β
_{1} −
γ
_{y},
α
_{0} −
α
_{1}) = (
b
_{0},
a
_{0},
b
_{1},
a
_{1}) is 2Δapproximation to the root
\((w_{0},v_{0},w_{1},v_{1}) \in {{\mathbb {F}}_{p}^{4}}\) of
\(\bar {L}_{2}\). So, rewriting the (
21) and (
22):
$$ \begin{array}{ll} w_{0} = b_{0}+f_{0}, v_{0} = a_{0} + e_{0}, w_{1} = b_{1}+f_{1}, v_{1} = a_{1}+ e_{1}, \quad e_{j}, f_{j} \le 2{\Delta}, j=0, 1. \end{array} $$
(23)
The polynomial
\(\bar {L}_{2} \in \mathbb {F}_{p}[W_{0},W_{1},V_{0},V_{1}]\) becomes:
$$b_{0}e_{0}+a_{0}f_{0}+b_{1}e_{0} +a_{1}f_{1}+ [e_{0}f_{0}+e_{1}f_ 1]= (a_{0}b_{0}+a_{1}b_{1}) $$
Writing:
we obtain that vector
is a solution to the following linear system of congruences:
$$ \begin{array}{ll} C_{0} &\equiv (a_{0}b_{0}+a_{1}b_{1}) \bmod p, \quad C_{1} \equiv b_{0} \bmod p, \quad C_{2} \equiv a_{0} \bmod p,\\ C_{3}& \equiv b_{1} \bmod p, \quad C_{4} \equiv a_{1} \bmod p, \quad C_{5} \equiv 1 \bmod p. \end{array} $$
$$\textbf E=({\Delta} e_{0}, {\Delta} f_{0}, {\Delta} e_{1}, {\Delta} f_{1}, e_{0}f_{0}+e_{1}f_{1})= $$
$$({\Delta} E_{1}, {\Delta} E_{2}, {\Delta} E_{3}, {\Delta} E_{4}, E_{5}) $$
$$ \begin{array}{@{}rcl@{}} \sum\limits_{i = 1}^{4} C_{i}X_{i} + {\Delta} C_{5} X_{5} \equiv {\Delta} C_{0} \bmod p, \\ X_{1} \equiv X_{2} \equiv X_{3} \equiv X_{4} & \equiv 0 \bmod {\Delta}. \end{array} $$
(24)
Moreover, bounds (
23) imply
E is a relatively short vector. We have:
$$ E_{i}\le2{\Delta}, i=1,\ldots,4, E_{5}\le 4{\Delta}^{2}; \\textbf E\ \leq\sqrt{32}{\Delta}^{2}. $$
(25)
Let
\({{\mathscr{L}}}\) be the lattice consisting of integer solutions
\(\textbf {X}=(X_{1},X_{2},\ldots ,X_{5})\in {\mathbb {Z}}^{5}\) of the system of congruences:
We compute a solution
T of the system of congruences (
24), using linear diophantine equations methods. Applying an algorithm solving the CVP for the shift vector
T and the lattice (
26), we obtain a vector
$$ \begin{array}{@{}rcl@{}} {\sum}_{i = 1}^{4} C_{i}X_{i} + {\Delta} C_{5} X_{5} \equiv 0 \bmod p, \\ X_{1} \equiv X_{2} \equiv X_{3} \equiv X_{4} & \equiv 0 \bmod {\Delta}. \end{array} $$
(26)
F = (Δ
F
_{1},Δ
F
_{2},Δ
F
_{3},Δ
F
_{4},
F
_{5})
We have
F =
v +
T (where
v is the lattice vector returned by the CVP algorithm) is the vector of minimal norm satisfying (
24), hence
F must have norm at most equal to the norm of the solution
E. Using the bounds (
25), we get:
$$ \ \textbf F \ \le \sqrt{32}{\Delta}^{2}. $$
(27)
Note that we can compute
F in polynomial time from the information we are given. We might hope that
E and
F are the same, or at least, that we can recover the approximations errors from
F. If not, we will show that (
x
_{G},
y
_{G},
x
_{0},
y
_{0},
x
_{1},
y
_{1}) belongs to a subset
\(\mathcal {U}({\Delta }) \subseteq {\mathbb {F}_{p}^{6}}\) of cardinality
\(\# \mathcal {U}({\Delta }) = O(p^{5}{\Delta }^{6})\).
Vector
D =
E −
F lies in
\({{\mathscr{L}}}\):
$$\textbf D = ({\Delta} D_{1}, {\Delta} D_{2}, {\Delta} D_{3}, {\Delta} D_{4}, D_{5}), \quad D_{i}=E_{i}F_{i}, i=1,\ldots, 5. $$
Bounds (
25) and (
27) imply
\(\ \textbf D \ \le 8\sqrt {2} {\Delta }^{2} \) and
Now, we distinguish two cases:
$$ D_{i} \le 8\sqrt{2}{\Delta}, i=1\ldots,4, \quad D_{5} \le 8\sqrt{2}{\Delta}^{2}. $$
(28)
1.
D
_{i} ≡ 0 mod
p,
i = 1,…,4,
2.
D
_{i} is nonzero for some
i,
i = 1,…,4
In the first case, we can recover the root (
w
_{0},
v
_{0},
w
_{1},
v
_{1}) of the polynomial
\(\bar {L}_{2}(W_{0},V_{0},\)
W
_{1},
V
_{1}), then by (
22), we have
Substituting those equalities into (
6) polynomial
L
_{1} and since
x
_{G}≠
x
_{0}, that is
v
_{0}≠ 0, then by Lemma 2(1) we can recover
x
_{G},
x
_{0},
x
_{1}.
$$ x_{G}= x_{0}+v_{0}, \quad x_{1}= x_{0}  v_{1}, \quad y_{G}= y_{0} w_{1}.$$
Hence, we may assume that
D
_{i} is nonzero for some
i,
i = 1,…,4. Substituting
b
_{j} =
W
_{j} −
e
_{j},
a
_{j} =
V
_{j} −
f
_{j},
j = 0,1 in the first equation of lattice (
26), we obtain a
nonzero polynomial:
G =
G(
W
_{0},
V
_{0},
W
_{1},
V
_{1}) =
whose coefficients are in
\(\mathbb {Z}[D_{i}, e_{j},f_{j}]\), for
i = 0,…,5 and
j = 0,1 and such that:
For every choice of
D
_{i},
e
_{j},
f
_{j}, for
i = 0,…,5 and for
j = 0,1, the specialised
\(\bar {G}(W_{0},W_{0},W_{1},V_{1}) \in \mathbb {F}_{p}[(W_{0},W_{0},W_{1},V_{1})]\) is a linear polynomial, so the number of solutions in
\({\mathbb {F}_{p}^{4}}\) is exactly
p
^{3}. Now, for every zero (
w
_{0},
v
_{0},
w
_{1},
v
_{1}) of
\(\bar {G}\) we have exactly
p
^{2} points of the form (
y
_{0} +
y
_{1},
x
_{G} −
x
_{0},
y
_{0} −
y
_{G},
x
_{0} −
x
_{1}). In total we have
p
^{5} points
\((x_{G},y_{G},x_{0},x_{1},y_{0},y_{1}) \in {{\mathbb {F}}_{p}^{6}}\) such that
L
_{2}(
x
_{G},
y
_{G},
x
_{0},
x
_{1},
y
_{0},
y
_{1}) ≡ 0 mod
p, we place all of then into the set
\({\mathcal {U}}({\Delta }){\subseteq {\mathbb {F}}_{p}^{6}}\). We need to show that the cardinality of
\({\mathcal {U}}({\Delta })\) is as claimed in the statement of the theorem. In other words, we need to prove that for every choice of
D
_{i},
e
_{j},
f
_{j}, (
i = 0,…,5 and
j = 0,1), the number of non zero specialized polynomials
\(\bar {G}(W_{0},W_{0},W_{1},V_{1}) \in {\mathbb {F}}_{p}[(W_{0},W_{0},W_{1},V_{1})]\) are bounded by
O(Δ
^{6}).
$$ (W_{0}e_{0})D_{1}+(V_{0}f_{0})D_{2}+(W_{1}e_{1})D_{3}+(V_{1}f_{1})D_{4}+D_{5} $$
$$G(w_{0},v_{0},w_{1},v_{1}) \equiv 0 \bmod p.$$
We write
where
C ≡
D
_{5} − (
e
_{0}
D
_{1} +
f
_{0}
D
_{2} +
e
_{1}
D
_{3} +
f
_{1}
D
_{4}) mod
p. By (
28) the number of possible choices for
D
_{1},
D
_{2},
D
_{3},
D
_{4} is
O(Δ
^{4}). On the other hand,
C can take
O(Δ
^{2}) distinct values, because from bounds (
23) and (
28) we obtain that
\(D_{5}(e_{0}D_{1}+f_{0}D_{2}+e_{1}D_{3}+f_{1}D_{4})=O({\Delta }^{2})\). So, the number of nonzero polynomials
G are bound by
O(Δ
^{6}), which finishes the proof. □
$$G= W_{0}D_{1}+V_{0}D_{2}+W_{1}D_{3}+V_{1}D_{4}+ C,$$
The above result also finds the values
U =
y
_{0} +
y
_{1} and
V =
y
_{0} −
y
_{G}. Plugging
y
_{1} = −
y
_{0} +
U and
y
_{G} =
y
_{0} +
V to polynomial
L
_{3} defined in (
7), then from (
8) we have
So, we cannot recover
y
_{G},
y
_{0},
y
_{1} from
L
_{3}.
$$L_{3}(x_{G}, y_{0}+V, x_{0}, y_{0}, x_{1}, y_{0}+U) \equiv 0 \bmod p$$
On the other hand, substituting
y
_{1} = −
y
_{0} +
U and
y
_{G} =
y
_{0} +
V in the elliptic curve (
1):
We can derive a linear equation in
a and
y
_{0}:
Now, we can recover
a and
y
_{0} if
a
_{0} is
𝜖approximation to
a with
𝜖 <
p
^{1/2} using the same lattice technique’s.
$$ \begin{array}{ll} {y_{0}^{2}}={x_{0}^{3}}+ax_{0}+b, \\ (y_{0}+V)^{2}={x_{G}^{3}}+ax_{G}+b, \\ (y_{0}+U)^{2}={x_{1}^{3}}+ax_{1}+b. \end{array} $$
$$ a(x_{0}x_{G})+2Vy_{0} {x_{G}^{3}}+{x_{0}^{3}}+V^{2} $$
As previous remark, we can also obtain from (
4) a linear equation in
b and quadratic in
y
_{0}
where
\(A,B,C \in \mathbb {Z}[x_{0},x_{1},x_{G},U,V]\) and
A,
B,
C≢0 mod
p. Again, we can recover
b and
y
_{0} if
b
_{0} is
𝜖approximation to
b as soon as
𝜖 <
p
^{1/3}.
$$ b(x_{G}x_{0})+Ay_{0}+A{y_{0}^{2}}+C. $$
Then, as consequence of Lemma 3 we have the following:
Corollary 1
With the above notations and definitions, there exists a set
\(\mathcal {U}({\Delta }){\subseteq \mathbb {F}_{p}^{6}}\) of cardinality
\(\# \mathcal {U}({\Delta }) = O(p^{5}{\Delta }^{6})\) with the following property: whenever
P = (
x
_{G},
y
_{G},
x
_{0},
\(y_{0},x_{1},y_{1}) \not \in \mathcal {U} ({\Delta })\) then, given Δ −approximation to
U
_{0} = (
x
_{0},
y
_{0}),
U
_{1}(
x
_{1},
y
_{1}) and to
G = (
x
_{G},
y
_{G}) and
𝜖 −approximation to
a with
𝜖 <
p
^{1/2} or an
𝜖 −approximation to
b with
𝜖 <
p
^{1/3} one can recover the sequence produced ECLCG in deterministic polynomial time.
Previous result it has been assumed that we have access to approximations to elliptic curve (
1) parameters
a or
b, which again places this task in a quite optimistic frame.
Then suppose Δapproximations to
U
_{0} = (
x
_{0},
y
_{0}),
U
_{1} = (
x
_{1},
y
_{1}) and
U
_{2} = (
x
_{2},
y
_{2}) points generated by the ECLCG and to
G = (
x
_{G},
y
_{G}) then applying Lemma 3 to equation
U
_{0} ⊕
G =
U
_{1} we recovering (
x
_{G},
x
_{0},
x
_{1}) and also
Again applying the same Lemma 3 but in this case to equation
U
_{1} ⊕
G =
U
_{2}, we are able to recovering
x
_{G},
x
_{1},
x
_{2} and
as soon as Δ <
p
^{1/6}. We obtain the following linear system of equation in
\(\mathbb {F}_{p}\):
$$Z_{1}=y_{0}+y_{1}, \quad Z_{2}= y_{0}y_{G}$$
$$Z_{3}=y_{1}+y_{2}, \quad Z_{4}=y_{1}y_{G}$$
$$\left( \begin{array}{rrrr} Z_{1} \cr Z_{2}\cr Z_{3}\cr Z_{4} \end{array}\right)= \left( \begin{array}{rrrr}1 &1 &0 &0 \cr 0 &1 &1 &0 \cr 0 & 0 &1 &1 \cr 1 &0 &1 &0 \end{array}\right) \left( \begin{array}{rrrr} y_{G} \cr y_{0}\cr y_{1}\cr y_{2} \end{array}\right)$$
Since
\(\det \left (\begin {array}{rrrr}1 &1 &0 &0 \cr 0 &1 &1 &0 \cr 0 & 0 &1 &1 \cr 1 &0 &1 &0 \end {array}\right )=1\) it has a unique solution and we can recovering all the missing information.
Theorem 3
With the above notations and definitions, there exists two sets
\(\mathcal {U}({\Delta }){\subseteq \mathbb {F}_{p}^{6}}\) and
\(\mathcal {V}({\Delta }){\subseteq \mathbb {F}_{p}^{6}}\) both the cardinality
O(
p
^{5}Δ
^{6}) with the following property: whenever
\(P=(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) \not \in {\mathcal {U}} ({\Delta })\) and
\(Q=(x_{G},y_{G}, x_{1},y_{1},x_{2},y_{2}) \not \in {\mathcal {V}} ({\Delta })\) then, given Δ −approximation to
U
_{0} = (
x
_{0},
y
_{0}),
U
_{1}(
x
_{1},
y
_{1}),
U
_{2} = (
x
_{2},
y
_{2}) and to
G = (
x
_{G},
y
_{G}), one can recover the whole sequence produced by ECLCG in deterministic polynomial time.
Notice that we can not applies Remark 1 because the parameter
a of the elliptic curve (
1) is unknown.
On one hand the previous result requires computing a closest vector of two distinct lattices. On the other hand, it would be interesting attacking ECLCG when we have access to several consecutive approximations and having an approximation to composer
G. The following result try to answer those interesting computational problems.
Let us formalise the problem. Again, we assume that
a,
b and the composer
G are unknown, but we have a Δ −approximation
\(\bar {G}=(\gamma _{x},\gamma _{y})\) to
G = (
x
_{G},
y
_{G}). Suppose that we are given
k + 1 ≥ 2 consecutive Δ −approximations
W
_{j} = (
α
_{j},β
_{j}) to
\(U_{j} =(x_{j},y_{j}) \in E({\mathbb {F}}_{p})\) (
j = 0,…,
k − 1), produced by the ECLCG, so there exist integers
h
_{x},
h
_{y} and
e
_{j},
f
_{j} with:
$$ \begin{array}{cc} x_{G} = \gamma_{x} + h_{x}, \quad y_{G} = \gamma_{y} + h_{y}, \quad \text{with} \quad h_{x}, h_{y} \le {\Delta} \\ x_{j}=\alpha_{j}+{e_{j}},\quad y_{j}={\upbeta}_{j}+ {f_{j}}\\ e_{j}, f_{j} \le {\Delta}, \quad j=0, \ldots,k1 \end{array} $$
(29)
Theorem 4
With above notation, under the ‘Gaussian heuristic’ we can recovering the whole sequence (
2) in polynomial time in
\(\log p\) as soon as
\({\Delta } < p^{\frac {k1}{5k4}}\) by computing the closest vector of a certain lattice of dimension 4
k − 3.
Proof
For every pair of points of the form
U
_{i− 1} = (
x
_{i− 1},
y
_{i− 1}),
U
_{i} = (
x
_{i},
y
_{i}),
i = 1,…,
k − 1, we denote by
By
U
_{i− 1} ⊕
G =
U
_{i}, we have
\(\bar {L}_{2}^{(i)}(w_{i},s_{i},v_{i},t_{i}) \equiv 0 \bmod p\) and we obtain the following system of congruences:
$$ \begin{array}{ll} w_{i}=y_{i1}+y_{i}, s_{i} =x_{G} x_{i1}, v_{i} = x_{i1} x_{i}, t_{i}=y_{i1}y_{G},\\ \bar{L}_{2}^{(i)}= W_{i}S_{i}+V_{i}T_{i} \in \mathbb{F}_{p}[W_{i}, S_{i}, V_{i},T_{i}] \end{array} $$
$$ \begin{array}{ll} \bar{L}^{(1)}_{2}(w_{1}, s_{1},v_{1}, t_{1}) =L_{2}(x_{G},y_{G}, x_{0},y_{0},x_{1},y_{1}) \equiv 0 \bmod p,\\ \bar{L}^{(2)}_{2}(w_{2},s_{2}, v_{2},t_{2})= L_{2}(x_{G},y_{G}, x_{1},y_{1},x_{2},y_{2}) \equiv 0 \bmod p,\\ {\cdots} \\ {\cdots} \\ \bar{L}^{(k1)}_{2}(w_{k1},s_{k1}, v_{k1},t_{k1})=L_{2}(x_{G},y_{G}, x_{k2},y_{k2},x_{k1},y_{k1}) \equiv 0 \bmod p. \end{array} $$
From (
29), we have
is 2Δapproximation to the root (
w
_{i},
s
_{i},
v
_{i},
t
_{i}) of
\(\bar {L}^{i}_{2}\). So, rewriting the (
29)
Using the equalities (
30) the polynomial
\(\bar {L}^{(i)}_{2}\) becomes:
$$({\upbeta}_{i1}+{\upbeta}_{i}, \gamma_{x}\alpha_{i1}, {\upbeta}_{i}\gamma_{y}, \alpha_{i1}\alpha_{i}) =(b_{i}, p_{i}, a_{i}, q_{i})$$
$$ \begin{array}{l} \bar{f}_{i}= f_{i1}+f_{i}, \bar{m}_{i} = h_{x}e_{i1}, \bar{e}_{i} = e_{i1}e_{i}, \bar{n}_{i} =f_{i1}h_{y} \\ w_{i} = b_{i}+\bar{f}_{i}, s_{i} = p_{i} + \bar{m}_{i}, v_{i} = a_{i}+\bar{e}_{i}, t_{i} = q_{i}+ \bar{n}_{i}, \\ \bar{f}_{j}, \bar{m}_{i}, \bar{n}_{i}, \bar{e}_{j} \le 2{\Delta}. \end{array} $$
(30)
$$ (b_{i}+ \bar{f}_{i})(p_{i}+ \bar{m}_{i}) +(a_{i}+ \bar{e}_{i})(q_{i}+ \bar{n}_{i})$$
$$= q_{i} \bar{e}_{i} +p_{i} \bar{f}_{i} + a_{i} \bar{n}_{i} +b_{i} \bar{m}_{i} + [\bar{m}_{i} \bar{f}_{i} + \bar{e}_{i} \bar{n}_{i}]$$
$$= (b_{i}p_{i}+a_{i}q_{i})$$
Since
\(\bar {m}_{i}= h_{x}e_{i1}= \bar {m}_{i1}+ \bar {e}_{i1}\), writing
\(\bar {e}_{0} =0\) and
\(\bar {m}_{1} =\bar {m}\) then polynomial
\(\bar {L}^{(i)}_{2}\) for
i = 1,…,
k − 1 becomes:
$$ q_{i} \bar{e}_{i} +p_{i} \bar{f}_{i} + a_{i} \bar{n}_{i} +b_{i}(\bar{m}+ \sum\limits_{j=0}^{i1}\bar{e}_{i} )+ [(\bar{m}+ \sum\limits_{j=0}^{i1}\bar{e}_{j} ) \bar{f}_{i} + \bar{e}_{i} \bar{ n}_{i}]= (b_{i}p_{i}+a_{i}q_{i})$$
Now, we linearize this polynomial system. Writing, for
i = 1,…,
k − 1 and for
j = 1,…,
k − 1:
we obtain that vector
E =
is a solution to the following linear system of congruences (
i = 1,…,
k − 1):
$$ \begin{array}{ll} C^{(i)} \equiv (b_{i}p_{i}+a_{i}q_{i}) \bmod p, \quad B^{(i)}_{0} \equiv b_{i} \bmod p, \\ Q^{(i)}_{j} \equiv b_{i} \bmod p, (0<j<i), Q^{(i)}_{i} \equiv q_{i} \bmod p, Q^{(i)}_{j} \equiv 0 \bmod p, (j>i) \\ P^{(i)}_{i} \equiv p_{i} \bmod p, P^{(i)}_{j} \equiv 0 \bmod p, i\not= j\\ A^{(i)}_{i} \equiv a_{i} \bmod p, A^{(i)}_{j} \equiv 0 \bmod p, i\not= j\\ B^{(i)}_{i} \equiv 1 \bmod p, B^{(i)}_{j} \equiv 0 \bmod p, i\not= j \end{array} $$
$$({\Delta} \bar{m}, {\Delta} \bar{e}_{1}, \ldots, {\Delta} \bar{e}_{k1}, {\Delta} \bar{f}_{1}, \ldots, {\Delta} \bar{f}_{k1}, {\Delta} \bar{n}_{1}, \ldots, {\Delta} \bar{n}_{k1},$$
$$ \bar{m} \bar{f}_{1} +\bar{e}_{1} \bar{n}_{1}, (\bar{m} + \bar{e}_{1})\bar{f}_{2} + \bar{e}_{2} \bar{n}_{2},\ldots, (\bar{m}+ \sum\limits_{j=0}^{k2}\bar{e}_{j} ) \bar{f}_{k1} + \bar{e}_{k1} \bar{n}_{k1} )$$
$$=({\Delta} E_{1}, {\Delta} E_{2}, \ldots, {\Delta} E_{3k2}, E_{3k1}, \ldots, E_{4k3})$$
$$ \begin{array}{@{}rcl@{}} B_{0}^{(i)}X_{0}+ \sum\limits_{j = 1}^{k1} Q^{(i)}_{j}X_{j} +\sum\limits_{j = 1}^{k1} P^{(i)}_{j}Y_{j} +\sum\limits_{j = 1}^{k1} A^{(i)}_{j}Z_{j} +\sum\limits_{j = 1}^{k1}{\Delta} B^{(i)}_{j}{\Sigma}_{j} \equiv {\Delta} C^{(i)} \bmod p, \\ X_{j} \equiv 0 \bmod {\Delta} \quad (j=0,\ldots, k1) \\ Y_{j} \equiv 0 \bmod {\Delta}, \quad Z_{j} \equiv 0 \bmod {\Delta} \quad (j=1,\ldots, k1). \end{array} $$
(31)
Moreover, from (
30) we have
E is a relatively short vector. We have:
$$ \\textbf E\\leq 2(k+1){\Delta}^{2}. $$
(32)
Let
\({{\mathscr{L}}_{k}}\) be the lattice consisting of integer solutions
of the system of congruences, (
i = 0,…,
k − 1):
$$\textbf{X}=(X_{0},X_{1},\ldots, X_{k1},Y_{1},\ldots, Y_{k1} ,Z_{1},\ldots, Z_{k1}, {\Sigma}_{1},\ldots, {\Sigma}_{k1})\in{\mathbb{Z}}^{4k3}$$
$$ \begin{array}{@{}rcl@{}} B_{0}^{(i)}X_{0}+ {\sum}_{j = 1}^{k1} Q^{(i)}_{j}X_{j} +{\sum}_{j = 1}^{k1} P^{(i)}_{j}Y_{j} + {\sum}_{j = 1}^{k1} A^{(i)}_{j}Z_{j} +{\sum}_{j = 1}^{k1}{\Delta} B^{(i)}_{j}{\Sigma}_{j} \equiv 0 \bmod p, \\ X_{j} \equiv 0 \bmod {\Delta} \quad (j=0,\ldots, k1) \\ Y_{j} \equiv 0 \bmod {\Delta}, \quad Z_{j} \equiv 0 \bmod {\Delta} \quad (j=1,\ldots, k1). \end{array} $$
(33)
We compute a solution
T of the system of congruences (
31), using linear diophantine equations methods. Applying an algorithm solving the CVP for the shift vector
T and the lattice (
33), we obtain a vector
We have
F =
v +
T (where
v is the lattice vector returned by the CVP algorithm) is the vector of minimal norm satisfying (
31), hence
F must have norm at most equal to the norm of the solution
E. Using the bounds (
32), we get:
$$\textbf F =({\Delta} F_{1}, {\Delta} F_{2}, \ldots, {\Delta} F_{3k2}, F_{3k1}, \ldots, F_{4k3})$$
$$ \ \textbf F \ \le 2(k+1) {\Delta}^{2}. $$
(34)
Note that we can compute
F in polynomial time from the information we are given, see Lemma 1. We might hope that
E and
F are the same, or at least, that we can recover the approximations errors from
F. This time, we are not giving a rigorous proof to bound the number of possibilities for which this method could fail. The volume of the lattice (
33) is
p
^{k− 1}Δ
^{3k− 2} (see Section
2.1) Then, by
Gaussian heuristic and (
34) vector
E is likely to be the one founded whenever
\({\Delta }^{2} < p^{\frac {k1}{4k3}}{\Delta }^{\frac {3k2}{4k3}}\), this is:
$${\Delta} < p^{\frac{k1}{5k4}}.$$
□
As we can see, if
k = 3, we obtain from Theorem 4 that
O(Δ) =
p
^{2/11} which is an improvement of Theorem 3.
5 Numerical results
We have proposed algorithms to recover a sequence of pseudorandom numbers produced by ECLCG. The input required by all of them include approximations to some pseudorandom values. The first Theorem 1 and the second one Theorem 2 requires additionally precise knowledge of the parameter
G. The rest require an approximation to the composer
G. The quality of those approximations is the measure used to characterise when the algorithms output the expected sequence.
In Theorem 1 a “bad” set of values for the components
x
_{0} is described, proving that whenever that value lies outside the set, the algorithm works correctly. Furthermore, the size of the set is asymptotically bounded with
O(Δ
^{6}). This means that if Δ <
p
^{1/6} and
p is large enough, assuming a uniform distribution of probabilities for
\(x_{0}\in \mathbb {F}_{p}\), the method is unlikely to fail. The same applies in Theorem 3 where the two “bad” subsets of
\({{\mathbb {F}}_{p}^{6}}\) are asymptotically bounded with
O(
p
^{5}Δ
^{6}), again it means that if Δ <
p
^{1/6} and
p is large enough the method is unlikely to fail.
In Theorem 2 the heuristic algorithm requires
k consecutive Δ −approximations with
\({\Delta } < p^{\frac {k1}{4k2}}\) when
G is public. Finally, the heuristic method described in Theorem 4 when an approximation to composer
G and
k consecutive Δ −approximations are given recovering the whole sequence if
\({\Delta } < p^{\frac {k1}{5k4}}\)
However, two aspects must be taken into account before considering those bounds as the threshold for the error tolerance upon which the algorithms fail. On the one side, the constants hidden in the asymptotic reasoning (namely, the size of the prime
p). On the other one, the threshold could be higher, as the “bad” set does not guarantee that the methods indeed fails.
We have performed some numerical tests with a SageMath implementation of all methods. Firstly, we generate an elliptic curve over a prime finite field of a desired size by chossing randomly in
\({\mathbb {F}}_{p}\) parameters
a,
b to fix (
1). Then, we generate randomly points in the curve (
1). For several pairs of points, an ECLCG is simulated, and approximations to some consecutive values are given as input to our algorithms.
size_prime = 1024
p=next_prime(ZZ.random_element(2**size_prime))
a=ZZ.random_element(p); b=ZZ.random_element(p)
if (4*a**3+27*b**2)
C =EllipticCurve(GF(p),[a,b])
G=C.random_element(); U_0=C.random_element()
U_1= U_0 + G
d=int(p**(0.14))
# We use the ZZ.random_element SageMath method
ZZ.random_element(d+int(U_1[0]), d+int(U_1[0]))
And it is certified that both heuristic and deterministic methods confirm the obtained bounds. We show the numerical results of the heuristic algorithms, which, on the other hand, also include the deterministic ones. We summarize its results in the following tables. We have selected primes of several sizes, and note the obtained success threshold.

Theorem 2: Δ −approximations to k consecutive values and G public.

\(k=2, {\Delta }=O(p^{1/6}), \frac {1}{6}= 0.16666\). Lattice dimension: 5.×

\(k=3, {\Delta }=O(p^{1/5}), \frac {1}{5}= 0.2 \). Lattice dimension: 8×

\(k= 13, {\Delta }=O(p^{6/25}), \frac {6}{25}= 0.24 \). Lattice dimension: 38×


Theorem 4: Δ −approximation to G and to k consecutive values.

\(k=3, {\Delta }=O(p^{2/11}), \frac {2}{11}= 0.1818 \). Lattice dimension: 9×

\(k= 13, {\Delta }=O(p^{12/61}), \frac {12}{61}= 0.1967 \). Lattice dimension: 49×

We have implemented the attack in SageMath8.1 on a MacBook Pro laptop computer (3,3 GHz Intel Core i7, 16 GB RAM 2133 MHz LPDDR3 Mac OSX 10.12.6). Since the lattice dimension is very low the biggest one is 49 which correspond the case
k = 13 in Theorem 4 the time consuming in any trail is, as maximum, a couple of seconds.
6 Remarks and open questions
We have presented efficient algorithms for predicting the sequence produced by the linear congruential generator on elliptic curves. In fact, they only require computing a closest vector for a lattice of very low dimension, and for practical purposes can be used Babai’s Nearest Plane algorithm, see [
2].
Following the ideas in [
9] by generating more nonlinear equations by multiplication of several nonlinear equations before the linearization step, papers [
31] and [
32] present theoretical better bound
O(
p
^{1/5}) for Theorem 1 and
\(O(p^{\frac {3k}{11k+4}})\) for Theorem 2, under the heuristic assumption that the created polynomials define a zero dimensional ideal. Their algorithm need to compute the LLL algorithm of a certain lattice of huge dimension and, after that, it also requires a Groebner Basis computation or alternatively any other elimination polynomial method. In practice the performance of the so called of Coppersmith’s methods in those cases are very bad because of large dimension of the lattice as it is shown in that papers. In fact, they can not test the bound
\(O(p^{\frac {3k}{11k+4}})\) not only because the large dimension but the size of the prime
p should be several hundreds of bits. On the other hand, for instance, we can recover the sequence produced by ECLCG if only three consecutive Δ −approximations are given as soon as Δ <
p
^{1/5} requiring, the most time consuming, to compute a closest vector for a lattice of dimension 7 and it it matched by primes
p of only 1000 bits.
As papers [
31] and [
32] show the bound of the size of the set of exceptional values of
u
_{0} given in Theorem 1 is not tight and might be improved by more careful examination of the structure of (
4) and (
5) and this applies to Theorem 2.
Obviously the result in Theorem 3 is nontrivial only for Δ =
O(
p
^{1/6}), we believe that this can be improvement to Δ =
O(
p
^{2/11}) as Theorem 4 shows.
Giving rigorous proofs of our heuristic Theorem 2 and Theorem 4 is a challenging open question as well.
Same question has been studied in [
32] for the Power Generator on elliptic curves: for a positive integer
e > 1 and a point
\(G \in E(\mathbb {F}_{p})\) of order
l with
\(\gcd (e,l)=1\), the elliptic curve Power Generator, (see [
29]) generate a sequence of points
V
_{n} defined by the relation
Requiring the prime
p, integer
e, constants
a and
b of the elliptic curve (
1), and Δ −approximations
W
_{0},
W
_{1} to two consecutive values
V
_{0},
V
_{1} for
\({\Delta } < p^{\frac {1}{2e^{2}}}\). An improvement is presented in [
14] recovering the root
U
_{0} = (
x
_{0},
y
_{0}) of the polynomial (
1) from a Δ −approximation to (
x
_{0},
y
_{0}) as soon as Δ <
p
^{1/7}, considering the information given as approximation to the seed, in such a way that it is not taking advantage from the knowledge of the procedure which has generated them, see also [
16]. We also think that better bounds are expected.
$$V_{n} =[e^{n}]G$$
Another open problem is to mount an attack when the modulo
p is unknown. Unfortunately, we do not know how to predict the ECLCG when the modulus
p is secret.
Acknowledgements
The author wishes to thank Arne Winterhof for reading and commenting on a draft version.
Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit
http://creativecommons.org/licenses/by/4.0/.
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.