Documente Academic
Documente Profesional
Documente Cultură
6\PPHWULFNH\ DOJRULWKP
6KDUHG VHFUHW
)RUZDUG VHFUHF\
7ULSOH '(6
)HLVWHO FLSKHU
5&
5&
%ORZVK FLSKHU
0' FU\SWRJUDSK\
0'
0'
6+$
6+$
3XEOLFNH\ FU\SWRJUDSK\
56$ FU\SWRV\VWHP
&KDSWHU
SULYDWH
VHFXUH
'HVFULSWLRQ
DXWKHQWLFDWHG
LQWHJULW\
&LSKHU
1RWHV
$OJRULWKP
:HEVLWHV
1RWHV
1RWHV
/LEUDULHV
6HFXULW\
A
7/6
3URWRFRO GRZQJUDGH DWWDFNV
)DOVH 6WDUW
6QDS 6WDUW
5HQHJRWLDWLRQ DWWDFN
%($67 DWWDFN
322'/( DWWDFN
322
'/( 3DGGLQJ 2UDFOH 2Q 'RZQJUDGHG /HJDF\ (Q
FU\SWLRQ
7UXQFDWLRQ DWWDFN
5& DWWDFNV
6ZHHW DWWDFN
3HUVSHFWLYHV 3URMHFW
'16&KDLQ
&HUWLFDWH SLQQLQJ
&OLHQW+HOOR
)LQLVKHG
&KDQJH&LSKHU6SHF
6HUYHU+HOOR
)LQLVKHG
&HUWLFDWH
6HUYHU.H\([FKDQJH
6HUYHU+HOOR'RQH
FKDQJH
&OLHQW+HOOR
&OLHQW.H\([
6HUYHU+HOOR
&KDQJH&LSKHU6SHF
&HUWLFDWH
6HUYHU.H\([FKDQJH
&HUWLFDWH5HTXHVW
6HUYHU+HOOR'RQH
&HUWLFDWH
&OLHQW.H\([FKDQJH
&HUWLFDWH9HULI\
6HVVLRQ ,'V
&KDQJH&LSKHU6SHF
LVKHG
&OLHQW+HOOR
&KDQJH&LSKHU6SHF
6HUYHU+HOOR
)LQ
6HUYHU+HOOR
)LQLVKHG
&OLHQW+HOOR
6HUYHU+HOOR
&KDQJH&LSKHU6SHF
&RQWHQW W\SH
LVKHG
)LQ
9HUVLRQ
/HQJWK
&KDQJH&LSKHU6SHF
14
3URWRFRO PHVVDJHV
)LQLVKHG
0$& DQG 3DGGLQJ
6HVVLRQ WLFNHWV
+DQGVKDNH SURWRFRO
0HVVDJH W\SH
+DQGVKDNH PHVVDJH GDWD OHQJWK
$OHUW SURWRFRO
/HYHO
'HVFULSWLRQ
&KDQJH&LSKHU6SHF SURWRFRO
&&6 SURWRFRO W\SH
$SSOLFDWLRQ SURWRFRO
/HQJWK
0$&
6WDQGDUGV
3ULPDU\ VWDQGDUGV
7KH FXUUHQW DSSURYHG YHUVLRQ RI 7/6 LV YHUVLRQ
ZKLFK LV VSHFLHG LQ
3DGGLQJ
([WHQVLRQV
([WHQVLRQV WR 7/6 LQFOXGH
5HIHUHQFHV
)XUWKHU UHDGLQJ
([WHUQDO OLQNV
6SHFLFDWLRQV
2WKHU
&KDSWHU
6\PPHWULFNH\ DOJRULWKP
6\PPHWULFNH\ DOJRULWKPV
&U\SWRJUDSKLF
SULPLWLYHV
EDVHG RQ V\PPHWULF FLSKHUV
,PSOHPHQWDWLRQV
1RWHV
5HIHUHQFHV
VLQJOHNH\ VKDUHGNH\ RQHNH\
VHFUHWNH\
SULYDWHNH\
&KDSWHU
6KDUHG VHFUHW
5HIHUHQFHV
VKDUHG VHFUHW
1RWHV
&KDSWHU
0$&
NH\HG
XQIRUJHDEOH
'HQLWLRQV
6HFXULW\
6WDQGDUGV
Key (K)
,PSOHPHQWDWLRQ
SENDER
RECEIVER
MESSAGE
MESSAGE
MAC
Algorithm
MAC
MAC:
Message Authentication Code
MESSAGE
MAC
MAC
Algorithm
Key (K)
MAC
=?
MAC
k
k
5HIHUHQFHV
1RWHV
&KDSWHU
)RUZDUG VHFUHF\
IRUZDUG VHFUHF\ )6
SHUIHFW IRUZDUG VHFUHF\
$WWDFNV
+LVWRU\
IRUZDUG VHFUHF\
WZRSDUW\
3URWRFROV
5HIHUHQFHV
8VH
&KDSWHU
&KURQRORJ\
'HVFULSWLRQ
39
41
50
50
EK (P ) = C EK (P ) = C
x
x. EK
K. P
49
43
EK (EK (P )) = P
DK .
EK =
K1
K2
41
43
EK1 (EK2 (P )) = P
DK1 .
EK2 =
{EK }
1RWHV
A
5HIHUHQFHV
&KDSWHU
7ULSOH '(6
7'($
$OJRULWKP
.H\LQJ RSWLRQ
2
6HFXULW\
1
32
113
90
88
28
84
8VDJH
28
&KDSWHU
)HLVWHO FLSKHU
)HLVWHO FLSKHU
QHWZRUN
)HLVWHO
+LVWRULFDO
K0 , K 1 , . . . , K n
0, 1, . . . , n
L0 R 0
i = 0, 1, . . . , n
Li+1 = Ri
Ri+1 = Li (Ri , Ki )
(Rn+1 , Ln+1 )
(Rn+1 , Ln+1 )
i = n, n 1, . . . , 0
Ri = Li+1
Li = Ri+1 (Li+1 , Ki )
(L0 , R0 )
R0
5HIHUHQFHV
&KDSWHU
$(6
b0 , b1 , ..., b15
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
Shift 2
Shift 3
Shift 1
a0,1
a0,0
a1,0
b0,0
a0,2 a0,3
a1,1
MixColumns
a1,2 a1,3
a3,1
b1,1
b1,0
b0,1
b3,0
a3,2 a3,3
b3,1
b3,2 b3,3
k0,0 k0,1 k0,2 k0,3
k1,0 k1,1 k1,2 k1,3
k2,0 k2,1 k2,2 k2,3
c(x)
2
1
1
3
3
2
1
1
1
3
2
1
1
1
3
2
x7
x8 + x4 + x 3 + x + 1
*)(28 )
*)(28 )
x4 +1
c(x) =
x3 +x2 +x+
*)(2)[x]
*)(28 )
6HFXULW\
39
45
70
48
32
88
56
119
96
35
32
3HUIRUPDQFH
,PSOHPHQWDWLRQV
1RWHV
5HIHUHQFHV
&KDSWHU
5&
$5&
5&
$5&)285
'HVFULSWLRQ
+LVWRU\
IRU IURP WR
HQGIRU
IRU IURP WR
,PSOHPHQWDWLRQ
HQGIRU
S[i]+S[j]
S
S[i]
K
S[j]
S[i]+S[j]
ZKLOH
HQGZKLOH
6HFXULW\
25
5&$
24
26
ZKLOH
RXWSXW
RXWSXW
HQGZKLOH
903&
ZKLOH
RXWSXW
5& YDULDQWV
HQGZKLOH
38
5&
ZKLOH
RXWSXW
HQGZKLOH
6SULW]
ZKLOH
HQGZKLOH
RXWSXW
5HIHUHQFHV
5&EDVHG SURWRFROV
5& LQ :(3
&KDSWHU
5&
.H\ H[SDQVLRQ
5&
'HVFULSWLRQ
Odd((e
2) 2w )
$OJRULWKP
Odd(( 1) 2w )
&U\SWDQDO\VLV
44
(QFU\SWLRQ
5HIHUHQFHV
'HFU\SWLRQ
([WHUQDO OLQNV
&KDSWHU
%ORZVK FLSKHU
%ORZVK
7KH DOJRULWKP
32
1
3
2
4
%ORZVK LQ SVHXGRFRGH
%ORZVK LQ SUDFWLFH
5HIHUHQFHV
([WHUQDO OLQNV
&KDSWHU
0' FU\SWRJUDSK\
0'
0HVVDJH'LJHVW
$OJRULWKP
'HVFULSWLRQ
6HFXULW\
104
73
73
52
6HH DOVR
5HIHUHQFHV
&KDSWHU
0'
0'
0HVVDJH'LJHVW
6HFXULW\
$OJRULWKP
F
Mi
102
KLVWRULF
Ki
<<<
s
6HH DOVR
5HIHUHQFHV
&KDSWHU
0'
0' DOJRULWKP
6HFXULW\
39
Distributor
File to transmit
100101001000111001001001
000100100100100100100100
100010101010101001000100
010111100111011010010100
Hashing
Algorithm
#MOD#
Downloader
hd23dd23
Hashing
Value
#MOD#
hd23dd23
Received
Hashing
Value
hd23dd23
Calculated
Hashing
Value
Hashing
Algorithm
100101001000111001001001
000100100100100000100100
100010101010101001000100
010111100111011010010100
#MOD#
Calculated
Hashing
Value
Received
hd23dd23 Hashing
Value
54tg164hr
$SSOLFDWLRQV
$OJRULWKP
A
F
Mi
Ki
<<<s
32
YDU
64
YDU
DSSHQG
SRZ
F (B, C, D) = (B C) (B D)
G(B, C, D) = (B D) (C D)
H(B, C, D) = B C D
I(B, C, D) = C (B D)
, , ,
WR
WR
DSSHQG
DSSHQG
XQWLO
IRU HDFK
PRG
RI
YDU
YDU
YDU
YDU
IRU IURP WR
LI
WKHQ
DQG
RU
QRW
DQG
HOVH LI
DQG
RU QRW
DQG
PRG
HOVH LI
[RU [RU
PRG
HOVH
LI
[RU RU QRW
PRG
OHIWURWDWH
HQG IRU
DSSHQG
3VHXGRFRGH
YDU
YDU
UHWXUQ
DSSHQG
ELQDU\ RU
OHIWURWDWH
YDU
[RU
IRU IURP
HQG IRU
WR
32
[RU
DQG
DQG [RU
[RU
6HH DOVR
5HIHUHQFHV
32
&KDSWHU
6+$
6+$ 6HFXUH +DVK $OJRULWKP
F
<<<5
Wt
<<<30
Kt
'HYHORSPHQW
32
&U\SWRJUDSK\
$SSOLFDWLRQV
80
$WWDFNV
51
57
80
52
69
52
80
33
61
7KH 6+$SSHQLQJ
63
57
35
35
6+$
61
80
51
40
39
32
IRU
[RU
IRU IURP
[RU
OHIWURWDWH
[RU
DQG
IRU IURP WR
LI
WKHQ
RU QRW DQG
HOVH LI
[RU [RU
HOVH LI
DQG RU DQG RU DQG
HOVH LI
[RU [RU
OHIWURWDWH
OHIWURWDWH
OHIWVKLIW
RU
OHIWVKLIW
OHIWVKLIW
RU
RU
OHIWVKLIW
RU
30
RU
DQG
[RU
DQG [RU
DQG [RU DQG
OHIWURWDWH
OHIWURWDWH
[RU
[RU
RU DQG
DQG RU
DQG
DQG
[RU
[RU
[RU
1RWHV
[RU
[RU
[RU
63
5HIHUHQFHV
([WHUQDO OLQNV
&KDSWHU
6+$
6+$
H
Wt
Ch
Kt
1
Ma
0
(E, F, G) = (E F ) (E G)
(A, B, C) = (A
B) (A C) (B C) 0 (A) = (A 2) (A
13)(A 22) 1 (E) = (E 6)(E 11)(E 25)
32
TIPVME
$SSOLFDWLRQV
3VHXGRFRGH
32
7HVW YHFWRUV
IRU
[RU
[RU
IRU IURP
ULJKWURWDWH
ULJKWURWDWH
ULJKWVKLIW
[RU
[RU
ULJKWURWDWH
ULJKWVKLIW
ULJKWURWDWH
IRU IURP
[RU ULJKWURWDWH
[RU
ULJKWURWDWH
DQG [RU QRW DQG
ULJKWURWDWH [RU
ULJKWURWDWH
[RU ULJKWURWDWH
DQG
[RU DQG [RU DQG
DSSHQG DSSHQG DSSHQG DSSHQG
DSSHQG DSSHQG DSSHQG
ULJKWURWDWH
ULJKWURWDWH
ULJKWURWDWH
ULJKWURWDWH
[RU
ULJKWURWDWH [RU
ULJKWVKLIW
ULJKWURWDWH
[RU
[RU
ULJKWURWDWH
[RU
ULJKWURWDWH
[RU
ULJKWURWDWH
ULJKWURWDWH [RU
ULJKWURWDWH
[RU
ULJKWVKLIW
6HH DOVR
5HIHUHQFHV
&KDSWHU
3XEOLFNH\ FU\SWRJUDSK\
Bob
Alice
Hello
Alice!
Large
0110101010
Random
1101110100
Number
0011011010
3XEOLFNH\ FU\SWRJUDSK\
SK\
Alice's
public key
6EB69570
08E03CE4
Key
Generation
Program
Public
Encrypt
Alice
Private
DV\PPHWULF FU\SWRJUD
Hello
Alice!
Decrypt
Alice's
private key
Alice
Bob's
public key
Combine
keys
751A696C
24D97009
Alice and Bob's
shared secret
Alice's
private key
'HVFULSWLRQ
Bob
Alice's
public key
Bob's
private key
Combine
keys
751A696C
24D97009
Alice and Bob's
shared secret
+LVWRU\
6HFXULW\
'LJLWDO VLJQDWXUHV
:HDNQHVVHV
2
2
1
2
ERWK
UHYRNHG
([DPSOHV
5HIHUHQFHV
1RWHV
&KDSWHU
56$ FU\SWRV\VWHP
56$
+LVWRU\
3DWHQW
(me )d m (
n)
(md )e m (
n)
(QFU\SWLRQ
c me
n)
'HFU\SWLRQ
2SHUDWLRQ
cd (me )d m (
n)
([DPSOH
p = 61
q = 53
n = 61 53 = 3233
16
e = 17
d = 2753
de
(n) = 1
2753 17
3120 = 1
SXEOLF NH\
c(m) = m17
3233
SULYDWH NH\
m(c) = c2753
3233
c = 6517
3233 = 2790
m = 27902753
dp = d
dq = d
q
=q
(q
3233 = 65
(p 1) = 2753
(q 1) = 2753
1
(53 1) = 49
p = 53
61 = 38
q)
p = 38 53
61 = 1
m1 = c d p
p = 279053
dq
49
m2 = c
(61 1) = 53
q = 2790
61 = 4
53 = 12
h = (q (m1 m2 ))
p = (38 8)
m = m2 + h q = 12 + 1 53 = 65
&RGH
61
=1
6LJQLQJ PHVVDJHV
3URRIV RI FRUUHFWQHVV
ap1 1
ed 1 (
h
med = m1+h(n) = m m(n) m(1)h m (
p)
(pq)).
(pq) = (p 1)(q 1)
ed 1 = h(p 1)(q 1)
3DGGLQJ
$WWDFNV DJDLQVW SODLQ 56$
h(q1)
!
med = m(ed1) m = mh(p1)(q1) m = mp1
m 1h(q1) m m (
p)
!
h(p1)
med = m(ed1) m = mh(p1)(q1) m = mq1
m 1h(p1) m m (
ed 1 (
d
(me ) m (
pq)
(pq))
q)
n)
dP = d
p1
dQ = d
q1
= q 1
m1 = cdP
m2 = cdQ
h = q (m1 m2 )
m2 h
l m
i
q
m1 + pq p m2
m1
<
m = m2 + hq
77
6HH DOVR
1RWHV
5HIHUHQFHV
)XUWKHU UHDGLQJ
([WHUQDO OLQNV
86
3DWHQW
34"
&KDSWHU
1DPH
'LH+HOOPDQ0HUNOH NH\ H[FKDQJH
'HVFULSWLRQ
*HQHUDO RYHUYLHZ
Alice
Bob
Common paint
+
+
Secret colours
UHG
Public transport
(assume
that mixture separation
is expensive)
C
+
C
Secret colours
=
Common secret
C
T
T
Ab
p = g ab
(g a
p)b
p = g ba
p = (g b
p = Ba
p)a
*HQHUDOL]DWLRQ
JURXSV
WR
QLWH
F\FOLF
6HFXULW\
(g a
p, g, p)
gb
(g a )b
2WKHU XVHV
(QFU\SWLRQ
1RWHV
5HIHUHQFHV
*HQHUDO UHIHUHQFHV
&KDSWHU
5DWLRQDOH
+LVWRU\
7KHRU\
y 2 = x3 + ax + b,
(E)
(E) E,
&U\SWRJUDSKLF VFKHPHV
(Zp )
h=
h 4
(p, a, b, G, n, h)
(m, f, a, b, G, n, h)
,PSOHPHQWDWLRQ
nG =
E(Fp )
1
n |E(Fp )|
F 2m
h = 1
pB 1
(X, Y, Z)
y=
Y
Z
x=
x =
X
Z
(X, Y, Z)
y = ZY3
Y
x= X
Z y = Z2
X
Z2
Fp
(X, Y, Z, aZ 4 )
FpB
(X, Y, Z, Z 2 , Z 3 )
E(Fq )
|E(Fq )| = q
Fq
p=2
O( n)
Fq
521
p=2
256
p 2d
2 2 28 27 26 24 1.
32
q 2256
Fp
$SSOLFDWLRQV
Fp
F 2m
Fq
xy = 1
x Fq
y Fq
6HFXULW\
P = Q
P 6= Q
3DWHQWV
%DFNGRRUV
6HH DOVR
1RWHV
5HIHUHQFHV
&KDSWHU
(p, a, b, G, n, h)
(m, f (x), a, b, G, n, h)
6RIWZDUH
d
[1, n 1]
Q = dG
Q
G
(dA , QA )
(xk , yk ) = dA QB
(xk , yk ) = dB QA
(dB , QB )
xk
xk
dA QB = dA dB G = dB dA G = dB QA
5HIHUHQFHV
&KDSWHU
(x1 , y1 ) = k G
r = x1
r=0
s = k 1 (z + rdA )
s=0
(r, s)
s
2
(m)
80
n
k
4t
t
(r, s)
z
, G, n)
dA
(r, s )
z
k=
zz
ss
k
m
m
s s = k 1 (z z )
n
s = k 1 (z + rdA )
dA = skz
r
k
G
n
G
[1, n 1]
QA = dA G
dA
m
e =
(m)
Ln
e
n
QA
Ln
QA
QA
O
QA
n QA = O
6HFXULW\
r
[1, n 1]
e=
(m)
k
Ln
w = s1
u1 = zw
dA
u2 = rw
(x1 , y1 ) = u1 G + u2
QA
r x1 (
n)
u 1 G + u2 Q A
C = u1 G + u2 Q A
QA = dA G
C = u1 G + u2 dA G
1RWHV
C = (u1 + u2 dA ) G
u1
C = (zs1 + rdA s1 ) G
u2
s1
C = (z + rdA )s1 G
s
C = (z + rdA )(z + rdA )1 (k 1 )1 G
C =kG
5HIHUHQFHV
([WHUQDO OLQNV
7H[W
6\PPHWULFNH\ DOJRULWKP
6KDUHG VHFUHW
0HVVDJH DXWKHQWLFDWLRQ FRGH
)RUZDUG VHFUHF\
7ULSOH '(6
)HLVWHO FLSKHU
5&
5&
%ORZVK FLSKHU
0' FU\SWRJUDSK\
0'
0'
6+$
6+$
3XEOLFNH\ FU\SWRJUDSK\
56$ FU\SWRV\VWHP
,PDJHV
)LOH$(6$GG5RXQG.H\VYJ
)LOH$(60L[&ROXPQVVYJ
)LOH$(66KLIW5RZVVYJ
)LOH$(66XE%\WHVVYJ
)LOH$GLB6KDPLUBBFURSMSJ
)LOH$PER[BLPSRUWDQWVYJ
)LOH%ORZILVKBGLDJUDPSQJ
)LOH%RDUGMSJ
)LOH%R[SOXVSQJ
)LOH&37+DVKLQJ)LOH7UDQVPLVVLRQVYJ
)LOH&RPPRQVORJRVYJ
)LOH&U\SWRBNH\VYJ
)LOH&U\VWDOB&OHDUBDSSBEURZVHUSQJ
)LOH&U\VWDOB&OHDUBGHYLFHBFGURPBXQPRXQWSQJ
)LOH'DWDB(QFULSWLRQB6WDQGDUGB)ORZB'LDJUDPVYJ
)LOH'LIILH+HOOPDQB.H\B([FKDQJHVYJ
)LOH(GLWFOHDUVYJ
)LOH(QLJPDBNH\OLVWBBURWRUMSJ
)LOH)HLVWHOBFLSKHUBGLDJUDPBHQVYJ
)LOH)ROGHUB+H[DJRQDOB,FRQVYJ
)LOH)UHHWRUHDGBORFNBVYJ
)LOH/OOSQJ
)LOH0$&VYJ
)LOH0'VYJ
)LOH0'VYJ
)LOH1XYRODBDSSVBHGXBPDWKHPDWLFVBEOXHSVYJ
)LOH3HRSOHBLFRQVYJ
)LOH3RUWDOSX]]OHVYJ
)LOH3XEOLFNH\FU\SWRVYJ
)LOH3XEOLFBNH\BHQFU\SWLRQVYJ
)LOH3XEOLFBNH\BVKDUHGBVHFUHWVYJ
)LOH4XHVWLRQBERRNQHZVYJ
)LOH5&VYJ
)LOH5&B,QIR%R[B'LDJUDPVYJ
)LOH6+$VYJ
)LOH6+$VYJ
)LOH7H[WBGRFXPHQWBZLWKBUHGBTXHVWLRQBPDUNVYJ
&RQWHQW OLFHQVH