Вы находитесь на странице: 1из 57

n

n



n









f g n
N g(n) = O(f (n))
c N n > N g(n) cf (n)
O(f (n)) g(n) =
O(f (n)) g(n) O(f (n))
f g
5n2 + 15 = O(n2 ) 5n2 + 15 6n2 n 4
5n2 + 15 = O(n3 ) 5n2 + 15 n3 n 6
O(5n + 4)
O(n) O(log n)

loga n = loga (blogb n ) = logb n loga b.

O(1)
> 1
f (n)
a > 1 c > 0

f (n)c = O af (n) .

f (n) = n
nc = O(an ) f (n) = loga n
log
c
(loga n) = O a a n ) = O(n)

O
O(f (n)) + O(g(n)) =
O(f (n))O(g(n)) =

O(f (n) + g(n)),


O(f (n)g(n)).


h(n) r(n)
O(f (n)) s(n) O(g(n)) h(n) = r(n)s(n)
O(f (n)g(n)) r(n) = O(f (n)) s(n) = O(g(n))
N1 N2 c1 c2 n > N1 r(n) <
c1 f (n) n > N2 s(n) < c2 g(n) N = max{N1 , N2 }
c = max{c1 , c2 , c1 c2} r(n)+ s(n) < c f (n) + g(n) r(n)s(n) < cf (n)g(n)
r(n) + s(n) = O f (n) + g(n) r(n)s(n) = O f (n)g(n) O

f (n) =
O(r(n)) g(n) = O(s(n)) f (n) g(n) = O r(n) s(n)


f (n)
n f (n) log2 n, n,
n log2 n, n1.5 , n2 , n3 , 1.1n
m m {103 , 104 , 105 , 106 }

n = 1000


f (n)

f (n)
m

log2 n

103
104
105
106

0.01
0.001
0.0001
0.00001

n log2 n

1.0
10.0
0.1
1.
0.01
0.1
0.001
0.01

n1.5
32.0
3.2
0.32
0.032

n3

1.1n

1000 106
100 105
10 104
1 103

1039
1038
1037
1036

n2

f (n)
m n = 1000




g(n)
T (n) T (n) = (g(n)) c N

n > N T (n) > cg(n) n2 = (n2 100) n = (n0.9 )


f (n) g(n)
f (n) = O(g(n)) f (n) = (g(n))
f (n) = (g(n))
5n log2 n 10 = (n log n)

(n)
limn fg(n)
= 0 f (n) = o(g(n))
n
n
= o(n)
log2 n = o(n) 10

f (n) a > 1 c > 0

f (n)c = o af (n) .










O(f (n))
O(f (n))





O(n)


O(1)






i 1, 2, . . . , n i

f (i) ni=1 f (i)










A

B









P

P
P
C
P
E P
C C = E(P ) D C

P P = D(C)
D(E(P )) = P




k
C = Ek (P ) P = Dk (C)
k Dk (Ek (P )) = P



k1 k2
C = Ek1 (P ) P = Dk2 (C) Dk2 (Ek1 (P )) = P






Ek (P ) = C Dk (C) = P

64




8










C = Ek (P )
C = Dk (P )


CRC(P )
32 64
Ea Da Eb Db
A B Eb (P )
A B Da (CRC(P )) B
Eb (P ) Db CRC(P )

Da (CRC(P )) Ea

Da A



C1 = Ek (P1 ) C2 = Ek (P2 ) Cn = Ek (Pn )
P1 P2 Pn k Pn+1 Cn+1 =
Ek (Pn+1 )





P1 , C1 = Ek (P1 ) P2 , C2 =
Ek (P2 ) Pn , Cn = Ek (Pn ) k
Pn+1 Cn+1 = Ek (Pn+1 )


a





P1 , C1 = Ek (P1 ) P2 , C2 = Ek (P2 )
Pn , Cn = Ek (Pn ) P1 P2 Pn
k Pn+1
Cn+1 = Ek (Pn+1 )







2128

1016 1010

















26






26 A D B E W
Z X A Y B Z C
HAL
IBM









WordPerfect





20




















DES RSA

J. Mauborgne, G. Vernam














C
D D
A B C C
E F
1 2
3
4
5
6
7
8
9

L M N O P R S S T
15 16 17 18 19 20 21 22 23

