Giai thuat RSA

Embed Size (px)

Citation preview

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

Gii thut RSAwww.reaonline.net 1 2 3 4 Gii thiu. ____________________________________________________________________ 2 Phn phi kha. _____________________________________________________________ 4 Phng php truyn d liu lai. _________________________________________ 5 Gii thut RSA._______________________________________________________________ 54.14.1.1 4.1.2 4.1.3 4.1.4 4.2.1 4.2.2 4.3.1

Gii thut._______________________________________________________________________ 5Hm mt chiu. _____________________________________________________________________ Public Key. __________________________________________________________________________ Private Key. _________________________________________________________________________ V d vi s gip ca RSA Tool : __________________________________________________ 5 5 5 5

4.2

M ha tin tc.__________________________________________________________________ 7

Cng thc. __________________________________________________________________________ 7 V d vi m ngun C#. _____________________________________________________________ 7 Cng thc ___________________________________________________________________________ 7

4.3

Gii m tin tc. _________________________________________________________________ 7

5

V d. _________________________________________________________________________ 85.1 5.2 5.3 5.4 5.5 5.6 Chun b. ________________________________________________________________________ 8 To kha. _______________________________________________________________________ 8 M ha.__________________________________________________________________________ 9 Gii m. _________________________________________________________________________ 9 Kt lun. _______________________________________________________________________ 10 phc tp ca gii thut RSA. ______________________________________________ 10

6 7 8

Ch k k thut s__________________________________________________________ 11 ng dng. ___________________________________________________________________ 12 Ti liu tham kho. _________________________________________________________ 12

Trang 1 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

1

Gii thiu. Vi s pht trin nh v bo ca nn cng ngh thng tin trong cc thp k qua th cc h thng bo mt cng nh cc phng php bo mt mi hng lat ra i nhm p ng nhu cu bo mt d liu trong qu trnh truyn ti. Ni n cc gii thut m ha d liu ni ting v c s dng rng ri hin nay c th k n nh MD5, CRC32, v RSA. Nh quy lut t nhin, v qut dy, mng tay nhn, bo mt cao cch my th cng c th b gy. Nhng MD5-Hash, CRC32-Hash vi mt my tnh mnh v mt chng trnh bruteforce tt th trong vng 21 ngy mt mt m chun (gm k t hoa, thng, k t c bit, s v c chiu di ln hn 8 k t) c m ha bng MD5 c th b b gy d dng. Nh vy, vic bo mt d liu trn ng truyn ngy cng i hi nhng gii thut mnh hn, kh b gy hn. V hin nay dn u v tnh bo mt trong cc gii thut thng dng c th nhc n RSA. Vy RSA l g? RSA l mt gii thut (phng php) m ha d liu in t, c ly theo tn ca ba nh pht minh Ronald L. Rivest, Adi Shamir, Leonard Adleman. RSA c pht trin vo nm 1977 da trn: o L thuyt v kha m (Public Key) ca Whitfield Diffie v Martin Hellman. Cho nn RSA c xp vo nhm gii thut s dng phng php bt i xng hoc phng php Public Key. o Php tan m ha mt chiu vi kin thc tan hc c bn Vic tch mt s ra thnh 2 s nguyn t thng qua mt php tan chia th rt kh. Trong khi vic to ra mt s t php nhn ca 2 s nguyn t th li rt n gin. Da trn tng trn, RSA c p dng vo qu trnh truyn ti d liu nh sau. o Mt kha ring s c to ra da trn cc s nguyn t. o Mt kha chung s c to ra da trn kha ring ny theo mt hm mt chiu. Tc l vic tm li kha ring t kha chung ny l mt iu gn nh l khng th. Do , kha chung c th gi i trn mng. o Kha chung s c truyn i trn mng trong qu trnh truyn ti d liu. o D liu nhn c s c m ha da theo kha chung ny, v s c gii m bng kha ring. d hiu chng ta c th xem v d sau:

Trang 2 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

Server (2)

(1)

(3) (2)

Client 1 (3) (1) : o o o (2) : o (3) : o o o

(1)

Client 2

Client 3

Client 4

