Connections between graph theory and...

54
Connections between graph theory and cryptography Connections between graph theory and cryptography Natalia Tokareva G2C2: Graphs and Groups, Cycles and Coverings September, 24–26, 2014. Novosibirsk, Russia

Transcript of Connections between graph theory and...

Page 1: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Connections between graph theory andcryptography

Natalia Tokareva

G2C2: Graphs and Groups, Cycles and CoveringsSeptember, 24–26, 2014. Novosibirsk, Russia

Page 2: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Introduction to cryptography

Page 3: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

TerminologyCryptography is the scientific and practical activity associatedwith developing of cryptographic security facilities of informationand also with argumentation of their cryptographic resistance.

Plaintext is a secret message. Often it is a sequence of binary bits.

Ciphertext is an encrypted message.

Encryption is the process of disguising a message in such a way asto hide its substance (the process of transformation plaintext intociphertext by virtue of cipher).

Cipher is a family of invertible mappings from the set of plaintextsequences to the set of ciphertext sequences. Each mappingdepends on special parameter — a key. Key is removable part ofthe cipher.

Page 4: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

TerminologyDeciphering is the process of turning a ciphertext back into theplaintext that realized with known key.

Decryption is the process of receiving the plaintext from ciphertextwithout knowing the key.

Page 5: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Terminology

Cryptography is the scientific and practical activity associatedwith developing of cryptographic security facilities of informationand also with argumentation of their cryptographic resistance.

Cryptanalysis is the scientific and practical activity of analysis ofcryptographic algorithms with the goal to obtain estimations oftheir cryptographic resistance.

Cryptology is the concept combining both cryptography andcryptanalysis.

Page 6: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Cryptographic goals

1) Confidentiality is a service used to keep the content ofinformation from all but those authorized to have it.

2) Data integrity is a service which addresses the unauthorizedalteration of data.

3) Authentication is a service related to identification. Thisfunction applies to both entities and information itself. Twoparties entering into a communication should identify eachother.

4) Non-repudiation is a service which prevents an entity fromdenying previous commitments or actions.

Page 7: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Types of cryptographic algorithms• Symmetric algorithms (conventional algorithms) are algorithms

where the encryption key can be calculated from thedecryption key and vice versa.• Public-key algorithms (asymmetric algorithms) are designed so

that the key used for encryption (public key) is different fromthe key used for decryption (private key).

Page 8: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Main principlesSymmetric algorithms arealgorithms in which theencryption key can be calculatedfrom the decryption key and viceversa.

I Usually the encryption key = the decryption key.I The sender and receiver should agree on a key before securecommunication.

I Security of a symmetric algorithm is guaranteed by the key;divulging the key means that anyone could encrypt anddecrypt messages. As long as the communication needs toremain secret, the key should remain secret.

Page 9: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Block and stream ciphers

Symmetric algorithms can be divided into two categories:

1) First type operate on the plaintext of a single bit (orsometimes byte) at a time; these algorithms are called streamciphers.Examples. A5/1, A2/2, Grain, Trivium, Achterbahn-128/80and others.

2) Second type operate on the plaintext given by a group ofbits. The groups of bits are called blocks, and the algorithmsare called block ciphers.Examples. DES, GOST 28147-89, AES, CAST-128, SMS4and others.

Page 10: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Stream ciphersA stream cipher generates a pseudorandom sequence of bitsthat should be XORed with a binary bit sequence of a plaintext.Such a sequence is called a gamma.

plaintext ⊕ gamma = ciphertext

The system’s security depends only on the gamma.

Page 11: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Block ciphers

The plaintext is divided into block of bits (typical block sizes are64, 128, 256). Then all blocks are separately encrypted by a cipherthat is a some mapping F depending on a secret key.

Page 12: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Connections to graph theory

Modern cryptography is highly connected with discretemathematics. Many cryptographic algorithms such as RSA,ElGamal, elliptic curve methods, symmetric ciphers AES, CAST,Grain, several stream ciphers, hash functions, statistical methods ofcryptanalysis, cryptographic protocols, etc. are directly based onmathematical results.In this talk we discuss connections between cryptographic methodsand graph theory. We consider such topics as:• sparse graphs, social networks and mobile security systems;• hash functions, expander and random graphs;• cycles of large period and linear recurrent sequences;• cryptographic Boolean functions and graphs;• metrical properties of Cayley graphs and bent functions.