G H
I J K
10 11 12 13 14

U V Z Z
24 25 26 27



27 27

POCNITENAPAD
,

CFGGEAG

TBFRGFARFMZC
. LRJGS
.

BDIZAMNAKRBB

- UCITENAPAM
SUMNJIVOLICE
, BD
SVASTIKINBUT
.


XOR

















CD-ROM
650

CD-ROM










DES
DES Data Encryption Standard

20

DES





IBM





NSA National Security Agency




DES


DES

DES
DES
AES Advanced Encryption Standard
DES
DES 64
64 56

DES

DES 16
DES 16
IP
32 16
f
48 16



48 56
48 XOR
2
32 4 8
f f
XOR

DES 16

L0

IP

L 1 = R0

R0

K1

R1 = L0 f (R0 , K1 )

K2

R2 = L1 f (R1 , K2 )

L 2 = R1

R16 = L15 f (R15 , K16 )

R15 = L14 f (R14 , K15 )

L15 = R14

IP 1

K16

L16 = R15

DES

Bi i Li Ri Bi Ki
48 i f
XOR i

Li

Ri1

Ri

Li1 f (Ri1 , Ki )




DES

DES

28

28
28
56

K 48

S
R

32
48
32

28

i1

P +

Ri

Li1

Li

DES

DES

64

56 DES 48
K 1 i 16 56
28

48 56

14 17 33 1 2 35
K 18
i

DES

R 32 48
XOR K
32

DES

4 (b , b , b , b )
6 b b b b
i 1 i 48 i
3 4
21 30 32

i1

5 6 7 8

1 2 3 4

9 10 11 12

13 14 15 16

32

48
2 3 4 5
1

6 7

8 9 10 11
14 15 16 17
20 21 22 23
12 13
18 19
24

DES

DES

DES

DES

K XOR 48
8
S , S , . . . , S 48
6 S S
(b , b , b , b , b , b ) b b 0 3 b b b b
0 15 4

i

1 6

2 3 4 5

S1

S2

S3

S4

S5

S6

S7

S8

DES

S 31
36 XOR K 110011
11
1001 9 10 (4, 10)
S 14 1110 6 110011 4
1110


DES
4
32

4 21 23
3
XOR L 64

16

R L

XOR




6

i1

16

Ri1

Li

Li1

Ri f (Li , Ki )

16

i XOR
K
K , K , . . . , K K , K , . . . , K


4 1 + 12 2 = 28 16

i

16

15

16

DES

DES

DES

DES


NSA
DES


NSA DES
IBM 56

DES

IBM
DES IBM
DES 2
K
DES

56

DES
20

250000

DES
DES
ECB
Electronic Codebook

64 Pi
K Ci = DESK (Pi ) i = 1, 2, . . .

CBC
Cipher Block Chaining
CFB
Cipher Feedback

CBC XOR
Ci = DESK (Pi Ci1 ) i = 1, 2, . . .
C0
64
Pi =
1
DESK
(Ci ) Ci1
CBC




XOR

Ci1
C 0 = I0
Pi

DES

Ci1

C0 = I0

DES 1

+ Pi

DES CBC







CBC

Ci1 Ci1
1

Ci1
Pi1
= DESK
(Ci1
) Ci2
DES


1

Pi = DESK
(Ci ) Ci1

Ci1









CBC

CFB
ASCII
8 CFB
1 CFB
8 CFB i
pi zi

DES

DESK (ci8 ci7 . . . ci1 )


ci = pi zi = pi DESK (ci8 ci7 . . . ci1 ),

i 1.



DES pi+1

(c7 c6 . . . c0 )
CBC


pi = ci zi = ci DESK (ci8 ci7 . . . ci1 )

i 1.

DES i
DES


ci8 ci7 ci6 ci5 ci4 ci3 ci2 ci1

ci8 ci7 ci6 ci5 ci4 ci3 ci2 ci1

K DES

zi

+ ci

K DES

zi

pi

ci

+ pi

DES 8 CFB

DES
DES 64
1 CFB 64
XOR
XOR
DES

RSA
RSA
RSA

Rivest, Shamir i Adleman


RSA
100
200



p q k
k
k
1/ln 10k = 1/(k ln 10)



