Professional Documents
Culture Documents
TB26 04
TB26 04
NG DNG LP TRNH SOCKET V H M HA CNG KHAI RSA XY DNG CHNG TRNH CHAT TRN MNG LAN
APPLICATION SOCKET PROGRAMMING AND RSA PUBLIC ENCRYPTION SYSTEM FOR BUILDING CHAT PROGRAMS SVTH: Hunh Quang Hiu
Lp 09N, Khoa Cng ngh Thng tin, Trng C Cng ngh Thng tin, i hc Nng
1. t vn Trn thc t, Chat l mt ng dng trn mng c ph bin rng ri. Mt s ng dng v Chat ph bin hin nay nh Yahoo, Skype, Zing Chat Ngi ta s dng cc chng trnh Chat vi mc ch trao i thng tin nh tr chuyn, lm quen bn b, bn bc cng vic gin tip qua mi trng Internet - mt cch n gin kt ni mi ngi li vi nhau. Khi xy dng mt chng trnh Chat cn phi m bo cc yu cu v kt ni, d liu trong qu trnh truyn i phi m bo ton vn v an ton. L mt ng dng mng nn cc chng trnh Chat hot ng da trn m hnh Client Server hoc Point to Point v kt ni bng mt trong 2 giao thc TCP hoc UDP. Trn c s , ti xy dng chng trnh Chat hot ng theo m hnh Client Server v s dng giao thc kt ni TCP. Khi xy dng mt chng trnh Chat mt vn cng rt quan tm l vn bo mt thng tin truyn i. Do m ha thng tin trc khi truyn i l vic lm hon ton cn thit. y, ti chn thut ton RSA m ha d liu trong qu trnh truyn tin. Trong phm vi ti ny s gii thiu v phng thc hot ng, ng dng lp trnh Socket xy dng mt chng trnh Chat v gii thiu v thut ton m ha RSA vo qu trnh m ha d liu trc khi d liu c truyn i. 2. Mt s vn v lp trnh Socket v thut ton m ha RSA
1
2.1. Lp trnh socket Trong lp trnh mng dng Socket, chng ta khng trc tip truy cp vo cc thit b mng gi v nhn d liu. Thay vo , mt chng trnh trung gian c to ra iu khin vic gi v nhn d liu. Cc chng trnh m t dng tham chiu n cc kt ni mng c gi l cc Socket. Socker nh ngha nhng t trng sau. Mt kt ni mng hay mt ng ng dn truyn ti d liu Mt kiu truyn thng nh stream hay datagram Mt giao thc nh TCP hay UDP. Sau khi mt Socket c to ra n phi c gn vo mt a ch mng v mt port trn h thng cc b hay xa. Khi n c th c dng gi hay nhn d liu trong mng
2.2. Thut ton m ha RSA Phng php s dng thut ton m ha cng khai RSA (c t tn t ba nh pht minh l Ron Rivest, Adi Shamir v Leonard Adleman), c s dng nhiu nht, thut ton s dng biu thc vi hm m m ha bn gc thnh cc khi, mi khi c mt gi tr nh phn nh hn n. Gi s khi bn gc ca ngi gi l M v khi bn m ca ngi nhn l C, qu trnh m ha v gii m RSA l: C = Me mod n v M = Cd mod n C ngi gi v ngi nhn phi bit gi tr n. Ngi gi bit gi tr e v ch ngi nhn bit gi tr d. y l mt thut ton m ha kha cng khai vi kha cng khai KU = {e,n} v kha ring KR = {d,n}
Hnh 2. S biu din thut ton RSA 3. Xy dng chng trnh 3.1. Xy dng Server Server m nhn vai tr to ra cc kt ni trung gian gia cc client, qun l cc Users kt ni n, chuyn tip thng tin gia cc Users v m bo rng tt c thng tin, trng thi ca cc Users phi c cp nht n cc Users cn li.
Ti Server cc d liu nhn c di dng cc request. Khi nhn c cc request Server s phn tch bit c l dng request no a ra x l cn thit. Nhng request Server c th nhn c l: CONNECT, CHAT, DISCONNECT, REQUESTUSERS, BUZZ. 3.2. Xy dng Client Client l ni ngi s dng tr chuyn, trao i thng tin vi nhau. D liu trc khi c truyn i trn Client s c m ha m bo tnh mt v Client s c gii m khi nhn c d liu truyn n. Vi mi thao tc trn Client s tng ng vi
3
mi request c gi n Server, nhm m bo s thng nht v qun l thng tin truyn i chnh xc.
Nhng thao tc trn Client s c Server nhn v x l v gi li tng ng nhng request. Khi nhn c cc request t Server, Client s a ra x l tng ng vi mi request . Ti Client c th nhn c nhng request sau: JOIN, CHAT, LISTUSERS, BROAD, DELETEUSER, BUZZ. 3.3. nh gi kt qu Xy dng m phng thnh cng mt chng trnh Chat vi tnh nng c th trao i tin nhn gia cc Clients. To ra nhiu kt ni trong mng Lan, nn c th cng lc tr chuyn vi nhiu ngi. Thao tc trn giao din d dng, linh hot, n gin nn bt k ai cng c th s dng c. C th m ha tin nhn trc khi gi i nn m bo c tnh ring t trong cc cuc tr chuyn. Tuy nhin chng trnh cn nhiu hn ch. Do dng thut ton m ha RSA nn tc truyn d liu cn chm, cc k t u chuyn v m ASCII m ha nn khng h tr chat bng ting Vit, ti Client cha qun l c danh sch bn b. Chng trnh cn n gin cha c nhiu chc nng ca cc chng trnh Chat hin nay. 4. Kt lun Vi kt qu thu c trong qu trnh th nghim ta thy chng trnh hot ng kh n nh, m phng mt cch tng qut, c bn nht hot ng mt chng trnh Chat t kt ni, nhn - truyn d liu v m bo tnh bo mt d liu truyn i bng m ha.
TI LIU THAM KHO Richard Blum (2003), C# Network Programming, SYBEX Inc. Fiach Reid (2004), Network Programming in.NET With C# and Visual Basic.Net, Elsevier Inc. Nguyn Ngc Bnh Phng, Thi Thanh Phong (2005), Cc gii php lp trnh C#, Nh sch t Vit. Mai Lam (2010), Gio trnh lp trnh ng dng mng, Trng C Cng ngh thng tin Nng.
THNG TIN TC GI H v tn : Hunh Quang Hiu a ch : Tin Th - Tin Phc Qung Nam S in thoi : 0906090598 Email : quanghieunt90@gmail.com