Client 1 mun ti d liu t Server/Client 2 To ra mt kha ring T kha ring ny to ra mt kha chung. Gi yu cu n Server/Client khc ng thi gi kha chung ny theo. Server/Client 2 nhn c yu cu M ha d liu da trn kha chung m Client gi n. Server/Client han tt qu trnh m ha Gi d liu m ha li cho Client 1. Client nhn c d liu v bt u tin hnh gii m. Nh vy, trn nguyn tc bo mt, ch c Client 1 l c th gii m c d liu nhn c. V duy nhtch c Client 1 mi bit c kha ring v vi kha ring ny qu trnh gii m s c th tin hnh. Qua v d trn, chng ta thy c rng, vi RSA c rt nhiu kha ring (tng ng vi mi Client) v v th c rt nhiu kha chung phc v qu trnh m ha v gii m.

Trang 3 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

2

Phn phi kha. trn, chng ta c nhc ti phng php truyn d liu bt i xng. hiu r thm ta c th to mt bng so snh gia 2 phng php truyn d liu: o i xng. o Bt i xng. Phng php truyn d liu i xng Phng php truyn d liu bt i xng Ngi gi v ngi nhn s dng Nu ng truyn b nghe ln th cng chung mt kha b mt. Tc kha b mt l kha chung. Vn khng th gii m c d liu vi vn l, khi Client yu cu d liu th Client phi gi kha b mt ny cn mt kha ring. V vic gii m theo Server/Client khc c th ngc t kha chung ra kha ring l mt iu gn nh l khng th. m ha d liu theo kha b mt ny. Nh vy, yu cu qu trnh truyn ti d liu phi tuyt i bo mt. Nu ng truyn b nghe ln th d nhin d liu s b mt do kha bo mt cng b nghe ln. Vic kim tra xem kha nhn c Tng t nh phng php truyn d liu i xng, vic nhn dng c phi t ngi m d liu cn c truyn n cn phi c cng phi c thc hin. thc hin Vi hm Hash SHA-1, kha chung c th c chia thnh nhiu phn. Mi phn l mt kha con v c th c gi vo cc thi im khc nhau cng nh vi cc phng php trao i khc nhau han tan.

Trang 4 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

3

Phng php truyn d liu lai. So snh vi 3DES, AES v SHA-1 m ha bng RSA chm hn khang 1000 ln. V vy m ha mt s lng ln d liu th RSA s khng c s dng. Thay vo phng php m ha i xng s c s dng. Nhc im ca phng php m ha i xng chnh l kha s c truyn i, cho nn khc phc nhc im ny, kha ca phng php m ha i xng s c m ha bng RSA v gi i. Phn ni dung s c gi theo phng php i xng. S dng phng php truyn d liu nh trn gi l phng php lai. Gii thut RSA. Nh vy chng ta c mt ci nhn s lc v gii thut RSA cng nh nhng li im v yu im ca gii thut ny. By gi, chng ta s tm hiu su hn v gii thut RSA v phng din cu trc. Ta bit, vi gii thut RSA chng ta cn 2 kha : Kha ring v kha chung v mt hm mt chiu to ra kha chung ny t kha ring ty . Chng ta s tm hiu xem cc thnh phn ny c to ra nh th no.

4

4.1 Gii thut. 4.1.1 Hm mt chiu. Chn 2 s nguyn t bt k p q. Tnh tch N = p * q. Tnh hm Euler (N) = (p -1)*(q -1). 4.1.2 Public Key. Chn 1 s e bt k sao cho 1 K (Cm n lo Dump gi cho iu kin ny). V d: Theo v d trn ta s c K 50113 mod 143 = 7.int K = (int) (Math.Pow(C, d) % N);

Trang 7 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

5

V d.

5.1 Chun b. Nh vy, chng ta va han thnh m ha v gii m mt s n gin bng gii thut RSA. D nhin trong thc t gii thut RSA c s dng v bin tu phc tp hn gp nhiu ln. V vy chng ta li tip tc vi mt v d khc phc tp hn mt cht gn lin vi thc tin hn. Trong thc t ngi ta s dng bng m ASCII chuyn Text sang dng s. Sau , ngi ta s dng gii thut RSA m ha d liu Text dng s ny ri truyn trn mng . y n gin, thay v s dng k t ASCII chng ta s dng th t ca cc ch ci trong bng ch ci. A = 01, B = 02, C = 03 v 00 = k t trng.

for (i = 0; i < strName.Length; i++) { strTmp = Convert.ToString((strAlphabet.IndexOf(strName[i]) + 1)); if (strTmp.Length == 2) { strNameIndex += strTmp; } else { strNameIndex += "0" + strTmp; } }

