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

Báo cáo môn học cơ sở an toàn thông tin Đề tài giải thuật mã hóa khóa công khai rsa d

18 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 đề Giải Thuật Mã Hóa Khóa Công Khai RSA
Tác giả Đoàn Minh Yến, Văn Thị Hải, Neuyộn Hoang Anh, Lộ Quang Hiộp, Đỗ Thanh Thảo
Người hướng dẫn Đinh Trường Duy
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành An Toàn Thông Tin
Thể loại Báo Cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 1,29 MB

Nội dung

Hệ mã hóa RŠA, được đặt tên theo tên của ba nhà khoa hoc Ronald Rivest, Adi Shamrr, và Leonard Adleman, là một trong những thuật toán mã hóa bất đối xứng nôi tiếng nhất, đóng vai trò qua

Trang 1

HOC VIEN CONG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA AN TOÀN THÔNG TIN

&

==———._=

BAO CAO MON HOC CƠ SỞAN TOÀN THÔNG TIN

ĐÈ TÀI: Giải thuật mã hóa khóa công khai RSA

Giảng viên : Đinh Trường Duy

Nhóm : 04

Thành viên

Đoàn Minh Yến B22DCAT320 Văn Thị Hải B22DCAT109

Neuyén Hoang Anh B22DCAT0I8

Lé Quang Hiép B22DCATII3

Đỗ Thanh Thảo B22DCAT285

Trang 2

Muc luc

MUIC LUC 0.00 ốeeốe 2

LỜI CẢM ƠN Sát nh HH HH HH HH HH ghi 3

Giới thiệu về hệ mã hoá RSA - - 5 5222 S33 x về xe theo 4 90:8 10 90A v01 -4 ẢẢ ôÔỎ 5 )90:81099:100/:0/9: 8 nng 5

I Khai niệm giải thuật mã hóa khóa công khai RSA: -. Ặ 6

1 Giải thuật: - LH KT KH eee eee eee 6

2 Một số yêu cầu với quá trình sinh khóa: . 5-52 <++<+e+eeeerereeereeee 5 a)_ Yêu cầu với các tham số sinh khóa p VA Qi -ssssesescsescecscecsseseecseeessssensesseneacaees 5

b) Vấn đề sử dụng số mũ mã hóa (e) hd: .cccccescescseseeeeecseecseeeseeeeeetneneass 5 c) Vấn đề sử dụng số mũ giải mã (d) nhỏ: . 5-5555 +c+c+scezeceeeeere2 5

THT Ma hoa, giai mas «2.0 ee 5

TV Các điểm yếu của giải thuật: -Ă- 2-5 2c rrrrrerrrre 7

I ' TS nh aq (:-]ÂÃ ÔỎ 7

2 Kích thước khóa lớn: . - -SS SH HT KH 7

V Cac dang tan công và cách phòng chống sử dụng thuật toán RSA: 7

1 Tấn công vào modulus n (tấn công vào phép nhân các số nguyên tô): 7 1.1 Phân tích thừa số nguyên tố (Factorization Attack): - 8 1.2, Common moduÏus: SG KT nọ nh 8 1.3 Ferma£s Attack (p và q gần nhau): 5-5-5 Sc+c+esessrereeerrererererrrs 9

2 Tấn công vào số mũ công khai e (Public Exponent Attack): - 10 2.1 Tấn công số mũ nhỏ (Small Exponent A ttaek): . 7-5 5555<55+- 10 2.2 Tấn công Broadecast Atfack: - 5-5 se SEScseerekrerereerrrrrsrrcee II

3 Tấn công vào số mũ bí mật d (Private Exponent Attaek): II 3.1 Tấn công bằng thông tin từng phần (Partial Key Exposure Attack): L2 3.2 Wiener's Attack (Tấn công dựa trên khóa nhỏ): . 5-5555 12

¡ốc 5^< ,ÔỎ 15

Tat LiGur than Kua OS eee eee 16

