50 research outputs found
Highly Automated Formal Verification of Arithmetic Circuits
This dissertation investigates the problems of two distinctive formal verification techniques for verifying large scale multiplier circuits and proposes two approaches to overcome some of these problems. The first technique is equivalence checking based on recurrence relations, while the second one is the symbolic computation technique which is based on the theory of Gröbner bases. This investigation demonstrates that approaches based on symbolic computation have better scalability and more robustness than state-of-the-art equivalence checking techniques for verification of arithmetic circuits. According to this conclusion, the thesis leverages the symbolic computation technique to verify floating-point designs. It proposes a new algebraic equivalence checking, in contrast to classical combinational equivalence checking, the proposed technique is capable of checking the equivalence of two circuits which have different architectures of arithmetic units as well as control logic parts, e.g., floating-point multipliers
Constraint-Driven Fault Diagnosis
Constraint-Driven Fault Diagnosis (CDD) is based on the concept of constraint suspension [6], which was proposed as an approach to fault detection and diagnosis. In this chapter, its capabilities are demonstrated by describing how it might be applied to hardware systems. With this idea, a model-based fault diagnosis problem may be considered as a Constraint Satisfaction Problem (CSP) in order to detect any unexpected behavior and Constraint Satisfaction Optimization Problem (COP) constraint optimization problem in order to identify the reason for any unexpected behavior because the parsimony principle is taken into accountMinisterio de Ciencia y Tecnología TIN2015-63502-C3-2-
Solving a binary puzzle
A Binary puzzle is a Sudoku-like puzzle with values in each cell taken from the set (Formula presented.). Let (Formula presented.) be an even integer, a solved binary puzzle is an (Formula presented.) binary array that satisfies the following conditions: (1) no three consecutive ones and no three consecutive zeros in each row and each column; (2) the number of ones and zeros must be equal in each row and in each column; (3) there can be no repeated row and no repeated column. This paper proposes three approaches to solve the puzzle. The first method is based on a complete backtrack-based search algorithm. The idea is to propagate and fill an unsolved binary puzzle according to the three constraints, followed by a random guess if the puzzle remains unsolved. The second method of solving a binary puzzle is by representing it as an instance of a Boolean satisfiability problem which allows the solution for a binary puzzle to be obtained using SAT solvers. The third approach is based on expressing a binary puzzle as a system of polynomial equations over the binary field (Formula presented.). The set of solutions for the equation system implies the solutions for the binary puzzle and it is obtained by computing a Gröbner basis of the ideal generated by the polynomials. We experimentally compare the three approaches with binary puzzles of various sizes and different numbers of empty cells using a computer algebra system
Autoguess: A Tool for Finding Guess-and-Determine Attacks and Key Bridges
The guess-and-determine technique is one of the most widely used techniques in cryptanalysis to recover unknown variables in a given system of relations. In such attacks, a subset of the unknown variables is guessed such that the remaining unknowns can be deduced using the information from the guessed variables and the given relations. This idea can be applied in various areas of cryptanalysis such as finding the internal state of stream ciphers when a sufficient amount of output data is available, or recovering the internal state and the secret key of a block cipher from very few known plaintexts. Another important application is the key-bridging technique in key-recovery attacks on block ciphers, where the attacker aims to find the minimum number of required sub-key guesses to deduce all involved sub-keys via the key schedule. Since the complexity of the guess-and-determine technique directly depends on the number of guessed variables, it is essential to find the smallest possible guess basis, i.e., the subset of guessed variables from which the remaining variables can be deduced.
In this paper, we present Autoguess, an easy-to-use general tool to search for a minimal guess basis. We propose several new modeling techniques to harness SAT/SMT, MILP, and Gröbner basis solvers. We demonstrate their usefulness in guess-and-determine attacks on stream ciphers and block ciphers, as well as finding key-bridges in key recovery attacks on block ciphers. Moreover, integrating our CP models for the key-bridging technique into the previous CP-based frameworks to search for distinguishers, we propose a unified and general CP model to search for key recovery friendly distinguishers which supports both linear and nonlinear key schedules
Algebraic Attack Efficiency versus S-box Representation
Algebraic analysis of block ciphers aims at finding the secret key by solving
a collection of polynomial equations that describe the internal structure of a cipher
for chosen observations of plaintext/ciphertext pairs.
Although algebraic attacks are addressed for cryptanalysis of block and
stream ciphers, there is a lack of understanding of the impact of algebraic
representation of the cipher on efficiency of solving the resulting collection of equations.
The work investigates different S-box representations and their effect on
complexity of algebraic attacks.
In particular, we observe that a S-box representation defined in the work as
\textit{Forward-Backward} (FWBW) leads to a collection of equations that can be solved efficiently.
We show that the cipher can be broken using
standard algebra software \textsc{Singular} and FGb.
This is the best result achieved so far.
The effect of description of S-boxes for some light-weight block ciphers is investigated.
A by-product of this result is that we have achieved some improvements on the algebraic cryptanalysis of LBlock, PRESENT and MIBS light-weight block ciphers.
Our study and experiments confirms a counter-intuitive conclusion
that algebraic attacks work best for the FWBW S-box representation.
This contradicts a common belief that algebraic attacks are more efficient
for quadratic S-box representation
Algebraic Cryptanalysis of Deterministic Symmetric Encryption
Deterministic symmetric encryption is widely used in many cryptographic applications. The security of deterministic block and stream ciphers is evaluated using cryptanalysis. Cryptanalysis is divided into two main categories: statistical cryptanalysis and algebraic cryptanalysis. Statistical cryptanalysis is a powerful tool for evaluating the security but it often requires a large number of plaintext/ciphertext pairs which is not always available in real life scenario. Algebraic cryptanalysis requires a smaller number of plaintext/ciphertext pairs but the attacks are often underestimated compared to statistical methods. In algebraic cryptanalysis, we consider a polynomial system representing the cipher and a solution of this system reveals the secret key used in the encryption. The contribution of this thesis is twofold. Firstly, we evaluate the performance of existing algebraic techniques with respect to number of plaintext/ciphertext pairs and their selection. We introduce a new strategy for selection of samples. We build this strategy based on cube attacks, which is a well-known technique in algebraic cryptanalysis. We use cube attacks as a fast heuristic to determine sets of plaintexts for which standard algebraic methods, such as Groebner basis techniques or SAT solvers, are more efficient. Secondly, we develop a~new technique for algebraic cryptanalysis which allows us to speed-up existing Groebner basis techniques. This is achieved by efficient finding special polynomials called mutants. Using these mutants in Groebner basis computations and SAT solvers reduces the computational cost to solve the system. Hence, both our methods are designed as tools for building polynomial system representing a cipher. Both tools can be combined and they lead to a significant speedup, even for very simple algebraic solvers
Strengthening Crypto-1 Cipher Against Algebraic Attacks
In the last few years, several studies addressed the problem of data security in Mifare Classic. One of its weaknesses is the low random number quality. This causes SAT solver attacks to have lower complexity. In order to strengthen Crypto-1 against SAT solver attacks, a modification of the feedback function with better cryptographic properties is proposed. It applies a primitive polynomial companion matrix. SAT solvers cannot directly attack the feedback shift register that uses the modified Boolean feedback function, the register has to be split into smaller groups. Experimental testing showed that the amount of memory and CPU time needed were highest when attacking the modified Crypto-1 using the modified feedback function and the original filter function. In addition, another modified Crypto-1, using the modified feedback function and a modified filter function, had the lowest percentage of revealed variables. It can be concluded that the security strength and performance of the modified Crypto-1 using the modified feedback function and the modified filter function are better than those of the original Crypto-1
A Poly-algorithmic Approach to Quantifier Elimination
Cylindrical Algebraic Decomposition (CAD) was the first practical means for
doing real quantifier elimination (QE), and is still a major method, with many
improvements since Collins' original method. Nevertheless, its complexity is
inherently doubly exponential in the number of variables. Where applicable,
virtual term substitution (VTS) is more effective, turning a QE problem in
variables to one in variables in one application, and so on. Hence there
is scope for hybrid methods: doing VTS where possible then using CAD.
This paper describes such a poly-algorithmic implementation, based on the
second author's Ph.D. thesis. The version of CAD used is based on a new
implementation of Lazard's recently-justified method, with some improvements to
handle equational constraints