Solving Systems of Equations with Incompatible Operations
-
Upload
otto-sexton -
Category
Documents
-
view
40 -
download
0
description
Transcript of Solving Systems of Equations with Incompatible Operations
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Solving Systems of Equations Solving Systems of Equations
with Incompatible Operationswith Incompatible Operations
CITS – Cryptology and Information SecurityCITS – Cryptology and Information Security
Fakultät für MathematikFakultät für Mathematik
Ruhr-Universität BochumRuhr-Universität Bochum
Magnus Daum
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 3
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Systems of EquationsSystems of Equations
• Cryptanalysis often uses systems of equations, e.g.– linear equations– quadratic equations (e.g. algebraic attack)
• But many cryptosystems include different, mathematically incompatible kinds of operations:– integer operations modulo 2n
– bitwise defined functions– bitrotations / -shifts
• could be also represented by polynomial equations• better to have tools for directly solving equations
involving such different operations
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 4
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Motivation/ApplicationMotivation/Application
• Dobbertin‘s attacks on hash functions:– e.g. solve
where f is a bitwise defined function
– Idea: Xk,…,0 solution for least significant k+1 bit) Xk-1,…,0 solution for least significant k bit
– Solve „from right to left“
• T-functions (Klimov/Shamir):– f T-function , k-th output bit of f depends only on
least significant k-1 input bits– solvable „from right to left“
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 5
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Dobbertin‘s AlgorithmDobbertin‘s Algorithm
x
x
x
x
tree of solutions
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 6
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Dobbertin‘s AlgorithmDobbertin‘s Algorithm
x
x
x
x
tree of solutions
• Often possible to stop early• Faster than exhaustive search• For each solution there exists
a leaf in the tree• Complexity directly related to
the number of solutions• Problem: We are mainly
interested in equations with many solutions.
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 7
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Improvement:Improvement: Exploiting RedundancyExploiting Redundancy
x
x
x
x
• Idea:Combine redundant subtrees
• Problem:Detect redundancy during the construction of the graph
• Only the carrybit is relevant for the solution for the third bit
• Labeling the vertices with the carrybits makes it possible to detect redundancies on the fly tree of solutions
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 8
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
ExampleExample
x
x
x
x
Tree of solutions fromDobbertin‘s algorithm
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 9
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
x
ExampleExample
xx
x
x
solution graph
1100 1001
1100 1001
1100 1001
00
x
x
x
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 10
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
solution graph
ExampleExample
x
x
x
x
• Compact representation of the set of solutions
• Can be simplified even more
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 11
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Solution GraphsSolution Graphs
• One root and one sink• Labelling of the edges describes
solutions:Each path from the root to the sink represents a solution (and vice versa)
• Also possible to consider equations with more than one variable:
– E.g. label edges with XiYiZi instead of only Xi
sink
root
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 12
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Size of Solution GraphsSize of Solution Graphs
x
x
x
x
• possible to minimize size:– delete „dead-ends“– merge equivalent vertices
• Size is hardly predictable in general• worst-Case: exponential size• here: upper bounds
– because of labelling with carrybits– T-functions: narrowness gives upper
bound on possible labels
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 14
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Algorithms for Solution GraphsAlgorithms for Solution Graphs
• Solution graphs are closely related to binary decision diagrams (BDDs)
• Further efficient algorithms from the theory of BDDs deriveable:– computing the number of solutions– choosing random solutions– combining solution graphs
(e.g. intersecting two sets of solutions)
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 19
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
ConclusionConclusion
• presented a new data structure, a solution graph• closely related to BDDs• allows efficient computation and representation
of special systems of equations with incompatible operations
• especially for T-functions with small narrowness
1.12.2004 Daum - Solving Systems of Equations with Incompatible Operations 20
Ruhr-Ruhr-UniversitätUniversitätBochumBochumFakultät für MathematikFakultät für Mathematik
Informationssicherheit und KryptologieInformationssicherheit und Kryptologie
Thank you!Thank you!
Questions???Questions???