Trang 3

LOI CAM ON

Đề hoàn thành bài báo cáo học phần Cơ sở An toàn thông tin này trước tiên nhóm em

xin gửi lời cảm ơn chân thành đến thầy Đính Trường Duy thuộc khoa An toàn thông

tin, Học viện Công nghệ Bưu chính Viễn thông đã cho chúng em cơ hội để có thê làm việc cùng nhau và từ đó hiểu biết nhiều hơn

Vì kiến thức còn hạn chế, trong quá trình tìm hiểu về để tài này chúng em không thể

tránh những sai sót Chúng em rất mong muốn nhận được những nhận xét, đánh giá,

đóng góp ý kiến từ thay dé rút ra kinh nghiệm từ bài báo cáo học phần này và chuẩn bị cho những bài báo cáo học phần sau

Chúng em xin chân thành cảm ơn!

Trang 4

Giới thiệu về hệ mã hoá RSA

Trong bối cảnh phát trién cua cong nghệ thông tin và truyền thông, việc bảo mật đữ liệu ngày càng trở nên cấp thiết, đặc biệt là khi đữ liệu được truyền tải qua các mạng lưới công cộng như Internet Hệ mã hóa RŠA, được đặt tên theo tên của ba nhà khoa hoc Ronald Rivest, Adi Shamrr, và Leonard Adleman, là một trong những thuật toán mã hóa bất đối xứng nôi tiếng nhất, đóng vai trò quan trọng trong việc đảm bao

sự bảo mật và an toàn của thông tin

RSA được phát minh vào năm 1977 và nhanh chóng trở thành nền tảng cho nhiều ứng dụng bảo mật, từ truyền thông qua Internet đến chữ ký số và xác thực danh tính Điểm đặc biệt của RSA nam ở cơ chế mã hóa bất đối xứng, sử dụng cặp khóa

công khai và khóa riêng tư để mã hóa và giải mã thông tin Khóa công khai có thể

được chia sẻ rộng rãi dé mã hóa dữ liệu, trong khi khóa riêng tư được giữ bí mật và chỉ người sở hữu mới có thê giải mã

Nhờ vào tính chất an toàn và hiệu quả trong việc bảo vệ dir ligu, RSA đã trở thành một phương pháp mã hóa tiêu chuẩn được sử dụng rộng rãi trong nhiều hệ thống bảo mật trên toàn thé giới

Trang 5

DANH MUC TU VIET TAT

STT Ký hiệu chữ viết tat Chữ viết đây đủ

DANH MUC CHU THICH

STT Ký tự Ý nghĩa

4 e Số bất kỉ sao cho GCD (e, Ø())=l

9 C Bản mã (là thông điệp M sau khi được mã

hoá)

Trang 6

I Khái niệm giải thuật mã hóa khóa công khai RSA:

1 Khái niệm:

Đây là thuật toán mã hóa bất đối xứng phỏ biến nhất Nó chủ yếu được sử dụng đề mã hóa tin nhắn nhưng cũng có thể được sử dụng đề thực hiện chữ

ký số trên tin nhắn RSA là thuật toán mã hóa được sử dụng rộng rãi, đảm bảo truyền đữ liệu an toàn bằng cách mã hóa và giải mã thông tin RSA rất cần thiết trong nhiều ứng dụng, chăng hạn như ngân hàng trực tuyến và giao tiếp email an toàn, cung cấp một khuôn khô mạnh mẽ cho các tương tác an toàn trong thế giới kỹ thuật số

Đề mã hóa tin nhắn, người gửi sử dụng public key của người nhận đề mã hóa tin nhắn, sau đó chỉ có thê giải mã bằng private key của người nhận

Điều này cung cấp một phương thức liên lạc an toàn qua mạng công cộng,

vì bất cứ ai cũng có thể sử dụng public key đề mã hóa tin nhắn nhưng chỉ

