TRAN DINHLONG _ Trang 3 LOI CAM DOAN Tôi xin khăng định tat cả các kết quả được trình bày trong luận văn là kết quả nghiên cứu của riêng tôi đưới sự hướng dẫn của TS.. Học viên Trang
Trang 1BỘ GIÁO DỤC VÀ ĐÀOTẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHÓ HÒ CHÍ MINH
Lê Thị Kim Nga
XÂY DỰNG HỆ MÃ RSA TRÊN VANH End(Z,, X Zn)
LUAN VAN THAC Si MAY TINH
Trang 2BQO GIAODUC VADAOTAO
TRUONG DAI HOC SU PHAM THANH PHO HO CHI MINH
Lé Thi Kim Nga
XAY DUNG HE MA RSA TREN VANH End(Z,, X Zn)
Chuyén nganh: Khoa hoc may tinh Ma so: 8480101
LUAN VAN THAC Si MAY TINH
NGUOI HUONG DAN KHOA HQC:
1 TS TRAN DINHLONG _
Trang 3LOI CAM DOAN
Tôi xin khăng định tat cả các kết quả được trình bày trong luận văn là kết quả nghiên cứu của riêng tôi đưới sự hướng dẫn của TS Trần Đình Long và PGS TS Nguyễn Đình Thúc Nếu có điều gì không trung thực, tôi xin chịu hoàn toàn trách nhiệm
Học viên
Trang 4LOI CAM ON
Đầu tiên em xin chân thành cảm ơn các thầy cô ở Phòng Sau đại học và Khoa
Công nghệ Thông tin, những người đã hết lòng hỗ trợ, hướng dẫn và giảng dạy em
trong suốt thời gian học Cao học tại trường
Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến thầy Trần Dinh Long va thay Nguyễn Đình Thúc đã tận tình hướng dẫn em trong suốt thời gian thực hiện luận văn này Nếu không có những lời hướng dẫn, dạy bảo và sự giúp đỡ của hai thầy thì em
rât khó có thê hoàn thành được luận văn
Em cũng xin gửi lời cám ơn đến gia đình, bạn bè những người luôn bên cạnh,
ủng hộ và giúp đỡ em trong quá trình học tập và làm việc Mặc dù đã cố găng, song
chắc chăn luận văn không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý thầy cô và các bạn
Trang 5MUC LUC
Trang phu bia Loi cam doan Loi cam on Muc luc Danh mục các kí hiệu, các từ viết tắt Danh mục các hình ảnh Danh mục các bảng biêu
MOA acess eee renee EE eR I
Chương 1 KIEN THUC CO SO oioi.ccccccccccccccccccscesescsvssessscsesseesscevsvesesesveecansveeeees 3 1:1; T1 18D Ta gttiqotGGWONIGGNGuG003gÁG90008/00888568488g00gg3x& +
L1, TRE PHAN BH Ei cedex nrc eens men oat san wena +
belies DE TINO DfĐHDTHTTouoevvagdiodadgtuieotbi bay S56096400403633800/2003)380/40042004 4
mon — 5
Luổ, “VRHH:Í KHE Ìn»eonscoiisorbsbbdiigiiiisg00501-62600046650006080i300655068600811000566432g08884Q500300.ud/g88400g0388 5 1.2.1 Định nghĩa của vành: .- - 5 2< 1111333321 33 vn ve 3 Lids TCA (HH EBÌ) sesoasoaesioskiesssehstaitiiaruiSti6icutiidkoidbioiI648/E041d0428958.8080xã8ã5tiRatididgkdtGSi0460813.6g8 6
l3, ViệỄh Hi/0Hš (QUGRISIE ETDD gang ng do bat 2iadá tt) li y8isoaieusaia 6
1.3 Đồng dư số hỌC ¿5s SE E E1 E212 1513217111 21E111117115 11111111 xe 7 LBA, DWC OGHE ẨỨ cssansasetunaplSu/010020078/G0200/BG4800036340S80080)0830582ASISAGGg8 7 1.3.1 Phần tử nghịch đảo của phép nhân đồng dư ¿5c 5 s55: 8 LA “That tear Ny Tita nan ssc sssssisecceracnanssassccsmcomarmacenacmeancnweneaeses 9 Chuong 2 TONG QUAN VE RSA u.c.ccccccccccscsscscsscsesscsesssscsssstsusscsussesucsesesetsecaen II 2.1 Hệ mã RSA gỐC St 3 21 111 1711111111111 1111511111 e 1 ce 12
Does “THA Tin ROA ween rece dGG0AS00 SG lạng agiasgaewae 12
Trang 62.2.2 Khoa bi mt 06 $6 mii nho .eecccecccceccscecesecscscecscecsecescececececscarscscaceceesevees 13 3.5 3, Kifn:eb0ng Khai gỗ số tri HHỔ con ssseweeoessoovanS0403393800003563896648:8.8G0 13
2.2.4 Tân công thực thi .- 2 ¿s5 E£St£EE+ES£E£EeEkeEketkerkrrsrrrrrerrver 14
503, 'TỔn:nững bằNG LIỀN xeuuuesesrenevrtrtdikeotibtrrikutatVAta4i8u002006G6058150010g601601060/ i)
733 MOCO Wie ERE CS RSA ccsncessccrescsucczssnsroseoncotnseonrsnensncenseoeeeaneraremaionasoaconness 16
23.1 KSA Wen van thong Gat Ca he wiscsicssnsccsmeccessnonnnenconcnanervnanennexcenssiens 16 2.3.2 RSA trên vành thương các số nguyên Gauss 2-5-2 sex: 17 2.3.3 RSA trên nhóm nhân các ma trận khả nghịch - 5< «<<: 18
235A: RSA Wen nhỏm đườn§ c0núg 6l visoissasasseasesasaibiasiisdserasssoee 19
2.3.5 RSA trên vành Bergmann << Ă s12 311 ng ng 20
31:6; Thận ôi:võ cấp biên KHếunneannueeeonnneinndibnsiainuliditigtidii0A30200450117886a 036 21
Chương 3 XÂY DỰNG HỆ MÃ RSA TRÊN VÀNH End(7„ x Z„m) 23
3.1; (Giới tiiệu vê vành EnillEn M lu] guattopDidgtSBG0GA13844000838:03.ã0s8đ 24 3.1.1 Đặc điểm của vành End(Z; X Zpm ) -cccccStieeeieerieerrie 24 3.1.2 Phần tử khả nghịch trong End(Z„ X Zipm ) . cc-e-cccccccee 25
3.2 Xây dựng hệ mã RSA trên vành End(2ạ X am) .cằ-S<cSSce2 28
S.2.1, EOS VHH ND cu 3Š s5 đổ Ï uconneebiandtdidtiiiktiiititl4i0i440060000L6156068ố0/866 28 3.2.2 Xây dựng hệ mã RSA trên vành End(Za X 7 ⁄qm) 33
lu, (Giá AEVÑ/GũNHH: H18 NỆ THỗ:u.áoscoassioraioilvt8020155042k0811085966880066g855800/66s56/488668649uã88 3a
BSA]; CALE HS Ma os siiscics ce crc 35
Ai Tiếu SPREE I Ti xexengnngunnntrorgaYiPGA3/00000010000000000001800000901018007900001001240/60000000088000) 4I Chuữ0nø 4, BOT DUAN cncuunmannanumnmemmamnmananaumecamennuss 44
4.1 Két qua dat duc cecccceccccsscsessesessesessesesscsnsscsvssesussesussesessesscscsnssesecsesesseeeeeee 44
lub ,EUETHĐNHHEĐIETGIuauessvrosothubotitikttligSGG0i004303030100006300000000/0048680601464.0210300050601036108/ 44
Trang 7, fr ˆ , ` oA “ Danh mục các kí hiệu, các từ viet tat Kí hiệu Ý nghĩa
CRT Định lý phần dư Trung hoa (Chinese Remainder Theorem)
gcd Ước chung lớn nhất (Greatest Common Divisor)
lcm Bội chung nhỏ nhất (Least Common Multiple)
Trang 8Hinh 3.1 Hinh 3.2 Hinh 3.3 Hinh 3.4 Hinh 3.5 Hinh 3.6 Hinh 3.7 Hinh 3.8 Hinh 3.9
Danh muc cac hinh anh
Giao diện tổng quan của hệ mã - 2 + 2s 2S Sz+E££zzE££z+Eczxzzzzxd 36
CGH@rnrnhmrginh: KHI uxeesasasesoeindbitnoidiudnikiidg0akssioiS468088664144404480051040A14Eh 36
Thông báu khí nhập giá trị Thì không hợp le seveseseccccsccncescessenscssascesessecass 37 Thông báo nhập nội dung mã hóa << «6555 s2 38 KHE HH THẾ H~_ uuenaeneuerrsebtiongiEitetoiiaxitiUtt0gt309%01911/0N0000N0102900109000001 0500001.000% 38 Chức tilng MS hóa HHÌG VĂN DẪĂ-cecccccsiiiniodavoisiirkdilseoAaG61002500166 4606066605380 39
Thống báo nHấp ñøi duñg Sia MF cissccsccvcwispnarnsspniswsepeneciemsianveesvaees 40
Trang 9Danh muc cac bang biéu
Trang 10MO DAU
Hệ mã RSA là một trong số những hệ mã công khai được sử dụng phổ biến
nhất hiện nay Hệ mã được giới thiệu vào 1978 bởi ba tác giả là Ron Rivest, Adi
Shamir va Len Adleman Khi nghiên cứu về hệ ma RSA, trén thé giới có hai xu
hướng, đó là: phát triên các biến thê của RSA và thám mã RSA
Sự phát triển các biến thể của RSA có thê chia làm hai hướng Hướng thứ nhất tập trung vào hệ mã RSA góc nhưng cải tiễn các thuật toán mã hóa và giải mã nhằm giảm độ phức tạp tính toán hoặc xây dựng RSA trên vành Z„ với n có dạng phức tạp hơn thay vì là tích của hai số nguyên tô phân biệt Trong hướng thứ hai, các biến thể của RSA được xây dựng trên các cấu trúc đại số phức tạp hơn Một số biên thể của RSA được xây dựng theo hướng thứ hai như sau:
e RSA trên vành thương các đa thức [I]
e© RSA trên vành thương các số nguyên Gauss [1]
e RSA trên nhóm nhân các ma trận [2|
e RSA trén nhom duong cong elliptic [3]
e RSA trén vanh Bergman [4]
Có thể thấy, một số bién thé cua RSA được xây dựng trên các câu trúc khác nhau, đó thường là nhóm hoặc vành thương của vành Euclide Các phép toán trên các cầu trúc này phải rõ ràng đề có thê lập trình trên máy tính Một cách đơn giản
nhất đề tạo ra một cấu trúc là xét vành các tự đồng cấu End(6) với G là nhóm đã
biết
Một ví dụ điển hình của vành các tự đồng cấu Enđ(6@) là vành Bergman
End(Z„ x 7„›) với p là số nguyên tố Vành Bergman được giới thiệu trong [5]
vào năm 1974 nhưng do các phép toán trên vành này là khó năm bắt nên hầu như
Trang 11cộng sự mới thiết lập được đăng cầu giữa vành End(Z„ x Z„2) với vành ma trận
b d
[6] Va dén nam 2013, các tác gia trong [4] đã định nghĩa E£, = cấp 2 # 5: Ep = (oc ):a,b,c,d€7,0 < a,b,c <p,0 < d <p°] trong
RSA trên vành này (với p, q là hai số nguyên tổ phân biệt và n = pq)
Một mo rong cua vanh Bergman la vanh End (Z, x Zym) đã được giới thiệu
trong [7] Các phần tử của vành này có thê được biểu diễn dưới dạng các ma trận
a b
m~1e d
phép toán trên vành này là hoàn toàn năm bắt được Vì thế, mục đích của đề tài là
2X2 như sau: Ep pm = l |a,b,c € Zụ„ d € Zpmt Mat khac, cac
đi xây dựng vành End(Z„ x Zm) (với p, q la hai s6 nguyén té phan biét va n = pq) va xay dung hé ma RSA trén vanh End(Z,, X Z,m) nay
“* Muc dich nghién ctru
Mục đích nghiên cứu của luận văn là đi tìm hiểu và xây dựng hệ mã RSA
trên vanh End(Z,, X Z,m)
s* Nhiệm vụ nghiên cứu
e_ Tìm hiểu về hệ mã RSA gốc và các cách tân cơng
¢ Cac bién thé cua RSA
e Tìm hiểu vành End(Z„ x Zym)
e Xay dung vanh End(Z, X Z,m) va hé ma RSA trén vanh dé
s% Giới hạn đề tài
e_ Xây dựng minh họa một hệ mã RSA trên cầu trúc đã xây dựng e©_ So sánh ưu, khuyết điểm của hệ mã đã xây dựng với hệ mã RSA gốc
s* Đóng góp của luận văn
Trang 12Chuong 1 KIÊN THỨC CƠ SỞ
Trang 13Trong chương này chúng tôi sẽ trình bày lại một số kiến thức cơ sở về nhóm, vành, phép đồng dư và thuật toán lũy thừa nhanh làm tiền đề đề trình bày những nội dung cho các chương còn lại
1.1 Nhóm (group)
1.1.1 Phép tốn hai ngơi
Cho 4 là một tập hợp khác rỗng Phép tốn hai ngơi xác định trên tập hợp 4 là một ánh xạ từ 4Z vào A
Ta kí hiệu ánh xạ là °, khi đó, ảnh của (x, y) € A2 có thể được kí hiệu là x°y Tập hợp A với phép toán hai ngôi như vậy sẽ được gọi là tập có trang bị phép tốn hai ngơi và kí hiệu là (4, °) Phép toán ° có thề thỏa mãn một vài tính chất nào đó,
ví dụ như:
e Tinh chat giao hoan: V x,y € A,x°y = y°x
e Tinh chat két hop: V x,y,z € A,x°(y°z) = (x°y)°z e Co phan tir don vi: de € A, V x € A,e°x = x°e =x
Những ví dụ dễ thấy nhất về phép tốn hai ngơi chính là phép cộng và phép
nhân trên các tập Ñ, Z, Q,IR, CC Phép trừ cũng là phép tốn hai ngơi trên các tập Z, Q, R, C nhung lại không là phép tốn hai ngơi trên tập Ñ
1.1.2 Nứa nhóm (monoid)
Cho (M,*) là một tập hợp được trang bị phép tốn hai ngơi * Nếu phép toán * thỏa mãn tính chất kết hợp: x * (y *Z) = (x *y) *zZ,Vx,y,z € M thì khi đó (M,*) được gọi là nửa nhóm
Ví dụ: Với phép cộng, tập hợp Ñ chính là một nửa nhóm
Trang 141.1.3 Nhóm Tập hợp (Œ,*) được trang bị phép tốn hai ngơi * được gọi là nhóm khi thỏa mãn các tính chất sau: e Tinh két hop: x * (y*z) = (x*y)*z,Yx,y,z €Œ # Có phần tử đơn vị e EG:e*x=x*e=x,VxEG se Khả nghịch: Vx € ŒG,3x/ € G thỏa mãn: x *xÝ = xÍ *x=e
Trường hợp, phép toán + trên nhóm G co tinh giao hoán thì ta nói ứ là nhóm giao hoán Chăng hạn, tập hợp các số nguyên Z với phép cộng chính là một nhóm giao hoán
Trong nhóm (6,*), nếu có một tập con H là một nhóm với phép toán * của Œ thì H được gọi là nhóm con của Œ
Trong nhóm Œ, số lượng phần tử có trong nhóm được gọi là cấp của nhóm và được kí hiệu là |Œ| Còn cấp của phần tử a trong nhóm Œ được định nghĩa là
k = e Nếu không tôn tại số k như vậy ta một số tự nhiên k nhỏ nhất thỏa mãn a
noi a cé cap v6 han
Định lý 1.1 (Định lý Lagrange trong lý thuyết nhóm) Nếu H là nhóm con của nhóm hữu hạn Œ thì số phần tử của Œ chia hết cho số phần tử của H
Từ định lý Lagrange trong lý thuyết nhóm có thể suy ra một số hệ quả Sau:
Hệ quả 1.1 Cấp của mỗi phần tử trong một nhóm hữu hạn là ước của cấp của nhóm đó Hệ quả 1.2 Cho G là một nhóm hữu hạn cấp n và a là một phần tử của G Khi đó a” = e 1.2 Vành (Ring) 1.2.1 Định nghĩa của vành
Tập hợp (R, +, ) có trang bị đồng thời hai phép toán hai ngôi là + (cộng) và
Trang 15e_ Cấu trúc (R,+) là một nhóm giao hoán e_ Phép toán nhân của R có tính chất kết hợp
e_ Phép nhân có tính chất phân phối hai bên đối với phép cộng, nghĩa là: Vx.y,z ER, x(yt+z) =xy + xz
Vx,y,z € R,(y + Z)x = yx + Zx
Một ví dụ điền hình nhất của vành chính là tập hợp các số nguyên Z với phép
cộng và phép nhân
Trong vành (R, +, ) nêu có một tập hợp 4 là một vành với hai phép toán + và trên R thì A được gọi là vành con của vành R
1.2.2 Idéan (Ideal)
Cho R là một vành Mot idéan J 1a mét vanh con khác rỗng của R thỏa mãn:
e Nếua,b€lIthìa+b€l
se Nếua€lvàr € Rthì ar€lvàra €i
Có thê thấy răng iđêan là một tập con của R đóng với phép cộng và phép nhân Không chỉ tích của hai phần tử thuộc ! nằm trong !, mà tích của một phần tử thuộc / với phân tử r bất kì cũng thuộc J
Đề dễ hình dung hơn, ta tìm hiểu ví dụ sau:
Với n là một số nguyên, thì tập nZ = {na: a € Z} là một iđêan của Z Do xét điều kiện thứ nhất, nếu x,y € w⁄Z thì 3a, b:x = na,y = nb Nên x + y = na + nb =n(a+b) € n2 Thứ hai, với phép nhân, cho x = na € 7 và r € Z thì Tx = xr =T(na) = n(ra) €nZ Nếu n>0 thì nZ có dạng la nZ= {0, n, 2n, ., —n, —2m, }
1.2.3 Vành thương (quofient ring)
Cho vành R và I là một iđêan của R Néu a € R thi lop a +1 được định
nghĩa là a + I = {a + x: x € ])
Trang 160 + 5Z = {0,5,10, ,—5, —10, }, 1+5#= [4,614 665-4: —9, 14 cae}, 2 + 5Z = {2,7,12, ,-3, -8, -13, }, 3+5Z = (3,8,13, ,-2,-7,-12, } 4+ 5Z = {4,9,14, ,—1,—6,—11, } ,
Cho ï là một idéan cua vanh R Tap R// là tập hợp các lớp của I, có dạng R/I = {a +1: a € R} được gọi là vành thương của R theo /
Trên vành thương, hai phép toán cộng và nhân được định nghĩa như sau: se (a+il)+(b+lI)=(a+b)+i se (a+l).(b+l)= (ab) +] Ví dụ: Với 0 là số nguyên dương, ta có n0Z là iđêan của Z Vành thương Z/nzZ = {0 + rrZ, 1 + n7, ,Tt — 1 + n2} 1.3 Đồng dư số học 1.3.1 Phép đồng dư
Cho a là số nguyên và ? là số nguyên dương Khi đó, kí hiệu a mod n biêu diễn phần dư của a chia cho m
Nếu hai số a, b có cùng số dư trong phép chia cho n thi ta nói rằng a và b là đồng dư trong phép chia cho ? và kí hiệu là a = b (mod n) Dễ thây rằng, a và b là đồng dư trong phép chia cho 1 khi và chỉ khi tồn tại số k sao cho a = b + kn
hay ta có thê biểu điễn a = b + nZ Như vậy có thê thấy răng lúc đó hai số a và
b cùng năm trong một lớp của vành thương 2/17
Tập hợp tất cả các số nguyên có cùng số dư trong phép a mod n được gọi là lớp đồng dư Z
Ví dụ các lớp đồng dư trong phép mod 5 là:
Trang 172 ={2,7,12, ,—3, —8, —13, } = 2 + 57, 3 = {3,8,13, ,—2,—7,—12, } = 3 + 57, 4 = {4,9,14, ,—1,—6,—11, } = 4 + 5Z
Tập các lớp đồng dư khi chia một số nguyên bất kì cho mn được kí hiệu là Z„ = {0,1, ,n — 1} Như vậy, ta có thể thấy rằng vành thương Z/nZ chính là
vành các lớp đồng dư Z⁄„
1.3.1 Phần tử nghịch đảo của phép nhân đồng dư
Nếu hai số nguyên ø và m nguyên tố cùng nhau, thì tồn tại số nguyên b sao cho ab = 1 mod n Khi đó, ta gọi b là phần tử nghịch đảo của a trong phép đồng
dư cho Ø và kí hiệu là a~1 Giá trị của a~1 sẽ được tính dựa vào thuật toán Euclide mở rộng được trình bày như bên dưới
Trang 18temp_a = temp_n; temp_n =r; } If (temp_a # 1) then Return “a khong có phần tử nghịch đảo”; else { If x<0 then x = x+n; Return x; }
1.4 Thuật toán lũy thừa nhanh
Thông thường để tính nhanh lũy thừa tự nhiên của một số, người ta sẽ sử dụng thuật toán bình phương và nhân
Quá trình thực hiện của thuật toán được dựa trên công thức đệ quy sau:
® Với = 0thìx” =1
® Với 7 > 0 ta có công thức
a (x*), vớin= 2k
_ |xxŒ@*3?, vớin=2k+1
Dé thay rang, phép tinh x” duoc dua về thành các phép bình phương và phép nhân, do đó mà thuật toản có tên gọi là thuật toán bình phương và nhân
Trang 1910 Else xn = Square_Multi(x, n div 2); if (n mod 2 == QO) then return xn*xn; else return x*xn*xn; }
Ta thấy rằng số mũ ? của thuật toán giảm dần theo lũy thừa của 2 nên độ phức tạp của thuật toán là O(log n)
Thuật toán lũy thừa và nhân thường được sử dụng nhiều trong các bài toán
mã hóa và giải mã các hệ mã hóa, đặc biệt là hệ mã hóa công khai Tuy nhiên
trong các hệ mã, kết quả tính lũy thừa còn phải được tính đồng dư cho một giá trị
m nên thuật toán sẽ thay đồi như sau
Thuật toán bình phương và nhân tính x” mod n Input: x,n với > 0,?n > 2 Output: x" mod m Thuat giai Funtion Square_Multi_Modulo(int x, int n, int m) { If (n = 0) then return 1; Else { xn = Square_Multi_Modulo (x, n div 2, m);
if (n mod 2 == 0) then return (xn*xn) mod m;
Trang 20II
Chuong 2 TONG QUAN VERSA
Nội dung chương này gồm:
1 Giới thiệu sơ lược hệ mã RSA gốc 2 Trình bày một số cách thám ma RSA Phân tích số nguyên lớn Khóa bí mật có số mũ nhỏ Khóa công khai có số mũ nhỏ Tấn công thực thi
Tân công băng dàn
3 Giới thiệu sơ lược các biến thé cia RSA RSA trên vành thương các đa thức
RSA trên vành thương các số nguyên Gauss
RSA trên nhóm nhân các ma trận
Trang 2112
Trong chương này chúng tôi trình bày sơ lược lại hệ mã RSA trên vành số nguyên hay còn gọi là hệ mã RSA gốc Sau đó, chúng tôi trình bày một số phương pháp tấn công vào hệ mã RSA gốc Phần cuối của chương này, chúng tôi trình
bày tóm tắt lại một số biến thê của RSA được xây dựng trên các cấu trúc đại số
khác với vành sô nguyên
2.1 Hệ mã RSA góc
Hệ mã RSA là một hệ mã công khai đã được sử dụng rộng rãi dé đảm bảo tính riêng tư và tính xác thực của dữ liệu số Hệ mã có hai khóa: khóa công khai
và khóa bí mật Khóa công khai được công bố rộng rãi cho mọi người và được
dùng đề mã hóa Khóa bí mật được g1ữ lại và sử dụng cho việc giải mã và nguyên tắc, mọi thông tin được mã hóa bằng khóa công khai chỉ có thê được giải mã bằng khóa bí mật
Quá trình thực hiện của hệ mã RSA trong [8] có thể được mô tả ngăn gọn
như sau: Cho p và q là 2 số nguyên tô phân biệt Đặt n = pq @(n) = (p — 1)(q — 1) và chọn e, đ là hai số nguyên sao cho eđ = 1(mod ¢(n)) Khi
°đ =m (mod n) do, voi moi m € Z,,, chung ta co m
Như vậy, một bản rõ (nội dung trước mã hóa) ?m € Z„ được mã hóa bang
cách tính c = mÝ (mod n) Khi đó, c được gọi là bản mã (nội dung đã được mã hóa), và được giải mã bằng cách tính cđ = mm (mod nì)
2.2 Tham ma RSA
2.2.1 Phân tích số nguyên lớn
Một cách tấn công vào RSA là tìm cách phân tích m thành thừa số nguyên
tô Khi đã phân tích được n=pq kẻ tấn công có thể tính được y(n) =
(p — 1)(q — 1) và sau đó tìm khoá bí mật đ = e~†(nod @(n)) Trong [9], các
Trang 2213
toán nhanh nhất đề phân tích một số nguyên n 1a thuat toan General Number Field
Sieve được trình bay trong [10], có độ phức tạp là exp((:| + 0(1))(n n)s (In In n)s)
2.2.2 Khóa bí mật có số mũ nhỏ
Khi khóa bí mật đ có giá trị càng lớn thì thời gian mã hóa sẽ càng tăng Do đó, người dùng có thê muốn sử dụng một giá trị đ nhỏ Tuy nhiên, trong [11]
4 ; 1 ‘
Wiener da cho thay rang co thê phục hôi d trong trường hợp d < S11 Một kêt quả tốt hơn đã được xem xét bởi Boneh và Durfee trong [12] cho trường hợp đ <
n0-2'2 Như vậy, giá trị đ nhỏ có thể dẫn đến hệ mã bị phá vỡ
, ˆ s , A ~ >
2.2.3 Khóa công khai có sô mũ nhỏ
Khi muôn giảm thời gian mã hóa, người dùng có thê muôn sử dụng khóa công khai e nhỏ Tuy nhiên, điêu đó dân đên hệ mã có thê bị tân công Dưới đây
là một sô cách tân công vào hệ mã
2.2.3.1 Tấn công khi các bản rõ có liên quan
Nếu các bản rõ có một mối liên quan theo một đa thức nhất định và biết được
bản mã của chúng, các tác giả trong [13] đã chỉ ra rằng có thể khôi phục lại các
bản rõ khi khóa công khai có số mũ thấp Con trong [14], Boneh da dua ra va
chứng minh được bồ đề sau
Bồ đề 2.1 (Bồ đề 7 trong [I4]) Cho e = 3 là khóa công khai của hệ mã RSA
Cho ?mị # mạ € Z7 là hai bản rõ có liên quan theo hệ thức ?n¡ = ƒ(m;) mod n
trong do f = ax + b € Z„ với b # 0 Khi đó nếu biết ƒ, khóa công khai e, c¡ =
(mị)° mod n và cạ = (mạ)° mod nn thì có thê tìm được ?mị, ?nạ với thời gian đa thức theo log(n)
Như vậy, có thê thấy rõ răng nếu các bản rõ có liên quan với nhau, đồng thời
Trang 2314
2.2.3.2 Tấn công từ phần thông tin bị lộ của khóa công khai nhỏ
Một điều đáng ngạc nhiên là khi khóa công khai e có số mũ thấp thì với một phần nhỏ số bit của khóa bí mật đ, kẻ tấn công có thể khôi phục lại được toàn bộ
số bit của đ Điêu đó đã được các tác giả trong [15] giới thiệu như sau
Định lý 2.1 (Định lý 1 trong [15]) Cho M = Øøq là mô-đun có ? bit của hệ mã RSA Cho 1 < e,đ < ø(N) sao cho ed = 1mod @(N) Tơn tại một thuật tốn có thể tính toán lại được toàn bộ số bit của đ theo thời gian đa thức của ?t và
e khi biết trước ít nhất ~ bit có ý nghĩa nhỏ nhất của d
2.2.4 Tan công thực thi
2.2.4.1 Tan công dựa trên việc đo thời gian
Năm 1996, Kocher trong [16] đã giới thiệu một cách tan công mới vào RSA
không dựa vào mặt toán học của thuật toán, mà bằng cách theo dõi thời gian máy tính giải mã Người phá mã sẽ tìm cách đo thời gian giải mã dùng thuật toán bình phương liên tiếp Trong thuật toán bình phương liên tiếp, nếu một bit của đ là | thì xảy ra hai phép đồng dư, nếu bit đó là 0 thì chỉ có một phép đồng dư, do đó thời gian thực hiện giải mã là khác nhau Tiếp theo dùng một số phép thử chọn văn bản, người phá mã có thê biết được các bit của đ là 0 hay 1 và từ đó biết được d
2.2.4.2 Tắn công các lỗi ngẫu nhiên
Việc thực hiện giải mã và tạo chữ ký thường sử dụng định lý Phần dư Trung hoa (CRT) đề tăng tốc độ Có nghĩa là, thay vì thực hiện phép tính đồng dư cho
n, người dùng lại thực hiện phép tính đồng dư cho p và q, sau đó kết hợp các kết quả bằng CRT Tuy nhiên, trong [17] cho thấy rằng có một mối nguy hiểm khi sử
Trang 2415 2.2.5 Tan công bằng dàn
2.2.5.1 Giới thiệu sơ lược về đàn
Dàn (lattice) là một nhóm con rời rạc của ÏR”, Một cách tương đương, cho
mm các veedơ độc lập tuyến tính D,,b5, ,b, €R", tập hợp L(b,b;, , Pm) = (X12, a; b;|a; € Z} 1a mot dan Cac vecto b; duge gọi là vectơ cơ sở của L và ® = {bq, bạ, , b„ } được gọi là cơ sở dàn của L Do đó, dàn được tạo ra bởi cơ sở 2 là tập hợp tất cả các tô hợp tuyến tính nguyên của các vectơ cơ
sở trong 2 Định thức của dàn, được kí hiệu bằng vol(L) la can bac hai cua dinh thire det, <; j<m(bj;, b;), là độc lập với sự lựa chọn cụ thê của cơ sở
2.2.5.2 Cơ sớ thu gọn của dàn
Một số bài toán trên dàn như bài toán tìm vectơ ngắn nhất, bài toán tìm vector gần nhất có thê đễ dàng được giải quyết khi cơ sở trực giao của dàn được xác định Tuy nhiên, một dàn có thê không có cơ sở trực giao Vì thế, tìm kiếm cơ sở “gân trực giao” hoặc “cơ sở tối ưu” là một vấn đề đã nhận được sự quan tâm của nhiều tác giả Hai thuật tốn nơi tiếng đề tìm kiếm cơ sở như vậy là thuật toán Gauss và LLL, chúng tôi gọi những thuật toán này là thuật toán tìm cơ sở thu gọn của dàn Dưới đây, chúng tôi sẽ trình bày lại thuật toán Gauss
Trang 2516 Vz = V2 - lm + 0.5|v, Until ||; || < ||;|| 1+ = UỊ,Ú¿ = U¿ 2.2.5.3 Cách tấn công bằng dàn
Dàn là một công cụ hữu hiệu đề tấn công vào hệ mã RSA Có thê trình bày lại cách tấn công này vào hệ mã RSA trong trường hợp d < fs theo [18] nhu sau
Gia sir p,q 1a can bang, khi d6 ta c6 p = O(Vn),q = O(Vn) va y(n) =
(p-1)(q-1) =n-p—qt1=n+O(vn)
Do ed = 1 mod ø(n) nên tôn tai k = O(d) thỏa mãn ed = 1 + kø(n) =
1+k (n + 0(vn))
Dat | = ed — kn thil = O(dyn)
Xét dan hai chiéu L ¢ R? co hai vecto co sé 1a v, = (e, Vn) va v2 = (n,0) Khi đó, L chứa vecto t = dv, — kv, = (l,dyYn) Vi ||t|| = Vl2+nd2 = dVn
1 3 , , , =
va (vol(L))2 = né nén t c6 thé la vecto ngan nhat của L khi dn < m2 hay d <
1 ` : —
n+ Nhu vay, bang cach ap dung thuat toan Gauss tim co so thu gon cua dan cho cơ sở khởi đâu 14, vz ta tim ra t va ttr d6 khéi phuc duoc d
2.3 Một số biến thé cia RSA
Ở phần này, chúng tôi sẽ nêu sơ lược một số biến thề của RSA Mỗi biến thể
sẽ được xây dựng trên cấu trúc đại số riêng biệt, nhưng đều hướng đến mục tiêu là xây dựng phương trình mã hóa m°# = m
2.3.1 RSA trên vành thương các đa thức
Biến thê RSA trên vành thương các đa thức được giới thiệu trong [1], có thé
Trang 2617
bậc tương ứng là r, s Vanh thuong Z,[x]/<g(x)> va Z,[x]/<h(x)> cd số phần tử tương ứng là p” và pŠ Vì mọi phần tử khác 0 trong vành thương Zp[x]/<g(x)> 2Zp|x]/<h(x)> đều khả nghịch nên số các phần tử khả nghịch tương ứng la p” — 1,pŠ — 1 Vành Z„[x]/<ƒ{x)> có bậc p””Š là một đăng câu với các vành thương
Zy[x]/<g(x)> và Zạ[x]/<h(x)> và có số phần tử khả nghịch la L=
(p" — 1)(pŠ — 1) Tiếp theo, chon e,d 1a hai số nguyên thỏa mãn ed =
1 (mod U) Khi đó, với mọi rm(x) € Z„[x]/< ƒ(z) > thì ta có hệ thức zn(x)°# =
m(x) mod f (x) dung nho áp dụng hệ quả của dinh ly Lagrange Nhu vay, chúng ta có thể mã hóa van ban m(x)€ Zp[x]/<ƒŒœ)> thành c(x) =
m°(x) mod ƒ(x) và sau đó giải mã c(x) đề tìm lại văn bản bằng cách tính
m(x) = c“(x) mod ƒ(z)
2.3.2 RSA trên vành thương các số nguyên Gauss
Cùng với biến thê RSA trên các vành thương đa thức, biên thể RSA trên vành
số nguyên Gauss cũng được giới thiệu trong [1]
Vành số nguyên Gauss Z{ï] là vành con của trường số phức €Œ Vành Z{¡] bao gồm các phần tử có dạng ø + bí, trong đó ø và b là các số nguyên và í =
V—1 Chuẩn trên Z[¡] được tính bởi ổ(a + bi) = a? + bŸ Các ước đơn vị của Z{ï] là 1,—1,i,—i Một phần tử ÿ € Z{[ï] là nguyên tổ khi và chỉ khi Ø là tích của
ước đơn vị với một trong các phần tử cú dng sau:
đ =l+i
â 7ø =qa+ bi và ï = a— bi, khi đó Tr = a? + b^ là số nguyên tố
thông thường có dạng 4k + 1
ep là số nguyên tô thông thường có dạng 4k + 3
Trang 2718
Z{i] va v(B) = 6(B) — 1 Néu Ø,y là hai số nguyên tố Gauss thì @(Øy) =
@(0)0!
Hệ mã RSA trên vành số nguyén Gauss trong [1] thực hiện như sau: Chọn
hai phần tử nguyên tố ngẫu nhiên Ø,y€ Z{i| Tính n = By va o(y) = @{8)œ(y) = (ö(Ø) - 1)(6(ÿ) — 1) Chọn các số e,đ thỏa ed = 1(mod ø())
Khi đó, phương trình mn°“ = m (mod ï) đúng với các giá trị m € đạ Do, nếu m
là phần tử khả nghịch thì áp dụng định lý Lagrange sẽ cho ta kết quả m°¢ =
m (mod n) Còn nếu ?n không là phần tử khả nghịch thì zn°# và ?m sẽ cùng thuộc ed = m (mod 7) Vi thé, vin ban m một lớp đồng dư số nguyên Gauss 7 nên ?n
sẽ được mã hóa thành c = m°(mod ?) và giá trị c sẽ được giải mã bằng cách tinh c =m (mod n)
2.3.3 RSA trên nhóm nhân các ma trận khả nghịch
Năm 1985, Varadharajan và Odoni đã giới thiệu biến thê RSA trên nhóm
nhân các ma trận khả nghịch trong [2], có thê trình bày lại như sau:
Giả sử p, q là hai số nguyên tố, n = pq và ! € Ñ” Kí hiệu M,(p), M,(q) và
Trang 2819
(2.3)
Chọn hai số nguyên e,d thoa man gcd (e, N,,) = 1 va ed = 1 (mod N,) Từ hệ quả 1.2 của định lý Lagrange trong lý thuyết nhóm ta có thể suy ra rằng mẦn = I„ Vm € Mị(n) trong đó lạ là ma trận đơn vị trong M;,(n) Từ đó mm“ = m với mọi n € M¡(n) Điều này cho phép chúng ta mã hóa mm thành c = ?m° và
giải mã bằng cách tính c# = m cho các văn bản mm € M,(n).Tuy nhiên, nếu ma trận bản rõ suy biến thì sẽ không thể thực hiện quá trình mã hóa Do đó, người gửi phải xác định ma trận bản rõ chắc chăn là không suy biến Nhưng với p, q là hai
sô nguyên tô càng lớn thì xác suât đê ma trận bản rõ không suy biên sẽ càng cao 2.3.4 RSA trên nhóm đường cong ellipftic
Biến thể RSA trên nhóm đường cong elliptic được Demytko trình bày trong
[3] vào năm 1999, có thê trình bày lại như sau:
Cho ø > 3 là một SỐ nguyên tố và đ, b là các số nguyên được chọn sao cho
4a3 + 27bˆ2 # 0 (mod p) Nhóm đường cong elliptic đồng dư p kí hiệu là E,,(a,b), la mot tap cua cac cap (x,y) € Z, x Z„ thỏa mãn phương trình yo = x3 + ax + b trên Z„„ cùng với một phần tử kí hiệu là œ Phép + trên E,,(a,b) cua hai điểm P(¡, y¡), Q(%a, y;) € Ep(a, b) cô két qua la R(x3,y3) được xác định nhu sau:
e NeuQ=othiP+Q=Q+P=P
Trang 2920 X3 = A* -—x,—-x2 e Cac truong hop con lai thi ¥3 = A(X — %4) — y\ — nếu X1 + X2 , XI-*2 trong đó Â = 3x,*+a 2Y1 nếu X1 = #X; Và # —Y;
Nhóm đường cong elliptic bù với nhóm E;(a, b) được kí hiệu là E„(a, b)
do 1a tap hgp cac cap (x, y) € Z, Xx Z,, thoa man phương trình yˆ=x”+ax+b
trên Z„, cùng với một phần tử cũng kí hiệu là œ; nhưng tọa độ y có dạng y =
uv0 với u,0 € Z, va v không phải là một bình phương trong Z, Phép toan + trên E„(a,b) được định nghĩa tương tự như phép + trên E,(a,b) Bậc của các
nhóm E„(a,b) và E,(a, b) được kí hiệu tương ứng là |E;(a, b)| và |Ep(a, b)|
các số này có thể tính được bằng các thuật toán thời gian đa thức
Trong hệ mã RSA trên nhóm đường cong elliptic, trước tiên ta chọn hai số nguyên tô phân biệt p, q và đặt › = pq Tiếp theo, ta chọn hai số a,b € Z thỏa
mãn gcd(4a3 + 27b?,n) = 1 Ki hiệu N, = |Ep(a, b)| Nạ = |Ep(a, b)| Mạ =
|E„(a, b)| Mạ = |E,(a,b)| va L = N,N2M,Mp
Chọn hai số nguyên e,d sao cho ed = 1 (mod L), hé thie (+24)(x, y) = (x,y) sẽ đúng với mọi x € Z„ và y = Vx3 + ax + b Điều này cho phép chúng ta tiền hành mã hóa và giải mã như trong hệ mã RSA gốc
2.3.5 RSA trên vành Bergman
Vành Bergman End(2y x Z„z) được giới thiệu trong [Š] vào năm 1974 là
Trang 3021 a b a b Nếu x = | : ‘| va =| 5 |, hi pc, dị pc, d; _[ Gita2)Qnodp) (b; + bz)(Qnod p) *FY= |p(e; + c;)(mod p?) (dị + d;)(mod p°)Ì (2-9) va
xy=[ (a,a,)(mod p) (a,b; + bạd;)(mod p) 6
sự p(c,az + d,c2)(mod p*) (pc¡b; + dịd;)(mod p?)Ï
Với p, q là hai số nguyên tô phân biệt, các tác giả trong [4] đã xây dựng nửa
nhóm E„ = {|4 2Ì:a,b,e,d € 7,0 < a,b,c < n,0 < d < nˆÌ và phép nhân
được định nghĩa như sau:
lí | 1 — (aa;)Œmod n) (a,bz + b,d,)(mod n) 1Ì 2 n(cy nc; HC; a,+d,c,)(modn*) (pc¡b; + d,d,)(mod nˆ) (2.7) ye ° a b ° ~ S A CA ` Với mọi M = | € E, thỏa mãn điêu kiện gcd(a,n) = 1 và nce nut+v
øcd(ø,n) = 1 thì phương trình M°# = M dung, trong do e,d 1a cac s6 nguyén thỏa eđ = 1 mod lem(p3(p — 1)”, q3(q — 1)ˆ)
2.3.6 Nhận xét về các biến thé
Dựa trên sự nghiên cứu về các biến thể của hệ mã RSA, các tác giả trong
[19] đã đưa ra được một sự so sánh các biến thê dựa trên việc phân tích thừa SỐ mô-đun n Giả sử độ dài văn ban mã hóa là 1024 bit Bảng so sánh các biến thé RSA như sau:
Bảng 2.1 Độ dài mô-đun và số các phép tính cúa các biến thể RSA
Đồ dài của | SỐ lượng ít nhất các
Trang 3122
RSA trên nhóm nhân các ma trận 256 12log, e
RSA trên nhóm duong cong elliptic 1024 5log, e
RSA trén vanh Bergman 256 12log,e
Dựa vào bảng so sánh, chúng ta có thê thấy rằng biến thể RSA trên nhóm
nhân các ma trận và RSA trên vành Bergman là hai biến thể có độ dài mô-đun ngắn nhất, mà số lượng các phép tính lại nhiều nhất Như vậy xét về độ an toàn
thì hai hệ mã này là thấp nhất so với các hệ mã còn lại trong bảng
Biến thê RSA trên nhóm đường cong elliptic là biến thê duy nhất có cùng độ đài mô-đun với RSA gốc là 1024 bit Tuy nhiên, biến thé nay lại có số lượng phép
tính nhiều hơn gấp 5 lần so với hệ mã RSA gốc Như vậy có thể thấy răng hệ mã
Trang 32an
Chuong3 XAY DUNG HE MA RSA TREN VANH
End(Z, X Zym) Nội dung chương này gồm:
I Giới thiệu về vành End(Z„ x Zpm)
Trang 3324
Như đã trình bày ở mục 2.3 của luận văn, hệ mã RSA đã có một số biến thể được xây dựng trên các cấu trúc đại số khác nhau và khác với vành Z„ Do đó, với mục đích đóng góp thêm một biến thê mới cho hệ mã RSA, chúng tôi trong chương này sẽ tim cach xay dung mot hé ma RSA trén vanh End(Z,, X Z,m) voi
m là tích của hai số nguyên tô phân biệt p và q 3.1 Giới thiệu về vành End(Z„ x 2m)
Năm 2016, các tác giả trong [7] đã giới thiệu kiến trúc của vành End(Z„ x Zym) Có thể nhận thấy rằng vành End(Z, x Zpm ) là một mở rộng cua vanh Bergman End(Z, x Z,2), hay co thê nói cách khác, vành Bergman
End(Z„ x Z„z) là một trường hợp đặc biệt của vành End(Z; X Zpm) với mm = 2 Trước tiên, chúng ta sẽ tim hiéu sơ lược về các phần tử của vành Z„m Mỗi phần tử đ € 2m có thể được biêu diễn duy nhất dưới dạng một tông hữu hạn
d= pt um_-1 to + pu, + Up, (3.1) trong dé u; € Z, voit = 0,1, ,m — 1 Cac phan tir d trong Zpm khả nghịch khi
Up + 0
Khi kí hiệu 1; và 1„m tương ứng đại diện cho đơn vi cua Z, va Zpm thi
End(7Z„ x 7m ) có thể được biéu diễn dưới dạng
End(Z„ x Z„m) = {œ|œ(1ạ,0) = (a,p”~1e), z(0,1ym) = (b,d)} — (3.2)
trong dé a,b,c € Z, vad € 7m
3.1.1 Dac diém ciia vanh End(Z, x Zp) m+3
Với p là số nguyên tố, vành End(Z„ x Z„m) có p"'†3 phần tử Các phần tử của vành có thê được biểu diễn dưới dạng một ma trận 2 x 2 như sau:
Leta, hs d 3.3
Enpm = p™1e d :a, b,c € Zy,d € Zym (3.3)
Trang 3425
Do đ còn có thê biêu diễn theo công thức 3.1 nên E„ „» có thể biểu diễn như
sau:
a b
Ep p™ — {| met ay ý + evap pu, - ul - a, b, C, Up, Uy, Um-1 C 7] (3.4)
Tập Em là một vành có đơn vị, khơng giao hốn với hai phép toán được
định nghĩa như sau:
Phép cộng được định nghĩa là
a h x q; Z| _ (a, +a) mod p (bị + b;) mod p
p™ ce, dy p™*cz dz p™ "(cy +¢2) mod p™ (d, + dz) mod p™
(3.5) và phép nhân được định nghĩa là
Ay | a2 | _
p™ ce, dil lp™*c, dz]
(a,a2) mod p (a,b, + b,dz) mod p
en, + cạd¡)nod p”h (p™~*c,b, + d,d,) mod p™ Of)
Trong [7], mt dang cau vanh tir End(Z, X Zym) lén Ey ym da dugc thiét
lập Nhờ đó, các phần tử của End (Tp X 2pm) có thê được đại diện bằng các phần
tử của Ey ym, kiến trúc của End (2p X 2pm) có thê được đại diện băng kiến trúc
của Euum
3.1.2 Phần tử khả nghịch trong End(Z„ x Z„m)
Trước tiên, chúng ta sẽ xem cách tính tích và giá trị khả nghịch của d Với a,b € Z,b # 0, chúng ta kí hiệu R là thương số của a chia cho b, và a mod b là số dự của a chia cho b
Bồ đề 3.1 (Bồ đề 3.3 trong [7]) Giả sử d; = pm~10) 5 m— pu? + tệ” với ue san Ue? EZ, vai = 1,2
Dat
Trang 3526 Wy = (Sager a” + ||) mod p”, (3.8) M¿ = (Xi+j=sM, ý”) + ||) mod p", 3.9) Wm-2 = (Sisjem-2 ea bở mì mod p™, (3.10) Wma = (Lisjem—1 Uy HỆ + ||) mod ph, (3.11) Khi đó,
dịd; = p”ˆ~†(W„_¡ mod p) + + p(w, mod p) + (Wp mod p) (3.12)
Bồ đề 3.1 cho chúng ta công thức đề có thể tính được giá trị tích của hai giá trị bất kì trong vành 2um Bồ đề 3.2 (Bồ đề 3.4 trong [7]) Giả sử d = p??ˆ~Tu„_¡ + -:- + pua + tạ với Mm—1, - , họ, tạ € Z2„ Nếu trọ # 0 thì đ khả nghịch trong Z„m Mặc khác, ta kí hiệu So = Up! mod p (3.13) Wo = Up Up’ mod p™ (3.14) T = im Wo
S; = —up ’(u,, 1) (so,|“}) mod p, (3.15)
W, = (U4, Ug) (So, $1)? + |”) mod p™ (3.16)
T
S2 — —ua '(ua, uy, 1) (so, S1, I>|) mod DĐ, (3.17)
Ws = (mạ, Uy, Ug) (So, S1,S2)" + h mod p” (3.18) Tổng quát, với 3 < k < m — 1 thì ta có: T Sp = — up Gaps, ty, 1) (so, a |) mod p, (3.19) va
Wr = (Up, «+, Ug) (So, «+» Sk—1)) + 1| mod p™ (3.20)
Trang 3627 Khi do, d-* = p™1s,,-4 +++ ps1 + So (3.21) Bồ đề 3.2 cho chúng ta biết điều kiện đê một phần tử đ khả nghịch trong Zim và công thức đề tính phần tử khả nghịch đó Hệ quả 3.1 (Hệ quả 3.5 trong [7|) ay by Dales = lente pm aye) + + pul? — ¬ s đ¿ bz vena La pm-ty@) | + -+ pu + | là hai phan tử thuộc E ppm Thi A, Az = (a,a,) mod p (a:b, + bu? ) mod p (3.22) gi nu a, + uộ cạ) mod p) 6 trong đó,
5 = p™1((cyby + Wm-1) mod p) + +++ pw, + Wo (3.23) Hệ quả 3.1 cho ta biết công thức đề tính tích của hai phần tử trong Epm Tiếp theo, chúng ta sẽ xem xét kiến trúc của các phần tử khả nghịch trong
Ep,m được thể hiện trong định lý 3.1 bên dưới
Dinh ly 3.1 (Định lý 3.6 trong [7]) b
G1 se | @
Snel = Lm, ph Tum + + ‹- + puy + wl © Epp
trong đó a,b,c, Up, U4, ., tạn+ © Zy Thi M kha nghich khi va chi khi a # 0 và ạ # 0 và phần tử khả nghịch M~1 của M là
M7}
_ | a~* mod p (T—a~†buạ—1) mod p |
~ Lp™-1((—a7!cug7!) mod p) p™-1[(ca71bup~2 + Sm-1) mod p] + p™~2Sm_2 ++ + PS + So
(3.24)
Trang 3728
pt sm—-1 to + psy + So 1a kha nghich cua p™ tu,» + + Ðui + tạ Hệ quả 3.2 (Hệ quả 3.7 trong [7]) Dat U, ym la tap cac phan tir kha nghich
cia Ey ym, thi [Uy »m| = p™*1(p — 1)?
g 3 Unym m+1(p~1)2 1 ee =3
Ta thây răng a =? Ta Y=(1- sy ~ 1 Điêu đó có nghĩa là, khi PP
giá trị của p càng lớn thì hầu hết các phần tử của Epm là khả nghịch 3.2 Xây dựng hệ mã RSA trên vanh End (Z,, X Z,m)
Ở phần này, chúng tôi sẽ đi xây dựng vành End(Z,, X Zym) voin = pq Sau
đó, chúng tôi thiết lập hệ mã RSA trên vành End(Z„ x Z„m) đã xây dựng
3.2.1 X4y dung vanh End (Z,, X Z,)
Vanh End(Z, X Z,m) la vanh co kién trac tuong tu nhu vanh End(Z, x
Zpm ) nhưng khác biệt ở chỗ ø là tích của hai số nguyên tô phân biệt Trước tiên, chúng tôi định nghĩa nửa nhóm ạ„m như sau:
Emam = {| mea, ni] :a,b,c,d€ 7,0 < a,b,c < n0 < đ < nh, (3.25)
Cho x = | ` i hy=| is 2 € Enum
ne, J n™-t¢, dp i chúng tôi định nghĩa
X.y=
(q1; ) rnod (a1b; + bịđ;) rnod
Trang 3829
Go Petods ELD = dabatos 0.0 = <p",
va
a, = a(mod p),b, = b (mod p),cy = q™*c (mod p),d, = d (mod p”) Chúng tôi định nghĩa tiếp ánh xạ n: Ennm 9 Eggm (3.28) a b đụ bg |pa)"~ “| — le H trong đó đụ, b„,Cạ, dạ € 5,0 < đa, bạ, cạ < q,0 S dạ < q”, và aạ = a (mod q), bạ = b (mod q),cạ =p”~*c (mod q),dạ = d (mod q™) Định lý 3.2 ¡ và ? là đồng câu nửa nhóm Chứng minh: a b a’ b’ Ch Tế log te d|P?” [paạ) te dị" 7» = | Tn— | = m—1z! | € En„m ta có a b a b u(x) =| ơ p1Â, d, PL ›=| ng y pte, d', t va i7 =
| (aa')modn (ab’ + bd’) mod n (3.29)
(pq) *(ca’ + dc')modn™ ((pq)™-*cb' + dd’) mod n™)’ " trong đó By Vig lp OE Eyl gh, EE, (3.30) OS Ay Dy Oy 8 gD’ me p< BD S dy 8 p< p™: (3.31) a, =a (mod p), by, = b (mod p), (3.32) Cy = G™*c (mod p),d, = d (nod p™) (3.33)
a’, =a’ (mod p),b', = b' (mod p), (3.34)
cụ =q”~'c "(mod p),d'y = d' (mod p™) (3.35)
Trang 3930 a,a', = aa'(mod p), (3.36) apb'p + bpd'p S ab' + bd'(mod p), (3.37) cpd'p + dục ly = q™*(ca' + dc')(mod p), (3.38) cpb'p = q”"~1cb'(mod p) (3.39) Từ (3.38) ta có PP 'Œo#u +ty£ 25 (””ˆŒ@ + dc )Gnuap 70 (3.40) và từ (3.39) ta có pe, b', E @dÌ*?P” ^cb'nod) (3.41) Kết hợp (3.40) (3.4) và d,d’ = dd! (mod p”) có hệ quả pc b's + dpd' = n™—1cb' + dd'(mod p™) (3.42) (3.36), (3.37), (3.38) va (3.42) suy ra phương trình u(xy) = u(x)u(y) Do
đó, là một đồng cau Chứng minh tương tự cho ta kết luận rỊ là một đồng cấu Định lý 3.3 Ánh xạ 2: Ennm — Eppm X Eạ am (3.43) M +> A(M) = (u(M),n(M)) là một đơn ánh Chứng minh: Chứng minh dựa trên điều sau Nếu k,Ì €7, gcd(k,l)=1, 0<x,y<klx=y(modk) và x= y (mod Ì) thì x = y
Bay gid, giả sử răng M = wage || N= lu , € Enm
sao cho A(M) = A(N)
Trang 4031