Page 13: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Introduction to cryptography

Sparse graphs, social networks and mobile security systems

Page 14: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

Sparse graphs, social networks and mobile security systems

Page 15: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

Sparse graphs, social networks and mobile security systems

Page 16: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

Sparse graphs, social networks and mobile security systems

Page 17: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

A sparse graph is a graph in which the number of edges is muchless than the possible number of edges.

A.Lee, I.Streinu (2008), L.Theran (2009) defined a sparse graphlike this. A graph is (k ,`)-sparse if every nonempty subgraph with nvertices has at most kn − ` edges. A graph is (k ,`)-tight if it’s(k ,`)-sparse and has exactly kn − ` edges.

Some details:• trees are exactly the (1,1)-tight graphs;• forests are exactly the (1,1)-sparse graphs;• the facts that any planar graph with n vertices has at most3n − 6 edges, and that any subgraph of a planar graph is planar,together imply that the planar graphs are (3,6)-sparse. However,not every (3,6)-sparse graph is planar;• I.Streinu and L.Theran showed that testing (k ,`)-sparsity may beperformed in polynomial time when k and ` are integers and0 6 ` < 2k .

Page 18: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

A problem for a mathematician. Studying sparse graphsL.Lovasz mentions in his paper “Graph homomorphisms: Openproblems” (2008) the following problem:

“Problem 42. Suppose that instead of exploring the neighborhoodof a single random node, we could select two random nodes andtest simple quantities associated with them, like distance,maximum flow, electrical resistance. What information can begained by such tests? Is there a “complete” set of tests that wouldgive enough information to determine the global structure of thegraph to a reasonable accuracy?”

Page 19: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Sparse graphs, social networks and mobile security systems

A problem for a mathematician. In the paper “Extremal resultsin sparse pseudorandom graphs” D.Conlon, J.Fox, Y.Zhao discussseveral problems for sparse graphs.

For instance, analog of regularity lemma for sparse graphs wasproven by Y.Kohayakawa (1997) and by V.Rodl; analog of countinglemma is still not proven.

Regularity lemma. “Roughly speaking, it says that the vertex setof every graph can be partitioned into a bounded number of partsso that the induced bipartite graph between almost all pairs ofparts is pseudorandom.”

Counting lemma. “Roughly speaking, it says that the number ofembeddings of a fixed graph H into a pseudorandom graph G canbe estimated by pretending that G were a genuine random graph.”

Page 20: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Hash functions, expander and random graphs

Page 21: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Hash functions and sparse graphsA hash function is an arbitrary function that can be used to mapdigital data of any size to digital data of a fixed size.

Slight differences in input data have to produce big differences inoutput data. Difficulties in finding of an preimage and a collision.

Page 22: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Hash functions and sparse graphs

Usually hash functions are constructed by steps.

Page 23: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Expander graphs and hash functions

Sparse graphs are used for constructing cryptographically resistanthash functions.An expander graph is a sparse graph that has strong connectivityproperties, quantified using vertex, edge or spectral expansion.

Informally, expander graphs are graphs in which the neighbor set ofany “not too large” subset of vertices contains many new vertices.

Application for constructing hash functions: the input to the hashfunction is used as directions for walking around a graph, and theending vertex is the output of the hash function.

Page 24: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

An idea...

“Nel mezzo del cammin di nostra vita,mi ritrovai per una selva oscura,che’ la diritta via era smarrita.”

“When I had journeyed half of our life’s way,I found myself within a shadowed forest,for I had lost the path that does not stray.”

Dante Alighieri “The Divine Comedy”

After even several steps in an expander graph you don’t know whereare you... It’s good for crypto since provides a very good mixing.

Page 25: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

An example from the series of Ramanujan graphs

Page 26: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Examples of hash functions based on expander graphs

D.Charles, E.Goren, K.Lauter “Cryptographic hash functions fromexpander graphs” (2007).They proposed constructing provable collision resistanthash functions from expander graphs in which findingcycles is hard. As examples, they have investigated twospecific families of optimal expander graphs for provablecollision resistant hash function constructions: thefamilies of Ramanujan graphs constructed byLubotzky-Phillips-Sarnak and Pizer respectively.

