tiểu luận bảo mật thông tin chữ kĩ số rsa

21 0 0
Tài liệu đã được kiểm tra trùng lặp
tiểu luận bảo mật thông tin chữ kĩ số rsa

Đ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

Hm băm Hash function ..... Tiểu luận: Bảo mật thông tin 3... Tiểu luận: Bảo mật thông tin 2.2.3 Ci đặt gii thut trong ngôn ng JAVA S dng BigInteger trong gi java.math.* cung cấp

Trang 1

ĐI H C B CH KHOA H N I  

TIỂU LUẬN BẢO MẬT THÔNG TIN

Trang 2

Tiểu luận: Bảo mật thông tin

M ĐU

Trong c c ho t đng thương mi đin t cng như vic xây dng mt nn hnh chnh đin t , không th không t  nh đn mc đ chnh x c, an to n c a   cc b n thông b o đi  đưc gn t i đi v đn cng như vic xc thc đ ưi t ng gi b n thông b o đ Điu ny ni lên s c n thi t c a vi c x c th      c v ch  ks

Hin nay, B Thông tin v Truy n thông, B     Công thương, B Ti chnh v Ngân h ng Nh   nưc Vit Nam đ đưc Chnh ph cho php trin khai ch k s v x c th c trong thanh to    n đi   năm 2006 Hin nay, Hn Qu c n t t cng đang gip ta trin khai h tng cơ s kha công khai PKI trong Ch nh ph  đi n t

Tất c k t qu trên ch y u l       đưc chuy n giao t bên ngo i X t v l nh      vc an ninh qu c gia, ch ng ta s    đt câu h i: M c đ an to n c a ch k  s v t nh x c th c c   a văn bn c  đm b o yêu c u ca ch ng ta không khi m    chng ta ph i nh p ngo i ho   n ton dây chuy n công ngh ?  

Trên cơ s đnh gi m c đ an to n c a h   thng, nh m ch ng em đchn đ t i:  “Tm hiu v Ch k s RSA  ” lm đi tưng đ nghiên c u ph c v cho môn hc.

Do kh năng cn hn ch, đc bit l kh  năng v ton hc cho nên mc d nhm đ c nhi m c   g ng nh m ho n th nh t    t nh t nhi m vấ   a mnh nhưng ckhông tr nh kh i cn c nhi u thi  t st Nh m em r t mong nh ấ n đưc nhng nh n xt thẳng thn, chi tit đ  thy n t đ tip tc ho n thi n hơn na Cui cng, nhm xin đưc gi lời cm ơn đn thy PGS.TS Nguy n Linh Giang đ hưng dn nhm trong su t qu nh ho n thi n   tr   Tiu lun Xin chân th nh c m ơn thy

2

Nhm 19

Trang 3

Tiểu luận: Bảo mật thông tin

Nhm 19

Trang 4

Tiểu luận: Bảo mật thông tin

1.5 Hm băm (Hash function) 8

CHƯƠNG 2: THUẬT TON CHỮ KÝ SỐ RSA……… 9

2.1 Sơ đ thut to n ch k   s RSA………9

2.2.3 Cài đt gii thu t trong ngôn ng JAVA 13  

CHƯƠNG 3: AN TON TRONG CHỮ KÝ SỐ RSA 14

Trang 5

Tiểu luận: Bảo mật thông tin

4.1 DEMO thu t toán mã hóa RSA 18 

Trang 6

Tiểu luận: Bảo mật thông tin

Ch k s (Digital Signature) l  nhng thông tin đi kèm vi d liu nhm

chng th c ngu n g c v n i dung c     a văn bn Ch k s    đưc da trên cơ sl thuy t h m    ho công khai (public key cryptography), c n g i l m h    a bất đi xng (asymetric cryptography), đư o ra đc t gii quyt câu h i: “Lm th no đ định ngha mt ch k cho c  c văn bn s, vi cc tnh chất tương  t như ch k vit tay ? ”

