
2 |
P a g e
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
MÔN HỌC
CƠ SỞ BẢO MẬT VÀ AN TOÀN THÔNG TIN
ĐỀ TÀI
VIẾT CHƯƠNG TRÌNH BẰNG NGÔN NGỮ
PYTHON ĐỂ THỰC HIỆN CHE GIẤU BẰNG CÁCH
SỬ DỤNG MẶT NẠ DỮ LIỆU, ĐỂ BẢO VỆ DỮ LIỆU
KHI TRUYỀN TRÊN KÊNH CÔNG KHAI
Nhóm: 12
Sinh viên thực hiện:
Mai Văn Tĩnh – CT060143
Đỗ Mạnh Nghĩa– CT060128
Giảng viên hướng dẫn:
ThS. Nguyễn Đào Trường
Hà Nội, 2025

3 |
P a g e
MỤC LỤC
DANH MỤC HÌNH ẢNH.......................................................................................
LỜI NÓI ĐẦU..........................................................................................................
Chương 1. CƠ SỞ LÍ THUYẾT.............................................................................
1.1. Tổng quan về bảo mật thông tin v0 mật mã học......................................................
1.1.1. Mục tiêu v nguyên tc của an ton bảo mật thông tin.........................
1.1.2. Vai trò của mật mã trong đảm bảo an ton v bảo mật thông tin.........
1.2. X5c định yêu cầu b0i to5n.......................................................................................
1.2.1. X,c định yêu cầu....................................................................................
1.2.2. X,c định thuật to,n v công nghệ sử dụng............................................
1.3. Tổng quan về Mặt nạ dữ li?u (Data Marsking).......................................................
1.3.1. Tại sao mặt nạ dữ liệu quan trọng?.......................................................
1.3.2. C,c loại mặt nạ dữ liệu........................................................................
1.3.3. C,c kỹ thuật của mặt nạ dữ liệu..........................................................
1.3.4. Những loại dữ liệu yêu cầu mặt nạ dữ liệu..........................................
1.4. Tổng quan về thuật to5n AES................................................................................
1.4.1. Tổng quan............................................................................................
1.4.2. C,c bước xử lý chính trong thuật to,n AES........................................
1.4.3. Mô tả thuật to,n AES...........................................................................
1.4.4. Mã hóa.................................................................................................
1.4.5. Giải mã................................................................................................
1.4.6. C,c dạng tFn công AES v phương ph,p phòng chống......................
1.5. Tổng quan về HMAC............................................................................................
1.5.1. HMAC l gì?........................................................................................
1.5.2. Cơ chế hoạt động của HMAC..............................................................
1.5.3. Đặc điểm chính của HMAC.................................................................
1.6. Tổng quan về Python.............................................................................................
1.6.1. Python l gì?........................................................................................
1.6.2. Ưu điểm v nhược điểm của Python?..................................................
1.7. Tổng quan về h? quản trị CSDL MySQL.............................................................
1.7.1. Hệ quản trị CSDL MySQL l gì?.........................................................
1.7.2. Đặc điểm của hệ quản trị CSDL MySQL............................................
Chương 2. Thiết kế và triển khai chương trình..................................................
2.1. Phân tích yêu cầu h? thống....................................................................................
2.2. Thiết kế h? thống...................................................................................................
2.2.1. Kiến trúc tổng quan.............................................................................
2.2.2. Luồng hoạt động..................................................................................
2.2.3. Vai trò của c,c thnh phần..................................................................
2.3. Triển khai c5c th0nh phần chính...........................................................................
2.3.1. Triển khai AES-128 v CustomFernet.................................................
2.3.2. Triển khai RSA với OAEP...................................................................
2.3.3. Tích hợp MySQL..................................................................................

4 |
P a g e
2.4. Lưu đồ thuật to5n..................................................................................................
2.5. Mã nguồn minh họa...............................................................................................
Chương 3. Thực nghiệm và đánh giá...................................................................
3.1. Thực nghi?m h? thống...........................................................................................
3.2. Đ5nh gi5 h? thống.................................................................................................
Chương 4. TÀI LIỆU THAM KHẢO....................................................................