Page 27: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Hash functions and random graphsLet f be a random function defined on M = {0, 1, 2, . . . ,N − 1},namely f : M → M.A random graph is an oriented graph associated to f :

Vertices: 0, 1, 2, . . .N − 1;Edges: x → f (x).

In cryptography we can meet a random graph as the state graph ofa some stream generator or as the graph of a hash function.

Here is the Linear Feedback Shift Register (LFSR).

Page 28: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Page 29: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

A problem for a cryptographer: How to find a preimage?I. e. for a given y to find some x , such that f (x) = y?A problem for a cryptographer: How to find a collision?I. e. distinct numbers x , x ′ such that f (x) = f (x ′)?

There is an algorithm of Floyd: using two pointers (one runs atnormal speed, another at double speed, until they collide).

When the path has n vertices and the tail is short, algorithm ofFloyd requires about 3n steps. When the cycle is short, the fastpointer can traverse it many times without noticing.Using additional memory it is possible to overcome these difficulties.

A problem for a mathematician: To propose distinct (effective?)algorithms for finding collisions in pseudorandom graphs.

Page 30: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Hash functions, expander and random graphs

Cycles of large period and linear recurrent sequences

Page 31: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

Cycles of large period and linear recurrent sequences

Linear recurrent sequences (LRS) form the most famous base forpseudo-random generators.

LRS is produced by Linear feedback shift register (LFSR).

LFSR and its generalization is widely used as a component in astream cipher (for instance, A5/1, Grain, they will be consideredlater) and pseudo-random generators.

LFSR can produce a sequence with a good minimal period fromthe small initial state and its generalizations allow to sufficientlyincrease linear complexity of the output sequence.

Such sequences have good statistical properties.

Page 32: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

Linear recurrent sequencesu = (u0, u1, u2, . . .), ui ∈ Z2 is an infinite binary sequence.An infinite sequence u is called linear recurrent (LRS), if for somea0, . . . , an−1 ∈ Z2 it is right

ui+n = a0ui ⊕ . . .⊕ an−1ui+n−1 ∀i ∈ N0.

The expression above is also called linear recurrence relation oforder n. Note that a linear recurrent sequence can be produced bylinear recurrence relations of different orders.

The following polynomial is called a characteristic polynomial of thesequence u: c(λ) = λn ⊕ an−1λ

n−1 ⊕ . . .⊕ a1λ⊕ a0.

I Minimal polynomial of a LRS is its characteristic polynomial ofthe minimal degree. Denote it by µu(λ).

I Linear complexity of a LRS is the degree of its minimalpolynomial. Denote it by `(u).

Note that the minimal polynomial of a LRS is unique.

Page 33: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

A sequence u is calledI ultimately periodic, if for some natural numbers T and s it

holds ui+T = ui , i ∈ N0, i ≥ s.I periodic, if s = 0.

The number T is called period. Minimal possible period is calledthe minimal period and denoted by per(u).The minimal period of a sequence divides any its period.It is known that any LRS u is periodic and per(u) ≤ 2`(u) − 1,where `(u) is linear complexity of u.

A problem for a cryptographer: How to construct LRS such thatfor any initial values u0, u1, . . . , un−1 the sequence u has high linearcomplexity and period? Large cycles of the state graph?

The same for several more complicated generators?

Page 34: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

hgamma

LFSR1x1

LFSR2x2

LFSRnxn

Combining model

Page 35: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

LFSR

h

x1 x2 xn

gamma

Filtering model

Page 36: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cycles of large period and linear recurrent sequences

A problem for a mathematician:How to construct a function f : M → M, M = {0, 1, 2, . . . ,N − 1},under several conditions, such that its associated graph has largecycles with short tails.

Page 37: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Cryptographic Boolean functions and graphs

Page 38: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Nonlinearity

Nonlinearity of a Boolean function f in n variables is the value Nfthat is equal to the Hamming distance between function f and theset An of all affine functions in n variables, i.e. Nf = dist(f ,An).

For arbitrary Boolean function f in n variables there is an upperbound for nonlinearity Nf 6 2n−1 − 2(n/2)−1.

A Boolean function is called maximal nonlinear if its nonlinearityachieves the maximum possible value. When n is even this valueequals 2n−1 − 2(n/2)−1 and such function is called bent.

Bent functions if used for constructing S-boxes in block ciphersmake them extremely resistant to linear cryptanalysis. Examples:DES, CAST, AES...

Page 39: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Bent functions

There is an approach to classification of bent functions proposed byA. Bernasconi, B. Codenotti, J. M. VanderKam (1999).

Let f be a Boolean function in n variables. Denote by supp(f ) itssupport, i. e. the set of all binary vectors of length n on whichfunction f takes the value 1. Consider the Cayley graphGf = G (Zn

2, supp(f )) of a Boolean function f . All vectors of lengthn are vertices of the graph. There is an edge between two verticesx and y if vector x ⊕ y belongs to supp(f ).

A regular graph G is called strongly regular if there existnonnegative integers λ, µ such that for any vertices x , y thenumber of vertices incident to x and y both is equal to λ or µ andit depends on the presence or absence of the edge between x and y .

Page 40: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Bent functions

Theorem. A Boolean function f is bent if and only if the graphCayley Gf is strongly regular and λ = µ.

Namely, graph Cayley Gf of a bent function f in n variables isstrongly regular with (2n, 2n−1 ± 2

n2−1, λ = µ = 2n−2 ± 2

n2−1).

A problem for a mathematician: Propose new constructions ofstrongly regular graphs on 2n vertices with λ = µ.

Page 41: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Graph of minimal distances of bent functionsLet GBn be the graph on bent functions in n variables as verticeswith edges between functions that are on the minimal possibledistance 2n/2 each other.

Nikolay Kolomeec studies such a graph in his PhD. He proved that• Degrees of a vertex from GBn is not more than 2n/2 ∏n/2

i=1(2i + 1).

• Since for every even n > 14 there are found non weakly normalbent functions (A.Canteaut, et al. 2006), graph GBn is notconnected if n > 14. It is proven (N.Kolomeec, 2014) that GBn isconnected for n = 2, 4, 6.

A concrete problem for a mathematician: Is the graph GBnconnected / disconnected if 8 6 n 6 12?

A problem for a mathematician: Let GB ′n be the graph obtainedfrom GBn after elimination of all pendant vertices (corresp. to nonweakly normal bent func.s). Is GB ′n connected for all even n > 2?

Page 42: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Graph classification of bent functions

In 2012 E.P.Korsakova obtained the graph classification of bentfunctions in 6 variables.

Graph of a quadratic function:Vertices — variables xi ;Edges — pairs (i , j) when xixj can be found in ANF of f .

Quadratic Boolean functions are graph equivalent if their graphsare isomorphic.

Page 43: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Bent functions in 4 variables (O.Rothaus, 1976):

№ Type Graph

1 1 1 1 1 rr rr

2 2 2 1 1 rr rr

3 3 2 2 1 rr rr��

4 3 3 3 3 rr rr@@��

E.P.Korsakova (2013) has proved that there are 44 graphnonequivalent quadratic bent functions in 6 variables (and 37types).

Page 44: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

1 1 1 1 1 1 1 100000000100001

r r rrr r�� A

A

2 2 2 1 1 1 1 100001000100001

r r rrr r�� A

A

3 2 2 2 2 1 1 100001000100101

r r rrr r�� A

A��

4 3 2 2 1 1 1 110001000100001100001001100001

r r rrr r�����AA r r rr

r r�� A

A

5 3 2 2 2 2 1 100001001100101110001000100101

r r rrr r�� A

A��

r r rrr r�����AA��

Page 45: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

6 3 3 2 2 1 1 101011000100100100001000110101

r r rrr r��

AA

AA��

r r rrr r�� A

A��

7 3 3 2 2 2 2 100011001110100101011000100101

r r rrr r��

AA

AA��

r r rrr r��

AA

AA��

8 3 3 3 1 1 1 100001010110001

r r rrr r��AAAA

AA

9 3 3 3 2 2 1 100001001100111

r r rrr r�� A

A��

10 3 3 3 3 1 1 110011100100100111001100100001

r r rrr r�����

AA

QQQAA��

r r rrr r�����QQQAA

Page 46: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

11 3 3 3 3 2 2 110011100100101110011010100101

r r rrr r�����

AA

QQQAA��

r r rrr r�����

AA

AAAA

AA��

12 4 2 2 2 1 1 100001101100001

r r rrr r��QQQ

AA

13 4 3 2 2 2 1 100001101100101100001100100111

r r rrr r��QQQ

AA��

r r rrr r��QQQ

AA�����

14 4 3 3 2 1 1 100001101100011

r r rrr r��QQQ

AA�

��

15 4 3 3 2 2 2 111011000100101

r r rrr r�����

AA

AA��

Page 47: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

16 4 3 3 3 2 1 111011100100001

r r rrr r�����

AA

QQQAA

17 4 3 3 3 3 2 110011000110111

r r rrr r�����

AA

AA���

��

18 4 4 3 2 2 1 100001101100111

r r rrr r��QQQ

AA���

��

19 4 4 3 3 1 1 111011100100100

r r rrr r�����

AA

QQQAA��

20 4 4 3 3 2 2 110011010110101

r r rrr r�����

AA

AAAA

AA��

Page 48: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

21 4 4 3 3 3 1 100001100111111

r r rrr r��QQQ

AA�������

��

22 4 4 3 3 3 3 111011001110101

r r rrr r�����

AA

AA��

23 4 4 4 3 3 2 011101001110111

r r rrr r���

QQQ

AA���

��

24 4 4 4 4 3 1 100001101111111

r r rrr r��QQQ

AA�������

��

25 4 4 4 4 3 3 111011101110101

r r rrr r�����

AA

QQQAA��

Page 49: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

26 5 2 2 2 2 1 100001111100001

r r rrr r��QQQAAAA

AA

27 5 3 3 2 2 1 100001111100101

r r rrr r��QQQAAAA

AA��

28 5 3 3 3 2 2 110001000111111

r r rrr r�����AA�������

��

29 5 3 3 3 3 3 110101001111110

r r rrr r�����

QQQ

AA�������

��

30 5 4 3 3 2 1 100001111111100

r r rrr r��QQQAAAA

AA������

Page 50: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

31 5 4 4 3 2 2 110111000111101

r r rrr r�����

QQQ

AA

AA������

32 5 4 4 4 3 2 111101000111111

r r rrr r�����

QQQ

AA�������

��

33 5 4 4 4 4 1 100001111111111

r r rrr r��QQQAAAA

AA�������

��

34 5 5 3 3 3 3 111001100111111

r r rrr r�����QQQAA�������

��

35 5 5 4 4 3 3 111001111111011

r r rrr r�����QQQAAAA

AA�����

��

Page 51: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

36 5 5 5 4 4 3 111101111111110

r r rrr r�����

QQQ

QQQ

AAAA

AA�������

��

37 5 5 5 5 5 5 111111111111111

r r rrr r�����

QQQ

AA

QQQ

AAAA

AA�������

��

Based on this classification E.P.Korsakova has obtained severalideas for iterative constructions of bent functions.

Page 52: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

r r rrr r = rr rr + r r r r rr

r r�� = rr rr + r rrr

r r rrr rAA

��

= rr rr + r r r r rrr r��AA

��

= rr rr + r rrr

r r rrr rAA

�����

= rr rr�� + r r r r rr

r rAA

��

�����

= rr rr�� + r rrr

r r rrr rAA

�����QQQ = rr rr�

�@@ + r r r r rr

r rAA

��

��

���QQQ = rr rr�

�@@ + r rr

Page 53: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

r r rrr r�����

= rr rr + r rr�� r r rr

r r��QQQ = rr rr + r rrrr@@

r r rrr rAA

��

�����

= rr rr + r rr�� r r rr

r rQQQ ��AA

��

= rr rr + r rrrr@@

r r rrr rAA

�����

�����

= rr rr�� + r rr�

� r r rrr rAA

��

QQQ�����

= rr rr�� + r rrrr

@@

r r rrr rAA

�����

�����QQQ

= rr rr��@@ + r rr�

� r r rrr rAA

QQQ��

��

���QQQ = rr rr�

�@@ + r rr

@@r

Page 54: Connections between graph theory and cryptographymath.nsc.ru/conference/g2/g2c2/TokarevaN.pdfConnections between graph theory and cryptography Hash functions, expander and random graphs

Connections between graph theory and cryptography

Cryptographic Boolean functions and graphs

Thank you!