Ta gi s y c hai k t s to thnh mt nhm tin tc K. V d chui TI s c chuyn thnh 2009. Nh vy s m ha nh nht s l 0000 ( 2 k t trng lin tc) v 2626( 2 ch ZZ). By gi l chng ta s m ha mt Text : RONGCHAUA bng gii thut RSA. Chui cha m ha : R O N G C H A U A Chui m ha bng v tr ca k t trong bng ch ci l : 18 15 14 07 03 08 01 21 01

5.2 To kha. Trc tin ta chn 2 s nguyn t p & q. Chn p = 53 v q = 51. Lu iu kin l N = 51*53 phi ln hn 2626 Chn ra e = 0xB (tc 11 h thp phn).

Trang 8 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

Nh vy ta c kha ring l (2703,1891) v kha chung l (2703,11). vi n = 1,2,3 ). 2703 = 1500. 2703 = 939. 2703 = 1344.

5.3 M ha. Cn = Kne mod N ( C1 = 181511 mod C2 = 140711 mod C3 = 030811 mod ..

5.4 Gii m. Kn = Cnd mod N K1 = 15001891 mod 2703 = 1815 K2 = 9391891 mod 2703 = 1407 K3 = 13441891 mod 2703 = 308

Trang 9 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

5.5 Kt lun. Nh vy ta han thnh phn m ha, gii m ca gii thut RSA vi mt Text. 5.6 phc tp ca gii thut RSA. Gii thut RSA cho php chng ta m ha vi cc mc phc tp khc nhau bng cch thit lp ln ca Keysize (Bits). Chng ta c th lm mt v d hiu r hn v mc phc tp ca gii thut RSA. u tin chng ta thit lp cc thng s nh sau.

Chng ta click vo nt Factor N chng trnh tnh ra 2 s nguyn t P v Q. Rt nhanh chng ta c kt qu P = 91M v Q = 4AM (nhn hnh). By gi chng ta hy lm tng t nh trn nhng vi cch thit lp thng s nh sau:

Trang 10 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

Nhn nt Calc. D v ch Chng ta d nhin khng th ch c v theo l thuyt th gii c kha ny chng ta cn khang 8 gi my chy lin tc. Nh vy, chng ta xong vi phn test an tan ca kha c to ra bng gii thut RSA. Trong vic bo mt d liu thng qua RSA ngi ta thng thng dng Keysize l 1024 an tan tuyt i.

6

Ch k k thut s Mt trong nhng ng dng to ln ca RSA chnh l vic to ch k k thut s cho cc ti liu. V sao chng ta li cn ch k k thut s? l v trong qu trnh truyn ti d liu chng ta cn phi chc chn rng ti liu m chng ta nhn c c phi t ngun m chng ta mong mun hay khng. Chng ta s lm mt v d n gin cho r rng hn. Gi s Ti mun gi cho Mi mt ti liu. Th Ti s lm cc bc sau. o Trc tin Ti to mt kha ring (d,N) v mt kha chung (e,N).

Trang 11 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

o Sau Ti s to ra Hash ca ti liu (c th l checksum MD5 hay CRC ca ti liu). o Tip theo Ti s m ha gi tr Hash ny bng kha ring (d,N). o Sau Ti s chuyn ti liu + gi tr m ha ca gi tr Hash + kha chung ny cho Mi. Mi nhn c ti liu, mun bit chc l n c phi l ca Ti khng. Mi cn lm cc bc sau. o Dng kha chung nhn c t Ti. Gii m gi tr m ha gi tr Hash s mt gi tr Hash. o Tnh gi tr Hash ca ti liu vi cng cch vi cc tnh gi tr Hash ca ti liu nh Ti tnh. o So snh 2 gi tr Hash ny nu bng nhau th ti liu chnh l ca Ti gi. Ton b qu trnh c biu din theo hnh di.

7

ng dng. H thng Internet v in thai : X.509 Certifikate. Giao thc truyn ti : IPSec, TLS, SSH, WASTE. M ha Email : PGP, S/MIME. Thanh tan bng th : EMV. Ti liu tham kho. Wikipedia. www.wikipedia.org. Xin cm n dump v gi iu kin N > K.

8

Trang 12 ca 13

Bi lu tr v gii thut RSA 1.0.1

Rongchaua

Rongchaua chp bt My Email : [email protected] My Website : www.rongchaua.nth12a1.com 46a42a575a3115eff2d2a37e9cf33626 ngha ca an MD5 ny l g? Nu ti c g sai st, vui lng lin h email trn mng vn. 16.04.2006-16.12.2006

Trang 13 ca 13