5 |
P a g e
DANH MỤC HÌNH ẢNH
Hình 1.1 Hoạt động của mặt nạ dữ li?u...................................................................
Hình 1.2 Mô tả thuật to5n AES...............................................................................
Hình 1.3 H0m AddRoundKey() của AES...............................................................
Hình 1.4 Minh họa kết quả 5p dụng biến đổi SubBytes ()......................................
Hình 1.5 Bảng thế S-box của AES..........................................................................
Hình 1.6 H0m ShiftRows () của AES.....................................................................
Hình 1.7 H0m MixColumns () của AES.................................................................
Hình 1.8 H0m InvShiftRows () của AES................................................................
Hình 1.9 Bảng thế cho h0m InvSubBytes ()...........................................................
Hình 1.10 Ngôn ngữ lập trình Python.....................................................................
Hình 1.11 H? quản trị cơ sở dữ li?u MySQL..........................................................
Hình 2.1 Lưu đồ thuật to5n thêm thông tin c5 nhân................................................
Hình 2.2 Lưu đồ thuật to5n Xem thông tin c5 nhân................................................
Hình 2.3 Đoạn mã về h0m mã hóa..........................................................................
Hình 2.4 Đoạn mã về h0m giải mã..........................................................................
Hình 2.5 Kết quả của qu5 trình mã hóa...................................................................
Hình 2.6 Kết quả của qu5 trình giải mã..................................................................

6 |
P a g e
LỜI NÓI ĐẦU
Trong bối cảnh công ngh? thông tin ph5t triển mạnh mẽ hi?n nay, hầu hết
thông tin của c5c tổ chức v0 c5 nhân đều được lưu trữ trên c5c h? thống m5y tính. Sự
ph5t triển của c5c tổ chức kéo theo nhu cầu ng0y c0ng cao về vi?c chia sẻ thông tin
với nhiều đối tượng kh5c nhau thông qua mạng lưới. Tuy nhiên, vi?c thông tin bị mất
m5t hoặc rò rỉ có thể gây ra những t5c động nghiêm trọng đến t0i nguyên thông tin,
t0i chính v0 uy tín của tổ chức cũng như c5 nhân.
C5c phương thức tấn công qua mạng ng0y c0ng trở nên tinh vi v0 phức tạp, tạo
ra nguy cơ mất dữ li?u hoặc thậm chí l0m sụp đổ ho0n to0n h? thống thông tin của
một tổ chức. Do đó, đảm bảo an to0n thông tin trở th0nh một nhi?m vụ quan trọng,
đầy th5ch thức v0 khó dự đo5n đối với c5c h? thống thông tin hi?n đại.
Trước yêu cầu cấp thiết về bảo mật thông tin, bên cạnh vi?c triển khai c5c
giải ph5p bảo v? phức tạp, kỹ thuật che giấu dữ li?u thông qua mặt nạ dữ li?u được
xem l0 một phương ph5p đơn giản, tiết ki?m chi phí v0 hi?u quả. Mặt nạ dữ li?u l0
qu5 trình thay đổi một phần dữ li?u trong cơ sở dữ li?u nhằm giữ nguyên cấu trúc
ban đầu, đồng thời biến đổi c5c thông tin nhạy cảm để bảo v? tính riêng tư.
Đề t0i “Viết chương trình bằng ngôn ngữ Python để thực hi?n che giấu dữ
li?u bằng c5ch sử dụng mặt nạ dữ li?u, để bảo v? dữ li?u khi truyền trên kênh công
khai” tập trung v0o vi?c xây dựng một chương trình sử dụng ngôn ngữ lập trình
Python để thực hi?n che giấu dữ li?u thông qua kỹ thuật mặt nạ dữ li?u, đồng thời
bảo v? dữ li?u trong qu5 trình truyền tải trên c5c kênh công khai bằng c5ch 5p dụng
thuật to5n mã hóa AES (Advanced Encryption Standard).
Nội dung b0i b5o c5o sẽ gồm 2 chương :
Chương 1: Cơ sở lí thuyết
Chương 2: Quản lý dữ li?u an to0n dưới dạng mặt nạ dữ li?u trên SQL
Server bằng Python