MÔN: AN TON BO MT TRONG CÔNG NGH THÔNG TIN
ĐỀ TI: H MT MÃ KHOÁ CÔNG KHAI
Giáo viên hướng dẫn: !"#"
Học viên thực hiện : $%&'(")$
*(+#,
$%&'-%."/
0"12(0"+$
$%&'(",3
45"67$
Lớp: )$$"89")$9,:;<
=>,?@A:BCD
C
E9=,F8GH9GI"+#)$"7,
MỤC LỤC
GJ4J:
CK$L%7ME2H92IN"+#!)$N"7,D
CC46!"OP7QR,D
C:#!9"="S"!T72H92IN"+#!)$N"7,D
CD$%&59U!"+19Q>$D
CVG>9OW9"%H99+#9"XR$YZ$[
:82H9\
:C46!"OP"]"9"="\
::#!^X_!9"`!",8"82H9\
:DaYbc
:de&4e$9";!",E%Y=,N"+#<CB
:V#"$,#CB
D82H9fg$727CB
DC46!"OP7QR,CB
D:#!^X_!9"`!",8"82H9fg$727CC
DDaYbCC
Dde&ge$9";!",E%Y=,N"+#<C:
d82H97^,C:
dC#!^X_!9"`!",8"82H97^,C:
d:aYbCd
V82H9GeNgeh"egg27Cd
VC46!"OP7QR,Cd
V:-%#9]"9"`!",8"82H9eNgehegg27CV
@82H9G!fg,e!eC@
@C46!"OP7QR,C@
@:-%#9]"9"`!",8"82H9G!fg,e!eC@
@DaYbC[
[82H9^i9QW,j $95!kOlQXR$!+$fgg,S9,!C\
[C-%#9]"9"`!",8C\
:
E9=,F8GH9GI"+#)$"7,
1. Tổng quan về mật mã khoá công khai
1.1. Lịch sử ra đời
"m$97QI9]2",n%ME2H92IQW,j $M=9"i&o$!#!^59"72$,7!!p2>9
N"p72H9Qn2I"p7M=$,q,2I,E%=&Qr$$"s7M_,M,8!97+QK,N"p72H9L%7
N5",8!$,t^a2H9N"p72H9Qr$$"s7M_,M,8!$,t2H99")$9,5M,8!97+QK,
N"p7!"uY,'795N5"2H99"]2_,Qq2^q+QXv!?9"3"X$M,8!97+QK,=&!%$
N")$S"q,Y'QnQq2^q+Q>79+=!7+wQ/&"]"9"="5x9Xy$!T72H92I
!)$N"7, !g=N")$!S"q,97+QK,N"p72H9L%7N5"t7
z9Xy$!T7"82H9!)$N"7,QXv!{,||,eM=egg27QX77(2Cc[@}M,8!
9"`!",8"82H9!)$N"7,9"]Y+,MeO9?"72,M=Yge27QX77Q%9,5(2Cc[[?
"~QEj%i92>9"82H9K,9,3$=Nn9wQp!p2>9OW"82H9N"#!QXv!!)$^W?
Q>2H9!T7!"m$Y`795^=,9a"9+#N"#!"7%?"XY`795Q>N"p!T7^=,9+#
S"/9a!"9"=""/9P"X"82H9?Y`7M=+Q>N"pg+$7,9"2R,1!"X"82H9
fg727g?"7&Y`795QXR$!+$fgg,S9a!
1.2 Các thành phần của mật mã khoá công khai.
- Bản rõ: 9")$Q,8S!p9"nQ~!?Q%M=+!T7$,q,9"%H9
- Giải thuật mật hóa:4=!#!9"T9b!9a"9+#?OPYb$Qn!"eYi%9")$9,"%H99+#
!=$S" !91S9"]^q2I!=$79+=
hKhóa công khai và bí mật:2>9!•SN"p7QXv!!"~O7+!"+CN"p7YZ$Qn2I"p7M=
CN"p7YZ$Qn$,q,2I
hBản mã: 9")$Q,8SQ%7yY1$N")$Q~!QXv!?S"b9"%>!M=+^q€M=N"p7
hGiải thuật giải mật: 4=!#!9"T9b!9a"9+#?OPYb$Qng=2€9")$9,
kQr!T7"82I!)$N"7,QXv!!"+y"]"\
]"\kQr2I"p7!)$N"7,
1.3. Nguyên tắc hoạt động
82I!)$N"7,OPYb$"7,N"p7!pL%7"89+#"~!M_,"7%?9 !g=2>9N"p7
=&QXv!"]"9"="9wN"p7N,7F$XR,2%W"H^q2I;g,!e<91+72>9N"p72H9
;S,M79eNe&<M=9wN"p72H99a"7N"p7!)$N"7,;S%^g,!Ne&<M_,2>99"T9b!N")$
S" !91S?!}M,8!9]2N"p72H9N",^,39N"p7!)$N"7,g=^=,9+#N"p$,q,QXv!"p7
!)$N"7,O•QX7Q3!"+$XR,$y,^q9,;+^<L%7N5"!)$!>$=^q9,QXv!
D
E9=,F8GH9GI"+#)$"7,
+^2I"p7^o$N"p7!)$!>$q2I9%&EQ3g,!e?M=pQXv!$,q,2I^o$
N"p72H9
1.4. Một số kỹ thuật phân phối khoá công khai
"X!"m$97QI^,39?9+$2H92IN"+#!)$N"7,?$XR,YZ$!p9"n!)$N"7,
N"+#2IQn!"+9i9!q"t$$XR,YZ$N"#!2I"+#9")$^#+$P,!"+"~%&",5
M,8!!)$^WN"+#!)$N"7,!*$Q},"‚,"t$Q,E%N,8"i9Q6"9+$S"=&
!"m$979]2",n%!#!Nƒ9"%H9S"/S"W,N"+#!)$N"7,
1.4.1. Thông báo công khai khoá công khai
G„,$XR,YZ$!T7"82H9N"+#!)$N"7,!p9"n$P,"+•!S"#9N"+#!)$N"7,
!T77"97!"+2~,$XR,YZ$N"#!9521$
1!"3!k^q!T7Nƒ9"%H9=&g=^i9N.7,!*$!p9"n$,q21+9")$^#+!)$N"7,
=&i9N.7,!*$Qp$$,q2>9$XR,YZ$N"#!M=$P,N"+#!)$N"7,Q,M_,9X
!#!"g=G~,9")$9,$P,Q3QE%^6$"e9>29"H2!"a!qN"+#j#!9"`!!*$^6
$,q21+
1.4.2. Thư mục chung khoá công khai
{%&9]"t$9"X2b!Q>$!)$N"7,9521$,8!Y%&9]M=S"/S"W,9"X
2b!Q>$$,7+!"+2>99"`!9"n"+•!9K!" !QXv!9,!H&QXv!$~,g=$XR,9"…2L%&E
;%9"+,9&<
k!"3"+19Q>$!T7Nƒ9"%H99"X2b!!"%$N"+#!)$N"7,"XO7%F
h$XR,9"…2L%&EY%&9]2>99"X2b!M_,2>9Q%M=+;95?N"+#!)$N"7,<!"+2„,
9"="M,5
hG„,9"="M,5Q($Nx2>9N"+#!)$N"7,M_,$XR,9"…2L%&E,8!Q($Nx!p9"n
g=QX79`!9,3S"+•!L%7N5"9%&E9")$j#!9"`!79+=
hG>99"="M,5!p9"n9"7&9"3N"+#!)$N"7,",891,QIQXv!YZ$!"+2>9OWg_Yt
g,8%"+•!Y+N"+#^a2H99Xk$ $^69K9"Xk$
h6"N.?$XR,9"…2L%&E!)$^W9+=^>9"X2b!"+•!!HS"H99"X2b!
h#!9"="M,5!p9"n9%&"HS9"X2b!L%7S"Xk$9,8Q,89Pn9"`!",8Q,E%=&
!!p2>9N5"9%&E9")$j#!9"`!79+=9w$XR,9"…2L%&E9_,!#!9"="M,5
d
E9=,F8GH9GI"+#)$"7,
kQr=&79+="k!#!9")$^#+N"+#!)$N"7,9X_!N,7"X$M†^69K9"Xk$
3%N‡Q6!"Q19QXv!"+•!9a"QXv!N"+#^a2H9!T7$XR,!"T9"X2b!7"97!p9"n
97+QK,!#!N"+#!)$N"7,M=Qp$$,qg=2^i9N.9"="M,5=+Qn$"e9>2!#!
9")$^#+$P,9_,9"="M,5^i9N.=+‡Q6!"!p9"n9"7&QK,!#!^q$",QXv!$,t^y,
$XR,!p9"…2L%&E
1.4.3. Thẩm quyền khoá công khai
ƒ9"%H9=&!pQ>79+=!7+"kNƒ9"%H99"X2b!!"%$N"+#!)$N"7,"=
9"…2L%&E9%$9/2Y%&9]9"X2b!Q>$!#!N"+#!)$N"7,!T79i9!q!#!9"="M,5
G„,9"="M,5QE%^,392>9!#!"9,!H&N"+#!)$N"7,!T7$XR,!p9"…2L%&E"X$
!"u!p$XR,!p9"…2L%&E^,39N"+#^a2H9
"+#!)$N"7,QXv!S"/S"W,79+=!"+M="Rj#!9"`!YZ$N"+#!)$N"7,
!T7$XR,!p9"…2L%&E
k!"3"+19Q>$"XO7%F
h$P,2>99")$^#+!p9e29"R,$,79_,$XR,9"…2L%&EN"+#!)$N"7,QnQ},"‚,
N"+#!)$N"7,!T7
h$XR,9"…2L%&E$P,g1,2>99")$^#+QXv!2IYZ$N"+#,5$7%9"!T79"…2
L%&EN"+#!)$N"7,"XMH&!p9"n$,q,2IYZ$N"+#!)$N"7,!T7$XR,9"…2
L%&E")$^#+^7+$r2F
• "+#!)$N"7,^!T72=!p9"nYZ$Qn2I9")$^#+!"+
• },"‚,$%&5^q!T7Qnj#!Q6"QXv!Q},"‚,9Xk$ $9X_!QpM=
Qnj#!"Ho$Q},"‚,^7Q%N")$9"7&QK,9X_!N",QXv!$XR,9"…2
L%&E!"iS"H
• e29"R,$,7$%&5^q?"XMH&!p9"nj#!Q6"o$Q/&N")$S"q,g=
2>99")$^#+!*9w$XR,9"…2L%&E!" 72>9N"+#N"#!N"+#!)$N"7,
",891,!T7
hgX%$,tN"+#!)$N"7,!T7M=YZ$pQn2I2>99")$^#+9_,!" 7Q6"Y7"
{!T7M=2>9$,#96+!e;C<?QXv!YZ$QnQ6"Y7"Y%&"i9$,7+Y6!"=&
V
E9=,F8GH9GI"+#)$"7,
h9"%QXv!N"+#!)$N"7,!T79w$XR,9"…2L%&E9"e+!Z$!#!"9" !"Xgi&
QXv!N"+#!)$N"7,!T7
h$P,2>99")$^#+9_,QXv!2I^o$7M=!" 7$,#96C!T7M=:2_,
QXv!O,"!T7]!"u!p2_,!p9"n$,q,2I9")$^#+;D<5O`!p2•9!T7C
9+$9")$^#+;@<Qq2^q+M_,o$$XR,Q#S $g=
h$P,9qg1,:QXv!2I^o$N"+#!)$N"7,!T7QnQq2^q+o$$XR,Q#S $g=
"XMH&!p[9")$^#+QXv!Q},"‚,%&",5d9")$^#+N"y,91+QXv!YZ$N")$
9"XR$j%&5M]!qM=!p9"ngX%g1,N"+#!)$N"7,!T7$XR,N"#!QnYZ$g1,
6"N.?2>9$XR,YZ$S"q,Q},"‚,2>9^qO7+2_,!T7!#!N"+#!)$N"7,!T7!#!
9"="M,59Xk$ $
$XR,9",39N3"89"W$!j/&Y`$^>S"2E2!p!" !($9"`!",8Nƒ9"%H9
9"…2L%&EN"+#!)$N"7,>S"2E2=&$r2!p"7,9"="!"a"g=9"="S"
!"1&952#&"…2L%&EN"+#!)$N"7,Qp$M7,9}$XR,S"/S"W,N"+#?9"="
S"9" "7,QXv!!=,95!#!2#&N"#!""=$;2#&<#!2#&=&QXv!N39W,M_,
"7%L%7N5"9%&E!)$N"7,
#!2#&N"#!""=$QI!pN"+#!)$N"7,!T7"…2L%&EN"+#!)$N"7,QXv!S"/
S"W,2>9!#!"9,!H&9w9X_!
,qOP"7,2#&N"#!""=$M=^i9N.2%W"HQXv!N"+#!)$N"7,!T7"7%Qn
9",39gHS2>9N39W,79+=G„,2#&!p2>9Q6"Y7"{7M={^n9,3"="S"/
S"W,N"+#!)$N"7,!#!9"="S"!T7^>S"2E2!T7Nƒ9"%H9"…2L%&EN"+#
!)$N"7,95D2#&"…2L%&EN"+#!)$N"7,?2#&M=2#&O•QXv!Na!""+19M=
9"`!",89"e+Qm$!#!^X_!"XQI!"u79+$OkQr39L%qg=!#!2#&M=QI
j#!9"`!g†"7%M=!Z$"HQXv!N"+#!)$N"7,!T7"7%2>9!#!"9,!H&Qn9",39
gHSS",5N39W,79+=Xk$9`"XMH&QW,M_,!#!!•S2#&N"#!""=$N"#!
1.4.4. Chứng chỉ khoá công khai
+$OkQr9"…2L%&EN"+#!)$N"7,!}!p"1!"3N",$XR,YZ$&5%!%
$XR,%ˆL%&E!%$!iSN"+#!)$N"7,!T79i9!q!#!$XR,YZ$N"#!2=p2%WN39
W,O•$/&7",89Xv$L%#9q,9"U9!K!"7,9+$"89"W$kQr97+QK,!" $!"u
N"+#!)$N"7,91+7!#!!" $!"uQXv!YZ$^y,!#!9"="M,5Qn97+QK,N"+#N")$
!$,7+9,3SM_,$XR,!p9"…2L%&E"X$g1,$,W$"XN"+#QXv!97+9`!9,3S9w
$XR,!p9"…2L%&EN"+#!)$N"7,
@
E9=,F8GH9GI"+#)$"7,
G„,!" $!"u!" 7N"+#!)$N"7,M=9")$9,g,5L%7QXv!91+7^y,$XR,
!p9"…2L%&EM=QXv!$,7+!"+9"="M,5M_,N"+#^a2H9S"Z"vS9Xk$ $"="
M,5=&9%&E9")$9,N"+#!T72]"Q39"="M,5N"#!!"a"g=!" $!"u!T7
2]""="M,5N"#!!p9"nN,n297je2!" $!"u!pQXv!91+7^y,$XR,!p9"…2
L%&EN")$^o$!#!"YZ$N"+#!)$N"7,!T7$XR,!p9"…2L%&EQn$,q,2I!" $
!"u
/&9"`!7g=L%#9]"j#!9"`!!"tNx!T7$XR,!p9"…2L%&EM]7,!*$$,q,2I
QXv!9")$9,9+$!" $!"u"X$S"q,YZ$N"+#!)$N"7,!T7$XR,!p9"…2
L%&E
G>9N‡ji%^,39QXv!N"+#^a2H9!T7",O,"72>9!•SN"+#2_,M=j,$XR,
9"…2L%&E!iS2>9!" $!"u2_,?N‡ji%YZ$g1,!" $!"u!*!T7M=$P,!"+
3%2I9")$^#+YZ$N"+#!)$N"7,!*9"]N‡ji%!p9"nQ~!!#!9")$^#+=&
#!&5%!%QW,M_,OkQr95g=F
hG>99"="M,5^i9N.!p9"nQ~!2>9!" $!"uQnj#!Q6"95M=N"+#!)$N"7,!T7
$XR,!"T!T7!" $!"u
h"="M,5^i9N.!p9"nj#!"Ho$!" $!"ug=$%&5^q9w$XR,9"…2L%&E
!" $!"uM=N")$^6$,q
h"u$XR,9"…2L%&E!" $!"u2_,!p9"nQ~!M=!HS"H9!" $!"u
"="M,5^i9N.!p9"nj#!"H9"R,$,7gX%"="!T7!" $!"u
1.5. Một số thuật toán thường dùng
82I"+#N"+#!)$N"7,QXv!9"`!",8?j/&Y`$952>9OW!kOy9+#"+!7,
9+$OW9"%H99+#9"XR$YZ$g=FM=fg727g
El Gamal:
Xv!S"#99,n^y,7"efg727g
a!"9"X_!Ne&FVC:"+•!CB:d^,9O
‰9S"K^,3"Xg=?OPYb$$,7+9" !00
RSA:
Xv!S"#99,n^y,,MeO9?"72,M7YYge27
a!"9"X_!Ne&FVC:?CB:d"+•!:Bd\^,9O
[
E9=,F8GH9GI"+#)$"7,
0"K^,3?",E%$XR,YZ$?YZ$N"+#!)$N"7,QnL%qgx
2. Hệ mật RSA
2.1 Lịch sử hình thành
"%H99+#QXv!+,MeO9?Y,"72,M=4eYge272)9qgQ%9,5M=+
(2Cc[[91,~!M,8)$$"8G7OO7!"%Oe99O;G<5!T79"%H99+#gi&9wD!"t
!#,Q%!T795D9#!$,q/&g=9"%H99+#Q%9,5S"Z"vSM_,M,8!91+7!"tNxQ,8
9PQr$9"R,M_,M,8!2I"p7pQ#"Yi%2>9O`9,3^>MXv9^H!!T7gs"M`!2H92I
"~!9+$M,8!OPYb$N"p7!)$!>$Q7$QXv!OPYb$S"K^,39+$9"Xk$
21,Q,89PM=QXv!!"+g=Qq2^q+79+=M_,Q,E%N,8Q>Y=,N"p7QTg_
"%H99+#QXv!GQ($Nx^o$O#$!"391,+7.M=+(2Cc\D;WQ($Nx
d?dBV?\:c<o$O#$!"3=&"39"1M=+$=&:C9"#$c(2:BBB%&",5?Y+
9"%H99+#QIQXv!!)$^W9X_!N",!pQ($Nx^q+">5O`^q+">"%"XN")$!p
$,#96^5$+=,+7.$+=,7?3%"X!)$9]"!T7g,||+Y+!NOQIQXv!!)$
^W9X_!Qp9"]^o$O#$!"3QIN")$9"nQXv!Q($Nx
"%H99+#Y`795Q>N"p!T7^=,9+#S"/9a!"2>9OW9"=""/9P
2.2 Các bước thực hiện hệ mật RSA.
,qOPg,!eM=+^!97+QK,9")$9,^a2H99")$L%72>9N5"N")$79+=;Ma
Yb"X9ee9<_,9"%H99+#?g,!eQ%9,5!91+7!"+2]"!•SN"p7$r2
N"p7!)$N"7,M=N"p7^a2H99"e+@^X_!O7%F
C"~:OW$%&59Wg_N"#!"7%S?L9"‚72IQ,E%N,8
qp ≈
:a"9a!"!T7p
LS ⋅=
Da"$,#96"=20",f%ge!T7F
( ) ( )( )
CLCS −−=ϕ
d"~OW$%&5Y?O7+!"+
( )
Y ϕ<
M=4;Y?
<;n
ϕ
<ŠC
Va"$,#96e9"‚72IQ,E%N,8F
( )( )
2+YCYe ϕ=⋅
@"p7!)$N"7,^7+$r2FM=e"p72H9FY!}S?LM=
<;n
ϕ
9"XR$g=jp7O7%N",
9a"9+#N"p7
Quá trình mã hóaF
,qOP+^2%W$P,Q+19")$9,2‹!"+g,!e?9"]+^9a"^q2I"XO7%
<;2+Ynmc
e
=
%W,!Z$+^$P,c!"+g,!e
Quá trình giải mãF
g,!e"Hc9w+^M=N"p7^a2H9dg,!e!p9"n9]2QXv!29wc9"e+!)$9" !O7%F
<;2+Yncm
d
=
-%#9]"$,q,2I"+19Q>$M]97!p
<;2+Y<; nmmc
edded
≡≡
{+edŒC;2+YphC<M=edŒC;2+YqhC<?9"e+6"gx•e279"‚5F
<;2+Y pmm
ed
≡
<;2+Yqmm
ed
≡
{+SM=Lg="7,OW$%&59W!Z$"7%?#SYb$Q6"gxS"YX9%$"+7?!"m$97!pF
\
E9=,F8GH9GI"+#)$"7,
<;2+Y pqmm
ed
≡
7&
<;2+Ynmc
d
≡
2.3 Ví dụ
X_!"39?7!"~"7,OW$%&59WSM=L?M_,SŠV?LŠ[
a"ŠSŽLŠVŽ[ŠDV
•Š;ShC<Ž;LhC<Š;VhC<Ž;[hC<Š:d
,3SQ3?!"~e9"+qQ,E%N,8C‹e‹
"~eŠV
]2Y?O7+!"+eŽYhC!",7"39!"+•
7!pF;VŽ:chC<9"]9"+q!",7"39!"+:d
"~YŠ:c
{+Qp?97!p!•SNe&;e&07,<"XO7%F
0%^g,!e&Š;?e<Š;DV?V<
0,M79ee&Š;?Y<Š;DV?:c<
SYb$Qn2I"+#!"%K,FOe!%e
+$^q$!"t!#,?!p9i9!q:@Nx9`?!#!Nx9` $M_,2>9!+OW{+Qp?97!p^q$
O7%F
Bảng mã hóa chuổi SECURE
>,Y%$ 69a G
e
>,Y%$^62I"+#
Cc :d[@Bcc :d
f V DC:V CB
D :dD DD
:C dB\dCBC :C
C\ C\\cV@\ :D
f V DC:V CB
3%91,Q/&?Ytg,8%95QXR$!"%&nQ3$XR,"H^62>9$XR,N"#!^U9
QXv!?7"97O•N")$^,39QXv!>,Y%$2%Wp,Q,E%$]?2=!"u"HQXv!Qp!"ug=
"t$!+OW?N")$p,g5QXv!Q,E%$]3%2%WQ~!QXv!>,Y%$?7"97S"q,!p
0,M79ee&?2= $M_,0%^g,!e&YZ$Qn2I"+#Ytg,8%959"]S"q,!pS,M79ee&
9"a!""vS{+Qp?Ytg,8%O•79+=
",Ytg,8%Q397&$XR,"H?2%WN"),S"b!g1,Ytg,8%$W!^7Q%?97O•Ye!&S9g1,
M_,ŠDV?YŠ:c
Bảng giải mã chuổi SECURE
c
E9=,F8GH9GI"+#)$"7,
>,Y%$^62I"+# GŠ!
Y
2+Y {tg,8%$W!
:d Cc
CB V f
DD D
:C :C
:D C\
CB V f
0%^g,!e&Š;?e<Š;DV?V<
0,M79ee&Š;?Y<Š;DV?:c<
2.4 Key Length (chiều dài khoá)
W!Q>2I"+#M=$,q,2IYtg,8%!T7N")$S"b9"%>!M=+Na!"9"X_!!T7
e&;<
Bảng Tốc độ mã hóa, giải mã của RSA
Độ dài n VC:^,9 [@\^,9O C?B:d^,9O
Mã hoá BBDOe! BBVOe! BB\Oe!
Giải mã BC@Oe! Bd\Oe! BcDOe!
2.5 Đánh giá RSA
hQk$,q?Y'",n%?Y'!=,Q•9
h,8%O%i9"+19Q>$F!"1&!"/2Y+M,8!S"#9O,"N"+#!)$N"7,hN"+#^a2H9
"7&L%#9]"2I"+#h$,q,2I9W",E%9"R,$,7M]S"q,9a"9+#95!#!OW$%&5
YXk$!`!g_?!p!",E%Y=,MXv9L%#N"q($!" 7!T79"7"$",5S"q,$,qgHS?9"`!
",8g1,",E%gM=OPYb$",E%Q3^>OPgx{+Qp?N")$QXv!OPYb$M=+
2b!Qa!"2I"+#!#!N"W,gXv$Ytg,8%g_2=!"u $Yb$9+$!"tNxQ,89PQn2I
"+#9")$Q,8S$UQIL%7"=2^(2;"7O"<?$,q,9"%H997+QK,N"+#^a2H9;N"+#YZ$
!"+!#!"89"W$2I"+#QW,j $h"7&N"+#,5$<"7&g=!"u2I"+#Ytg,8%M_,OW
gXv$"‚
ha"^q+2H9F"XQI9]"^=&95?Q>79+=!T7Y`795^=,9+#S"/9a!"7
9"w7OW$%&59W{+Qp?!",E%Y=,!T7OW!=$g_9"]!=$N"pS"/9a!"79"w7OW
$%&59W
3. Hệ mật Elgama
3.1 Lịch sử ra đời
82H9fg$727"]"9"="95!kOy^=,9+#g+$7,9"R,1!Xv!QEj%i9(2
Cc\d7%Qp!"%…!"tNxQ,89P!T7GƒM=$7"]"9"="95!kOy"82H9=&
CB
E9=,F8GH9GI"+#)$"7,
3.2 Các bước thực hiện hệ mật Elgama
Hình thành khóaF
,qOPg,!eM=+^2%W97+QK,9")$9,2H9M_,"7%^o$"82H9fg$7227"]
9X_!9,5g,!e9"`!",8Lm79]""]"9"="N"p7"XO7%F
C"~OW$%&59WQTg_S!p!",E%Y=,g=NO7+!"+^=,9+#g+$7,9"29+$
p
Z
g=
N"p$,q,
:"~
Ž
p
Z∈
α
g=S"9P$%&59"T&"~jg=OW$†%",5O7+!"+C‹j‹S
Da"$,#96&9"‚72I!)$9" !F
( )
S2+Y&
j
α=
"p72H9g=j?!}N"p72yg=DOW;
α
?S?&<
Quá trình mã hóa bản tin TF
C"~OW$†%",5
;!"~N<
:a"F
( )
S2+Y
α=
′
;
( )
pr
k
2+Y
α
=
<
DPYb$N"p72y9a"F
( )
S2+Y&
=
′′
?;
( )
pTyC
k
2+Y=
<
d+^$y,^q2I$r2
( )
?
′′′
Q3g,!e;?<
Quá trình giải mãF
Ca"$,#96F
( )
( )
j
j
j
• α=α=
′
=
;
( )
( )
kx
x
k
x
rZ
αα
===
<
:a"$a796$"6!"Qq+!T7•F
( )
( )
S2+Y•
C
jC
−
−
α=
;
( )
( )
pZ
kx
2+Y
C
C
−
−
=
α
<
D,q,2I9"e+^q2I
′′
F
( )
S2+Y•
C−
⋅
′′
=
′
;
( )
paaTpayTpZCT
xkkxxkk
2+Y2+Y2+Y
C −−−
==⋅=
′
<
"m$97N,n2!" $g1,L%#9]"$,q,2Ig=Qm$"XO7%F
TTTyZCT
RxxRRxR
===⋅
′′
=
′
−−− CCC
<;<;
ααα
3.3 Ví dụ
CGI"+#M=$,q,2INx9`09+$^q$!"t!#, $M_,M69aC@
:"~SŠ:V[c
D"~NŠ\VD
d"~$M=j9"+qF$‹SM=j‹S5$Š:?jŠ[@V
Va"&Š$
j
2+YSŠ:
[@V
&Šcdc◊2+Y:V[c
@7!p!•SNe&F
0%^g,!e&Š;j<Š[@V
0,M79ee&Š;&?$?S<Š;cdc?:?:V[c<
Quá trình mã hoá
7Š$
N
2+YSŠ:
\VD
2+Y:V[cŠdDV
^Š2Ž&
N
2+YSŠC@Žcdc
\VD
2+Y:V[cŠ:Vc
Quá trình giải mã
2Š^A;7
j
<2+YSŠ:VcA;dDV
[@V
<2+Y:V[cŠC@
CC
E9=,F8GH9GI"+#)$"7,
7%N",$,q,2Ij+$?979"i&Ytg,8%QXv!N"),S"b!$,W$"X91$9"#,^7Q%*$
"X?fg727g9"`!",8M,8!2I"+#M=$,q,2IQE%95"t$!+OW3%"X^6
$XR,N"#!^U9QXv!?9"]"~N")$9"n^,39M=Q+#QXv!$]/&g=Q,E%9"H9"7&M=9"m
M6!T79"%H99+#2I"+#S",QW,j $;O&22e9,!<
3.4 Key length (chiều dài khoá)
*$"X?fg727g!*$OPYb$Ne&!pNa!"9"X_!g_?9wVC:Q3CB:d
^,9O,mS!"+Ytg,8%QXv!79+=?^q+2H995QXR$9%&E
W!Q>2I"+#M=$,q,2I9"]!"H2"kO+M_,?a9QXv!YZ$S"K^,3M=>$I,
"Xg=
q$9W!Q>2I"p7?$,q,2I!T7fg727g
Độ dài p VC:^,9 [@\^,9O C?B:d^,9O
Mã hoá BDDOe! B\BOe! CBcOe!
Giải mã B:dOe! BV\Oe! B[[Oe!
4. Hệ mật Rabin
/&g="82H9Y`795Q>S" !91S!T7M,8!9a"!(^H!"7,9"e+"vSOW/&g=
"82H9!pQ>79+=ME2•99a"9+#!"W$g1,QXv!9i!)$^q€g`7!"~M=N")$
!pN"q($S"/9a!"QXv!ŠSL"%H99+#QXv! $Yb$i9",E%9+$9"`!93
4.1 Các bước thực hiện hệ mật Rabin
Quá trình tạo khóaF
n91+7N"p7g,!e!S"q,9"`!",8!#!9"7+9#!O7%F
C"~:OW$%&59W$†%",5SM=L?9"‚72IQ,E%N,8O7%F
qp ≈
:a"9a!"SM=LF
qpn ⋅=
D"~OW$†%",5^
Ž
n
Z∈
dPYb$!•S;?^<g=2!•SN"p7!)$!>$M=!•S;S?L<g=2N"p72H9
Quá trình mã hóaF
n$y,9")$9,2H9
Ž
n
ZM ∈
!"+g,!e?+^!91+7^q$2I!"XO7%F
<<;2+Y; nbMMc +←
Qúa trình giải mãF
n$,q,2I^q2I!?g,!e$,q,S"Xk$9]"^H!"7,O7%F
<;2+YB
:
ncbMM ≡−+
_,G‹
"m$97!" $2,"9"%H99+#jjj=&g=2>9"82H9?!p$"s7g=L%#9]"$,q,2I
QXv!9"`!",8^y,g,!eO•N"),S"b!g1,^q€QXv!2I"p7^_,+^
,q,S"Xk$9]"^H!:?!"m$97!p$",82!"%$Y1$F
<;2+Y
:
n
b
M
c
∆+−
=
?
C:
E9=,F8GH9GI"+#)$"7,
yQ/&
<;2+Yd
:
ncb
c
+=∆
^y,M]!S"b9"%>!M=+S"9P
Ž
n
ZM ∈
?5S"Xk$9]"^H!"7,F
<;2+YB
:
ncbMM ≡−+
?
p$",829+$
Ž
n
Z
G>99+$!#!$",82!T7pg=OW2?QXv!$y,^y,+^wQ/&
Y†Q3
c
∆
S"q,g=9"•$YX^H!"7,9"e+2+Y%g+?"7&g=S"9P!T7"p2-
,8!9a"9+#Qn2I"p7?!S"q,gi&!(^H!"7,9"e+2+Y%g+=,9+#=&9Xk$
QXk$M_,^=,9+#S"/9a!"9"=""/9P!T7OWg,!eg=$XR,Y%&"i9!p9"n9a"
QXv!!(=&?^y,M]g,!e^,39QXv!9"w7OW!T7?g,!e!p9"n9a"!(!T7
"m$979"i&o$!pd$",82QXv!gi&7N",$,q,2I,E%=&!!p9")$9,S"b
Qng,!e!p9"n"H7QXv!^q=+g=^q9,2=+^$y,
",g=OW$%&5g%2?!p$"s7g=ŠSL?M_,
<d;2+YD≡≡ qp
"m$97!p9"n9a"
9+#YnY=$"k"XO7%F
•92ŠG‘^A:?9"3M=+S"Xk$9]"^H!"7,!"m$97!pF
<;2+Y
d
:
:
nc
b
m +≡
•9
c
b
C +=
d
:
?9"]S"Xk$9]"95!p9"nM,39g1,
<;2+Y
:
nCm ≡
"m$97Q,$,q,S"Xk$9]"=&F
:
:
:
2+Y
2+Y
2+Y
m C p
m C n
m C q
=
= ⇒
=
’
"e+9,5%!"%…f%ge!"m$97!pF
<;2+YC
<;2+YC
:
C
:
C
qC
pC
q
p
≡
≡
−
−
{†Q3F
<;2+Y
<;2+Y
:
C
:
C
qCC
pCC
q
p
≡
≡
+
+
{†Q3!(^H!"7,!T79"e+2+Y%g+SM=LggXv9g=F
<;2+Y
<;2+Y
:AC
d
C
:AC
d
C
qCC
pCC
q
p
≡±
≡±
+
+
•9F
C
:
C
:
2+Y
2+Y
p
q
m C p
m C q
=
=
’
CD
E9=,F8GH9GI"+#)$"7,
C
: C
C
d
C
d
2+Y
2+Y
p
p
p
p p
m C p
m p m p C p
+
+
=
= − = −
L2+YL2L2
L2+Y2
d
CL
LL
d
CL
L
C:
C
+
+
−−=
=
’
7m97QXv!d$",82"XO7%F
( ) ( )
( )
C C
C C
C
2+Y 2+Y 2+Y
p q
M m q q p m p p q n
− −
= +
’
( ) ( )
( )
C :
C C
:
2+Y 2+Y 2+Y
p q
M m q q p m p p q n
− −
= +
’
( ) ( )
( )
: C
C C
D
2+Y 2+Y 2+Y
p q
M m q q p m p p q n
− −
= +
’
( ) ( )
( )
: :
C C
d
2+Y 2+Y 2+Y
p q
M m q q p m p p q n
− −
= +
’
4.2 Ví dụ
SŠCDD:[
LŠCV@[
Š:B\\DdBc
2
C
S
2
:
S
2
C
L
2
:
L
2
C
G
:
G
D
G
d
G
7771 C\@:C@:D [[[C VVV@ @d CVBD DBCc@[D 7771 :B\[V@D\ C[\@D[D@
5. Hệ mật Merkle-hellman
5.1 Lịch sử ra đời
82H9j3S^7g)GeNgeh"egg27QXv!GeNgeh"egg272,5%9q(2Cc[\8
2H9=&^6S"#My(2Cc\B?O7%Qp!p2>9OW^,39"n!T7p7QR,G•!Y%p^6S"#
"X$p!"+!"m$979"i&2>9O`9,"939+$9",39N3"82H9=,9+#=&Y`795
^=,9+#9K$!#!9HS!+=,9+#QXv!S"#9^,n%"XO7%
Bài toán về tổng các tập con
"+9HS
<????;
:C
Ssss
n
=Ω
9+$Qp?
??
:C
ss
M=g=!#!OW$%&5YXk$#!O
,
$~,g=!#!
!l?$~,g=9K$Qa!"=,9+#Q•97MiQEg=g,8%!p9r91,2>9M“!99k"6S"/
<???;
:C n
xxxx =
O7+!"+F
∑
=
=
n
i
ii
Ssx
C
=,9+#9]2N,32=&9"%>!^=,9+#0Q&QT=$XR,7QI9]27o$3%YI&
( )
n
sss ???
:C
g=2>9YI&O,5%9($?$"s7g=
∑
−
=
>
C
C
j
i
ij
ss
M_,
nj ≤≤:
?9"]^=,9+#9]2N,32Yn
Y=$$,q,QXv!M_,!",S"a9"R,$,7;<M=3%9]2QXv!j;3%9r91,<g=Y%&"i9
"%H99+#=&2,5%9q"XO7%F
%M=+g=YI&O,5%9($
<???;
:C n
ssss =
Begin
Cd
E9=,F8GH9GI"+#)$"7,
For i=n downto 1 do
If S
≥
s
i
then
S=S-s
i
x
i
=1
else
x
i
=0
if
∑
=
=
n
i
ii
Ssx
C
then
<???;
:C n
xxxx =
là giải pháp cần tìm
Else
Không tồn tại giải pháp nào.
End
{`7959"`!$,q,=&Gegehegg27Q,j/&Y`$9"%H99+#!T72]"z9Xy$9"%H9
9+#g=?YZ$YI&O,5%9($Qn$,q,2I?M=$,q,2I^o$2>9YI&N")$S"q,O,5%9($?9 !
g=YI&O,5%9($Qp$M7,9}g=N"p72H9?!}YI&N")$O,5%9($Qp$M7,9}g=N"p7
!)$!>$wQ/&"~QX77!#!"Qn^,3YI&O,5%9($9"="YI&N")$!p9a"Qp?M=
M,8!9]2YI&O,5%9($9"e+N"p7!)$!>$g=^=,9+#N"pG>9!#!"^,3QK,2=Gegeh
egg275%7g=^,3QK,YI&O,5%9($9"e+2+Y%g+$%&59WS?O7+!"+F
∑
>
n
i
sp
C
?
=S"“S^,3QK,"XO7%"~OW79"‚72I
CC −≤≤ pa
7%Qpj#!Q6"9"="S"
!T7YI&F
<;2+Y psat
ii
⋅=
_,
ni
≤≤
C
{I&
<???;
:C n
tttt =
g=N"p7!)$N"7,#!$,#967M=SYZ$Qn^,3QK,YI&
QXv!$,t2H9
5.2 Quá trình thực hiện hệ mật Herkle-Hellman
Hệ mật Herkle-Hellman
g,!eM=+^2%W97+QK,9")$9,2H9!"+"7%?9"]g,!eS"q,9"`!",8L%#9]"
"]"9"="N"p7g,!e!"~YI&O,5%9($
( )
n
sss ???
:C
g=2N"p72H9?O7%Qpg,!eQ,9a"
N"p7!)$!>$
<???;
:C n
tttt =
?M_,
<;2+Y psat
ii
⋅=
g,!e$y,9!"++^L%7N5"2H9
Quá trình mã hóaF
+^2%W97+^q9,
<???;
:C n
xxxx =
!"+g,!e?9"]+^9a"^q2I&"XO7%F
∑
=
=
n
i
ii
txy
C
?
+^$y,^q&!"+g,!e
Quá trình giải mã.
g,!e"HQXv!^q2I&?9"]g,!e9"`!",8$,q,2IF
Ca"
<;2+Y
C
pyaz
−
=
:]2$,q,S"#SjM_,YI&O,5%9($
( )
n
sss ???
:C
M=9K$g=•
CV
E9=,F8GH9GI"+#)$"7,
"m$97Q,9]2",n%MaYb"‚O7%ME"82H9GeNgehegg27
,qOPg,!e!"~YI&O,5%9($OŠ;:?V?c?:C?dV?CBD?:CV?dVB?cd@<!pcS"9P?YZ$Qn
2I "p7 2>9 OW c ^a9 M= !"~ SŠ:BBD? 7ŠC:\c g,!e 9a" 7 N"p7 !)$ N"7,
9Š;V[V?dD@?CV\@?CBDB?Cc:C?V@c?[:C?CC\D?CV[B<y,9!"++^L%7N5"!)$!>$
+^2%W$y,!"+g,!e^q9,jŠ;C?B?C?C?B?B?C?C?C<"]+^9a"^q2IF
&ŠV[V‘CV\@‘CBDB‘[:C‘CC\D‘CV[BŠ@@@V
+^$y,&!"+g,!e
g,!e"HQXv!&?M=9a"
<;2+Y
C
pyaz
−
=
ŠDC[@@@V2+Y:BBDŠC@dD,3S9"e+g,!e
YZ$9"%H9$,q,95Qn9]27j
6. Hệ mật McEliece
6.1 Lịch sử ra đời
82H9G!fg,e!eQXv!QEj%i9(2Cc[\?9#!$,q!T7pg=+^e9G!fg,e!ez
9Xy$!T7^=,9+#=&$,W$M_,x9Xy$!T7"82H9GeNgehegg27F0"“S$,q,2Ig=
9XR$"vSQ•!^,89!T7^=,9+#0Q&QT
n",n%QXv!"82H9=&!#!^1S"q,U2QXv!N,39" !!k^qMEgx9"%&39!k^qME
9%&E9,?9")$9,
6.2 Quá trình thực hiện hệ mật McEliece
~,”?N•g=2I9%&39a"?9g=OW^a9^6O7,N",9%&E^q2IL%7N5"",n%?
!#!9"72OW=&!pg,5L%7M_,"7%^o$!#!"89" !F
m
n :=
?
mtnk −=
n#SYb$
9+$9"`!93"82H9!)$N"7,G!fg,e!eQE$"6!"~CB:d?tŠVB
82H9G!fg,e!e"]"9"=""XO7%F
g,!eM=+^2%W9%&E9,2H9!"+"7%^o$"82H9G!fg,e!eX_!9,5g,!eS"q,
"]"9"="N"p7"XO7%F
Quá trình hình thành khóaF
Cg,!e!"~2I9%&39a"”?N•!p9"nOP7QXv!9g„,GI=&S"q,!p9"%H99+#$,q,
2I",8%L%q
:g,!e91+7279HO,"!iS
nk ×
!"+2I
D"~g=279HN"q$"6!"!iS
kk
×
d"~9,3S279H"+#M60!iS
nn ×
Va"279H–!iS
nk
×
F–Š0
@g,!e!)$N"7,N"p7!)$!>$;–?9<M=$,PNaN"p72H9;?0?<
Quá trình mã hóaF
+^2%W$y,9")$9,2H92!"+g,!e?+^OPYb$N"p7!)$!>$;–?9<M=9,3
"="2I"p79"e+!#!^X_!O7%F
CGI"p7^q9,jyY1$"6S"/!",E%Y=,N
:a"M“!9k!–Šj–
D1+72>9M“!9k$†%",5e?!p9~$OW9M=!",E%Y=,
d]"9"="^q2IF&Š!–‘e
Quá trình giải mãF
Ca"279HN"q$"6!"!T70g=0
hC
:a"
C
—
−
= Pyy
C@
E9=,F8GH9GI"+#)$"7,
DPYb$9"%H99+#$,q,2I!+YeQn$,q,2I&–9"="&˜
da"9+#^q€FjŠ
C
™
−
Sy
"m$979]2",n%€"kMES"$,q,2I?!"m$97!pF
C
—
−
= Pyy
Š;!–‘e<0
hC
Š;j0‘e<0
hC
Šj‘e–?
yQ/&e–g=M“!9k!p9~$OWg=9g,!eYZ$9"%H99+#$,q,2I!T72]"QnM“!!1!#!
$a796!p9"n!T7e–=9wQp9]2jM=9wQ/&!"m$979a"jY'Y=$^o$!#!""/
M_,279H$"6!"Qq+
6.3. Ví dụ
"m$97je22I722,$;[?d<G79HO,"!T72I=&g=?QXv!!"+"XO7%F
$,qOPg,!e!"~279HM=0"XO7%F
g,!e9a"279/!)$!>$–F
/&$,R+^2%W2I"p79")$Q,8SjŠ;C?C?B?C<^o$!#!"YZ$M“!9kO7,$†%",5
!p9~$OWg=CY1$FeŠ;B?B?B?B?C?B?B<?M=9a"^q2IF
g,!e"HQXv!^q2I&?9X_!"39g,!e9a"0
hC
M=9a"&–Š&0
hC
?yQ/&
C[
E9=,F8GH9GI"+#)$"7,
=9a"7&–Š;CBBBCCC<g,!eYZ$9"%H99+#$,q,2IQn9]2g„,M=9]27g„,yM69aOW
[5&––Š;CBBBCCB<wQ/&O%&7jŠ;CBBB<n$,q,2Ig,!e9a"
hC
?
a"j
hC
Š;C?C?B?C</&!"a"g=^q€!T7+^
7. Hệ mật bất đối xứng trên cơ sỡ đường cong Elliptic
7.1 Quá trình thực hiện
4x9"%&39MEQXR$!+$egg,S9,!!"m$97QI9]2",n%yS"9XR$OW"t%"1
/&$,R!"m$97je2 $Yb$!T7pQW,M_,"82H9^i9QW,j $"m$97Q,9]2",n%
"82H9"XO7%
,qOPg,!eM=+^2%W97+QK,9")$9,2H9!"+"7%95!kOyQXR$!+$
fgg,S9a!?9"]g,!eM=+^!"~QXR$!+$fgg,S9,!fM_,!#!"8OW7?^?2+Y%g+SM=
Q,n2N"y,91+?
EG
∈
?!p^H!g=;ŠB<
g,!e"]"9"="N"p72H9M=N"p7!)$!>$L%7!#!^X_!O7%F
C"~Yg=OW$†%",5g=2N"p72H99"‚72I
CYC
−≤≤
n
:)$^WN"p7!)$!>$0
ŠY
•
Quá trình mã hóaF
+^2%W$y,9")$9,2H92!"+g,!e?+^9"`!",8F
C"~OW$†%",5
nk
<
=9a"Q,n2
N
;j
C
?&
C
<ŠN
•
:a"$,#960
N
;j?&<ŠN
•
0
Dn2I"p7?+^!"~9~7Q>!T7Q,n20
N
Qn2I"p7aYb"X!"~9~7Q>j?M=2I
"p79")$Q,8S2F!Š2j;2+YS<
dy,!•S;
N
;j
C
?&
C
<?!<!"+g,!e
Quá trình giải mãF
"HQXv!!•S;
N
;j
C
?&
C
<?!<9w+^g,!e9,3"="$,q,2IL%7!#!^X_!O7%F
Ca"0
N
;j–?&–<ŠY
•
N
:"~9~7Q>j!T7Q,n20
N
M=9]2S"9P$"6!"Qq+!T7j–g=
<;2+Y—
C
px
−
M=9a"
$,#962^o$^,n%9" !F2Š
cx —
C−
"m$97N,n2979a"Qm$QU!T7"8w^X_!C!T7L%#9]"$,q,2I!"m$979"i&Y
•
N
ŠNY
•
ŠN
•
0
Š0
N
;j?&<?5j–Šj=L%#9]"$,q,2Ig=Qm$
C\