có người nhận mới có thê giải mã nó bằng private key của ho

H — Giải thuật sinh khóa:

1 Giải thuật:

Giả sử mỗi bên liên lạc A và B cần trao đồi thông tin bí mật thông qua một kênh không an toàn Với thuật toán RSA, mỗi bên liên lạc (A, B) cần tự tạo cho mình một cặp khóa công khai, bí mật theo các bước sau:

o Tao 2 số nguyên tổ lớn ? và gq, p khac g

© Tính modulo n=p xq vatinh O(n) = (p-L) x (g-L)

o Chon sé e sao cho 0<e< P(n) va ged (e, @(n)) = 1, trong do ham øcd () tính ước số chung lớn nhất của 2 số nguyên Nếu gcd (e, Ø®(z))

= | thì e và Ø(nø) là 2 số nguyên tố cùng nhau

o Chon sé d sao cho d= e! mod Ø(ø), hoặc (ở x e) mod @(n) = | hay

đ là modulo nghịch đảo của e

©_ Ta có (?, e) là khóa công khai, (n, đ) là khóa riêng và # còn được gọi

là modulo

Ví dụ:

Sinh khóa:

Chọn 2 số nguyên tô p = 3 và q = 11

o Tinhn=pxq=3x 11=33

o Tinh @(n) = (p-1) x (q-1) =2 x 10 = 20 o_ Chọn số e sao cho 0 < e < 20, và e và &(n) la số nguyên tố cùng nhau (#(n) không chia hết cho e) Chon e = 7

o_ Tính (dx e) mod ø(n) > (d x 7) mod 20 = 1

d = (20 x k +1)/7 -> d = 3 (k=1)

Trang 7

2

o_ Ta có: khóa công khai là (33, 7) và khóa riêng là (33, 3)

Một số yêu cầu với quá trình sinh khóa:

Dưới đây liệt kê các yêu câu đặt ra với các tham sô sinh khóa và khóa đê đảm bảo sự an toàn cho cặp khóa RŠA Các yêu câu cụ thê gom:

a) Yêu cầu với các tham số sinh khóa p và q:

* Các số nguyên tổ p và q phải được chọn sao cho việc phân tích n (n=

p x q) la khéng kha thi ve mat tinh toan p va q nên có cùng độ lớn

(tính bằng bít) và phải là các số đủ lớn Nếu n có kích thước 2048 bit

thì p và q nên có kích thước khoảng 1024 bịt

*_ Hiệu số p- q không nên quá nhỏ, do nếu p- q quá nhỏ, tức p > q và

p = Vn Nhu vay, CO thê chọn các sé nguyén té o gan Vn va thi Khi

có được p, có thê tính q và tìm ra d là khóa bí mật từ khóa công khai eva ớ(n) = (p - 1).(q - 1) Nếu p và q được chọn ngẫu nhiên và p — q

đủ lớn, khả năng hai số này bị phân tích từ n giảm đi

b) Vấn đề sử dụng số mũ mã hóa (e) nhỏ:

* Khi sử dụng số mũ mã hóa (e) nhỏ, chăng hạn e = 3 có thể tăng tốc độ

mã hóa Kẻ tấn công có thê nghe lén và lây được bản mã, từ đó phân tích bản mã để khôi phục bản rõ Do số mũ mã hóa nhỏ nên chỉ phí cho phân tích, hoặc vét cạn không quá lớn Do vậy, nên sử dụng số mũ mã hóa e đủ lớn và thêm chuỗi ngẫu nhiên vào khối rõ trước khi mã hóa

dé giảm khả năng bị vét cạn hoặc phân tích bản mã

c) Van dé sir dung số mũ giải mã (d) nhỏ:

*_ Khi sử dụng số mũ giải mã (đ) nhỏ, có thê tăng tốc độ giải mã Nếu ở

nhỏ và gcd (?-L, ø-L) cũng nhỏ thì đ có thê tính được tương đối dễ dàng

