1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) xây dựng hệ mã rsa trên vành end (zn x znm)

56 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ mã RSA trên vành End(Zn x Znm)
Tác giả Lộ Thị Kim Nga
Người hướng dẫn TS. Trần Đình Long, PGS.TS. Nguyễn Đình Thục
Trường học Trường Đại học Sư phạm Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 56
Dung lượng 5,54 MB

Nội dung

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 1

BỘ 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 2

BQO 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 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 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 4

LOI 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 5

MUC 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 6

2.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 8

Hinh 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 9

Danh muc cac bang biéu

Trang 10

MO 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 11

cộ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 12

Chuong 1 KIÊN THỨC CƠ SỞ

Trang 13

Trong 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 14

1.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 15

e_ 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 16

0 + 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 17

2 ={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 18

temp_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 19

10 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 20

II

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 21

12

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 22

13

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 23

14

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 24

15 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 25

16 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 26

17

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 27

18

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 28

19

(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 29

20 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 30

21 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 31

22

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 32

an

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 33

24

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 34

25

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 35

26 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 36

27 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 37

28

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 38

29

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 39

30 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 40

31

Ngày đăng: 29/12/2023, 05:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN