Tokareva N
Tokareva N
Natalia Tokareva
Introduction to cryptography
Connections between graph theory and cryptography
Introduction to cryptography
Terminology
Cryptography is the scientific and practical activity associated
with developing of cryptographic security facilities of information
and also with argumentation of their cryptographic resistance.
Terminology
Deciphering is the process of turning a ciphertext back into the
plaintext that realized with known key.
Terminology
Cryptographic goals
Main principles
Symmetric algorithms are
algorithms in which the
encryption key can be calculated
from the decryption key and vice
versa.
I Usually the encryption key = the decryption key.
I The sender and receiver should agree on a key before secure
communication.
I Security of a symmetric algorithm is guaranteed by the key;
divulging the key means that anyone could encrypt and
decrypt messages. As long as the communication needs to
remain secret, the key should remain secret.
Connections between graph theory and cryptography
Introduction to cryptography
Stream ciphers
A stream cipher generates a pseudorandom sequence of bits
that should be XORed with a binary bit sequence of a plaintext.
Such a sequence is called a gamma.
Block ciphers
The plaintext is divided into block of bits (typical block sizes are
64, 128, 256). Then all blocks are separately encrypted by a cipher
that is a some mapping F depending on a secret key.
Connections between graph theory and cryptography
Introduction to cryptography
An idea...
After even several steps in an expander graph you don’t know where
are you... It’s good for crypto since provides a very good mixing.
Connections between graph theory and cryptography
Hash functions, expander and random graphs
Linear recurrent sequences (LRS) form the most famous base for
pseudo-random generators.
LRS is produced by Linear feedback shift register (LFSR).
LFSR and its generalization is widely used as a component in a
stream cipher (for instance, A5/1, Grain, they will be considered
later) and pseudo-random generators.
LFSR can produce a sequence with a good minimal period from
the small initial state and its generalizations allow to sufficiently
increase linear complexity of the output sequence.
Such sequences have good statistical properties.
Connections between graph theory and cryptography
Cycles of large period and linear recurrent sequences
A sequence u is called
I 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 called
the 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 that
for any initial values u0 , u1 , . . . , un−1 the sequence u has high linear
complexity and period? Large cycles of the state graph?
The same for several more complicated generators?
Connections between graph theory and cryptography
Cycles of large period and linear recurrent sequences
x1
LFSR1
x2
LFSR2
gamma h
xn
LFSRn
Combining model
Connections between graph theory and cryptography
Cycles of large period and linear recurrent sequences
LFSR
x1 x2 xn
gamma
Filtering model
Connections between graph theory and cryptography
Cycles of large period and linear recurrent sequences
Nonlinearity
Bent functions
Bent functions
№ Type Graph
r r
1 1111 r r
r r
2 2211 r r
r r
3 3221 r r
r r
r @r
@
4 3333
r r
r Ar
A
1 111111 100000000100001 r r
r r
r Ar
A
2 221111 100001000100001 r r
r r
r Ar
A
r r
3 222211 100001000100101
r r r r
A
r Ar r Ar
A
110001000100001
4 322111
100001001100001
r r r r
r r r r
A
r Ar r Ar
A
100001001100101
r r r r
5 322221
110001000100101
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r r r
r Ar r Ar
A A
101011000100100
Ar r r r
A
6 332211
100001000110101
r r r r
r Ar r Ar
A A
100011001110100
Ar r Ar r
A A
7 332222
101011000100101
r r
r A Ar
A A
r r
9 333221 100001001100111
r r r r
Q
Q
r Ar r Ar
Q A A
QQ
Q
110011100100100
Ar r r r
A
10 333311
111001100100001
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r r r
Q
AA
r Ar
r A Ar
Q A
Q
110011100100101
Ar r Ar Ar
A A A
11 333322
110011010100101
r r
QQA
r QAr
12 422211 100001101100001 r r
r r r r
Q QQA
r Ar r QAr
QA
Q
100001101100101
r r r r
13 432221
100001100100111
r r
QQA
r QAr
14 433211 100001101100011 r r
r r
A
r
Ar
Ar r
A
15 433222 111011000100101
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r
Q
r Ar
QQA
Ar r
A
16 433321 111011100100001
r r
A
r
Ar
A
Ar r
17 433332 110011000110111
r r
QQA
r QAr
r r
18 443221 100001101100111
r r
Q
r Ar
QQA
Ar r
A
19 443311 111011100100100
r r
AA
r A Ar
Ar Ar
A A
20 443322 110011010110101
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r
QQ
r Q Ar
A
r
r
21 443331 100001100111111
r r
A
r
Ar
Ar r
A
22 443333 111011001110101
r r
A
r Ar
Q
rQr
23 444332 011101001110111 Q
r r
QQ
r Q Ar
A
r
r
24 444431 100001101111111
r r
Q
r Ar
A
QQ
Ar r
A
25 444433 111011101110101
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r
Q
r AQQ Ar
A A
r AAr
27 533221 100001111100101
r r
r Ar
A
r
r
28 533322 110001000111111
r r
r Ar
A
Q
r Qr
29 533333 110101001111110 Q
r r
Q
r AQQ Ar
A A
r Ar
A
30 543321 100001111111100
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r
r Ar
A
Q
ArQr
A Q
31 544322 110111000111101
r r
r Ar
A
Q
r Qr
32 544432 111101000111111 Q
r r
Q
r AQQ Ar
A A
r
Ar
A
33 544441 100001111111111
r r
Q
r QQ Ar
A
r
r
34 553333 111001100111111
r r
QA
r AQQ Ar
A
35 554433 111001111111011 r
Ar
A
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r
QA
r AQQ Ar
A
Q
r Ar
A
36 555443 111101111111110 Q
Q
r r
QA
r AQQ Ar
A
Q
Ar Ar
A Q A
37 555555 111111111111111 Q
r r r r
r r r r r
r r = + r r = +
r r r r r r r r
r r r r
r r r r
r r r r r
r Ar = r Ar =
A A
+ +
r r r r r r r r
r r r r
r r r r
A r r A r r r
r
Ar = + r
Ar = +
r r r r r r r r
r r r r
r r r r
Q
r r Q
A r r r
r Ar = @ r Ar = @
A
QQ
+ QQ +
r @r r r r @r r r
r r r r
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
r r r r
r r r r r r r
r r = + r r = + @
r r r r QQ r r r @r
r r
r Qr
r r r r
r r r r r r r
r Ar = r Ar =
A A
+ + @
r r r r QQ r r r @r
r r r Qr
r r r r
A r r r A r r r r
r
Ar = + r
Ar = + @
r r r r QQ r r r @r
r r r Qr
r r r r
Q A r r r Q
A r r r r
r QAr = @ r Ar
Q
+ QQ
QQ = r @r + r @r
r @r r r
@ @
r r r Qr
Connections between graph theory and cryptography
Cryptographic Boolean functions and graphs
Thank you!