1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tiểu luận kết thúc học phần bảo mật dữ liệu chủ Đề thuật toán mật mã aes

23 1 0
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 đề Thuật Toán Mật Mã AES
Tác giả Đinh Vỹ Quang, Nguyễn Tuấn Hào, Tạ Đình Ngọc Phong Duy Trung
Người hướng dẫn Lê Đức Anh
Trường học Trường Cao Đẳng Lý Tự Trọng Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại tiểu luận
Năm xuất bản 2024
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 528,55 KB

Nội dung

Mã hóa Dữ Liệu trên Ổ Cứng: AES được sử dụng để mã hóa dữ liệu lưu trữ trên ổ cứng và các thiết bị lưu trữ khác nhằm bảo vệ thông tin cá nhân và doanh nghiệp khỏi bị truy cập trái phép..

Trang 1

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG CAO ĐẲNG LÝ TỰ TRỌNG THÀNH PHỐ HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN KẾT THÚC HỌC PHẦN

BẢO MẬT DỮ LIỆU

CHỦ ĐỀ:

Thuật Toán Mật Mã AES

Giảng viên hướng dẫn: LÊ ĐỨC ANH Sinh viên: Đinh Vỹ Quang(23004198)

Nguyễn Tuấn Hào(23004178)

Tạ Đình Ngọc Phong Duy Trung(23004203)

Lớp: 23C2-TKW1

Tp.Hồ Chí Minh, tháng 09/2024

Trang 2

DANH SÁCH NHÓM

PHÂN CÔNG

MỨC ĐỘ HOÀN THÀNH ( SV đánh giá )

MỨC ĐỘ HOÀN THÀNH (GV Đánh giá)

Trang 3

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN VỀ THUẬT TOÁN AES 3

1 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN THUẬT TOÁN AES 3

2 PHẠM VI ỨNG DỤNG THUẬT TOÁN AES 4

2.1 Bảo Mật Dữ Liệu 4

2.2 Bảo Mật Truyền Thông 4

2.3 Xác Thực và Bảo Mật Giao Dịch 4

2.4 Bảo Mật Mạng 4

2.5 Bảo Mật Hệ Thống và Ứng Dụng 4

2.6 Bảo Mật Thư Điện Tử 5

2.7 Quản Lý Khóa và Bảo Mật Xác Thực 5

2.8 Hệ Thống Nhúng và IoT 5

CHƯƠNG 2: MÃ HÓA – GIẢI MÃ 1

1 CÁCH THỨC MÃ HÓA THUẬT TOÁN AES 1

2 QUÁ TRÌNH GIẢI MÃ TRONG AES-128-ECB: 5

3 CÁC LOẠI MÃ HOÁ VÀ GIẢI MÃ TRONG AES 6

CHƯƠNG 3: TRIỂN KHAI THUẬT TOÁN 8

1 CODE ( Visual code ) 8

2 DEMO GIAO DIỆN: 14

CHƯƠNG 4: TÀI LIỆU THAM KHẢO 17

Trang 4

CHƯƠNG 1: TỔNG QUAN VỀ THUẬT TOÁN AES.

1 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN THUẬT TOÁN AES

Quá trình phát triển AES:

Năm 1997: Chính phủ Hoa Kỳ quyết định thay thế DES bằng một thuật toán mạnh mẽ hơn Do

đó, họ tổ chức một cuộc thi quốc tế để tìm kiếm một phương pháp mã hóa thay thế, được gọi là AES (Advanced Encryption Standard)

Cuộc thi chọn lựa thuật toán: Cuộc thi này được quản lý bởi NIST (National Institute of

Standards and Technology), với mục tiêu tìm ra một thuật toán mã hóa đối xứng có thể bảo mật

dữ liệu một cách mạnh mẽ hơn DES Các ứng viên phải đáp ứng các tiêu chí như độ an toàn, hiệu suất cao, khả năng triển khai dễ dàng và khả năng sử dụng rộng rãi

Năm 2001: Sau quá trình đánh giá kỹ lưỡng, thuật toán Rijndael của hai nhà nghiên cứu người

Bỉ là Joan Daemen và Vincent Rijmen đã được chọn làm chuẩn mới, chính thức trở thành AES.Đây là một thuật toán mã hóa khối (block cipher) có độ dài khóa 128 bit, 192 bit và 256 bit.Tính năng và ưu điểm của AES:

Khóa dài: AES hỗ trợ ba kích thước khóa khác nhau: 128, 192 và 256 bit giúp tăng cường độ bảo mật

Hiệu quả cao: AES hoạt động rất hiệu quả trên các phần cứng và phần mềm hiện đại, làm cho

nó trở thành lựa chọn phổ biến trong các ứng dụng bảo mật

Độ an toàn cao: Với các thuật toán và vòng lặp phức tạp, AES được coi là rất an toàn và khó bị phá vỡ bằng phương pháp tấn công brute force

Trang 5

2 PHẠM VI ỨNG DỤNG THUẬT TOÁN AES.

2.1 Bảo Mật Dữ Liệu.

Mã hóa Dữ Liệu trên Ổ Cứng: AES được sử dụng để mã hóa dữ liệu lưu trữ trên ổ cứng và các thiết bị lưu trữ khác nhằm bảo vệ thông tin cá nhân và doanh nghiệp khỏi bị truy cập trái phép

Mã hóa Dữ Liệu trên Di Động: Các thiết bị di động như smartphone và tablet sử dụng AES

để bảo vệ dữ liệu cá nhân, ứng dụng và thông tin nhạy cảm

2.2 Bảo Mật Truyền Thông.

Giao Thức SSL/TLS: AES là một trong các thuật toán mã hóa chính được sử dụng trong giao thức SSL/TLS để bảo vệ thông tin truyền qua internet, bao gồm các phiên giao dịch trực tuyến và giao tiếp qua web

VPN (Virtual Private Network): AES được sử dụng trong các giao thức VPN để mã hóa dữ liệu truyền giữa người dùng và mạng, đảm bảo tính riêng tư và bảo mật của kết nối mạng

2.3 Xác Thực và Bảo Mật Giao Dịch.

Giao Dịch Tài Chính: AES được áp dụng trong các hệ thống thanh toán điện tử và giao dịch tài chính để bảo vệ thông tin nhạy cảm như số tài khoản ngân hàng, số thẻ tín dụng, vàcác chi tiết giao dịch

Hệ Thống Ngân Hàng: Các ngân hàng và tổ chức tài chính sử dụng AES để bảo vệ dữ liệu giao dịch, thông tin khách hàng, và các hoạt động tài chính khác

2.4 Bảo Mật Mạng.

Mã hóa Dữ Liệu Mạng: AES được sử dụng để mã hóa lưu lượng mạng nhằm bảo vệ thông tin trong quá trình truyền từ một điểm đến điểm khác trong các mạng nội bộ và mạng diện rộng (WAN)

Bảo Mật Các Giao Thức Mạng: AES được áp dụng trong các giao thức bảo mật mạng như

IPsec để bảo vệ lưu lượng mạng IP khỏi bị đánh cắp hoặc sửa đổi

2.5 Bảo Mật Hệ Thống và Ứng Dụng.

Bảo Vệ Hệ Thống và Phần Mềm: Các hệ thống bảo mật phần mềm và phần cứng sử dụng

AES để mã hóa dữ liệu nhạy cảm và bảo vệ các thông tin quan trọng trong các hệ thống công nghệ thông tin

Bảo Mật Ứng Dụng: Các ứng dụng phần mềm và dịch vụ trực tuyến thường sử dụng AES

để bảo mật dữ liệu người dùng và thông tin nhạy cảm được lưu trữ và truyền tải

2.6 Bảo Mật Thư Điện Tử.

Mã hóa Email: AES được sử dụng để mã hóa nội dung email và các tệp đính kèm, đảm bảo

rằng thông tin gửi qua email chỉ có thể được đọc bởi người nhận hợp lệ

Trang 6

Chữ Ký Số và Xác Thực: AES cũng được áp dụng trong các hệ thống chữ ký số để đảm bảo tính toàn vẹn và xác thực của các thông điệp và tài liệu điện tử.

2.7 Quản Lý Khóa và Bảo Mật Xác Thực.

Quản Lý Khóa: AES là một phần quan trọng trong các hệ thống quản lý khóa, nơi nó được

sử dụng để bảo vệ khóa mã hóa và đảm bảo rằng chỉ những người có quyền mới có thể truycập và sử dụng các khóa này

Xác Thực và Quyền Truy Cập: AES được sử dụng trong các hệ thống xác thực và quyền truy cập để bảo vệ thông tin xác thực và quản lý quyền truy cập của người dùng vào hệ thống và dữ liệu

