4 Approximation durch lineare Strukturen Die zweite wichtige Methode, versteckte Linearität aufzudecken, beruht auf linearen Strukturen. Diese werden durch Differenzenrechnung entdeckt. 4. Lineare Strukturen Definition Für eine Abbildung f : F n Fq und einen Vektor u Fn ist die Differenzenabbildung u f : F n Fq definiert durch u f(x) := f(x + u) f(x) für alle x F n. Hilfssatz Für f, g : F n Fq und u Fn gilt: (i) u (f + g) = u f + u g, (ii) Grad u f Grad f. Beweis. (i) ist trivial. (ii) Man kann der Reihe nach o. B. d. A. annehmen: q =, f = T I Monom, f = T T r. Dann ist klar vom Grad r. u f(x) = (x + u ) (x r + u r ) x x r Korollar Ist f konstant, so u f = für alle u F n. Korollar Ist f affin, so u f konstant für alle u F n.. u+v f(x) = f(x + u + v) f(x) = f(x + u + v) f(x + v) + f(x + v) f(x) = u f(x + v) + v f(x).. (Produktregel) In der Situation F n (f,g) F q Fr γ F s mit einer bilinearen Abbildung γ sei h := γ (f, g) : F n Fs. Dann ist u h(x) = γ(f(x + u), g(x + u)) γ(f(x), g(x)) = γ(f(x + u), g(x + u)) γ(f(x + u), g(x)) + γ(f(x + u), g(x)) γ(f(x), g(x)) = γ(f(x + u), g(x + u) g(x)) + γ(f(x + u) f(x), g(x)) = γ(f(x + u), u g(x)) + γ( u f(x), g(x)) 65
3. Ist g : F q Fr linear, so u(g f) = g u f. Definition (Evertse, Eurocrypt 87) Ein Vektor u F n Struktur von f : F n Fq, wenn uf konstant ist. heißt lineare 4. Ist f affin, so ist jeder Vektor eine lineare Struktur von f. 5. ist stets eine lineare Struktur von f. 6. Mit u und v ist auch u + v lineare Struktur wegen Bemerkung. Die linearen Strukturen von f bilden also einen Untervektorraum von F n. Auf diesem ist f affin. Insbesondere gilt in Bemerkung 4 auch die Umkehrung. 7. Ist f : F n Fq eine Abbildung mit f() =, so ist u Fn genau dann lineare Struktur von f, wenn f(x + u) f(x) konstant, etwa = c F q ist. Da dann c = f(u) f() = f(u), ist u in diesem Fall genau dann lineare Struktur von f, wenn f(x + u) = f(x) + f(u) für alle x F n. 8. Falls f : F n F quadratische Form mit zugehöriger Bilinearform β f ist, so ist u genau dann lineare Struktur, wenn β f (u, x) = f(x + u) f(x) f(u) = für alle x, also wenn u Rad f. Das Radikal ist also in diesem Fall der Vektorraum der linearen Strukturen von f, und seine Dimension ist n Rang f. Insbesondere ist nach dem Korollar in.8 f genau dann krumm, wenn Rad f =, also wenn die Linearitätsdimension = ist im Sinne der folgenden Definition. Definition 3 Für eine Boolesche Abbildung f : F n Fq wird der Vektorraum der linearen Strukturen als das Radikal Rad f bezeichnet, seine Dimension als Linearitätsdimension von f und seine Codimension als Rang von f, Rang f. 9. Ist f = g h direkte Summe, so ist (u, v) für u F r und v Fs genau dann lineare Struktur von f, wenn u lineare Struktur von g und v lineare Struktur von h ist. Insbesondere ist Rad f = Rad g Rad h. 66
4. Das Differenzenprofil Für eine Boolesche Abbildung f : F n Fq und u Fn, v Fq sei D f (u, v) := x F n u f(x) = v}, δ f (u, v) := n #D f (u, v). Definition 4 (Chabaud/Vaudenay, Eurocrypt 94) Die Funktion δ f : F n Fq Q heißt Differenzenprofil von f. (Die Normierung mit dem Faktor n erweist sich als zweckmäßig. In der Literatur wird die Matrix #D f (u, v) auch als Differenzentabelle bezeichnet.). Ist f affin, f(x) = Ax + b, so u f(x) = Au, also D f (u, v) = x F n F n, falls Au = v, Au = v} = sonst, δ f (u, v) =, falls Au = v, sonst. (Jede Zeile des Differenzenprofils enthält genau eine und sonst nur Nullen.). Es sind äquivalent: F n u lineare Struktur von f D f (u, v) = für ein v, sonst, für ein v, δ f (u, v) = sonst. (Die Zeile u des Differenzenprofils ist außer genau einem Eintrag.) 3. Für beliebiges f, aber u = gilt, falls v =, δ f (, v) = sonst ( erste Zeile des Differenzenprofils). 4. v F q δ f (u, v) = ( Zeilensummen des Differenzenprofils). Insbesondere gibt es für jeden Vektor u F n ein v Fq mit δ f (u, v) q. 67
Damit ist klar: Satz Für eine Abbildung f : F n Fq sind äquivalent: (i) f ist affin. (ii) Jeder Vektor u F n ist lineare Struktur von f. (iii) Jede Zeile des Differenzenprofils enthält genau einen Eintrag. 5. x D f (u, v) x + u D f (u, v). 6. Alle Werte #D f (u, v) sind gerade: Für u = folgt das aus Bemerkung 3, sonst aus Bemerkung 5. Daher sind alle δ f (u, v) ganzzahlige Vielfache von n. 7. Was passiert bei Addition eines konstanten Vektors im Bild? Ist g(x) = f(x) + b, so g(x + u) = f(x + u) + b und g(x) + v = f(x) + b + v, also D g (u, v) = D f (u, v), insbesondere δ g = δ f. 8. Was passiert bei Addition eines konstanten Vektors im Urbild? Ist h(x) = f(x + a), so D h (u, v) = x h(x + u) = h(x) + v} insbesondere δ h = δ f. = y a f(y + u) = f(y) + v} = D f (u, v) a, 9. Was passiert bei linearen Transformationen im Bildraum? Ist h GL q (F ), so ist D h f (u, v) = x h f(x + u) = h f(x) + v} = x f(x + u) = f(x) + h (v)} = D f (u, h (v)), insbesondere werden die Spalten von δ f permutiert.. Was passiert bei linearen Transformationen im Urbildraum? Ist g GL n (F ), so ist D f g (u, v) = x f g(x + u) = f g(x) + v} = g (y) f(y + g(u)) = f(y) + v} = g (D f (g(u), v), insbesondere werden die Zeilen von δ f permutiert. Die letzten vier zusammen zeigen: 68
Satz Das Differenzenprofil δ f einer Booleschen Abbildung f wird unter beliebigen affinen Transformationen von Bild und Urbild permutiert.. Ist f bijektiv, so ist die Menge D f (v, u) = y F n f (y + v) = f (y) + u} für beliebige u, v F n das Bild unter f von D f (u, v). Insbesondere sind beide Mengen gleich groß, und es folgt δ f (v, u) = δ f (u, v). Das Differenzenprofil von f ist als Matrix geschrieben also transponiert zum Differenzenprofil von f; insbesondere sind auch alle Spaltensummen des Differenzenprofils von f gleich. Dieses ist also, wie das Linearitätsprofil, ebenfalls eine doppelt stochastische Matrix und hat in der ersten Spalte oben eine, dann lauter Nullen.. Im Fall q = lässt sich die Autokorrelation nach ihrer Definition als ausdrücken. κ f (x) = δ f (x, ) δ f (x, ) Beispiele. Im Fall n =, q =, f(x, x ) = x x, ist D f (u, v) = (x, x ) u x + u x = u u + v}. Daraus bestimmt man #D f (u, v) 4 δ f (u, v). Ist f : F n F quadratische Form mit zugehöriger Bilinearform β f, so u f(x) = f(x + u) f(x) = f(u) + β f (x, u). Also gilt x D f (u, v) u f(x) = v β f (x, u) = v f(u). 69
Falls f(u) = v, gilt also x D f (u, v) β f (x, u) =, falls f(u) v, ist x D f (u, v) β f (x, u) =. Daher gilt im Fall u Rad f : F n falls v = f(u), D f (u, v) = sonst. Falls u Rad f, ist H := x β f (u, x) = } ein -codimensionaler Unterraum von F n und H = x β f (u, x) = } die dazu parallele Hyperebene. Daher ist H falls v = f(u), D f (u, v) = H sonst. Für das Differenzenprofil folgt, wenn u Rad f und v = f(u), δ f (u, v) =, wenn u Rad f und v f(u), wenn u Rad f, und für die Autokorrelation κ f (x) = δ f (x, ) δ f (x, ) = ± für x Rad f sonst. 3. Sei f : F n Fq quadratisch mit zugehöriger bilinearer Abbildung β f (x, y) = f(x + y) f(x) f(y) + f(). Dann ist D f (u, v) = x f(x + u) f(x) = v} = x α f,u (x) = v f(u) + f()} mit der linearen Abbildung α f,u : F n Fq, α f,u(x) = β f (x, u). Daher gilt D f (u, v) = Kern α f,u, falls v = f(u) f(); ist allgemeiner v f(u) + f() im Bild von α f,u, so ist D f (u, v) eine Nebenklasse des Unterraums Kern α f,u, ansonsten D f (u, v) =. Setzt man s u := Dim Bild α f,u, so ist s u q und n su falls v f(u) + f() Bild(α f,u ), #D f (u, v) = sonst. 7
4.3 Effiziente Berechnung des Differenzenprofils Grundlage für die effiziente Berechnung von Differenzenprofilen ist der folgende Hilfssatz: Hilfssatz Für jede Boolesche Abbildung f : F n Fq gilt δ f = n ϑ f ϑ f. Beweis. Das folgt aus der Gleichungskette ϑ f ϑ f (u, v) = ϑ f (x, y)ϑ f (x + u, y + v) x F n y F q = ϑ f (x + u, f(x) + v) x F n = #x F n f(x + u) = f(x) + v}. Aus dem Faltungssatz folgt damit direkt also: ˆδ f = n ˆϑ f = n λ f, Hauptsatz Das Differenzenprofil ist bis auf einen konstanten Faktor die Walsh-Transformierte des Linearitätsprofils: λ f = n ˆδ f, δ f = q ˆλ f. Mit der Gleichung von Parseval folgt unmittelbar: Korollar Für jede Boolesche Abbildung f : F n Fq gilt n λ f (u, v) = q δ f (x, y). u F n v F q x F n y F q Korollar Zwei Boolesche Abbildungen F n Fq haben genau dann das gleiche Linearitätsprofil, wenn sie das gleiche Differenzenprofil haben. Das Differenzenprofil der Abbildung f : F n Fq lässt sich also nach folgendem Algorithmus berechnen, der das Linearitätsprofil als Zwischenergebnis liefert:. Bestimmung von ˆϑ f. 7
. Quadrieren ω := ˆϑ f, λ f = n ω. 3. Rücktransformation δ f = q ˆλ f = n+q ˆω. Der Aufwand, wenn man ˆλ f schon berechnet hat, besteht aus weiteren 3N log(n) elementaren Operationen, insgesamt also im wesentlichen aus 6N log(n) solchen Operationen plus N Quadrierungen, wobei N = n+q die Größe des Inputs ist. Beispiele. Ist f durch das Polynom T T + T 3 T 4 gegeben, so 56 für x =, y =, ω(x, y) = für x, y =, 6 für y =, für u =, v =, δ f (u, v) = für u =, v =, sonst.. Ebenso folgt für T T + T T 3 + T T 3 : für u =, v = und für u =, v =, δ f (u, v) = für u =, v = und für u =, v =, sonst. 3. Für T T n folgt für u =, v =, für u =, v =, δ f (u, v) = für u, v =, n für u, v =. n Für (T + ) (T n + ) ist das Ergebnis das gleiche. 4. Für die fünf Normalformen von Abbildungen F F für δ f der Reihe nach die Tabellen: erhalten wir 7
5. Für den Volladdierer siehe 3. erhalten wir ebenso: δ f Hilfssatz 3 Für jede Boolesche Abbildung f : F n Fq gilt für alle v F q. u F n δ f (u, v) = n ν f ν f (v) Beweis. Durch Aufsummieren in Hilfssatz folgt n δ f (u, v) = ϑ f (x, y)ϑ f (u + x, v + y) u F n u F n x F n y F q = ϑ f (x, y) x F n u F n y F q = y F q x F n ϑ f (x, y) }} ν f (y)-mal, sonst = ν f (y) ν f (v + y) y F q = ν f ν f (v). 73 ϑ f (u + x, v + y) }} ν f (v+y)-mal, sonst ν f (v + y)
Aus Hilfssatz 3 und Satz 5 in 3. folgt sofort die folgende Verallgemeinerung von Bemerkung in 4.: sind folgende Aus- Satz 3 (Zhang/Zheng, SAC 96) Für f : F n Fq sagen äquivalent: (i) f ist balanciert. (ii) u F n δ f (u, v) = n q Differenzenprofils). für alle v F q (alle Spaltensummen des (iii) u F n δ f (u, ) = n q (. Spaltensumme des Differenzenprofils). 4.4 Das differenzielle Potenzial Definition 5 (Nyberg, Eurocrypt 93) Für eine Boolesche Abbildung f : F n Fq heißt Ω f := maxδ f (u, v) u F n, v F q, (u, v) } differenzielles Potenzial von f. Anmerkung. In der Literatur wird der maximale Eintrag der Differenzentabelle (außer bei (, )) als differenzielle Uniformität bezeichnet.. Ω f ist invariant unter affinen Transformationen von F n und Fq.. Wegen Bemerkung 4 in 4. folgt q Ω f. 3. Die untere Grenze Ω f = q wird genau dann angenommen, wenn für u alle δ f (u, v) = q sind, d. h., wenn alle Differenzenabbildungen u f : F n Fq balanciert (3.) sind. ( Zeile u des Differenzenprofils konstant.) 4. Hat f eine lineare Struktur, d. h., ist Rad f, so ist Ω f =. 5. Ist f bijektiv, so Ω f = Ω f. 6. Da für f : F n Fq alle Werte des Differenzenprofils δ f stets Vielfache von sind, ist das differenzielle Potenzial Ω n f. n 74
Beispiele. Ist f affin, so Ω f =.. Im Fall n =, q =, f(x, x ) = x x, ist Ω f =. 3. Im Falle einer quadratischen Abbildung folgt aus Beispiel 3 in 4. der folgende Satz: Satz 4 (Seberry, Zhang, Zheng, Eurocrypt 94) Sei f : F n Fq eine quadratische Abbildung. (i) Ist Rad f, so ist Ω f =. (ii) Ist f nichtausgeartet, so ist Ω f = mit s q, insbesondere Ω s f. Dabei ist s = q nur möglich, wenn n = q und f krumm. In allen anderen Fällen, insbesondere, wenn f balanciert ist, gilt s q. Hilfssatz 4 Sei f : F n Fn quadratisch und bijektiv und u Fn }. Dann gibt es mindestens eine Linearform β L n }, so dass β f den Vektor u als lineare Struktur hat. Beweis. Es ist D f (u, ) = ; insbesondere ist die Differenzenabbildung u f nicht balanciert. Also ist mindestens ein β u f = u (β f) nicht balanciert. Da diese Differenzenfunktion aber affin ist, muss sie dann konstant sein. Das war zu zeigen. Satz 5 (Seberry, Zhang, Zheng, Eurocrypt 94) Sei f : F n Fn eine bijektive quadratische Abbildung mit Ω f = n. Dann gilt (i) Jeder Vektor u F n } ist lineare Struktur von β f für genau eine Linearform β L n }. (ii) Für jede Linearform β L n } hat die quadratische Funktion β f den Rang n. (iii) n ist ungerade. Beweis. (i) Nach Bemerkung 6 in 4. sind alle δ f (u, v) = oder. Die n Differenzenabbildung u f nimmt also genau n Werte an (jeweils doppelt). Annahme: u ist für zwei verschiedene Linearformen β, β lineare Struktur von β i f. Da über dem Grundkörper F zwei verschiedene Vektoren stets linear unabhängig sind, lassen sich β, β zu einer Basis β,..., β n von L n ergänzen. Dann ist g := β f. β n f = h f mit h GL n (F ), 75
also Ω g = Ω f = n. Aber u g hat die ersten beiden Komponenten konstant, kann also höchstens n veschiedene Werte annehmen: Widerspruch. (ii) Nach (i) besteht eine bijektive Beziehung zwischen Vektoren u und Linearformen β. Also hat umgekehrt β f für jedes β L n } genau eine lineare Struktur. Also hat jedes β f den Rang n. (iii) Da der Rang einer quadratischen Funktion nach Satz 8 in.7 stets gerade ist, muss n ungerade sein. Korollar Sei f : F n Fn eine bijektive quadratische Abbildung. Dann ist Ω f, wenn n ungerade, und Ω n f, wenn n gerade. n Beweis. Die erste Aussage gilt nach Bemerkung 6 viel allgemeiner. Die zweite folgt, da Ω f nicht n sein kann. Definition 6 (Nyberg, Eurocrypt 93) Eine Boolesche Abbildung f : F n Fq heißt perfekt nichtlinear, wenn das differenzielle Potenzial den minimalen Wert Ω f = q hat. 7. Das ist nach Bemerkung 3 in 4. und Satz 4 in 3. genau dann der Fall, wenn β f für jede Linearform β : F q F, β perfekt nichtlinear ist. 8. Perfekt nichtlineare Abbildungen f : F n Fq keine linearen Strukturen u. haben insbesondere Aus Bemerkung 3 folgt: Satz 6 Genau dann ist f : F n Fq perfekt nichtlinear, wenn das Differenzenprofil δ f auf (F n }) Fq konstant = q ist. Beispiele 3. Für die fünf Normalformen von Abbildungen F F ist Ω f der Reihe nach,,,,. Insbesondere ist der kleinstmögliche Wert für Abbildungen F F. 4. Ist f : F n F quadratische Form, so ist nach Beispiel in 4. Ω f =, wenn Rang f = n, sonst. 76
4.5 Gute Diffusion Definition 7 Eine Boolesche Abbildung f : F n Fq hat gute Diffusion bezüglich u F n, wenn die Differenzenabbildung uf balanciert ist.. Im Fall q = bedeutet das f(x+u) f(x) = oder für jeweils genau n Vektoren x F n. Bezeichnet man die Anzahl der Nullstellen der Differenzenfunktion mit η f (u) := #x F n u f(x) = } = n δ f (u, ), so ist die gute Diffusion bezüglich u äquivalent zu η f (u) = n.. Für allgemeines q bedeutet die gute Diffusion, dass #D f (u, v) = n q bzw. δ f (u, v) = für jedes v F q q, dass also die Zeile u des Differenzenprofils konstant ist. 3. Bezüglich hat keine Abbildung gute Diffusion. 4. Affine Abbildungen haben für keinen Vektor u gute Diffusion. 5. Eine Boolesche Abbildung f ist genau dann perfekt nichtlinear, wenn sie gute Diffusion bezüglich aller Vektoren u F n } hat, wie im Beispiel f(x, x ) = x x. Definition 8 (Webster/Tavares, Crypto 85) Eine Boolesche Funktion f erfüllt das Lawinenkriterium (SAC = strict avalanche criterion ), wenn f gute Diffusion für alle kanonischen Basisvektoren hat. Das bedeutet: Das Umkippen eines Input-Bits ändert genau die Hälfte aller Werte von f. 6. Jede perfekt nichtlineare Funktion erfüllt das Lawinenkriterium. Gute Diffusion einer Booleschen Funktion f lässt sich auch durch die Faltung der Charakter-Form χ f mit sich selbst ausdrücken: χ f χ f (u) = n κ f (u) = n [δ f (u, ) δ f (u, )] = η f (u) n, wobei κ f die Autokorrelation ist. Also: 77
Hilfssatz 5 Eine Boolesche Funktion f : F n F hat genau dann gute Diffusion bezüglich u, wenn χ f χ f (u) = bzw. κ f (u) =. Genau dann ist u lineare Struktur von f wenn Speziell für u = folgt χ f χ f (u) = ± n bzw. κ f (u) = ±. χ f χ f () = n, da η f () = n. Also ist f genau dann perfekt nichtlinear, wenn χ f χ f = ˆ, die Punktmasse in, ist, oder wenn (ˆχ f ) = χ f χ f = n konstant ist. Das war gerade die Definition einer krummen Funktion. Wir haben also gezeigt: Korollar (Dillon 974) Eine Boolesche Funktion f ist genau dann perfekt nichtlinear, wenn sie krumm ist. Korollar Falls es eine perfekt nichtlineare Funktion f : F n F gibt, ist n gerade. Satz 7 (Nyberg, Eurocrypt 9) Eine Boolesche Abbildung f : F n F q ist genau dann perfekt nichtlinear, wenn sie krumm ist. Beweis. Beide Eigenschaften sind jeweils äquivalent dazu, dass sie für alle Funktionen β f : F n F gelten, wo β : F q F eine beliebige Linearform ist. Korollar 3 Ist die Urbilddimension n ungerade, so Ω f > q. Ist zusätzlich q n, so Ω f q + n. Beweis. Die zweite Aussage folgt, weil Ω f Vielfaches von sein muss und n. q n Korollar 4 Für n 3 und f : F n Fn ist Ω f n. Beweis. Das folgt, weil f nicht perfekt nichtlinear sein kann wie bei Korollar 3. Ein Maß für eine global möglichst gute Diffusion einer Booleschen Funktion ist die globale Autokorrelation τ f := x F n κ f (x) = n u F n 78 ˆκ f (u) = n u F n ˆχ f (u) 4,
wobei die Umformung auf der Parseval-Gleichung und Korollar 4 zum Faltungssatz in.3 beruht. Insbesondere ist τ f κ f () =, und wir wissen schon, dass f genau dann perfekt nichtlinear ist, wenn τ f =. Weiter ist τ f = n u F n ˆχ f (u) 4 n u F n ˆχ f (u) da alle Summanden sind, mit Gleichheit genau dann, wenn höchstens ein Summand > ist. Also ist τ f n, und die Gleichheit gilt genau dann, wenn höchstens ein ˆχ f (u) > ist. Dieses eine muss dann gleich der gesamten Quadratsumme n sein, also ˆχ f (u) = ± n, also L f (u) = oder F n, also f(x) = u x + oder f(x) = u x für alle x. Damit ist gezeigt: Satz 8 Für die globale Autokorrelation τ f einer Booleschen Funktion f : F n F gilt: (i) τ f n. (ii) τ f = f perfekt nichtlinear. (iii) τ f = n f affin. (iv) Ist f quadratische Form vom Rang r, so τ f = n r. (v) Ist f = g h direkte Summe, so τ f = τ g τ h. Beweis. Die vierte Aussage folgt, weil τ f = x F n κ f (x) = x Rad f nach Beispiel in 4., die fünfte direkt aus κ f (x, y) = κ g (x)κ h (y). Für die Berechnung zweckmäßig ist die folgende Formel: τ f = x F n κ f (x) = x F n ( [δf (x, ) + δ f (x, )] 4δ f (x, )δ f (x, ) ), [δ f (x, ) δ f (x, )], also: = x F n Hilfssatz 6 Für die globale Autokorrelation τ f einer Booleschen Funktion f : F n F gilt: τ f = n 4 δ f (x, )δ f (x, ). x F n 79
4.6 Die Linearitätsdistanz Sei LS n := f : F n F f hat lineare Struktur }. Das ist die Vereinigung der Untervektorräume zu fester linearer Struktur, aber im allgemeinen selbst kein Untervektorraum. Definition 9 (Meier/Staffelbach, Eurocrypt 89) Für eine Boolesche Funktion f :F n F heißt die Hamming-Distanz die Linearitätsdistanz von f. ρ f := d(f, LS n ). Die Linearitätsdistanz ist invariant unter affinen Transformationen.. ρ f = f LS n. 3. Da A n LS n, ist ρ f σ f, die Nichtlinearität. Wie groß ist ρ f sonst? Zur Antwort hilft eine Zählung: Für einen festen Vektor u F n lässt sich Fn in die beiden Mengen D f (u, ) = x F n u f(x) = }, D f (u, ) = x F n u f(x) = } der Größen n = η f (u) = n δ f (u, ) und n = n η f (u) = n δ f (u, ) zerlegen. Nehmen wir zunächst n n an. Um f zu einer Funktion mit u als linearer Struktur zu machen, muss man mindestens n Werte abändern, und damit schafft man es wirklich: Sei nämlich D f (u, ) = M M irgendwie in zwei gleichgroße Mengen zerlegt mit x M x + u M, #M = #M = n ; dann hat die Funktion f f(x) + für x M (x) :=, f(x) sonst, den Vektor u als lineare Struktur: f(x + u) + f(x) = für x M, u f (x) = f (x + u) + f (x) = f(x + u) + f(x) + = für x M f(x + u) + + f(x) = für x M, und mit weniger Änderungen ist das nicht zu schaffen. 8
Falls n < n, benötigt man analog n Wertänderungen. Also ist die Distanz von f zu jeder Funktion g, die u als lineare Struktur hat, d(f, g) n f (u) := min n, n } = n minδ f (u, ), δ f (u, )}, und für geeignetes g wird dieser Wert angenommen. Es folgt ρ f = minn f (u) u F n }}. Da stets n + n = n, ist n f (u) n. Damit ist gezeigt: Satz 9 (Meier/Staffelbach, Eurocrypt 89) Für die Linearitätsdistanz einer Booleschen Funktion f : F n F gilt ρ f n. Die Gleichheit ist äquivalent dazu, dass f perfekt nichtlinear ist. Beweis der zweiten Aussage: In der obigen Zählung ist für jeden Vektor u F n } stets n = n δ f (u, ) = n = n δ f (u, ) = n. Es folgt weiter ρ f = n minδ f (u, v) u F n }, v F }. Wird dieses Minimum in (u, v ) angenommen, also ρ f = n δ f (u, v ), so ist δ f (u, v + ) = δ f (u, v ) maximal, also = Ω f. Gezeigt ist also: Satz Die Linearitätsdistanz ρ f einer Booleschen Funktion f lässt sich durch das differenzielle Potential Ω f so ausdrücken: ρ f = n ( Ω f ). Auch die Linearitätsdistanz ist also kein neues Maß für die Nichtlinearität, auch hier gilt, dass sie historisch vor dem differenziellen Potenzial eingeführt wurde. Ist f : F n F quadratische Form vom Rang r, so n, wenn r = n, ρ f = sonst, passend dazu, dass f im ersten Fall krumm ist und im zweiten Fall stets eine lineare Struktur hat 8