từ khóa công khai (ø, e) Do vậy, để đảm bảo an toàn, nên sử dụng số

mũ giải mã ở đủ lớn

HH Mã hóa, giải mã:

Mã hóa: là quá trình biến đôi thông tin ban đầu thành dạng mã hoặc mã hóa,

mà chỉ những người có kiến thức, khóa hoặc phương pháp tương ứng mới có thê giải mã và đọc được nội dung ban đầu

©_ Quá trình mã hóa của RSA:

1 Chọn 2 số nguyên tổ p, q và tính tích n=p.q

Can chon p,q sao cho 2'1 <n <2!

2 Tinh &(n)=(p-1).(q-1)

Trang 8

3 Tìm một số e, sao cho e là số nguyên tổ cùng nhau với Ø(n)

4 Tìm mét s6 d, sao cho e.d = | mod #(n)

5 Chọn ra mã khoá công khai Ku = (e,n) và khóa riêng Kr = (d,n)

e Giải mã: là quá trình chuyền đôi dữ liệu đã được mã hóa (hoặc mã hóa) thành

dạng có thê đọc được, được hiểu bởi con người hoặc máy tính Đây là phương pháp ngược lại của mã hóa

e Tir qua trình mã hóa trên, đến đây ta có 2 phương pháp:

©_ Phương pháp |: ma hoa bao mat

*Mã hoa: C = E(M, Ku) = M® mod n

*Giai ma: M = D (C, Kr) = C4 mod n

©_ Phương pháp 2: mã hoá chứng thực

*Mã Hoá: C = E(M, Kr) = M¢ mod n

*Giai ma: M = D(C, Ku) = C°modn

e Bai tap VD: ma hoa theo RSA voi kich thudc khoa la 4 bit (nghia la 1=4)

-23<n<2'

Chon p = 7, q=2

> n=72=14

- O(n) = (p-1).(q-1) = (7-1).2-1) = 6

- chọn e = 5 (là số nguyên tô cùng nhau với 6)

- chọn d = § (vi e.d = I mod 6) -> Khoá công khai Ku = (e,n) = (5, 14) -> Khoá riêng Kr = (d, n) = (5, 14)

Mã hoá bảo mật Mã hoá chứng thực

- giả sử mã hoá thông điệp M=S | - giả sử mã hoá thông điệp M = Š ( chon M <n) ( chon M <n)

C = M® mod n= 5° mod 14 =3 C=M! mod n= 5° mod 14 =3

- Giai m4 ban ma C = 3 - GIải mã bản mã C = 3

M =C°modn =3” mod 14 =5 M=C* modn=3° mod 14 =5

Trang 9

1

Các điểm yếu của giải thuật:

Mặc dù RSA là một trong những thuật toán mã hóa bất đối xứng phô biến và

mạnh mẽ nhất hiện nay, nó vẫn tồn tại một số điểm yếu tiềm ân Việc hiểu rõ

những hạn chế này sẽ giúp bạn đánh giá và sử dụng RSA một cách hiệu quả hơn

trong các ứng dụng bảo mật

1 Tốc độ:

e© Mã hóa/Giải mã chậm: So với các thuật toán mã hóa đối xứng như AES, RSA có tốc độ mã hóa và giải mã chậm hơn đáng kê (do kích thước khóa lớn và các phép toán số học phức tạp) Điều này làm cho RSA không phù hợp cho việc mã hóa các lượng dữ liệu lớn hoặc trong các ứng dụng đòi hỏi thời gian thực

e_ Giải pháp: Để khắc phục vấn đề này, người ta thường kết hợp RSA voi các thuật toán mã hóa đối xứng RSA được sử dụng để mã hóa khóa của thuật toán đối xứng, còn thuật toán đối xứng sẽ được sử dụng để mã hóa

dữ liệu thực tế

2 Kích thước khóa lớn:

