<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On the Accuracy of Statistical Estimations of SAT Partitionings Effectiveness in Application to Discrete Functions Inversion Problems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander Semenov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleg Zaikin</string-name>
          <email>zaikin.icc@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory SB RAS</institution>
          ,
          <addr-line>Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>261</fpage>
      <lpage>275</lpage>
      <abstract>
        <p>In this paper we study the problem of estimating the time required to process decompositions of hard SAT instances encoding inversion problems of some cryptographic functions. In particular, we consider one type of SAT decompositions, usually referred to as SAT partitioning. The effectiveness of a specific SAT parititioning is the total time required to solve all SAT instances from this partitioning. In the paper we construct statistical estimations of effectiveness of SAT partitionings with the help of computational scheme of the Monte Carlo method. We discuss the problem of accuracy of such estimations that arises because of drastic difference between the sizes of random samples, that can be processed in reasonable time, and the size of statistical population. We propose the method for improving constructed statistical estimations by using sets of random samples of increasing size followed by the extrapolation of obtained relation to the size of statistical population.</p>
      </abstract>
      <kwd-group>
        <kwd>discrete functions</kwd>
        <kwd>cryptanalysis</kwd>
        <kwd>SAT</kwd>
        <kwd>Monte Carlo method</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Copyright c by the paper’s authors. Copying permitted for private and academic purposes.
The technologies that make it possible to solve such tests using SAT approach may
prove useful for solving other combinatorial problems that can be effectively reduced
to SAT.</p>
      <p>In the present paper we describe an approach in which SAT solving algorithms are
applied to the following problem. Assume we have a discrete function f : {0, 1}n →
{0, 1}m which is total in {0, 1}n and is specified by some algorithm (program) A(f )
(by {0, 1}n, n ∈ N we denote the set formed by all binary words of length n). For
an arbitrary y ∈ Range f , Range f ⊆ {0, 1}m we need to find such x ∈ {0, 1}n that
f (x) = y. Below we will refer to this problem as the inversion problem for function
f . It has an evident cryptographic context. For example, suppose that f is an
algorithm implementing some keystream generator, y is a keystream fragment produced
by the generator and x is an unknown secret key. Then the inversion problem for f
is the problem of cryptanalysis of keystream generator based on the known keystream
fragment.</p>
      <p>
        One of the ways commonly employed to improve the effectiveness of solving
inversion problems for cryptographic functions is the use of parallel and distributed
computing environments. The choice of parallelization strategy that yields high effectiveness of
corresponding solving process is a very nontrivial task. For a number of functions with
secret key of small length the use of parallel computing makes it possible to solve
inversion problems via exhaustive search (also known as brute-force search or brute-force
attacks in the context of cryptography) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, for ciphers with keys of length
&gt; 80 this approach has no prospects. In such cases we can try to decrease the
complexity of inversion problem solving relative to the complexity of brute-force attacks by
employing intellectual parallel algorithms, based on the strategies aimed at reducing
the search space. From our point of view state-of-the-art SAT solving algorithms, in
particular, CDCL solvers [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] are well-suited for such purposes.
      </p>
      <p>In the present paper we study the problem of decomposing an original hard SAT
instance into a family of easier SAT instanses, that can be solved independently of
each other. Such families are called SAT partitionings. Partitionings can be constructed
in many different ways, thus the time required to process different partitionings can
greatly vary.</p>
      <p>
        The problem of estimating the time of processing of an arbitrary SAT partitioning
is highly non-trivial in general case. Earlier [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] we generalized previously known
results and proposed an approach to solving this problem, based on estimating values of
special predictive function via the computational scheme of the Monte Carlo method.
To find SAT partitionings with good time estimations we employed general scheme of
local search in finite search space, improved by various metaheuristics (in particular,
we used simulated annealing and tabu search). Each time we compute the value of
predictive function it is neccessary to estimate the expected value of some random
variable. Unfortunately, in general case we have no additional knowledge regarding the
distribution of this variable. In these conditions the accuracy of constructed estimations
can critically depend on the size of random samples used.
      </p>
      <p>In the present paper we propose an approach aimed at improving the accuracy of
estimations constructed according to the Monte Carlo method by using a set of
random samples of increasing size and then by extrapolating the obtained relation to the
size of statistical population. We show that this approach works well in application to
constructing SAT partitionings for SAT instances encoding inversion of several
cryptographic functions. We applied this approach to improve the time estimations for solving
inversion problems for some cryptographic functions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Mathematical Background and Previous Results</title>
      <p>
        Boolean Satisfiability Problem (SAT) consists in the following: for an arbitrary Boolean
