ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
TIẾU LUẬN MÔN HỌC
TOÁN CHO KHOA HỌC MÁY TÍNH:
Lý thuyết mật mã
và một số ứng dụng
!"#$%&
'%()*+(, -%./0.012
3%4-560.7890.1
LỜI CẢM ƠN
:8;<=>?@A<BCDEFDGHBI7C5JKL%M
M5N%-HOPQ5FR'SBT5JF>UHL
VS8WF4<6FX'Y8)==Z<=F)L=>
[68C(58\56(5]Y8J)(HQHOIJ^5@)@G=H_
3K5;68CR6<L@'()S+(0,HO`_5X'HaMJ)
WF6JQ<=bF@FP=>
!cHO+UFZGGGDdSMJ6S?VBFD+5Y8
JR8)PH^DH++'eSB`(6f>6)5%M6)=6<LHbHU=
=>H^)=C
:8;E=8Cg
'3%4-56.97890./
!F>GE
NHẬN XÉT
h%`(i
()=5()Z'f8U85Hs<@=6ZMJ8L
tYJY)'u'8KJF>P'5S(6=(DvM-sS6+
m@=F>C4HBM<]JAJo)s<]'6)LX=><)8P
()=V@F@=RHUKD5@=8_`HUJ_+@WF(HBUF@l=
J)B+UF'C'6'H^HbH8<)V@Fw8Q8bF
8_J)V'C'6'<)()=M+4()=()(>@=
c8P8OS)6MS(xy=H(J(8_=Tj`(8P8OS)6
MS(rjVSeDZJ);658O+(=8O6P'
1.2 Ý nghĩa
NF(<=bF@FP5X')6bFJzCU6S6856
FPVJ)@eF>B8P8OkLH+5mX'6bFJzCU8P
8O5S68U8P8OS)6<48P=8P8OS)6MS(5@eF>BF
U6'C'6'8O)6'C'6'8O)6S+(<48P='C'6'8O
)6S+(MS(FH^6FHb8=^Hb8`(('C'6'=>5
JQ<=>B8P8OS+(MS(xy5@eF>BFU8MQVSeDZ5
6@^H3VSeDZjb5H^;E>J8P8O)6S)6MS(
1.3 Nội dung thực hiện
k=bF@FPDdQ8bF=JQ<=>U6RHU4D(F
a) Q8bFU8_DZH]l(J)@eF>B8P8O
o *6WF6U8P8O5S68U8P8OS)6<48P=8P8O
S)6MS(
o eF>BFU6'C'6'8O)6'C'6'8O)6S+(<4
8P='C'6'8O)6S+(MS(5FH^6FHb8=
^Hb8`(('C'6'=>JQ<=>B8P8OS+(
MS(xy{
b) %CDp@eF>B)6`(@eF>B8P8O
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(|
o ZF>Z='E4J(}(DZF>Z
o 4)6H3=4@)(JJKJL
(•<W…J50ŠJŠ<
ZWH^@=DZC`('u'(()<5SeF(<5=DZJH^
@=DZ`('u'(()<5SeF(8)<
4 j92••/=928)••15ƒ92••ƒ1=ƒ928)••/
-_DZF>H^@=DZF`((DZF>(=<BF†(=†
<ZF>H^@=DZF@R`((=<BF‰05@=DZ
F`((=<5=8DZF`((=<HUF@=DZ`((SeF
DZF@R`((=<@=h(5<i
4jh.95.,i•|5hƒ.,59•i•/
!‡R>Jw8DZF>C((+h(50i•(5(mDdWF
;Y8Jwh050i•0
-_DZF>(‰.H^@=DZF>Z5BF(SM+DZ=))=.
=4(‹=H^@=^'DZ5BFSM'@=F>Z
4j%6DZ95/525•@=DZF>Z‹6DZ15|5,5.05.95.15.2@=^'DZ(
DZ(=<H^@=F>Z(F5BFXSM+DZF=)
S6.5T@=BFh(5<i•.
-_DZF>‰.<RSˆHUF+bBL
•
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(,
J)H+'
.
5'
9
55'
S
@=6DZF>ZS6(F‹Œ
.
5Œ
9
114
76
38
3458
1406
646
114
76
38
0
1406
646
114
76
38
0
=FP)6)(SBWFh1,|15/12,i•/,
(<BJwBFh(5<i•5Q'CJQ<RH](;…<>•+8
F>h;5>i5=8_8F>h;5>iP>+bQ8H^<pFP)6
:F@Y8pJ_D(F
Thuật toán Euclide mở rộng:
t" (DZF>SME8(=<(•<
Ž""•h(5<i=(DZ;5>D())(;…<>•
.iBF<•0QHs•(‹;•.‹>•0‹=)J(h5;5>i
9is;9•.5;.•05>9•05>.•.
/iJ)SA<‰05
/.W•(<‹J•(8)<‹;•;9•W;.‹>•>9•W>.‹
/9(•<‹<•J‹;9•;.‹;.•;‹>9•>.=>.•>‹
1is•(5;•;95>•>95=)J(SBWFh5;5>i
!I7C !F>GE
A@s'hT6J]<•0i5B'@1(H^SBWF•/,5;•/9
=>•ƒ125s'DZh/95ƒ12i)8O1,|1/9…/12,hƒ12i•/,
2.1.2 Số nguyên tố và bái toán phân tích ra thừa số nguyên tố
Số nguyên tố
Ðịnh nghĩa:ZF>Z@=DZF>@C.5SM(B)DZ=)
)=.=4+ZF>@C.SM'@=DZF>ZH^@=^'
DZ
’]@4D(FHE>)8_FP)6HCHb;6H]6DZF>Z
Ðịnh lí^'DZ'+F>ZSM@C
PP>5S@=8_^'DZQ(+bB•(<5J)H+(=<@=6
DZF>?(8O.(<Š“ŠxzJ=('+()s<SM^WF6hQJ)
JK^'^@LQ(<‰iDrDZSM@C@=(5SH+F>
Z`((SMb@C=JzJ=m@=F>Z`(}H]@4J5(
+FP)6D(FHE>
Thuật toán tìm các số nguyên tố nhỏ hơn hoặc bằng số n.
(BO>6DZ}.HBJB5(LHDZ.5Q+SM'
@=DZF>ZZF>ZHfF`(O>@=9B'Y)H+(LS?O>R
VDZ@C9(B)9hmT@=LH)=<_DZn@
C9iZHfFJ)6DZA@LhSM(B)9i@=/H+4@=
DZF>ZV@LDZ/5(@LLS?O>A@LVDZ=)(B)/
HTD(FDZ/5DZHfFJ)6DZA@L@=DZ2m4@=DZF>
ZV@LDZ25(@LLHS?O>VDZHTD(FDZ2=(B)2ZHfF
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(.0
J)6DZA@LmDd@=8_DZF>ZB'jWF6JQJ5(L
HS?O>VDZ@CDZ=>@L8=(B)+NF6JQ=>B'‡
)SDZHfFA@LhD(F8_@fL=)H+i@=8_DZF>ZSM
?C*R>5RVDZA@L`(O>HUF@=?C(><w=SM
+F>Z^WF6Y)H]@4J5VDZA@L=>SMb@=^'
DZ5(>+6S65XHUF@=6DZF>ZxzJ=5H]@4=>X'(
W
9
W
D
5DJ)H+'
5‚.5955J„5W
”
5”‚.5955D„5@=
VDZF>Z}HE>DF>J(•'
.
'
9
'
J
W
.
W
9
W
D
5=P>m'E4
H^ =46DZF> Z UF=>8EFF B @=SM
b'E4H^-EFF=>)R>JwB'T@=SM
b;>J(5WF(H+S•H]4'E4H^`(8DZF>@C.
bT8'E4@=F>R5(@Lc'C'6''T=
Dr+(L'E4S6(F5T@=•(
.
(
9
5=)H+'3L8_}(DZ`(4<J6(B)<
”.
UF=>
@=SMb5QHE>@=46DZF>ZS6<
”.
-EFF=>)R>
B'T@=SMb;>J(5T@=SMb+(L'E4
S6(F]@4HOH^T8Hf>H`
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(
Bài toán phân tích ra thừa sốnguyên tố
E4J`(6DZF>H^@='E4J(}(DZF>Z
%+8_WF>JQS6HCU8sepHb=>o@R>DZ
HY8()6DZF>Z?Ch+J)D=ƒJ(ƒMƒ;YiF>5S
@=8_DZ@Q6'E4=>@=SMS+F5<=)6'E4
8_DZJ(6}(DZF>Z)HB(>@=8_<=)6BDTS+
S7’bQFH^'f=)4'TL'`(RHU5(;Y8<HE>
Hb<B S) K(fB) 'E48_DZF> J(}(
DZF>Z<wFP)6(RH^<B(>h(;Y8Jw86>4
Drj=)=>+ZH_.JF'u'4J).E>i
ZVDZP''E K(
•2 .01=>
.00 •178
900 /5,o78
F>58_HUFSQF@=4D–+<X(–`(<=)6=>@L8(
HB8_'6'H_H6)J)Tj`(DZ=)8O+(M
HL5H^;Y8@=F_68LJ)@]DrM8P8O
2.1.3 Đồng dư và phương trình đồng dư tuyến tính
%)@=8_DZF>C(+(DZF>(=<@=H3(F
Y)8MHF5=B(—<h8)i5BF†(•<hTm@=BF(•<(B)
c(F
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(.9
(H]l('u'(J)€
D(F(<h8)i•(<
ƒ.
8)u'(
oH^S<@=S]Y)8)
4j.299h8)92i•.299
ƒ.
8)92•90
kE>K(;u6'CJQH3F>B4
CJQH3F>B4+L
(;—<h8)i h.i
J)H+(5<5@=6DZF>5‰05;@=˜DZCJQH++8S=
oS•h(5i†<5=SH+++HX8Y)8)
PP>5Hs(™•(š5<•<š5•š5(R>'CJQH3h.iC
HC'CJQ
(;—<h8)i
Qh(5i•.5'CJQ=>+8_8Y)8)
;•;
0
—<(
ƒ.
h8)i
Định lý 2.2.1.h]@eDZJFWFZi
Dr6DZ F>
.
5
9
i+
8F>R;—(h8)iY)8)•
.
9
2.2 Xác suất và thuật toán xác suất
2.2.1 Khái niệm xác suất
(;u8_P'^'›5H^@=SM(6DSDCR'h(>SM(
8Fi%6'fr`(›5T6DSDCR'(>68F5+bH^;Y8
6SBWF+b+h=@)LJ}@(Fi`(8_8=)H+UD(F(
o;u6SM(JKJL5TP'›@=VFL5Dr›•‚D
.
5D
9
55D
„
-_'E<Z;6DFRJ›H^H]l(@=8_P'6DZSME8
•‚'
.
5'
9
55'
„+qœ'
•.Z'
H^)@=;6DFR`(DSDCR'D
⊆:
9
Q'h:
.
i•'h:
9
i
=R'h:
.
∪:
9
i…'h:
.
ž:
9
i•'h:
.
i…'h:
9
i!)H+'h:
.
∪:
9
i•'h:
.
i…'h:
9
iS=
oS:
.
.
i= •'h:
9
i
Dr›@=8_SM(8F8_'E<Z;6DFR(8_HL@^
FŸJ›@=8_6;L6)8ID∈Ω8_DZξhDib5BF
Ÿ= @=6HL@^FJ›5QŸ… 5Ÿ H^H]l(<p
∀D∈›hŸ… ihDi•ŸhDi… hDi‹hŸ ihDi•ŸhDi hDi
m@=6HL@^FJ›
DrŸ@=8_HL@^FJSM(8F›UFH++l(@=
8D∈›5Ÿ@R>6J]<wŸhDi;6DFR'hDi(H]l(6J]Sˆ
Ÿ@=
:hŸi•
CD(`(HL@^FŸ+6J]JF<QµH^H]l(
@=(JhŸi•:hhŸƒµi
9
i
%7<P(SME8`((JhŸiH^@=H_@F˜`(Ÿ
2.2.2 Tính an toàn của một hệ mật mã
78.‘1‘5%()M<ZMJQeF>BJF>UM`(6<4
8P5H(J(UFWF(8@=8CDp)H664<48P`(68P
8O5J)H++S684<48P)=)=`(8_8P8OH^H]
l(D(F%)8P8OS = (P , C , K , E , D ).
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(.1
rJ6P'P , C=KH^;6H]CT6'E<Z;6DFR p
P
(.),
p
C
h;†>i•'
h;i)=
J((+B'
%
h>i‰08>∈C . }H+Y)MTk(>YD(+'
%
h>†
;i•'
%
h>i‰0UFH++l(@=+4R8_S+(*D())Y
*
h;i•>QP>5BFZ
H];∈P Q(+
| C | •†‚Y
*
h;i*∈K }| ≤ |K|
Y)B`(H]@e†%†•† K|, )H+
†‚Y
*
h;i*∈*„†•|K|
HUF=>+l(@=SMb+(S+(*
.
≠*
9
D())
P>(HOT8H^8;∈P5>∈C+HX8_S+(*D())Y
*
h;i•>
h;i•>(4
**L>WF(P'S+(KQ
*
h>iL>WF(P'P, )H+
=(H^'
%
h>i•.š†K†8>∈C .
-sS65*@=S+(F>R8=Y
*
h;i•>5(+:
%
h>†;i•'
*
h*i•.š†K|
!cMTk(>YD(@LH^8;∈P5>∈C :
P><48P)=)=]@eH^T8
2.2.3 Thuật toán xác suất
*68FP)68=(KbF@=FP)6RH]5H+@=8_B
JQ6'u')6JV@FHfF=)=)SBWFpHfFJ(Y)
!:*F5FP)6+2F_4C<4VFL5FP)6@FMSBX
D(F8_DZVFL<‹4;6H]58I<`(FP)6'H^;6
H]8_64;6‹P'^'HfF=)=HfFJ(`(8IFP)6mH^
;6H]JzJ=‹=4FWF58'u')6J)FP)6'@=C<5+
bH^4;6J)8_K(;6H]FP)6@=S68
C<HZ@P'JQJ86>45=HOH^DrjJR'q<B
(<B5HZUF<=)6J)B5SM'<()K(mQ8
H^FP)6XH_'TL'4)6R'PH^h(Dd;uWF(
RHU=>J)8_'fD(FiQP>5c6FP)6RH]5HZ8_
DZ<=)6(Dd;u86FP)6;6DFR5H+@=VFP)68=c
2.3.1 Khái niệm về độ phức tạp tính toán
%)8_FP)6yJ<Se¢hT+HfF=)@=6}J)¢i_
'TL'4)6`(FP)6yH^bF@=8_=8DZ£
y
hiD())8I
DZ5£
y
hi@=DZM5(>DZ'u')6DCR'ZH(8=fHbBJQ
4)6`(8QJ6V@F=)+H_=•(+FP)6y+H_
'TL'K(H(T5BF+8_H(ThiD())8H`@(+
£yhi•hi5J)H+£
y
hi@=H_'TL'4)6Y)K(`(y
2.3.2 Hàm một phía và cửa sập một phía
*68H_'TL'4)6FR')(8_6B'P8HZ
RHU<48PJ)6RHU<)8P=()=M!c=>(>(HO+
V86>4Hr+ZH_4)6a=¤'u'48_E>H335
VFP)6+H_'TL'4)6a£hi•9
5Q(>
VV@F+H_=S)•.00056FP)6H+HOSM
b;Y8@=S5Q+HA?S).0/00'u'4gP>58_
'6'8P8O•L+b;Y8@=+H_<)8P()5BFHb8Of
'8_BJQ4)6+H_'TL'JR@!)H+5'6
=Drj6=8DZ+H_'TL'4)6JR@@=+el(BDTWF(
JHZ;E>6'6'U8P8O=()=M
=8DZDZ>•£h;iH^@==88_'4(h)Yƒ¥(>£F)i5BF
4FP};J(>@=¦‡§54^}>Q8@L;@=JR¦S+§5pHE>
64}¦‡§=¦S+§SM+6H]l(4;68=H^bF8_6
=5(+bbF•L‡@=4H^J)K(H(ThH(
imH^;Y8@=8_=88_'4(
CHNG 3: H MT M KHểA CễNG KHAI - RSA
3.1Gii thiu m u
3.1.1 S ra i ca mó húa cụng khai
J(HK`(S688P8OS)6MS(@=8_B<_+4R
<)sJ)@]Dr8P8O+F5G@UD'6Jb`(S)(
4)6HLK(+b;Y8KHb8SpHfF`(<)sH+@=D
;FRep`(ê!ÊôY=-:Y@@8(H^JQ<=>=)6D6F78
.|L_]WFZ(=78`(yơth)(Si
3.1.2 Mt s bi toỏn c bn
Bi toỏn phõn tớch s nguyờn (thnh tha s nguyờn t):
%)DZF>C5Q8R6DZF>Z`(+5(>@=Q8L
'E44G`( J)H+'
@=6DZF>Z}s'S6
(F=6
.
k=)6=>+@8PB6<=)6r4F>Z(>r4
^'DZ`(8_DZF>5VQ8=(<BHB(>5+K
S+CUFD)(<=)6r4F>Z=4^'DZ
J)@eF>B8P8O5<=)6=>KH^Drj6V@F@=
DZF>k@F85T6DZF>C+L4`((DZF>Z@=)
H+
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(.,
Bài toán RSA (Rivest-Shamir-Adleman) :
%)DZF>C@=4`((DZF>ZS((F58_DZF>
CYD())hY5-hii•.5=8_DZF>‹Q88_DZF>8D())
8
—.h8)'iP>5J)JK^'=>5<=)6s<P(+b
WFJ)K(H(TU<=)6'E4DZF>-sS65BF
SM<B6'E4=}(DZF>ZQ)HB(>5SM+6
=)H^<=)6s<P(J)K(H(TUFH+`Z
8U8Jw<=)6s<P(=<=)6'E4DZF>@=+
H_S+CHC(F
3.2 Hệ mật mã khóa công khai RSA
3.2.1 Một số bài toán cơ bản
CH3F`(8P8OS)6MS(H^)<p
•h5%5*5:5!ih.i
J)H+@=P'Se<Jz5%@=P'Se<8O5*@=P'6S)6*58IS)6
*38+('f*•h*™5*°°i5*°@=S)6MS(=)@P'8P8O5A
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(.‘
*°°@=S)6<48P=)8O8ISe<Jz; 5FP)6@P'
8O:)(Se8OCT>•:h*°5;i %5=Se8O>FP)6
8O!Dd)(@LSe<Jz;!h*°°5>i•!h*°°5:h*°5;ii•;
b;E>8_8P8OS)6MS(xy5(J8_DZF>
•'W@=4`((DZF>Z@58_DZYD())hY5-hii•.5=4
DZD())Y—.h8)-hii
-Is'*•h*™5*°°i5*°•h5Yi=*°°•Dd@=8_s'S)6`(8_8P8O
xyjb)8_K(8(
P>5DCH3F`(8P8OxyH^H]l(<p(D6h.i5J)H+
•%•€
5J)H+@=8_DZF>k@F85T@=4`((DZ
F>Z‹
*•‚*•h*™5*°°i *°•h5Yi= *°°• 5hY5-hii•.5Y—.h8)-
hii„‹
:=!H^;6H]<p:h*°5;i•;
/|•1‘
8)|0.9•0••/|20209yPH^>58ODdH^<Jz;
•/|20209
199.‘.
8)|0.9•0••29/1|•/
3.2.2 Thuật toán sinh khóa
bDrjH^8P8OS+(MS(xy5J8IK'L)
J)8Q8_s'S+(38S+(MS(5=S+(<48PL)J(S+(
MS(=S+(<48PY)6<D(F
ƒJ(9DZF>Z@'=WFh'£Wi
ƒ4•'¨Wƒ-hi•h'ƒ.i¨hWƒ.i
ƒ%8_DZYD()).ŠYŠ-hi=@=DZF>Zc(F
-hi
ƒ4D())¨Y—.h8)-hii.ŠŠ-hi
3.2.3 Thực hiện hệ mật mã RSA
Phương pháp mã hóa RSA:
•'¨W'=W@=(DZF>Z@v'E<
%)•%•€
=H]l(
*•‚hh5'5W5(5<i•'¨W‹'5W@=DZF>Z5(<—.h8)-hii„
8IS•h5'5W5(5<i∈*5đ]l(
Y
S
h;i•;
<
8)=
S
h>i•>
3.2.4 Tính bảo mật của hệ mật mã RSA
_()=`(xyH^BSB(JH_S+<=)6'E4J(
}(DZF>Z•'¨W9DZF>Z<48P@'5WBF(6DZ'5W
S).00VDZP''EQ+Dd+S)900VDZP''Eb'E
48_DZF>a@B6FP)6(R(>c
V86>4HLRm8R=JF78P>'E4DZ
F>=6}(DZF>Z'5Ww88jH4<vO>8P8Oxy@=
HUFS++b4)6qBFJ)WF6JQBSBxy(DZ
F>@
-_8LJF>U<)8PDrjDCH368P8OxyH^;Y8@=(
)=5BFFE`6HUFSC<8IK(8('H_@P'@(
6(8DZ5Y5`(J8Q5m+l(@=6}(DZ'5W`(
h•'Wi5=)+'5W4H^-hi•h'ƒ.ihWƒ.i5=}H+Q8H^Y5C
HZ‡=‹m4QP>8=D(FSHOQ8IK(8('
VF>HZ<48P66J]'5W55oM<ZS)6MS(h5Yi8=M
3.2.5 Chi phí và tốc độ thực hiện của thuật toán RSA
Chi phí: bFP)6xy'f@'Z'46
'u'4C<L)S)658O)658ONF6JQ8O)6=8O
CHC'46'u'4@F²}(8)F@YbH8<))
S)6<48PH^()=QKDZ8mMS(Y?CUFD)
DZ8m<48P!)H+'4K(Hb8O)6V@F?CUF
D)K(8O
Tốc độ:ZH_`(xy@=8_J)VHb8>BF`(xyD)68O
HZ;T5D)8O!:QxyP8C}.00HB.000@f5QP>xySM
H^cHb8O)6SZ@^V@F@8=KcHb8O)6VV
@F?
3.2.6 Một số phương pháp tấn công hệ mã RSA
a) Phương pháp sửdụng φ(n)
DrKRM<BH^6J]-hi*H+;6H]6J]'5WH^
H(U('CJQD(F
kg
h8)i
F>J(
(—9
kg
h8)'i
!)'†Y)H]@e¬YJ8(5(+
9
'ƒ.
—.h8)'i
!)h'±.i†kg5p</`(FP)65(+
(—.h8)'i
QBp<1
'†h(±.i='†5
BF•h(±.5iQ•'
4jDr•.2••0•0,11.µ'jFP)6'±.k•.,05X(;6
H]H^(• |9099.192p</`(FP)6=;6H]H^6J]
•/2‘•‘J)JK^'=>5'E4J(}(DZF>Z=M)
6J]./2‘•,o+6}(DZF>Z?S'E4J(}(DZF>Z
./2‘•,•9¶/¶./.¶.•/
!)H+5Sk•.•/DdH8<)HUFS./2‘•,|kg
J)FP)6'•.+k•.'u'4@m>}(8)F@)58I'u'HA?ZH(
9@)
9
k'u'E8)F@)DrjFP)6<Q'C=E4"%
!I7C !F>GE
bF@FP)6)*-eF>B8P8O=8_DZTj J(9/
DrjFP)6:F@Y+H_'TL'Žhh@)i
/
iP>5H_'TL'`(FP
;
9
—.h8)i⇔;
9
—.h8)'i∧;
9
—.h8)Wi
(+
;
9
—.h8)i⇔;
9
•¸.h8)'i∧;
9
•¸.h8)Wi
rj@eF>BDZJF)(5X(+b;6H]H^<Z7<P
(`(.8)F@)
BFH^¥@=<_DZ`('(>WQp<9`(FP)65X(+
b'E4H^J(}(DZF>Z(>BF¥F>Zc(F5X
(4¥
J
5¥
9J
5¥
1J
5)HBS3LD())
¥
J¨9³
—.h8)i
!)(<±.•9
D
JJ@v
4•¥
J
8)
If —.h8)ithen
%R8TFP)6hR<Li
:£
While Љ.h8)i)
0
•
•
9
8)
if
0
—ƒ.h8)ithen
%R8TFP)6hR<Li
Else
4;•h
0
….5i
%R8TFP)6h=M;•W(>;•'i
End if
End While
d) Bẻ khóa dựa trên lặp phép mã
(mXeJw=8@P'8O£h;i•;
Y
8)@=8_'u')6]JP'€
*
h;i•;
Y
8)5BFY
*
h;i•;+6S65x@=SMYRFH^BF<8O
`(x cũng chính là x-sfFP>5<RSˆ8P8Oxy=)m+V
<JzSMYRFH^5H+@=V<Jz;•ƒ.505.8)hQDZ8mY@FM
@FM@=DZ@viK(T8H^JwBF•'W5QDZ6<Jz; €
SMYRFH^@=<wh.…hYƒ.5'ƒ.iih.…hYƒ.5Wƒ.iiQY±.5'ƒ.5Wƒ.
@=6DZn5DZH+4R@=‘5)H+8Ixy+4R‘<JzSMY
RFH^F>5K5=)H+'=W5HUFJR@5¤@6<Jz
SMYRFH^+F@=<uSMH6Sb5=)H+S7s'6<
JzSMYRFH^SML)8_F>CH6Sb=)HZc
68P8Oxy
f) Vấn đề số nguyên tố
b<)H8()=)Z8O+(xy5DZF>•'W'H`@
HbSMb‡=B='E4J(}(DZF>ZL56
FP)6'E4}(DZF>ZHO+bWF>BH^6DZF>
+J./0VDZhP''Eib()=5DZF>Z'=Wf'H`@54
jJ.00VDZRHUHsJ(pHE>@=WF>B<=)6@=8B=)HbSb8
J(8_6(+=4;68_DZF>C@=DZF>Z(>
^'DZ¯
Y)H]l(58_DZF>C@=DZF>ZS=oSo(
B).=hpHE>o;u6DZF>Ci}H+DF>J(5@=DZF>ZS
=oSSM+DZC=)F_H)L¹9º»P>5(+@=
DZF>Z¼¹955»5h—0h8)ii
Sb8J(8_DZF>C@=DZF>ZY)'C'6'JDd
H(J(SBWF)=)=4;6F>5K(;r@e`(FP)6Jz