2.8 Hệ Thống Nhúng và IoT.

Bảo Mật Thiết Bị IoT: AES được áp dụng trong các thiết bị Internet of Things (IoT) để bảo

về dữ liệu truyền giữa các thiết bị và đảm bảo an toàn cho các giao tiếp IoT

Hệ Thống Nhúng: AES được sử dụng trong các hệ thống nhúng để bảo mật dữ liệu và giao tiếp trong các thiết bị có hạn chế về tài nguyên

Trang 7

CHƯƠNG 2: MÃ HÓA – GIẢI MÃ.

1 CÁCH THỨC MÃ HÓA THUẬT TOÁN AES

Trang 8

Hình 1: Cấu trúc MÃ HÓA – GIẢI MÃ AES.

Mã hóa trong AES-128-ECB:

ECB là một chế độ mã hóa đơn giản nhất của AES Trong chế độ này, mỗi khối dữ liệu đầu vào được mã hóa độc lập với các khối dữ liệu khác

Nếu có hai khối dữ liệu giống hệt nhau, chúng sẽ được mã hóa giống hệt nhau.

Quá trình mã hóa:

Trong AES-128-ECB, dữ liệu cần mã hóa sẽ được chia thành các khối 128-bit (16 byte), mỗi khối dữ liệu sẽ được mã hóa độc lập với nhau bằng khóa 128-bit

Bước 1: Chuẩn bị dữ liệu gốc (plaintext)

Dữ liệu cần mã hóa, gọi là plaintext, sẽ được chia thành các khối 128-bit

Ví dụ: Nếu dữ liệu cần mã hóa có kích thước không phải là bội số của 128-bit (16 byte),

ta sẽ phải thêm padding vào cuối để làm cho dữ liệu có kích thước phù hợp

Bước 2: Mã hóa từng khối dữ liệu

Mỗi khối dữ liệu (bit) sẽ được mã hóa riêng biệt bằng thuật toán AES với khóa bit cố định trong suốt quá trình

128-Khóa AES 128-bit:

AES yêu cầu một khóa cố định 128-bit (16 byte) Đây là chìa khóa duy nhất dùng cho tất

cả các khối trong quá trình mã hóa

Quá trình mã hóa trong AES:

AES là một thuật toán mã hóa khối, và nó bao gồm một số vòng (rounds) Đối với

AES-128, sẽ có 10 vòng mã hóa

Các bước trong một vòng mã hóa của AES: Mỗi vòng mã hóa sẽ bao gồm 4 bước chính:

Trang 10

Các hàng trong khối dữ liệu được dịch chuyển (shift) một số byte nhất định Cụ thể, hàng đầu tiên không thay đổi, hàng thứ hai dịch 1 byte sang trái, hàng thứ ba dịch 2 byte, hàng thứ tư dịch 3 byte

Hàng đầu không thay đổi

Hàng hai, dịch vòng trái 1-byte

Hàng ba, dịch vòng trái 2 byte

Hàng tư, dịch vòng trái 3-byte

MixColumns:

Đây là bước quan trọng trong việc tăng cường tính phức tạp của AES Bước này trộn các cột trong khối dữ liệu, giúp làm cho sự phụ thuộc giữa các byte trở nên phức tạp hơn Tuynhiên, trong vòng cuối cùng bước MixColumns không được thực hiện

Trang 11

[{03}.{87}] ⊕ [{6E}] ⊕ [{46}] ⊕ [{02}.{A6}] = [{ED}]

AddRoundKey:

Ở mỗi vòng, dữ liệu sẽ được XOR với một phần của khóa (khóa vòng) Khóa vòng này được tạo ra từ khóa AES ban đầu thông qua các phép toán biến đổi

Công thức có thể được biểu diễn như sau:

State′ = State ⊕ RoundKey

Trong đó:

⊕ là một phép toán logic cơ bản được sử dụng trong nhiều thuật toán mã hóa

State là dữ liệu đầu vào (đã qua các bước trước đó)

State′ là dữ liệu sau bước AddRoundKey

Lặp lại quy trình cho 10 vòng:

Đối với AES-128, sau khi thực hiện các bước trên trong vòng đầu tiên, kết quả sẽ được đưa vào vòng tiếp theo Quá trình này tiếp tục cho đến khi hoàn thành 10 vòng

Bước 3: Kết quả mã hóa