n = pq
(n) n
n n
p q (pq) = (p 1)(q 1)
e 1 (n)
(n) e p q

(n)
(n)

(n)
d

ed 1 (mod (p 1)(q 1)),

ed 1 = l(p 1)(q 1) l
ed l(p 1)(q 1) = 1
d l
e (p 1)(q 1) 1
O(log n)

(e, n) d p q

RSA

m
0 n1
n
p q 100 n 200 mi
200
ci
ci = mei mod n.


d n

d
i

mi (mod n)

m > 1 a

a(m) 1

(mod m).

r1 , r2 , . . . , rs
m m ari i =
1, 2, . . . , s m {r1 , r2 , . . . , rs }
ari (mod m) arj (mod m) i = j
a(ri rj ) m a
m
s
s
ri rj m i=1 (ari ) i=1 ri (mod m).
s
i=1 ri m

P. Fermat

m p (m) = p 1
ap1 1 (mod p) a p
a ap a (mod p)
a a p
p a ap a p
a1+l(p1) a p l


1+l(p1)(q1)

cdi = med
i = mi

ed1 (n) = (p1)(q 1)


m1+l(p1)(q1)
mi p
i
q pq = n
1+l(p1)(q1)

cdi = mi

mi

(mod n).

RSA

p = 47 q = 71 n = pq = 3337.
e (n) = (p 1)(q 1) = 46 70 =
3220. e = 79 d = 791
(mod 3220) 3220 79
3220 = 40 79
79 = 1 60
60 = 3 19
19
=63
3 = 3 1.

+60
+19
+3
+1

3220 79
3220 79
60 19 3 1 = 1963

e = 79
(p 1)(q 1) = 3220
1 = 19 6 3 = 19 6 (60 3 19)
= 6 60 + 19 19 = 6 60 + 19 (79 60)
= 19 79 25 60 = 19 79 25 (3220 40 79)
= 1019 79 25 3220

d = 1019 e n d
p q
m = 6882326879666683,


m1 = 688 m2 = 232 m3 = 687 m4 = 966
m5 = 668 m6 = 3
68879 mod 3337 = 1570 = c1 .

n
e

p q
(p 1)(q 1)

e1 (mod (p 1)(q 1))

c = me (mod n)

m = cd (mod n)

RSA


c = 1570 2756 2714 2276 2423 0158.

d = 1019
15701019

(mod 3337) = 688 = m1 .


d
e
RSA

m c e
n
RSA
d
RSA n
120
n 1024 308
RSA
RSA 100 1000 DES
RSA DES
DES




DES RSA

EJCDVTCD
ZNKVDZDUTSDPTSUJA

ASCII

(P, C = DESK (P )) K
{A, B, . . . , Z
}
1ms 1s

DES

x x
) = C

