20 research outputs found
Improved algebraic cryptanalysis of QUAD, Bivium and Trivium via graph partitioning on equation systems
We present a novel approach for preprocessing systems of polynomial equations via graph partitioning. The variable-sharing graph of a system of polynomial equations is defined. If such graph is disconnected, then the corresponding system of equations can be split into smaller ones that can be solved individually. This can provide a tremendous speed-up in computing the solution to the system, but is unlikely to occur either randomly or in applications. However, by deleting certain vertices on the graph, the variable-sharing graph could be disconnected in a balanced fashion, and in turn the system of polynomial equations would be separated into smaller systems of near-equal sizes. In graph theory terms, this process is equivalent to finding balanced vertex partitions with minimum-weight vertex separators. The techniques of finding these vertex partitions are discussed, and experiments are performed to evaluate its practicality for general graphs and systems of polynomial equations. Applications of this approach in algebraic cryptanalysis on symmetric ciphers are presented: For the QUAD family of stream ciphers, we show how a malicious party can manufacture conforming systems that can be easily broken. For the stream ciphers Bivium and Trivium, we nachieve significant speedups in algebraic attacks against them, mainly in a partial key guess scenario. In each of these cases, the systems of polynomial equations involved are well-suited to our graph partitioning method. These results may open a new avenue for evaluating the security of symmetric ciphers against algebraic attacks
Partitioning Multivariate Polynomial Equations via Vertex Separators for Algebraic Cryptanalysis and Mathematical Applications
We present a novel approach for solving systems of polynomial
equations via graph partitioning. The concept of a
variable-sharing graph of a system of polynomial equations is
defined. If such graph is disconnected, then the system of
equations is actually two separate systems that can be solved
individually. This can provide a significant speed-up in
computing the solution to the system, but is unlikely to occur
either randomly or in applications. However, by deleting a small
number of vertices on the graph, the variable-sharing graph
could be disconnected in a balanced fashion, and in turn the
system of polynomial equations are separated into smaller ones of
similar sizes. In graph theory terms, this process is equivalent to
finding balanced vertex partitions with minimum-weight vertex
separators.
The techniques of finding these vertex partitions are discussed,
and experiments are performed to evaluate its practicality for
general graphs and systems of polynomial equations. Applications
of this approach to the QUAD family of stream ciphers, algebraic
cryptanalysis of the stream cipher Trivium and its variants, as
well as some mathematical problems in game theory and
computational algebraic geometry are presented. In each of
these cases, the systems of polynomial equations involved are
well-suited to our graph partitioning method, and constructive
results are discussed
Computer science: the hardware software and heart of IT
1st edition, 201
Proceedings of the 26th International Symposium on Theoretical Aspects of Computer Science (STACS'09)
The Symposium on Theoretical Aspects of Computer Science (STACS) is held alternately in France and in Germany. The conference of February 26-28, 2009, held in Freiburg, is the 26th in this series. Previous meetings took place in Paris (1984), Saarbr¨ucken (1985), Orsay (1986), Passau (1987), Bordeaux (1988), Paderborn (1989), Rouen (1990), Hamburg (1991), Cachan (1992), W¨urzburg (1993), Caen (1994), M¨unchen (1995), Grenoble (1996), L¨ubeck (1997), Paris (1998), Trier (1999), Lille (2000), Dresden (2001), Antibes (2002), Berlin (2003), Montpellier (2004), Stuttgart (2005), Marseille (2006), Aachen (2007), and Bordeaux (2008). ..
Efficient local search for Pseudo Boolean Optimization
Algorithms and the Foundations of Software technolog