<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Hyperplane_at_infinity</id>
	<title>Hyperplane at infinity - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/index.php?action=history&amp;feed=atom&amp;title=Hyperplane_at_infinity"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Hyperplane_at_infinity&amp;action=history"/>
	<updated>2026-04-24T18:06:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0-wmf.28</generator>
	<entry>
		<id>https://en.formulasearchengine.com/index.php?title=Hyperplane_at_infinity&amp;diff=6339&amp;oldid=prev</id>
		<title>en&gt;Rgdboer: lk union (set theory)</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Hyperplane_at_infinity&amp;diff=6339&amp;oldid=prev"/>
		<updated>2012-09-01T21:04:00Z</updated>

		<summary type="html">&lt;p&gt;lk union (set theory)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{refimprove|date=February 2009}}&lt;br /&gt;
In [[cryptanalysis]], the &amp;#039;&amp;#039;&amp;#039;piling-up lemma&amp;#039;&amp;#039;&amp;#039; is a principle used in [[linear cryptanalysis]] to construct [[linear approximation]] to the action of [[block cipher]]s. It was introduced by [[Mitsuru Matsui]] (1993) as an analytical tool for linear cryptanalysis.&lt;br /&gt;
&lt;br /&gt;
==Theory==&lt;br /&gt;
The piling-up lemma allows the cryptanalyst to determine the [[probability]] that the equality:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;X_1\oplus X_2\oplus\cdots\oplus X_n=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
holds, where the &amp;#039;&amp;#039;X&amp;#039;&amp;#039; &amp;#039;s are [[binary variable]]s (that is, bits: either 0 or 1).&lt;br /&gt;
&lt;br /&gt;
Let &amp;#039;&amp;#039;P&amp;#039;&amp;#039;(A) denote &amp;quot;the probability that A is true&amp;quot;. If it equals [[probability one|one]], A is certain to happen, and if it equals zero, A cannot happen. First of all, we consider the piling-up lemma for two binary variables, where &amp;lt;math&amp;gt;P(X_1 = 0)=p_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;P(X_2 = 0)=p_2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now, we consider:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X_1 \oplus X_2 = 0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Due to the properties of the [[xor]] operation, this is equivalent to&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X_1=X_2)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; = &amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; = 0 and &amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; = &amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; = 1 are [[mutually exclusive events]], so we can say&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X_1=X_2)=P(X_1=X_2=0) + P(X_1=X_2=1)=P(X_1=0, X_2=0) + P(X_1=1, X_2=1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we must make the central assumption of the piling-up lemma: the binary variables we are dealing with are &amp;#039;&amp;#039;&amp;#039;[[Dependent and independent variables|independent]]&amp;#039;&amp;#039;&amp;#039;; that is, the state of one has no effect on the state of any of the others. Thus we can expand the probability function as follows:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;P(X_1 \oplus X_2 = 0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;=P(X_1=0)P(X_2=0)+P(X_1=1)P(X_2=1)\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;=p_1p_2 + (1-p_1)(1-p_2)\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;=p_1p_2 + (1-p_1-p_2+p_1p_2)\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;=2p_1p_2-p_1-p_2+1\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now we express the probabilities &amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; and &amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; as ½ + ε&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; and ½ + ε&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, where the ε&amp;#039;s are the probability biases &amp;amp;mdash; the amount the probability deviates from ½.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;math&amp;gt;P(X_1 \oplus X_2 = 0)&amp;lt;/math&amp;gt;&lt;br /&gt;
|&amp;lt;math&amp;gt;=2(1/2+\epsilon_1)(1/2+\epsilon_2)-(1/2+\epsilon_1)-(1/2+\epsilon_2)+1\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;=1/2+\epsilon_1+\epsilon_2+2\epsilon_1\epsilon_2-1/2-\epsilon_1-1/2-\epsilon_2+1\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&amp;lt;math&amp;gt;=1/2+2\epsilon_1\epsilon_2\ &amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Thus the probability bias ε&amp;lt;sub&amp;gt;1,2&amp;lt;/sub&amp;gt; for the XOR sum above is 2ε&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;ε&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This formula can be extended to more &amp;#039;&amp;#039;X&amp;#039;&amp;#039; &amp;#039;s as follows:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X_1\oplus X_2\oplus\cdots\oplus X_n=0)=1/2+2^{n-1}\prod_{i=1}^n \epsilon_i&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if any of the ε&amp;#039;s is zero; that is, one of the binary variables is unbiased, the entire probability function will be unbiased &amp;amp;mdash; equal to ½.&lt;br /&gt;
&lt;br /&gt;
A related slightly different definition of the bias is&lt;br /&gt;
&amp;lt;math&amp;gt; \epsilon_i = P(X_i=1) - P(X_i=0),&amp;lt;/math&amp;gt; &lt;br /&gt;
in fact minus two times the previous value. The advantage is that now with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\varepsilon_{total}= P(X_1\oplus X_2\oplus\cdots\oplus X_n=1)- P(X_1\oplus X_2\oplus\cdots\oplus X_n=0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
we have&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\varepsilon_{total}=(-1)^{n+1}\prod_{i=1}^n \varepsilon_i,&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
adding random variables amounts to multiplying their (2nd definition) biases.&lt;br /&gt;
&lt;br /&gt;
==Practice==&lt;br /&gt;
In practice, the &amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;s are approximations to the [[S-box]]es (substitution components) of block ciphers. Typically, &amp;#039;&amp;#039;X&amp;#039;&amp;#039; values are inputs to the S-box and &amp;#039;&amp;#039;Y&amp;#039;&amp;#039; values are the corresponding outputs. By simply looking at the S-boxes, the cryptanalyst can tell what the probability biases are. The trick is to find combinations of input and output values that have probabilities of zero or one. The closer the approximation is to zero or one, the more helpful the approximation is in linear cryptanalysis.&lt;br /&gt;
&lt;br /&gt;
However, in practice, the binary variables are not independent, as is assumed in the derivation of the piling-up lemma. This consideration has to be kept in mind when applying the lemma; it is not an automatic cryptanalysis formula.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* Mitsuru Matsui. Linear Cryptanalysis Method for DES Cipher. EUROCRYPT 1993: 386-397&lt;br /&gt;
&lt;br /&gt;
{{Cryptography navbox | block}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cryptographic attacks]]&lt;br /&gt;
[[Category:Lemmas]]&lt;/div&gt;</summary>
		<author><name>en&gt;Rgdboer</name></author>
	</entry>
</feed>