Definitions

# Differential equations of addition

In cryptography, differential equations of addition (DEA) are one of the most basic equations related to differential cryptanalysis that mix additions over two different groups (e.g. additions over GF$\left(2^\left\{32\right\}\right)$ and GF$\left(2\right)$) and where input and output differences are expressed as XORs.

## Examples of Differential Equations of Addition

Differential equations of addition (DEA) are of the following form:

$\left(x+y\right)oplus\left(\left(xoplus a\right)+\left(yoplus b\right)\right)=c$

where $x$ and $y$ are $n$-bit unknown variables and $a$, $b$ and $c$ are known variables. The symbols $+$ and $oplus$ denote addition modulo $2^n$ and bitwise exclusive-or respectively. The above equation is denoted by $\left(a, b, c\right)$.

Let a set $S=\left\{\left(a_i, b_i, c_i\right)|i$ is an integer less than $k\right\}$ denote a system of $k$ DEA where $k$ is a polynomial in $n$. It has been proved that the satisfiability of an arbitrary set of DEA is in the when a brute force search requires an exponential time.

## Usage of Differential Equations of Addition

Solution to an arbitrary set of DEA (either in batch and or in adaptive query model) was due to Souradyuti Paul and Bart Preneel. The solution techniques have been used to attack the stream cipher Helix.

## References

• Souradyuti Paul and Bart Preneel, Solving Systems of Differential Equations of Addition, ACISP 2005. Full version (PDF)
• Souradyuti Paul and Bart Preneel, Near Optimal Algorithms for Solving Differential Equations of Addition With Batch Queries, Indocrypt 2005. Full version (PDF)
• Helger Lipmaa, Johan Wallén, Philippe Dumas: On the Additive Differential Probability of Exclusive-Or. FSE 2004: 317-331.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 18, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.8957198262214661, "perplexity_flag": "middle"}