e© Yêu cầu tài nguyên: Để đảm bảo tính bảo mật, các khóa RSA cần có kích thước lớn (2048 bít hoặc cao hơn) Điều này dẫn đến yêu cầu về tài nguyên tính toán và lưu trữ cao hơn so với các thuật toán khác

e Ảnh hưởng đến hiệu suất: Kích thước khóa lớn cũng làm giảm hiệu suất của các hoạt động mã hóa và giải mã

3 Tấn công:

e Tấn công dựa trên phân tích số: An toàn của RSA dựa trên sự khó khăn của việc phân tích một số lớn thành các thừa số nguyên tố Tuy nhiên, với sự phát triển của công nghệ máy tính lượng tử, các thuật toán phân tích số hiện tại có thể bị phá vỡ trong tương lai

e Tấn công kênh phụ: Các tấn công kênh phụ khai thác thông tin rò rỉ từ quá trình thực hiện thuật toán dé suy ra khoa bi mat

e An công dựa trên lỗi triển khai: Các lỗi trong quá trình triển khai thuật toán hoặc các giao thức liên quan có thê tạo ra các lỗ hồng bảo mật

Các dạng tấn công và cách phòng chống sử dụng thuật toán RSA:

Trong hệ thông mã hóa RŠA, có ba loại thông tin chính có thê là mục tiêu của Các cuộc tấn công, bao gồm modulus n, số mũ công khai ©,và số mũ bí mật d Dưới

đây là 3 dạng tấn công chính và cách khai thác các yêu tô này

Tan công vào modulus n (tần công vào phép nhân các số nguyên to):

« _ Mục tiêu: n =pxq (sản phâm của hai số nguyên tô lớn p và q)

Trang 10

¢ Chiến lược: Kẻ tấn công cố găng phân tích N thành hai thừa số nguyên tổ

p va q Một khi p và q được biệt, khóa bí mật d có thê dê dàng tính toán

> Các dạng tấn công tiêu biểu:

1.1 Phân tích thừa số nguyên tố (Factorization Attack):

" Phương pháp thông thường là tìm cách phân tích n thành p và q băng cách sử dụng các thuật toán như General Number FIeld Sieve (GNFS)

= Taco thé sur dung Bruteforce attack dé xac dinh mét p kha thi Cach này được sử dụng khả thi nhất khi n nhỏ (nhỏ hơn 25 6 bit)

= Một công cụ hữu ích cho phép chúng ta phân tích 1 số n như:

http:/Aactordb.com/

»" VD: n = 9567648541342714273618397561 214215397959

Ta dùng công cụ trên sẽ thu được kết quả

p = 70636931

q = 135448247905089679980836052478189

Nhưng thông thường ta sẽ không phân tích được thừa số nguyên tô của n nên cân khai thác các yêu tô khác cua mat ma RSA 1.2.Common modulus:

Đặt bối cảnh trong mạng nội bộ sử dụng RŠA làm phương thức truyền tin

và quản trị viên không muốn tạo ra n khác nhau cho mỗi _người nên sử dụng cùng một n cho toàn mạng lưới và e sẽ được chọn ngâu nhiên

a External attack:

“ M6 ta:

= Theo béi canh trén, méi nhan vién i sẽ có một bộ khóa công khai (n,

ei) va mét bộ khóa bi mat (n, di)

= Gia su, ban trong vai tro cua attacker không phải là thành viên của hệ thong mang Tuy nhién, bang cách nào đó bạn biết được bộ số (e, n) giữa các thành viên Việc cần làm là gửi cùng | tin nhắn cho 2 máy

A, B va thu due ban ma (C,, C2)

« Vi gcd (e¡ ,e;) = 1 (e,e2 nguyén tố cùng nhau) nên ta sẽ tìm được cặp số u và v sao cho:

U.e, + V.e, = 1 (Extended Euclidean Algorithm)

Ta sé tinh m (plaintext) nhu sau:

Ngày đăng: 15/02/2025, 22:18