Sau khi thực hiện 10 vòng mã hóa, bạn sẽ có được ciphertext (dữ liệu đã mã hóa), mà không thể khôi phục thành plaintext mà không có khóa chính

Bước 4: Lặp lại cho các khối dữ liệu khác

Nếu dữ liệu cần mã hóa lớn hơn một khối 128-bit, ta sẽ tiếp tục chia dữ liệu thành các khối 128-bit và mã hóa chúng theo cách tương tự

2 QUÁ TRÌNH GIẢI MÃ TRONG AES-128-ECB.

Giải mã trong AES-128-ECB ngược lại hoàn toàn so với mã hóa Các khối dữ liệu mã hóa(ciphertext) được giải mã sử dụng cùng một khóa AES 128-bit

Bước 1: Chia ciphertext thành các khối 128-bit

Dữ liệu mã hóa (ciphertext) sẽ được chia thành các khối 128-bit Nếu có padding trong dữliệu mã hóa, phần padding sẽ được loại bỏ sau khi giải mã

Bước 2: Giải mã từng khối dữ liệu

Khóa AES 128-bit:

Trang 12

Giống như trong mã hóa, ta sẽ sử dụng cùng một khóa 128-bit để giải mã các khối dữ liệu.

Quá trình giải mã trong AES: AES-128 sử dụng 10 vòng giải mã, với các bước ngược lại

Lặp lại quy trình cho 10 vòng giải mã:

Quá trình này tiếp tục cho đến khi hoàn tất 10 vòng giải mã Sau vòng giải mã cuối cùng, bạn sẽ thu được plaintext (dữ liệu gốc ban đầu)

Bước 3: Loại bỏ padding (nếu có)

Nếu dữ liệu gốc có padding, bước cuối cùng là loại bỏ phần padding để khôi phục lại dữ liệu ban đầu

3 CÁC LOẠI MÃ HOÁ VÀ GIẢI MÃ TRONG AES

Chế độ CBC trong mã hoá AES (Cipher Block Chaining) là một phương pháp mã hóa dữ

liệu, trong đó mỗi khối dữ liệu sẽ được mã hóa dựa vào kết quả của khối dữ liệu trước đó

Trang 13

Chế độ CFB trong mã hoá AES (Cipher Feedback) là một phương pháp mã hóa trong đó

dữ liệu được mã hóa theo kiểu "dòng" thay vì "khối" Điều này có nghĩa là thay vì mã hóamột khối dữ liệu 128 bit (hoặc 16 byte) cùng một lúc như trong CBC, hiểu đơn giản là mãhoá CFB sẽ mã hóa dữ liệu từng bit hoặc từng byte một

Chế độ OFB trong mã hoá AES (Output Feedback) là một phương pháp mã hóa trong đó

dữ liệu được mã hóa bằng cách sử dụng một chuỗi mã hóa (keystream) được tạo ra từ thuật toán mã hóa (như AES) Điều đặc biệt là chuỗi mã hóa này không phải là kết quả của dữ liệu cần mã hóa, mà là kết quả của các lần mã hóa lặp lại, và chuỗi này sẽ được XOR với dữ liệu gốc để tạo ra dữ liệu mã hóa

Trang 14

CHƯƠNG 3: TRIỂN KHAI THUẬT TOÁN

1 CODE ( Visual code )

Hình 4: Kết nối với cơ sở dữ liệu

Trang 15

Hình 5: Xử lý chức năng đăng ký và đăng nhập

Trang 17

Hình 6: Tương tác với dữ liệu người dùng.

Trang 18

Hình 7: Trang đăng nhập.

Trang 19

Hình 8: Trang đăng ký

Trang 20

Hình 9: Cơ sở dữ liệu.

2 DEMO GIAO DIỆN:

Hình 10: Giao diện đăng ký

Trang 21

Hình 11: Sau khi đăng ký thành công.

Hình 12: Giao diện đăng nhập

Trang 22

Hình 13: Sau khi đăng nhập thành công.

Hình 14: Dữ liệu đã được mã hoá trong cơ sở dữ liệu

Trang 23

CHƯƠNG 4: TÀI LIỆU THAM KHẢO

Youtube:

https://www.youtube.com/watch?v=LiFcxxRRLSk

Google:

nang-cao-924lJYe8ZPM

https://viblo.asia/p/cau-truc-va-thuat-toan-advanced-encryption-standard-chuan-ma-hoa-Chatgpt:

Ngày đăng: 09/12/2024, 19:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w