M h a công khai: S d ng 2 kh a c quan h       ton h c v i nhau, kh a   công khai (public key dng đ  a, đưc công b rng r i Kh a c m h   n li l kha b m t (private key) d  ng đ gii m, đưc gi b mt

M ha ất đ ng: Cơ sb i x ton hc ca h m h a b   ất đi xng l dng nhng h m m t chi  u, t  nhc l ng hm đ  t nh theo chi u thu n th d    cn theo chiu ngư c l i th v i không kh thi v i h      thng m y t nh hin ti

Ch k s bao g m 3 th nh ph  n:

1 Thut ton to ra kha.

2 Hm t o ch k   l h m t nh ton ch k  trên cơ s kha mt v d liu cn k.

3 Hm ki m tra ch k l h m ki m tra xem ch k         đ cho c  đng vi kh a công c ng không (Kh a n   y mi người c quyn truy cp cho nên mi người đu c th kim tra đưc ch k).

Trang 7

Tiểu lu : Bận ảo mật thông tin

- Không th tái s d ng: m   ỗi ch ký chỉ có giá tr  ị trên 1 văn bn - Không th  gi o m

- Chng t chi: người gi không th  ph nhn đưc hnh đng k v o văn bn

1 Là m t c huỗi ký t , có n i dung ph thu c vào n i dung b n tin   đưc k: kh  thay đi, khó dùng li Do đ c  th xác th c n i dung b  n tin đư kýc

2 S  d ng thông tin mà chỉ c người ký m i có: Khó gi m  o, khó ch i tỗ  Do đ  c th  minh người ký x c

7

Nhm 19

Trang 8

Tiểu luận: Bảo mật thông tin

3 Gn như không th gi mo ch ký

Ch k c nh đị Ch k thay đi theo ni dung văn bn

Gn li n v i n  i dung đưc k C th tch kh i n i dung đưc k

Hm băm l hm to n h c chuy  n đi thông đip (message) c d đ i bất kỳ (hu h n) th nh m t d y b t c     đ i c đị d  nh (t y thuc v o thut  ton băm) Dy bt ny đưc g i l   thông đip rt gn (message disgest) hay gi trị băm (hash value), đi din cho thông đ p ban đi u

Hm băm SHA-1: Thu t to n SHA-1 nh  n thông đip  đu vo c chi u di k<264 bit, th c hi n x l v      đưa ra thông đip thu g n (message digest) c chi u d i c nh 160 bits Qu nh t   đị  tr nh to n c ng th c hi   n theo t ng khi 512 bits, nhưng b đm x l dng 5 thanh ghi 32-bits Thu t to n n  y chy tt v i cc b vi x l c c u tr c 32 bits      ấ 

8

Nhm 19

Trang 9

Tiểu luận: Bảo mật thông tin

2.1 Sơ đ thut ton ch k s RSA

Thông đip s  đưc ký b ng c ch m h a văn bn b ng khóa riêng (Private key) v i thu t toán mã hóa RSA K t quá ch ký s (Digital signature)     ca thông đip s là b n mã c  a thông đip Nu đ m ha 1 thông đip dài thì s t n r t nhi u th i gian trong c   ấ  ờ  vic mã hóa, gi i mã và truy n tin, vì v y   trưc khi đưa văn bn đ m ha, người ta s t nh to  n trưc 1 chuỗi đi din (hash value) ca thông đip s dng mt gi i thu t băm (Hashing Algorithm) SHA-1 ho c MD5 

Sau đ thông đip ban đu s đưc ghép v i ch ký s t o thành thông    đip đ c ký đư

Thông đip đ đưc ký s  đưc gi cho người nhn

9

Nhm 19

Trang 10

Tiểu luận: Bảo mật thông tin

Bên nh n s tách ph n ch ký s RSA v       thông đip đ k đ x lý.Tính toán chuỗi đi din MD1 (Message digest) ca thông đip gc s d ng gi i thut băm (l gii thu t s d ng trong quá trình ký là SHA-1)   

S dng khóa công khai (Public key) ca ngườ i đ gii g i mã ch ký s RSA => chuỗi đi din thông đip MD2

So sánh MD1 và MD2:

● N u MD1 = MD2 => ch ký ki m tra th nh công Th    ông đip đm bo tính toàn v n và th c s ẹ   xuất phát t  người g i (do khóa công khai đưc ch ng th c)  

● N u MD1 MD2 => ch ký không h p l  ≠    Thông đip có th  đbị sa đi ho c không th c s    xuất phát t ngườ i.i g

RSA là m t h mã hóa b  ất đ ng đưc phát trin bi Ron Rivest, Adi i xShamir và Leonard Adleman (tên ca n  cng ch nh l tên vi t t t c a 3 tác gi      

10

Nhm 19

Trang 11

Tiểu luận: Bảo mật thông tin

ny) v  đưc s d ng r ng rãi trong công tác mã hoá và công ngh   ch  k đi n t Trong h mã hóa này, public key có th chia s công khai cho t t c   ẻ ấ mi người Hot đng c a RSA d a trên 4 bưc chính: sinh khóa, chia s keyẻ , mã hóa và gi i mã 

Thut toán RSA có hai khóa:

• Khóa công khai (Public key): Đư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 (Private key): Nh ng 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 tương ng

Sau này, n s  đưc dùng làm modulus trong c public key và private key

3 Tính m t s   gi nguyên t bng phi hm Euler như sau: 𝛷(𝑛) = ( − 1) 𝑝 ∗ ( 𝑞− 1)

Giá tr này s ị  đưc gi bí m t 

4 Chn m t s  ngu nhiên ( 0 < 𝑒 𝑒 < 𝛷(𝑛)) sao cho: 𝐺𝐶𝐷 𝑒( , 𝛷( )) = 1 𝑛

11

Nhm 19

Trang 12

12

Nhm 19

Trang 13

Tiểu luận: Bảo mật thông tin

2.2.3 Ci đặt gii thut trong ngôn ng JAVA

S dng BigInteger trong gi java.math.* cung cấp hu ht cc hm dng v cc hm s hc cho php thao tc thun li vi s nguyên ln

Hm mod(BigInteger m): Tnh modulo (phn dư) ca php chia nguyên;

Hm BigInteger modInverse(BigInteger m): tnh modulo nghịch đo (this-1

mod m);

Hàm BigInteger modPow(BigInteger exponent, BigInteger m ):Tính (thisexponent mod m)

C th code RSA To kha:

Mã ha: (code ny trong RSA , cn trong ch k s th d b mt đưc m ha)

Gii m: (code ny trong RSA , cn trong ch k s th e công khai đưc m hóa)

13

Nhm 19

Trang 14

Tiểu luận: Bảo mật thông tin

Ch k s đưc cho l c kh năng đm bo an ton vô c ng cao nh ờ cơch b o m t tuy  t đi thông qua nhng đc đim sau đây:

H thng m h a công khai   đư  c s d ng trong ch k cho ph   p m ha văn bn v i kh a b m   t đưc s hu bi ch nhân c a ch k s      đ M t văn bn n u mu n đưc k s th c n ph i đưc m h a b ng h   m băm, c ngha l  văn bn s đưc chia nh ra th nh c c chu i c  ỗ đ i c đị d  nh v ng n hơn văn bn gc, sau đ m ha bng kh a b m  t c a ch s h u ch k s       

Đ kim tra ch k s, ph a người nh n c n gi i m b    ng kha công khai v  kim tra v i h m băm ca văn bn đ đưc nh n N u 2 gi n   trị y khp nhau th  pha người nh n ho n to n c     th an tâm rng văn bn ny đưc xuất ph t t n  gườ ờ i s h u kh a b m  t

Chnh bi đc đim n y m   ch    k s c kh ăng xc định ngun gc ntuyt đi, gi p lo i b    kh năng bị ẻ k gian l i d ng l  a đo, gi m o thông tin

Ch ký s có tính toàn v n tuyẹ t đ i văn bi b n mt khi đ đưc ký thì không th b s ị a đi trong quá trình g i Lý do là vì n u văn bn có bất kỳ thay đi nào dù là nh  nhất, th h m băm cng s bị thay đi theo và bị phát hin ngay l p t c Chính vì v  y, văn b khi đưn c ký b ng ch ký s s     đưc bo toàn s nguyên v n 100% mà không m t bên th 3 nào có th can thi ẹ    p vo đ thay đi ni dung ca văn bn đ

Trang 15

Tiểu luận: Bảo mật thông tin

th yêu cu người gi phi ký s  lên văn bn đ Bi khi phát sinh tranh ch p, ấngười nh n s dùng chính ch ký s ngày c   a ngườ i như mt b ng chi g  ngxc minh lm căn c đ bên th ba xem xét và gi i quy t Vì v y, ch ký s      đưc xem là công c an toàn nh ất đ chng th c ngu n g c c   a văn bn trong trường h p cn thi t.

Đ an to n ca h th ng RSA d a trên 2 v ấn đ a to n h c: B i to n c    phân t ch ra th a s nguyên t c c s nguyên l n v b i to n RSA N u 2 b i            ton trên l  kh (không tm đưc thu t to n hi u qu    đ gii ch ng) th  không th th c hi  n đưc vic ph m ton b i v i RSA Ph m m đ    t phn ph i  đưc ngăn chn bng cc phương php chuyn đi bn r an to n

V v y mu n xây d ng h   thng RSA an ton th n = p*q ph i l m   t s đ n, không c l đ  kh năng phân tch n v mt tnh ton Đ đm bo an ton nên ch n c c s nguyên t p v q t 100 ch s         tr lên

Dưi đây l bng thời gian phân t ch m RSA:  

S c c ch  s trong s   đưc Thời gian phân tchphân tch

- Khi A v  B trao đi thông tin th C c th g i cho A m t kha bất k đ A tin rng đ  kha công khai c a B g l  i.

15

Nhm 19

Trang 16

Tiểu luận: Bảo mật thông tin

- Sau đ C s gii m v đnh cp đưc thông tin Đng thời m h a l i   thông tin theo kh a công khai c a B v g i l i cho B     

- V nguyên t c, c A v    B đu không ph t hi n đư c s can thi p c a C  

3.2 Cc đim yu ca ch k s s dụng gii thut RSA

3.2.1 Hiu sut thực hin thut ton RSA

Tc đ thc hin ca h RSA l mt trong nhng đim yu so vi cc h mt m kha đi xng

Theo ưc tnh, thc hin m ha v gii m bng h mt m RSA chm hơn 100 ln so vi h m kha đi xng DES (Khi thc hin bng phn mm) V chm hơn 1000 ln so vi DES (Khi thc hin bng phn cng).

3.2.2 Chi ph v tc độ thực hin thut ton RSA a Chi phí

Đ thc hin thut ton RSA phn ln tn chi ph thc hin cc php tnh cơ bn như : To kha, m ha, gii m Qu trnh m ha, gii m tương đưc vi chi ph thc hin cc php tnh ly tha module n

16

Nhm 19

Trang 17

Tiểu luận: Bảo mật thông tin

Đ đm bo cho kha b mt đưc an ton th thường chn m công khai e nh hơn nhiu so vi s m b mt d, do đ chi ph thời gian đ thc hin m ha d liu nh hơn nhiu so vi thời gian gii m b Tc độ ca h RSA

Tc đ ca RSA l mt trong nhng đim yu ca RSA so vi cc h m đi xng, so vi h m DSA th RSA chm hơn t 100 đn 1000 ln

17

Nhm 19

Trang 18

Tiểu luận: Bảo mật thông tin

▪ Chy câu l nh 

o ▪

Khóa công khai :

Trang 19

Tiểu luận: Bảo mật thông tin

4.2.1 Quá trình ký

• Chy câu l nh 

• Chy câu l nh 

19

Nhm 19

Trang 20

Tiểu luận: Bảo mật thông tin

3 H C Williams, “A modification of the RSA public-key procedure”

4 William Stallings, “Cryptography-network-securi -5th-editionty ”, Fifth Edition 5 Matt Bishop, “Introduction to Computer Security”

6 Dang, Q (2012), Secure Hash Standard (SHS), Federal Inf Process Stds (NIST FIPS), National Institute of Standards and Technology,

Gaithersburg, MD, [online], https://doi.org/10.6028/NIST.FIPS.180-4 (Accessed July 20, 2022)

https://github.com/BharathKumarRavichandran/rsa.git https://github.com/pcaro90/Python-

SHA1/blob/ae3396776773c0370607a15d92fc99542b025800/SHA1.py

20

Nhm 19

Trang 21

Tiểu luận: Bảo mật thông tin

% CÔNG

VIC

1 Nguyn Thị Phương Lý Tìm hiu khái nim  ch k v ý s, tính ch , so ấtsánh ch ký s và ch ký tay

25%

2 Cao Thị Thu Phương Thut toán ch ký s RSA 25%

3 Nguyn Tấn Thành An toàn trong ch ký s RSA 25%

21

Nhm 19

Ngày đăng: 14/06/2024, 16:20

Tài liệu cùng người dùng

Tài liệu liên quan