DESK
(P

DESK (P ) = C

A DES C =
DESK2 (DESK1 (P )) P C 64 K1 K2
56 K1 K2 10
(Pi , Ci ) Ci = DESK (DESK (Pi ))
2
1
264 DES 261

NP
















O(P (n)) P (n) n




P

O(n10 )
107 n







NP





P
NP

NP NP

NP


NP


NP
NP

NP







k
k


U L U
L


L

L1 L2
U1 U2 L1
L2
u1 U1
u2 U2 u1 L1 u2 L2
u1

U1 U2
u2 u1

L2
L1
AR L2 AL2
u1 U1 AR u2 U2
AL2 u2 L2 u1 L1

L1 L2
L2

L1


L1 L2 L2 L1

L1 L2
L2
L2 L1
L2 L2
L1 L2


P

L1 L2 L2
L3 L1 L3

L1 L2 L3
U1 U2 U3 L1 L2
L2 L3 L1 L3
u1 U1 u2 U2
u3 U3





NP

NP


NP S. A. Cook



M. R. Garey, D. S. Johnson
NP




















. . . , 2, 1, 0, 1, 2, 3, . . .


b \
Q
q q q
: (Q \ {q , q }) Q {1, 1}
x

1, 2, . . . , |x| |x| x

q
1
q q q
q = q
q = q Q \ {q , q }
s (q, s)
(q, s) = (q , s , ) s
s = 1
= +1 q q


M
q s
(q, s) M x =
10100

q
10100 M
x x
q L M
L = {x |M x}.

{x {0, 1} | x } ,
x N M
N 4
0

NE

da

ne

da

ne

da

da

ne

da

ne

da

da

q
q0
q1
q2
q3

= {0, 1, b}, = {0, 1}


Q = {q0 , q1 , q2 , q3 , qda , qne }
0
1
b
(q0 , 0, +1)
(q0 , 1, +1)
(q1 , b, 1)
(q2 , b, 1)
(q3 , b, 1) (qne , b, 1)
(qda , b, 1) (qne , b, 1) (qne , b, 1)
(qne , b, 1) (qne , b, 1) (qne , b, 1)
(q, s)

M = (, Q, )

NP

q0 :

q0 :

q0 :

q0 :

q0 :

q0 :

q1 :

q2 :

qda :

M 10100


M L x
\ L M x
q


0, 1

M x
Z
M x
T : Z Z


x |x| = n
T (n) = max m
,
M x m
M p
n Z T (n) p(n)
P
P = {L| M L = L} .



P

ne


NP

NP

G = (V, E) |V | = n
vi , vj V (vi , vj ) E
d(vi , vj ) B Z+ G
B
(v(1) , v(2) , . . . , v(n) )
n1

d(v(i) , v(i+1) ) + d(v(n) , v(1) ) B?

i=1






B


NP





u
u
NP

u
S u S

NP



u U
u L S
u (u, S)

u
/ L S
u (u, S)





u S
(u, S)
u

p
u U S
(u, S) p(|u|)
S
S
NP

N nondeterministic
P polynomial
NP







: (Q \ {qda , qne }) Q {1, 1}

q0

b Q
qne

qda

1, 2, . . . , |x|

q0

q0

qda

qne

qda

x x
M

LM = {x |M

x}.

x LM

qda M
x M TM : Z+ Z+

TM (n) = max {1} m

x LM |x| = n
x M m

TM (n) p(n)

TM (n) = 1

n 1

NP

NP

NP =

LM = L

qne

NP
NP




k
k



NP

NP
P
P=NP
NP


P NP
P=NP

P
NP

X NP

NP X

X NP
NP X NP

NP
NP P P=NP

NP

NP
NP X
NP
X

X NP X NP
NP Y X

Y NP
NP Y Y
X
NP X




NP
R. M. Karp

24 NP

NP
NP NP
NP

NP

SAT
satisability
S
S

S = (x + y + z) (
x + y + z) (
x + y + z)

0 1


1 SAT

S x = 1 y = 1
z = 0 S = 1
SAT NP

SAT NP

NP

NP






SAT

SAT NP
NP

NP
3 SAT
NP

NP
NP

NP NP



SAT
5

NP

G = (V, E)
G G

NP

G = (V, E) k
G k

NP

NP
k

NP NP
NP
G = (V, E)
C G
G
G k G
k

G = (V, E) k
= (V, E)

G
G G

G G
G n = |V |
(G, k)
n k
G
G C = (U, F ) G V \ U
G
U
G

G V \ U G

G k G n k
D G
G

D G
V \ D V \ D
n k
G G
G k

G
G n k

G = (V, E)
D V G D
D

G = (V, E) k
G k

NP

NP
k

(G, k)

NP

V \ U
n k

G U
k

G
G
k G

G |E|
2|E| (v, w) G
vw (v, vw) (w, vw)
G G

vw
v
vz
z

vu

uv

zw



G m G
m D G D
vw
v w v w
vw
D G D

NP

G
D G
C G G
C G C
C
C

3 SAT 3 SAT SAT


3 SAT

3 SAT NP


SAT
3 SAT
SAT SAT 3 SAT
3 SAT NP

E SAT E
C = (x1 + x2 + + xk )
E k 4 xi
C

y1 , y2 , . . . , yk3
3 SAT E
C C

C = (x1 +x2 +y1 )(x3 +
y1 +y2 )(x4 +
y2 +y3 ) (xk2 +
yk4 +yk3 )(xk1 +xk +
yk3 ).

E C C
E E xi
1
yi C C x3 = 1
y1 = 1 y2 = 0
x3 = 1 yi = 0 i > 2 xi = 1
y1 = y2 = = yi2 = 1 yi1 = yi = = yk3 = 0
C = 1 C 1
xi 1
xi 0 C
C = (y1 ) (
y1 + y2 ) (
y2 + y3 ) (
yk4 + yk3 ) (
yk3 )
C = 1 y1 = 1 y2 = 1
yk3 = 1 yk3 = 0 yk3 = 1

NP



C = (x1 + x2 )

C = (x1 + x2 + z)(x1 + x2 + z),

z C = x1

C = (x1 + y + z)(x1 + y + z)(x1 + y + z)(x1 + y + z),


y z
SAT
3 SAT

G = (V, E) k
G k

NP

NP
k
SAT
E E = E1 E2 Em
Ei = (x + y + z + w)
Ei
G

G k
E k
SAT
SAT
k
NP
k m
G




E = (x + y + z) (
x + y + z) (y + z)

NP

y
z

SAT (x + y + z) (
x+
y + z) (y + z)

G m E

m E E

1



1
G m

1


x x
1

G = (V, E)
G

G = (V, E)
G

NP

NP
3

NP


3 SAT




E 3 SAT
G E G
M M
T
F A
x Mx x x
A A M
k k + 1
A x
T x F
A x

x
y

3 SAT


1
(x + y + z) x y z
x y z


T x y z O

I
x y z T
x y z A
A x y z
F

NP

A
(
x + y + z) (
x + y + z)

O
I

3 SAT

z
F

(
x + y + z) (
x + y + z)
3 SAT
E
G G
E E

1
T 1 F M T
F A
1 F

NP

A
G G
M


T
G


NP Q
Q NP
NP
Q
Q
SAT Q


Q
NP

NP
Q
Q

NP Q
Q

Q

Q Q
NP
Q

Q









NP

NP

Q Q
NP
S1 , S2 , . . . , Sn
U k
W U k
Si
U V
Si



















NP




NP


NP

NP

NP


NP


NP

NP


G W G
W


G k G
k
X Y Z
k M (x, y, z) x X
y Y z Z
M

3 SAT
X x
s(x)



Ranac




S V X
x s(x) v(x)
B X S V

a1 , a2 , . . . , an b k
k
b

NP
NP

NP
NP

NP




NP





P
NP

NP


P NP



NP
















NP



3n n

3n










v
w



t

t u u
v w u w
u










1 2




NP

3C

1P, 2Z

4Z

3P

4P

4C

4Z

5C

k



k 1

3 bojenje(G, var U );
G = (V, E) U
{U

begin
if U = V then print
{

; halt

else

U;

for C := 1 to 3 do
if

C then

U;

3 bojenje(G, U )
end

3 bojenje

NP












3
V = U


V = U




k

(k + 1)
k












x = (x1 , x2 , . . . , xn )T
a1 , a2 , . . . , ak n
b1 , b2 , . . . , bk c1 , c2 , . . . , cn

z=

c i xi

i=1

x
aj x bj ,

j = 1, 2, . . . , k,

NP

x NP


NP NP
NP



n x1 , x2 , . . . , xn
xi = 1 vi xi = 0

z = x1 + x 2 + + xn ,



0 xi 1,

i = 1, 2, . . . , n,


xi + xj 1 vi vj (vi , vj )
/ E.

0 1









(0.1, 1, . . . , 0.5) z = 7.8



7


v w
u x
v w u x




NP


x2 = 1
x2 = 1


NP
x2 = 1
v2 0

z = a a




















NP




G M G
M M

M

NP

M
M
M M
M M
M

x1 , x2 , . . . , xn 0 1

1



NP
x1
i xi



2m
m



1/2 k
m ni=1 xi > (k 1)/2 k < 2m + 1
k 2m


2 1.7
1.7
1.7

NP






1.22

11
9 m

+ 4 m

11/9








TSP traveling salesman problem

TSP

C1 , C2 , . . . , Cn
n

NP





MCST

TSP
TSP
MCST
TSP





MCST
TSP

NP




TSP
TSP

MCST
TSP MCST


MCST


TSP

TSP






TSP





2k
k

NP




O(n3 )
TSP

TSP

TSP
TSP

TSP
1.5 TSP



Q
TSP |Q|
|Q|
|Q|/2 Q D
D
|Q|
D
v D
Q
Q
Q


|Q| M

D
|Q| |Q|/2


TSP












NP

O(nk )

P=NP

Вам также может понравиться