formula F to answer the question whether it is satisfiable and to construct the satisfying
assignment in case if the answer is positive. This problem for an arbitrarty formula F
can be effectively (in polynomial time on the length of F binary code in general case)
reduced to the satisfiability problem for Boolean formula F ′ in conjunctive normal
form (CNF). Hereinafter we consider SAT in this context. SAT is a classical NP-hard
problem [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Despite this fact, it is possible to effectively solve SAT for wide classes of
the so-called industrial tests of relatively high dimension (tens of thousands of variables
and hundreds of thousands of clauses). The corresponding algorithms in recent years
developed into powerful software systems and are actively used in symbolic verification,
bioinformatics, cryptography and other areas. Further we mainly concentrate on the
application of SAT to inversion of discrete functions used in cryptography.
      </p>
      <p>
        To reduce to SAT the inversion problem of f : {0, 1}m → {0, 1}m in an arbitrary
point y ∈ Rangef one can use various approaches, including automated systems that
construct SAT instance encoding the inversion of f in a considered point using the
text of a program specifying f . Such software systems employ the concept of symbolic
execution [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] to construct not machine code implementing f , but some Boolean
formula. To construct all SAT instances used in our computational experiments we used
the Transalg system [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>Let Cf (y) be a CNF, that encodes the inversion problem for some function f :
{0, 1}n → {0, 1}m in point y ∈ Rangef . It means that Cf (y) is satisfiable and from
each of its satisfying assignments one can effectively extract such set of Boolean values
x ∈ {0, 1}n that f (x) = y. For the functions used in cryptography SAT for CNFs Cf (y)
is usually quite hard. Essentially for ciphers used in practice it is pointless to believe
that the problems of such kind can be solved without employing high performance
computing using parallel computing architectures. Below we describe one general approach
to parallelization of SAT usually referred to as Partitioning approach and study the
problem of estimating the effectiveness of an arbitrary SAT partitioning, and also the
problem of search for partitionings with good effectiveness estimations.</p>
      <p>
        Let us assume that we consider SAT for an arbitrary CNF C. The SAT partitioning
of CNF C [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is a family of formulas of the kind C ∧ Ci, i ∈ {1, . . . , s}, such that any
formula C ∧ Ci ∧ Cj is unsatisfiable when i 6= j and
      </p>
      <p>C ≡ (C ∧ C1) ∨ . . . ∨ (C ∧ Cs) .</p>
      <p>It is clear that C is satisfiable if and only if at least one CNF of the kind C ∧ Ci,
i ∈ {1, . . . , s} is satisfiable. It is important to note that SAT for these CNFs can be
solved in parallel.</p>
      <p>
        There is a lot of different approaches to constructing SAT partitionings. A
comprehensive study of many of them can be found in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Unfortunately in the majority
of cases the problem of estimating the time required to solve all SAT instances from
a particular SAT partitioning is highly nontrivial. A number of approaches to
constructing such estimations rely on trying to predict the solver behavior based on some
service information produced by the solver during its work [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Another way implies
that the statistical estimation of time required to process SAT partitioning is computed
based on the time required to process its part. This approach was first proposed and
later developed in the papers on SAT-based cryptanalysis [
        <xref ref-type="bibr" rid="ref18 ref23 ref25 ref5">18, 5, 25, 23</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] we have
brought under the results proposed in cited papers the strict foundation in the form
of Monte Carlo method in its classical sense [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Below let us briefly consider these
results.
      </p>
      <p>So, let C be an arbitrary CNF over the set of Boolean variables X = {x1, . . . , xn}.
Consider an arbitrary set X˜ = {xi1 , . . . , xid }, X˜ ⊆ X . Let us call X˜ a decomposition
set. Let g be an arbitrary minterm over X˜ and GX˜ = {gi}i=1,...,2d be the set of all
possible minterms over X˜ . It is clear that an arbitrary formula g ∈ GX˜ is satisfiable
only on a single truth assignment of variables from X˜ . Thus, the set</p>
      <p>Δ(C, X˜ ) = {C ∧ g}g∈GX˜
is a SAT partitioning of CNF C. Hereinafter we work with partitionings of the type
(1).</p>
      <p>
        Let C be an arbitrary CNF and Δ(C, X˜ ) be its arbitrary SAT partitioning of the
type (1). Let A be an arbitrary SAT solving algorithm. By tA(C, X˜ ) we denote the
total time required to process all SAT instances from Δ(C, X˜ ) by algorithm A. In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
we stated the following result.
      </p>
      <p>Theorem 1. Let A be an arbitrary complete SAT solving algorithm, i.e. its runtime
is finite for an arbitrary input. Then for an arbitrary CNF C and any decomposition
set X˜ there is a random variable ξA(C, X˜ ) with finite expected value E hξA(C, X˜ )i such
that the following equality holds</p>
      <p>tA(C, X˜ ) = 2|X˜ | · E hξA(C, X˜ )i .</p>
      <p>Random variable ξ = ξA(C, X˜ ) from Theorem 1 is defined as follows. Define a
uniform distribution on the set {0, 1}d, d = |X˜ |. With each assignment α ∈ {0, 1}d we
link minterm g(α) over X˜ that is satisfiable on α. With each α randomly chosen from
{0, 1}d we associate the value of random variable ξ equal to the time required by A to
solve SAT for CNF C ∧ g(α).</p>
      <p>
        Thus, if we know E[ξA(C, X˜ )] we can obtain exact value of time required to process
SAT partitioning Δ(C, X˜ ). Unfortunately, in general case we are not able to effectively
compute E[ξA(C, X˜ )]. However, we can estimate it using the Monte Carlo method
in its classical sence [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], i.e. as method for estimating expected values of random
variables. In more detail, according to this method, a probabilistic experiment that
consists of N independent observations of values of an arbitrary random variable ξ is
used to approximately calculate E[ξ]. Let ξ1, . . . , ξN be results of the corresponding
(1)
(2)
observations. They can be considered as a single observation of N independent random
variables with the same distribution, i.e. the following equalities hold
      </p>
      <p>
        E[ξ] = E[ξ1] = . . . = E[ξN ], V ar(ξ) = V ar[ξ1] = . . . = V ar[ξN ]
Let E[ξ] and V ar(ξ) be both finite, also let γ be any fixed confidence level and
γ = Φ(δγ ), where Φ (·) is the normal cumulative distribution function. Then from
the Central Limit Theorem [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for some N0 = N0(γ) and all N ≥ N0 the main formula
of the Monte Carlo method is valid
(3)
(4)
 N 
Pr  1 δγ · σ 
      </p>
      <p>N · X ξj − E [ξ] &lt; √
 j=1 N 
≥ γ.</p>
      <p>Here σ = pV ar (ξ) stands for a standard deviation. It means that under the considered</p>
      <p>N
assumptions the value N1 · P ξj is a good approximation of E [ξ], when the number of
j=1
observations N is large enough.</p>
      <p>Taking into account all of the above, the procedure of statistical estimation of the
value of tA(C, X˜ ) for a particular X˜ looks as follows. Assuming that there is specified
a uniform distribution on {0, 1}d, d = |X˜ | we choose assignments α1, . . . , αN . The
obtained set of assignments forms a random sample. For each αj, j ∈ {1, . . . , N } the
algorithm A solves SAT for CNF C ∧ g(αj). The runtime of A is the value ξj of the
observed random variable ξ. After solving all SAT instances of the kind C ∧ g(αj),
j ∈ {1, . . . , N } we compute the following value:
 1 N 
FA,C (X˜ ) = 2d ·  N · X ξj
j=1</p>
      <p>From (3) it follows that if N is large enough then the value of FA,C (X˜ ) can be
considered as a good approximation of (2). Therefore, instead of searching for a
decomposition set with minimal value (2) one can search for a decomposition set with
minimal value of FA,C (X˜ ). Below we refer to function FA,C (X˜ ) as to a predictive
function.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] we described the procedure for minimization of the function FA,C (X˜ ) over
the Boolean hypercube {0, 1}n. In this procedure we represent an arbitrary set X˜
with a Boolean vector of length n: in this vector 1-s correspond to variables from
X that are included into X˜ . Thus the values of FA,C (X˜ ) are computed in points of
the search space {0, 1}n. To minimize FA,C (X˜ ) we used simulated annealing and tabu
search metaheuristics. As we point out in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] the tabu search scheme showed better
performance on considered test instances.
      </p>
      <p>
        The tabu search scheme for miminization of predictive function FA,C (X˜ ), that we
described in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], was implemented in the form of MPI program PDSAT for computing
clusters. We applied PDSAT to cryptanalysis instances of widely known A5/1 and
Bivium keystream ciphers by reducing the corresponding problems to SAT. In the
process of its work PDSAT used random samples of size 105. As a result we managed
to construct the time estimation for Bivium cryptanalysis that turned out to be almost
three times better than record estimation at that time, constructed in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] (if we scale
the estimations according to the performance of computing platforms employed). In
the process of computational experiments, however, we noticed that the size of random
sample can critically influence the accuracy of estimation. It is quite surprising that
in previous papers with similar results this problem had not been addressed at all.
That is why in the following section we propose the original approach to improving
the accuracy of values of predictive function FA,C (X˜ ) computed via the Monte Carlo
method.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>The Method for Improving Statistical Estimations of SAT</title>
    </sec>
    <sec id="sec-4">
      <title>Partitionings Effectiveness</title>
      <p>
        In this section we discuss the accuracy of estimations of the effectiveness of SAT
partitionings produced by the Monte Carlo method. State-of-the-art SAT-solvers are quite
complex programs, and even little modifications of their of parameters can greatly
influence its performance. Authors of [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] note that often the SAT solver cannot solve
some instance even after hours of work, but small modifications, such as, for example,
changing variable assignment ordering, enable it to solve the instance in seconds or
minutes. Back when SAT approach was not developed quite so well, in a number of
papers similar behaviors were noted for Backtrack algorithms used to solve Constraint
Satisfaction Problems. The study of these behaviors on randomly chosen instances
showed that statistically observed data can be characterized by heavy-tailed
distributions. The phenomenon of “heavy-tailed behavior” of state-of-the-art SAT solvers has
been intensively studied in recent years [
        <xref ref-type="bibr" rid="ref26 ref3 ref7 ref8">8, 3, 26, 7</xref>
        ].
      </p>
      <p>The results of the papers mentioned above make it possible to conclude that the
complex and inhomogenious behavior of the SAT solver can negatively influence the
consistency of the estimations of the effectiveness of SAT partitionings produced using
the Monte Carlo method. The main danger here lies in the risk of obtaining overly
optimistic estimations. Below we propose one method for solving this problem and
justify its adequacy using computational experiments.</p>
      <p>So, what information can we use to estimate how well the sample mean
approximates the expected value of the random variable considered? From the formula (3) it
follows that the accuracy increases with the increase of the sample size (if expected
value and variance are finite). In application to estimating the value of (2) the severity
of the issue regarding the consistency of the Monte-Carlo estimations becomes
apparent when we compare the random samples sizes with the total number of subproblems
in the SAT partitioning. For example if the decomposition set consists of 50 variables,
then the size of the corresponding partitioning is 250. Therefore the sample of size
10000 is approximately 8 · 10−10% of the total size of the statistical population. Can we
consider the estimation produced with the use of such a small sample to be consistent?</p>
      <p>The suggested approach for improving the estimations of effectiveness of SAT
partitionings, obtained via Monte Carlo, is based on the following simple idea. We consider
the problem of estimating E [ξ], assuming that random variable ξ has finite expected
value and variance. Also we assume that the statistical population has finite size
represented by number N ∗. Consider the sequence of random samples sizes
N1 &lt; N2 &lt; . . . &lt; Nl ≈ N ∗
(5)
Below we will use the following notation:</p>
      <p>1
FNi = Ni · Xj=1 ξj</p>
      <p>Ni
Here ξj jN=i1 is a random sample of size Ni from the statistical population of size
N ∗. Hereinafter we assume that for each Ni a different random sample of
corresponding size is considered. Suppose that we can in affordable time calculate the values
FN1 , FN2, . . . , FNk , k &lt; l. Based on this data we need to predict the behavior of
function FN when N ∈ {Nk+1, . . . , Nl}. Below we study this problem in detail.</p>
      <p>Unfortunately we cannot make any reasonable assumptions about the type of a
function to be used to extrapolate FN . That is why we introduce the auxiliary function,
to which we refer as jump function. This function is denoted as ε(N ) and is defined as
follows:
ε(Ni) = max</p>
      <p>FNi−1 , FNi
FNi</p>
      <p>FNi−1
, i ∈ {2, . . . , l}
In essence, each value of ε(Ni) shows how values of FN for N = Ni−1 and N = Ni
differ from each other. Below we describe the behavior of function ε(N ) as N goes to
infinity. It will allow us to choose the correct type of the function to extrapolate ε(N )
with. Let us show that the following theorem holds.</p>
      <p>Theorem 2. Consider a probabilistic experiment in which the outcome is a random
variable that takes positive values. Assume that this variable has finite expected value
and variance. Consider the set</p>
      <p>{N1, N2, . . . , Nl, . . .}
such that Ni+1 = ⌊λ · Ni⌋ for each i and some constant λ &gt; 1. Then for any confidence
level γ there exists a constant α(γ) such that for some k0 = k0(γ) and all k ≥ k0 the
following holds:
α(γ)
Pr 1 ≤ ε(Nk) ≤ 1 + √Nk
≥ γ2
Proof. Let ξ be a random variable satisfying all conditions of the theorem. The
finiteness of the expected value and of the variance of ξ allows us to apply the Central
Limit Theorem. Let us fix some confidence level γ. Assume a = E[ξ], b = δγ · σ. Since
ξ takes only positive values, then a &gt; 0. Consider an arbitrary set {N1, . . . , Nl, . . .}
where Ni+1 = ⌊λ · Ni⌋, λ &gt; 1 is some constant. Note, that the events
Ak =</p>
      <p>b
|FNk − a| &lt; √Nk
, Ak+1 =
(</p>
      <p>FNk+1 − a &lt;</p>
      <p>b
pNk+1
)
are independent and therefore from (3) for some k0 = k0(γ) and all k ≥ k0 the following
holds:</p>
      <p>Pr {Ak ∧ Ak+1} ≥ γ2
From (6) and from Nk+1 = ⌊λ · Nk⌋ for some λ &gt; 1 it follows that with probability
≥ γ2 the following inequalities hold:
( a − √Nbk &lt; FNk &lt; a + √Nbk</p>
      <p>a − √cN1 k &lt; FNk+1 &lt; a + √cN2 k
where c1, c2 are some positive constants. Because ξ takes only positive values, then
FNk &gt; 0a,nFdNak+−1 √&gt;cN1 k0.arSeinpcoesitEiv[ξe]. I&gt;t m0etahnesnthfaotr fsoormaen ka0rbaitnrdaryalkl k≥ ≥k0 kfr0o mthe(7v)awluitehs
b
a − √Nk
probability ≥ γ2 the following inequalities hold</p>
      <p>b
a − √Nk &lt;
a + √cN2 k</p>
      <p>b
FNk &lt; a + √Nk
FNk+1</p>
      <p>a − √cN1 k
1 − a√NCk+c2 &lt; FFNNk+k1 &lt; 1 + a√NDk−c1
for some positive constants C, D. It is easy to construct similar bounds for FFNNk+k1 . Since
it is evident that ε(Nk+1) ≥ 1 then from (8) the assertion of the theorem follows.</p>
      <p>The theorem proved allows us to use the function of the kind 1 + √αN to predict the
behavior of ε(N ). Here the constant α &gt; 0 is picked up individually for each random
variable ξ based on the known first values of ε(N ).</p>
      <p>Now let us return to the problem of miminization of predictive function FA,C (X˜ )
over Boolean hypercube {0, 1}n. As we already noted, in fact we minimize function
F (χ), the value of which in an arbitrary χ ∈ {0, 1}n is defined as follows. Ones in a
vector χ specify decomposition set X˜ . For this X˜ we construct random sample α1, . . . , αN ,
αj ∈ {0, 1}d, d = |X˜ |. After this we compute the value of predictive function according
to (4). The obtained value is the value of F (χ). Consider the following set of values of
the parameter N (random sample size):</p>
      <p>N1, N2 = λ · N1, . . . , Nl = λl−1 · N1
where λ, λ &gt; 1, λ ∈ N is some constant. Also we suppose that Nl ≈ Δ(C, X˜ ) , where
X˜ is a decomposition set represented by the vector χ. Let us fix some k∗, k∗ &lt; l and
compute values</p>
      <p>FN1(χ), . . . , FNk∗ (χ)
We will refer to this set as a training set. Our goal is to use the training set to compute
values F˜Nk∗+1 (χ), . . . , F˜Nl (χ) that predict the behavior of function FN (χ) when N ∈
{Nk∗+1, . . . , Nl}.</p>
      <p>Using (9) we compute
ε(Ni), i ∈ {2, . . . , k∗}
(7)
(8)
(9)
We assume that (10) are the values of function of the type 1 + √αNi for corresponding
Ni. Using this information we pick the value of the constant α. Denote the function
obtained as ε˜(Ni). Let us compute the values of this function for Ni, i ∈ { ∗
k + 1, . . . , l}.</p>
      <p>The values F˜Ni , i ∈ {k∗ + 1, . . . , l} we determine using the following formula
ε˜(Ni) = max
( F˜Ni−1 , F˜Ni )</p>
      <p>F˜Ni F˜Ni−1</p>
      <p>, i ∈ {k∗ + 1, . . . , l}, F˜Nk∗ (χ) = FNk∗ (χ)
When computing values of particular F˜Ni the main problem consists in avoiding overly
optimistic estimations. That is why we choose to follow the “pessimistic scenario”, so
for each i ∈ {k∗ + 1, . . . , l} we assume that</p>
      <p>FNi+1 (χ) ≥ F˜Ni (χ)
˜
It is easy to see that in this case for any r &gt; k∗ the following holds:</p>
      <p>F˜Nr (χ) = FNk∗ (χ) ·
r</p>
      <p>Y
s=k∗+1
ε˜(Ns)
(11)
We consider the value F ∗(χ) = F˜Nl (χ) to be an improved estimation of the time
required to process the partitioning Δ(C, X˜ ), where X˜ is a decomposition set defined
by vector χ ∈ {0, 1}n.</p>
      <p>The results of the application of the proposed technique aimed at improving the
consistency of estimations are shown in the next section.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Computational Experiments</title>
      <p>In this section we show the applicability of the suggested technique for improving the
accuracy of estimations of predictive function values to SAT-based cryptanalysis of the
Bivium cipher.
4.1</p>
      <p>
        Time Estimations for Problems of SAT-based Cryptanalysis of
Bivium
The Bivium keystream generator [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] uses two shift registers of a special kind. The first
register contains 93 cells and the second contains 84 cells. To initialize the cipher, a
secret key of length 80 bit is put to the first register, and a fixed (known)
initialization vector (IV) of length 80 bit is put to the second register. All remaining cells are
filled with zeros. An initialization phase consists of 708 rounds during which keystream
output is not released.
      </p>
      <p>
        In accordance with [
        <xref ref-type="bibr" rid="ref17 ref24">17, 24</xref>
        ] we considered cryptanalysis problems for Bivium and
Grain in the following formulation. Based on the known fragment of keystream we
search for the values of all registers cells at the end of an initialization phase. It means
that we need to find 177 bits in case of Bivium and 160 bits in case of Grain. Usually it
is believed that to uniquely identify the secret key it is sufficient to consider a keystream
fragment of length comparable to the total length of shift registers. Here we followed
[
        <xref ref-type="bibr" rid="ref24 ref5">5, 24</xref>
        ] and set the keystream fragment length for Bivium cryptanalysis to 200 bits.
      </p>
      <p>
        Therefore in our experiments we needed to find initial values of 177 Bivium
registers bits that lead to generation of known keystream fragment of size 200 bits. We
encoded the corresponding problem to SAT using the Transalg software system [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
Below we will use the notation we introduced in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] when describing the tabu search
algorithm for minimization of predictive function. By X˜start (χstart, respectively) we
denote the starting decomposition set, i.e. the point in {0, 1}n from which the
minimization process for function F (·) starts. This set is usually chosen based on features
of the considered problem. In particular, it is easy to show that the value F (·) can
be computed effectively (for a random sample of reasonable size) if X˜start is a Strong
Unit Propagation Backdoor Set (SUPBS, [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) for CNF C (here we assume that we use
complete CDCL-algorithm [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] in the role of A). By χbest we denote the point in {0, 1}n
in which the value of predictive function is minimal when the search procedure finishes
working. In our experiments in the role of X˜start we chose the set of variables encoding
the initial values of Bivium registers, thus |X˜start| = 177. The PDSAT program, that
is an MPI-implementation of tabu search algorithm for predictive function
minimization, was launched on 160 cores of Opteron 6276 processor within Academician V.M.
Matrosov computing cluster of Irkutsk Supercomputing Centre.
      </p>
      <p>Further on the example of one instance of Bivium cryptanalysis we will show a
typical situation, in which the sample size can critically affect the accuracy of the
estimations. In the process of computing the random samples of size 105 were used. As
a result PDSAT found the point χbest for which F (χbest) = 2.085 × 1011 seconds. The
corresponding X˜best contains 50 variables. After this we launched the computational
experiment in which we used random samples of size 104. After one day of work PDSAT
found the point χ′best with predictive function value F (χ′best) = 5.98 × 106 seconds. We
decided to compute in this point the values of predictive function using random samples
of sizes N2 = 2 × 104, N3 = 4 × 104 and N4 = 8 × 104. For these random samples we also
computed the values of jump function ε(N ). The corresponding results are presented
in Table 1.</p>
      <p>Sample size N1 = 104
FNi 5.98 × 106
ε(Ni) −</p>
      <p>Note that ε(N4) = max n FFNN34 , FFNN43 o ≈ 3 × 105. The explanation of this phenomena
is that samples of size N1 = 104, N2 = 2 × 104 and N3 = 4 × 104 contained only simple
subproblems, resulting in overly optimistic estimations. However the sample of size
N4 = 8 × 104 contained about a hundred of subproblems that were much harder than
others. Therefore we can conclude that the estimation FN1 for sample size N1 = 104 is
overly optimistic.</p>
      <p>After this we returned to the point χbest found using random samples of size N1 =
105. Note that it defines the set X˜best, |X˜best| = 50. We computed the predictive
function values in this point for random sample sizes</p>
      <p>Nj = 2j−1 × 105,
(12)
where j ∈ {2, . . . , 14}. Obtained values FNj (χbest) we used as the training set. Then
based on ε (Nj ), j ∈ {2, . . . , 14} we selected the value of constant α in the function
εˆ(Nj ) = 1 + √αNj , that extrapolates the behavior of ε (Nj ) for j ∈ {15, . . . , 35}. Here
X˜best = 50, so N35 ≈ 250. With the help of the Matlab system we got α = 445.9.
The graphs of function ε (Nj ) for j ∈ {1, . . . , 14} and function εˆ(Nj ) for j ∈ {1, . . . , 35}
are shown on Figure 1. Note that function εˆ(·) doesn’t have big jumps. On Figure 2
the extrapolation of the behavior of the predictive function in the considered point
χbest constructed according to formula (11) is shown. The improved estimation for the
predictive function value is Fˆ∗ (χbest) = 7.37 × 1011
2
1.5
n
ispoe 1
l
0.5
0
9e+011
8e+011
7e+011
6e+011
snd 5e+011
ceo 4e+011
s 3e+011
2e+011
1e+011
0
4.00E+051.60E+066.40E+062.56E+071.02E+084.10E+081.64E+096.55E+092.62E+101.05E+114.19E+111.68E+126.71E+122.68E+131.07E+144.29E+141.13E+15</p>
      <p>sample size
Fig. 1. Values of ε and extrapolated ε˜ for Bivium</p>
      <p>Fig. 2. Values of estimation FNj and extrapolated estimation F˜Nj for Bivium
4.2
Solving Cryptanalysis Problems for Weakened Ciphers and
Justification of Proposed Method
To evaluate the consistency of the proposed technique for improving estimations we
solved a number of weakened cryptanalysis problems for the Bivium cipher using the
computing cluster. For this purpose, the PDSAT program was used. In this program in
addition to the prediction mode there is a solving mode. In this mode for X˜best found
during predictive function minimization it generates all 2|X˜best| assignments of
variables from X˜best and solves all corresponding SAT instances. By BiviumK we denote
the families of weakened cryptanalysis problems of the Bivium cipher. We call each
individual problem from such family an instance. An arbitrary instance from BiviumK
is a cryptanalysis problem for the corresponding cipher in the formulation described
above with an addition of known values of K initial variables that encode values of
the last K cells of the second generator register. In the computational experiments we
considered series of 3 different instances for Bivium14. In all cases on the prediction
stage we used random samples of size N = 105. We processed these series in the
following manner: for the first instance in the series of three we used PDSAT to find
the decomposition set X˜best, defined by vector χbest. Then we computed the improved
estimation Fˆ (χbest) for the corresponding set using the extrapolation via the jump
function. After this the decomposition set X˜best found for the first instance was used
to solve all 3 instances from the series in parallel. All instances were successfully solved.
To solve one instance it took about 17 hours on 480 cores of Opteron 6276.</p>
      <p>Thus for each problem of the kind Bivium14 we found exact time required to process
the SAT partitioning defined by X˜best. After this we compared this value with the value
obtained using the proposed technique for improving the estimated values of predictive
function. Below we describe this experiment in more detail.</p>
      <p>For each cryptanalysis instance Bivium14 the PDSAT system found the set X˜best
containing 35 variables. Here PDSAT used random samples of size N1 = 105. Similar
to the case of non-weakened Bivium we used λ = 2 and considered first 14 values Nj:</p>
      <p>N1 = 105, Nj = 2j−1 × 105, j ∈ {2, . . . , 14}</p>
      <p>The obtained values FNj (χbest) we used in the role of training set. Since |X˜best| =
35 and 235 ≈ N20 we needed to extrapolate the behaviour of functions ε(Nj ) and
α .</p>
      <p>FNj (χbest) to j ∈ {15, . . . , 20}. We extrapolate ε (Nj ) as a function of the type 1+ √Nj
With the help of Matlab we got α = 72.273. The results of extrapolation are showed
on Figure 3.</p>
      <p>Then we extrapolated the behaviour of FNj (χbest) for j ∈ {15, . . . , 20} using formula
(11). The results are shown on Figure 4.</p>
      <p>The last column of the diagram on Figure 4 shows the difference between Fˆ∗(χbest)
and the real time spent to process the corresponding SAT partitioning (solid line). Note
that it does not exceed 7 % and Fˆ∗(χbest) is not overly optimistic estimation.
5</p>
    </sec>
    <sec id="sec-6">
      <title>Related Works</title>
      <p>
        A lot of papers studied the questions regarding estimating the runtime of algorithms for
solving SAT and Constraint Satisfaction problem on hard instances. Thus in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] there
real epsilon
extrapolated epsilon
were proposed several methods to estimate the size of a backtracking search tree. These
methods can be applied to estimate the time required to solve SAT using DPLL-based
solvers. In [
        <xref ref-type="bibr" rid="ref10 ref27">27, 10</xref>
        ] some methods for estimating time to solve SAT using CDCL solvers
were suggested. In these methods an estimation is computed based on the evaluation
of a particular SAT instance and current results of CDCL solver.
      </p>
      <p>
        The first work that used SAT solvers for cryptanalysis was [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The authors of [
        <xref ref-type="bibr" rid="ref18 ref24 ref25 ref5">18,
5, 25, 24</xref>
        ] presented some estimations of the time required for logical cryptanalysis of the
Bivium cipher. The Monte Carlo term was first used in application to such estimations
in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>
        Note that in the cited papers neither random variables nor their expected values
estimated via Monte Carlo method were not strictly defined. It was first done in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>The main novelty of the results of the present article lies in the technique for
improving the effectiveness estimations for SAT partitionings by means of extrapolating
the values of predictive function to random samples of gradually increasing size. We
showed the applicability of the corresponding technique on SAT instances encoding the
inversion of some cryptographic functions.</p>
      <p>Acknowledgments The research was funded by Russian Science Foundation (project
No. 16-11-10046).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heule</surname>
            , M., van Maaren,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walsh</surname>
          </string-name>
          , T. (eds.): Handbook of Satisfiability,
          <source>Frontiers in Artificial Intelligence and Applications</source>
          , vol.
          <volume>185</volume>
          . IOS Press (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Canni`ere, C.D.:
          <article-title>Trivium: A stream cipher construction inspired by block cipher design principles</article-title>
          . In: Katsikas,
          <string-name>
            <given-names>S.K.</given-names>
            ,
            <surname>Lopez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Backes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Gritzalis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Preneel</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>ISC. LNCS</source>
          , vol.
          <volume>4176</volume>
          , pp.
          <fpage>171</fpage>
          -
          <lpage>186</lpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Formal models of heavy-tailed behavior in combinatorial search</article-title>
          . In: Walsh,
          <string-name>
            <surname>T</surname>
          </string-name>
          . (ed.)
          <source>CP. Lecture Notes in Computer Science</source>
          , vol.
          <volume>2239</volume>
          , pp.
          <fpage>408</fpage>
          -
          <lpage>421</lpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cook</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          :
          <article-title>The complexity of theorem-proving procedures</article-title>
          .
          <source>In: Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, May 3-5</source>
          ,
          <year>1971</year>
          ,
          <string-name>
            <given-names>Shaker</given-names>
            <surname>Heights</surname>
          </string-name>
          , Ohio, USA. pp.
          <fpage>151</fpage>
          -
          <lpage>158</lpage>
          (
          <year>1971</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Eibach</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pilz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , Vo¨lkel, G.:
          <article-title>Attacking Bivium Using SAT Solvers</article-title>
          . In: Bu¨ning,
          <string-name>
            <given-names>H.K.</given-names>
            ,
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <surname>X</surname>
          </string-name>
          . (eds.)
          <source>SAT. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4996</volume>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>76</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Feller</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>An introduction to probability theory and its applications</article-title>
          . Vol. II.
          <article-title>Second edition</article-title>
          , John Wiley &amp; Sons Inc., New York (
          <year>1971</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabharwal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Exploiting runtime variation in complete solvers</article-title>
          .
          <source>In: Biere et al. [1]</source>
          , pp.
          <fpage>271</fpage>
          -
          <lpage>288</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Crato</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kautz</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Heavy-tailed phenomena in satisfiability and constraint satisfaction problems</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>24</volume>
          (
          <issue>1</issue>
          /2),
          <fpage>67</fpage>
          -
          <lpage>100</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Gu¨neysu, T.,
          <string-name>
            <surname>Kasper</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Novotny´,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Paar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Rupp</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Cryptanalysis with copacobana</article-title>
          .
          <source>IEEE Trans. Comput</source>
          .
          <volume>57</volume>
          (
          <issue>11</issue>
          ),
          <fpage>1498</fpage>
          -
          <lpage>1513</lpage>
          (
          <year>Nov 2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Haim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walsh</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Online Estimation of SAT Solving Runtime</article-title>
          . In: Bu¨ning,
          <string-name>
            <given-names>H.K.</given-names>
            ,
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <surname>X</surname>
          </string-name>
          . (eds.)
          <source>SAT. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4996</volume>
          , pp.
          <fpage>133</fpage>
          -
          <lpage>138</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Hyv¨arinen,
          <string-name>
            <surname>A.E.J.</surname>
          </string-name>
          :
          <source>Grid Based Propositional Satisfiability Solving. Ph.D. thesis</source>
          , Aalto University (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. J¨arvisalo,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Junttila</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.A.</surname>
          </string-name>
          :
          <article-title>Limitations of restricted branching in clause learning</article-title>
          .
          <source>Constraints</source>
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <fpage>325</fpage>
          -
          <lpage>356</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kilby</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slaney</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          , Thi´ebaux,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Walsh</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Estimating search tree size</article-title>
          .
          <source>In: AAAI</source>
          . pp.
          <fpage>1014</fpage>
          -
          <lpage>1019</lpage>
          . AAAI Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>King</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>Symbolic execution and program testing</article-title>
          .
          <source>Commun. ACM</source>
          <volume>19</volume>
          (
          <issue>7</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>394</lpage>
          (
          <year>Jul 1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lynce</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Conflict-driven clause learning sat solvers</article-title>
          .
          <source>In: Biere et al. [1]</source>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>153</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Massacci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marraro</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Logical Cryptanalysis as a SAT Problem</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>24</volume>
          (
          <issue>1</issue>
          /2),
          <fpage>165</fpage>
          -
          <lpage>203</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Maximov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biryukov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Two trivial attacks on trivium</article-title>
          . In: Adams,
          <string-name>
            <given-names>C.M.</given-names>
            ,
            <surname>Miri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Wiener</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.J</surname>
          </string-name>
          . (eds.)
          <source>Selected Areas in Cryptography. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4876</volume>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>55</lpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Mcdonald</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Charnes</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pieprzyk</surname>
          </string-name>
          , J.:
          <article-title>Attacking Bivium with MiniSat</article-title>
          .
          <source>Tech. Rep</source>
          .
          <year>2007</year>
          /040,
          <string-name>
            <given-names>ECRYPT</given-names>
            <surname>Stream Cipher Project</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Metropolis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ulam</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The Monte Carlo Method</article-title>
          .
          <source>J. Amer. statistical assoc</source>
          .
          <volume>44</volume>
          (
          <issue>247</issue>
          ),
          <fpage>335</fpage>
          -
          <lpage>341</lpage>
          (
          <year>1949</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Zhang, L.:
          <article-title>Applications of sat solvers to cryptanalysis of hash functions</article-title>
          .
          <source>In: Proceedings of the 9th International Conference on Theory and Applications of Satisfiability Testing</source>
          . pp.
          <fpage>102</fpage>
          -
          <lpage>115</lpage>
          . SAT'
          <volume>06</volume>
          , Springer-Verlag, Berlin, Heidelberg (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Otpuschemmikov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Semenov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kochemazov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Transalg: a tool for translating procedural descriptions of discrete functions to SAT</article-title>
          .
          <source>In: WCSE 2015-IPCE: Proceedings of The 5th International Workshop on Computer Science and Engineering: Information Processing and Control Engineering</source>
          . pp.
          <fpage>289</fpage>
          -
          <lpage>294</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Semenov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaikin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Using monte carlo method for searching partitionings of hard variants of boolean satisfiability problem</article-title>
          . In: Malyshkin,
          <string-name>
            <surname>V</surname>
          </string-name>
          . (ed.)
          <source>Parallel Computing Technologies - 13th International Conference, Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>9251</volume>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>230</lpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Semenov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaikin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bespalov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Posypkin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Parallel Logical Cryptanalysis of the Generator A5/1 in BNB-Grid System</article-title>
          . In: Malyshkin,
          <string-name>
            <surname>V</surname>
          </string-name>
          . (ed.)
          <source>PaCT. Lecture Notes in Computer Science</source>
          , vol.
          <volume>6873</volume>
          , pp.
          <fpage>473</fpage>
          -
          <lpage>483</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Soos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Grain of Salt - an Automated Way to Test Stream Ciphers through SAT Solvers</article-title>
          .
          <source>In: Tools'10: Proceedings of the Workshop on Tools for Cryptanalysis</source>
          . pp.
          <fpage>131</fpage>
          -
          <lpage>144</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Soos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castelluccia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Extending SAT Solvers to Cryptographic Problems</article-title>
          . In: Kullmann,
          <string-name>
            <surname>O</surname>
          </string-name>
          . (ed.)
          <source>SAT. LNCS</source>
          , vol.
          <volume>5584</volume>
          , pp.
          <fpage>244</fpage>
          -
          <lpage>257</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Backdoors to typical case complexity</article-title>
          . In: Gottlob,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Walsh</surname>
          </string-name>
          , T. (eds.) IJCAI. pp.
          <fpage>1173</fpage>
          -
          <lpage>1178</lpage>
          . Morgan Kaufmann (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoos</surname>
            ,
            <given-names>H.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leyton-Brown</surname>
          </string-name>
          , K.:
          <article-title>SATzilla: Portfolio-based Algorithm Selection for SAT</article-title>
          .
          <source>J. Artif. Intell. Res. (JAIR) 32</source>
          ,
          <fpage>565</fpage>
          -
          <lpage>606</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>