Tải bản đầy đủ (.pdf) (51 trang)

Luận văn sư phạm tìm hiểu một số phương pháp mã hóa bằng chữ ký số và cài đặt thử nghiệm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 51 trang )

Tài liu lun vn s phm 1 of 63.

TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN

ĐỒNG THỊ THỎA

TÌM HIỂU MỘT SỐ PHƢƠNG PHÁP MÃ HÓA
BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sƣ phạm Tin học

HÀ NỘI, 2019

Footer Page 1 of 63.


Tài liu lun vn s phm 2 of 63.

TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN

ĐỒNG THỊ THỎA

TÌM HIỂU MỘT SỐ PHƢƠNG PHÁP MÃ HÓA

BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sƣ phạm Tin học


Ngƣời hƣớng dẫn khoa học

ThS. Đỗ Thị Lan Anh

HÀ NỘI, 2019

Footer Page 2 of 63.


Tài liu lun vn s phm 3 of 63.

LỜI CẢM ƠN
Em xin chân thành cảm ơn ThS. Đỗ Thị Lan Anh, giảng viên Viện Công
Nghệ Thông tin – Trƣờng Đại học Sƣ phạm Hà Nội 2, ngƣời đã trực tiếp
hƣớng dẫn em trong suốt thời gian qua để em có thể hoàn thành khóa luận này.
Em xin chân thành cảm ơn các thầy, cô giáo trong Viện Công Nghệ
Thông tin và các bạn lớp k41- Sƣ phạm Tin học đã tạo điều kiện, động viên
khích lệ em trong suốt quá trình học tập và nghiên cứu.
Do thời gian nghiên cứu còn hạn chế nên những vấn đề mà em trình
bày trong khóa luận sẽ không tránh khỏi những thiếu sót. Em kính mong nhận
đƣợc những ý kiến đóng góp từ thầy cô và các bạn để khóa luận của em đƣợc
hoàn thiện hơn.
Em xin chân thành cảm ơn!

Hà Nội, ngày tháng 5 năm 2019
Tác giả

Đồng Thị Thỏa

Footer Page 3 of 63.



Tài liu lun vn s phm 4 of 63.

LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận này đƣợc hoàn thành bằng sự cố gắng, nỗ
lực của bản thân, dƣới sự hƣớng dẫn tận tình của ThS. Đỗ Thị Lan Anh và
tham khảo một số tài liệu đã đƣợc ghi rõ nguồn.
Khóa luận hoàn toàn không sao chép từ tài liệu có sẵn nào. Kết quả
nghiên cứu không trùng lặp với các tác giả khác.
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!

Hà Nội, ngày tháng 5 năm 2019
Tác giả

Đồng Thị Thỏa

Footer Page 4 of 63.


Tài liu lun vn s phm 5 of 63.

MỤC LỤC

MỞ ĐẦU ........................................................................................................... 1
CHƢƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG
TIN .................................................................................................................... 3
1.1. Giới thiệu về an toàn và bảo mật thông tin ................................................ 3
1.1.1. Lý do cần đảm bảo an toàn và bảo mật thông tin ................................... 3
1.1.2. Khái niệm an toàn và bảo mật thông tin ................................................. 4

1.1.3. Nội dung của an toàn và bảo mật thông tin ............................................ 4
1.1.4. Các chiến lƣợc bảo vệ an toàn cho hệ thống .......................................... 5
1.2. Vai trò của an toàn và bảo mật thông tin ................................................... 7
1.3. Một số phƣơng pháp mã hóa dữ liệu ........................................................................ 8
1.3.1. Hệ mã hóa................................................................................................ 9
1.3.2. Tiêu chuẩn đánh giá hệ mật mã ............................................................ 11
1.3.3. Phân loại hệ mã hóa .............................................................................. 12
1.4. Các hệ mã hóa khóa bí mật ...................................................................... 13
1.5. Các hệ mã hóa khóa công khai................................................................. 20
1.5.1. Hệ mã hóa RSA..................................................................................... 20
1.5.2. Hệ mã hóa Elgamal ............................................................................... 21
CHƢƠNG 2: CHỮ KÝ SỐ ............................................................................. 24
2.1. Tổng quan về chữ ký số ........................................................................... 24
2.1.1. Giới thiệu............................................................................................... 24
2.1.2. Khái niệm .............................................................................................. 25
2.1.3. Phân loại chữ ký số ............................................................................... 25
2.1.4. Sơ đồ của chữ ký số .............................................................................. 26
2.2. Hàm băm .................................................................................................. 27

Footer Page 5 of 63.


Tài liu lun vn s phm 6 of 63.

2.2.1. Khái niệm hàm băm .............................................................................. 27
2.2.2. Đặc tính của hàm băm ........................................................................... 27
2.2.3. Ứng dụng của hàm băm ........................................................................ 27
2.2.4. Các tính chất của hàm băm ................................................................... 28
2.2.5. Một số hàm băm thông dụng................................................................. 29
2.3. Một số phƣơng pháp mã hóa bằng chữ ký số .......................................... 32

2.3.1. Mã hóa bằng chữ ký RSA ..................................................................... 32
2.3.2. Mã hóa bằng chữ ký Elgamal................................................................ 34
2.3.3. Chữ ký mù theo Sơ đồ chữ ký RSA ...................................................... 36
CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM ........................................................ 38
3.1. Phát biểu bài toán ..................................................................................... 38
3.2. Yêu cầu bài toán ....................................................................................... 38
3.3. Giao diện chƣơng trình ............................................................................ 38
3.4. Đánh giá kết quả chƣơng trình ................................................................. 41
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................................... 42
TÀI LIỆU THAM KHẢO ............................................................................... 43

Footer Page 6 of 63.


Tài liu lun vn s phm 7 of 63.

DANH MỤC CHỮ CÁI VIẾT TẮT
CSDL

Cơ sở dữ liệu

CNTT

Công nghệ thông tin

RSA
UCLN

Footer Page 7 of 63.


Hệ thống mã và chứng thực do Ron Rivest, Adi Shamir, và
Leonard Adleman đề xuất
Ƣớc chung lớn nhất


Tài liu lun vn s phm 8 of 63.

DANH MỤC HÌNH VẼ

Hình 2.1: Giải thuật MD5 ............................................................................... 31
Hình 3.1: Giao diện chƣơng trình chính ......................................................... 38
Hình 3.2: Giao diện của quá trình tạo khóa .................................................... 39
Hình 3.3: Giao diện của quá trình làm mù báo cáo ........................................ 39
Hình 3.4: Giao diện của quá trình ký .............................................................. 40
Hình 3.5: Giao diện của quá trình lấy lại chữ ký ............................................ 40
Hình 3.6: Giao diện của quá trình lấy lại bản rõ ............................................. 41

Footer Page 8 of 63.


Tài liu lun vn s phm 9 of 63.

MỞ ĐẦU
1. Lí do chọn đề tài
Với sự bùng nổ của mạng Internet hiện nay, mạng máy tính đang ngày
càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội và
khi nó trở thành phƣơng tiện điều hành các hệ thống thì nhu cầu bảo mật
thông tin đƣợc đặt lên hàng đầu. Việc sử dụng chữ ký số là một giải pháp hữu
hiệu, ngày càng đƣợc ứng dụng nhiều trong thực tế, không chỉ giới hạn trong
ngành công nghệ thông tin, mật mã học mà còn đƣợc áp dụng nhiều trong

những lĩnh vực khác nhƣ ngân hàng, viễn thông,…
Đƣợc sự đồng ý của ThS. Đỗ Thị Lan Anh, em chọn đề tài “Tìm hiểu
một số phương pháp mã hóa bằng chữ ký số và cài đặt thử nghiệm” để làm đề
tài khóa luận tốt nghiệp của mình.
2. Mục đích nghiên cứu
Từ việc tìm hiểu một số phƣơng pháp mã hóa bằng chữ ký số để xây
dựng mô phỏng kĩ thuật mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu an toàn và bảo mật thông tin
- Tìm hiểu một số phƣơng pháp mã hóa bằng chữ ký số.
- Cài đặt kỹ thuật mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA.
4. Đối tƣợng và phạm vi nghiên cứu
- Một số vấn đề cơ bản trong an toàn bảo mật thông tin.
- Phƣơng pháp mã hóa bằng chữ ký số.
5. Ý nghĩa khoa học và thực tiễn của đề tài
- Phần nghiên cứu lí thuyết sẽ cung cấp một cách nhìn tổng quan về vấn
đề an toàn và bảo mật thông tin.
- Việc cài đặt thử nghiệm phƣơng pháp mã hóa bằng chữ ký số giúp
cho việc đảm bảo an toàn dữ liệu trong quá trình gửi và nhận bản tin.

1
Footer Page 9 of 63.


Tài liu lun vn s phm 10 of 63.

6. Phƣơng pháp nghiên cứu
- Phƣơng pháp nghiên cứu lí thuyết: Phân tích, tổng hợp, tìm hiểu tài
liệu cho phù hợp với nội dung của đề tài.
- Phƣơng pháp thực nghiệm: Xây dựng chƣơng trình mô phỏng kĩ thuật

mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA.
7. Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, phục lục khóa luận
bao gồm 3 chƣơng:
Chƣơng 1: Tổng quan về an toàn và bảo mật thông tin
Chƣơng 2: Chữ ký số
Chƣơng 3: Cài đặt chƣơng trình thử nghiệm

2
Footer Page 10 of 63.


Tài liu lun vn s phm 11 of 63.

CHƢƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN
1.1. Giới thiệu về an toàn và bảo mật thông tin
1.1.1. Lý do cần đảm bảo an toàn và bảo mật thông tin
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứng
dụng các công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết.
Công nghệ mạng máy tính đã mang lại những lợi ích to lớn.
Sự xuất hiện mạng Internet cho phép mọi ngƣời có thể truy cập, chia sẻ
và khai thác thông tin một cách dễ dàng và hiệu quả. Các công nghệ E-mail
cho phép mọi ngƣời có thể gửi thƣ cho ngƣời khác cũng nhƣ nhận thƣ ngay
trên máy tính của mình.
Tuy nhiên lại nảy sinh vấn đề về an toàn thông tin. Chúng ta nhận thấy
rằng Internet không chỉ cho phép bạn truy nhập vào nhiều nơi trên thế giới,
Internet còn cho phép nhiều ngƣời không mời mà tự ý ghé thăm máy tính của
bạn.
Thực vậy, Internet có những kỹ thuật tuyệt vời cho phép mọi ngƣời
truy nhập, khai thác, chia sẻ thông tin. Những nó cũng là nguy cơ chính dẫn

đến thông tin của bạn bị hƣ hỏng hoặc phá huỷ hoàn toàn. Có những thông tin
vô cùng quan trọng mà việc bị mất hay bị làm sai lệch có thể ảnh hƣởng đến
các tổ chức, các công ty hay cả một quốc gia. Các thông tin về an ninh quốc
gia, bí mật kinh doanh hay các thông tin tài chính là mục tiêu của các tổ chức
tình báo nƣớc ngoài về chính trị hay công nghiệp hoặc kẻ cắp nói chung. Bọn
chúng có thể làm mọi việc để có đƣợc những thông tin quý giá này. Thử
tƣởng tƣợng nếu có kẻ xâm nhập đƣợc vào hệ thống chuyển tiền của các ngân
hàng thì ngân hàng đó sẽ chịu những thiệt hại to lớn nhƣ mất tiền và có thể
dẫn tới bị phá sản. Chƣa kể nếu hệ thông thông tin an ninh quốc gia bị đe doạ
thì hậu quả không thể lƣờng trƣớc đƣợc.
Để giải quyết tình hình trên, với sự phát triển mạnh mẽ của Công nghệ
thông tin (CNTT), An toàn thông tin đã trở thành một vấn đề nghiên cứu quan
trọng trong khoa học nói chung và CNTT nói riêng.

3
Footer Page 11 of 63.


Tài liu lun vn s phm 12 of 63.

1.1.2. Khái niệm an toàn và bảo mật thông tin
“An toàn và bảo mật thông tin là việc đảm bảo an toàn cho thông tin
gửi cũng nhƣ thông tin nhận, giúp xác nhận đúng thông tin khi nhận và đảm
bảo không bị tấn công hay thay đổi thông tin khi truyền” [1].
Các phƣơng pháp bảo vệ an toàn thông tin dữ liệu có thể đƣợc quy tụ
vào ba nhóm sau:
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể đƣợc ứng dụng riêng rẽ hoặc phối hợp. Môi trƣờng

khó bảo vệ an toàn thông tin nhất và cũng là môi trƣờng đối phƣơng dễ xâm
nhập nhất đó là môi trƣờng mạng và truyền tin. Biện pháp hiệu quả nhất và
kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp
thuật toán.
1.1.3. Nội dung của an toàn và bảo mật thông tin
- Tính bí mật: Tính kín đáo riêng tƣ của thông tin.
- Tính xác thực: Xác thực đúng thực thể cần kết nối để giao dịch, xác
thực đúng thực thể có trách nhiệm về nội dung thông tin (xác thực đúng
nguồn gốc của thông tin).
- Tính toàn vẹn: Đảm bảo chỉ có các thực thể đã đƣợc xác thực hóa mới
có thể thay đổi các tài sản của hệ thống cũng nhƣ các thông tin trên đƣờng
truyền.
- Tính sẵn sàng: Đảm bảo tính sẵn sàng của thông tin, tức là thông tin
có thể đƣợc truy xuất bởi những thực thể đƣợc phép bất cứ khi nào họ muốn.
Để đảm bảo an toàn thông tin dữ liệu trên đƣờng truyền tin và trên
mạng máy tính có hiệu quả thì điều trƣớc tiên là phải lƣờng trƣớc hoặc dự
đoán trƣớc các khả năng không an toàn, khả năng xâm phạm, các sự cố rủi ro
có thể xảy ra đối với thông tin dữ liệu đƣợc lƣu trữ và trao đổi trên đƣờng

4
Footer Page 12 of 63.


Tài liu lun vn s phm 13 of 63.

truyền tin cũng nhƣ trên mạng. Xác định càng chính xác các nguy cơ nói trên
thì càng quyết định đƣợc tốt các giải pháp để giảm thiểu các thiệt hại.
Có hai loại hành vi xâm phạm thông tin dữ liệu đó là vi phạm chủ động
và vi phạm thụ động. Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắm
bắt đƣợc thông tin (đánh cắp thông tin). Việc làm đó có khi không biết đƣợc

nội dung cụ thể nhƣng có thể dò ra đƣợc ngƣời gửi, ngƣời nhận nhờ thông tin
điều khiển giao thức chứa trong phần đầu các gói tin. Kẻ xâm nhập có thể
kiểm tra đƣợc số lƣợng, độ dài và tần số trao đổi. Vì vậy vi pham thụ động
không làm sai lệch hoặc hủy hoại nội dung thông tin dữ liệu đƣợc trao đổi. Vi
phạm thụ động thƣờng khó phát hiện nhƣng có thể có những biện pháp ngăn
chặn hiệu quả. Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nội
dung, xóa bỏ, làm trễ, sắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm
đó hoặc sau đó một thời gian. Vi phạm chủ động có thể thêm vào một số
thông tin ngoại lai để làm sai lệch nội dung thông tin trao đổi. Vi phạm chủ
động dễ phát hiện nhƣng để ngăn chặn hiệu quả thì khó khăn hơn nhiều.
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu
nào là an toàn tuyệt đối. Một hệ thống dù đƣợc bảo vệ chắc chắn đến đâu
cũng không thể đảm bảo là an toàn tuyệt đối.
1.1.4. Các chiến lược bảo vệ an toàn cho hệ thống [1]
- Giới hạn quyền hạn tối thiểu (Last Privilege): Đây là chiến lƣợc cơ
bản nhất theo nguyên tắc này bất kỳ một đối tƣợng nào cùng chỉ có những
quyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào mạng đối
tƣợng đó chỉ đƣợc sử dụng một số tài nguyên nhất định.
- Bảo vệ theo chiều sâu (Defence In Depth): Trong một hệ thống mạng,
nên tạo cơ chế an toàn để tƣơng hỗ lẫn nhau.
- Nút thắt (Choke Point): Tạo ra nút thắt cho hệ hệ thống để cho phép
thông tin đi vào hệ thống bằng con đƣờng duy nhất vì vậy phải tổ chức một
cơ cấu kiểm soát và điều khiển thông tin đi qua nút thắt này song phải chú ý
đến mức độ an toàn vật lý của hệ thống mạng máy tính.
- Điểm nối yếu nhất (Weakest Link): Chiến lƣợc này dựa trên nguyên
tắc: “Một dây xích chỉ chắc tại mắt duy nhất, một bức tƣờng chỉ cứng tại điểm
5
Footer Page 13 of 63.



Tài liu lun vn s phm 14 of 63.

yếu nhất”. Kẻ phá hoại thƣờng tìm những chỗ yếu nhất của hệ thống để tấn
công, do đó ta cần phải gia cố các yếu điểm của hệ thống.
- Tính toàn cục: Các hệ thống an toàn đòi hỏi phải có tính toàn cục của
các hệ thống cục bộ. Nếu có một kẻ nào đó có thể bẻ gãy một cơ chế an toàn
thì chúng có thể thành công bằng cách tấn công hệ thống tự do của ai đó và
sau đó tấn công hệ thống từ nội bộ bên trong.
- Tính đa dạng bảo vệ: Cần phải sử dụng nhiều biện pháp bảo vệ khác
nhau cho hệ thống khác nhau, nếu không có kẻ tấn công vào đƣợc một hệ
thống thì chúng cũng dễ dàng tấn công vào các hệ thống khác.
Vì không thể có một giải pháp an toàn tuyệt đối nên ngƣời ta thƣờng
phải sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều hàng rào
chắn đối với các hoạt động xâm phạm. Việc bảo vệ thông tin trên mạng chủ
yếu là bảo vệ thông tin cất giữ trong máy tính, đặc biệt là các server trên
mạng. Bởi thế ngoài một số biện pháp nhằm chống thất thoát thông tin trên
đƣờng truyền mọi cố gắng tập trung vào việc xây dựng các mức rào chắn từ
ngoài vào trong cho các hệ thống kết nối vào mạng. Thông thƣờng bao gồm
các mức bảo vệ sau:
- Quyền truy cập: Là lớp bảo vệ trong cùng nhằm kiểm soát các tài
nguyên của mạng và quyền hạn trên tài nguyên đó.
- Đăng ký tên/mật khẩu: Mỗi ngƣời sử dụng muốn đƣợc tham gia vào
mạng để sử dụng tài nguyên đều phải có đăng ký tên và mật khẩu trƣớc.
Ngƣời quản trị mạng có trách nhiệm quản lý, kiểm soát mọi hoạt động của
mạng và xác định quyền truy cập của những ngƣời sử dụng khác theo thời
gian và không gian (nghĩa là ngƣời sử dụng chỉ đƣợc truy cập trong một
khoảng thời gian nào đó tại một vị trí nhất định nào đó).
- Mã hóa dữ liệu: Để bảo mật thông tin trên đƣờng truyền ngƣời ta sử
dụng các phƣơng pháp mã hoá. Dữ liệu bị biến đổi từ dạng nhận thức đƣợc
sang dạng không nhận thức đƣợc theo một thuật toán nào đó và sẽ đƣợc biến

đổi ngƣợc lại ở trạm nhận (giải mã). Đây là lớp bảo vệ thông tin rất quan
trọng.

6
Footer Page 14 of 63.


Tài liu lun vn s phm 15 of 63.

- Bảo vệ vật lý: Ngăn cản các truy nhập vật lý vào hệ thống. Thƣờng
dùng các biện pháp truyền thống nhƣ ngăn cấm tuyệt đối ngƣời không phận
sự vào phòng đặt máy mạng, dùng ổ khoá trên máy tính hoặc các máy trạm
không có ổ mềm.
- Ngăn chặn thâm nhập trái phép và lọc bỏ các gói tin không muốn gửi
hoặc nhận vì các lý do nào đó để bảo vệ một máy tính hoặc cả mạng nội bộ
- Quản trị mạng: quản trị mạng máy tính phải đƣợc thực hiện một cách
khoa học đảm bảo các yêu cầu sau:
+ Toàn bộ hệ thống hoạt động bình thƣờng trong giờ làm việc.
+ Có hệ thống dự phòng khi có sự cố trong giờ làm việc.
+ Backup dữ liệu quan trọng theo định kỳ.
+ Bảo dƣỡng mạng theo định kỳ.
+ Bảo mật dữ liệu, phân quyền truy cập, tổ chức nhóm làm việc trên
mạng.
1.2. Vai trò của an toàn và bảo mật thông tin
Thông tin đƣợc coi là dữ liệu vô cùng quan trọng đối với mọi doanh
nghiệp, tổ chức hay cá nhân. Để có đƣợc thông tin, dữ liệu đó, ngƣời dùng
phải đánh đổi bằng nhiều thứ. Chính vì thế, bảo mật thông tin là điều vô cùng
quan trọng và luôn đƣợc quan tâm sâu sắc.
Việc đảm bảo an toàn thông tin, an ninh mạng cho các hệ thống thông
tin, các hệ thống mạng tin học, viễn thông tại các cơ quan nhà nƣớc đang là

chủ đề nóng và luôn nhận đƣợc sự quan tâm đặc biệt của các ngành, các cấp
lãnh đạo. Thực tế cho thấy hầu hết các cuộc xung đột chính trị, kinh tế hay
quân sự ngày nay đều có sự tham gia của yếu tố công nghệ cao. Vì thế mất an
toàn thông tin không chỉ ảnh hƣớng đến sự phát triển kinh tế, chính trị mà còn
ảnh hƣởng lớn đến hòa bình và chủ quyền lãnh thổ của một quốc gia.
Đất nƣớc ta là một quốc gia đang phát triển, do vậy nƣớc ta đang đứng
trƣớc nhiều thách thức về vấn đề an ninh mạng. Tại nƣớc ta gần đây xuất hiện
nhiều hiện tƣợng đang ở mức báo động cao nhƣ lừa đảo qua mạng, đánh cắp

7
Footer Page 15 of 63.


Tài liu lun vn s phm 16 of 63.

thông tin và dữ liệu nhạy cảm, xâm nhập máy tính, hệ thống thông tin bất hợp
pháp, xuất hiện nhiều phần mềm gián điệp. Để đối phó với tình hình an toàn
thông tin ở mức báo động nhƣ hiện nay nƣớc ta cần phải tập trung đào tạo
nguồn nhân lực chất lƣợng cao và có đạo đức nghề nghiệp về an toàn thông
tin. Các tổ chức, đơn vị trong các cơ quan nhà nƣớc cần phải đặt vấn đề an
toàn, an ninh thông tin là một vấn đề quan trọng và cấp thiết, cần đẩy mạnh
yếu tố bảo mật cho các hệ thống thông tin, hạn chế sử dụng và cài đặt các
phần mềm, các chƣơng trình không rõ nguồn gốc vào các hệ thống máy tính.
Tóm lại, việc đảm bảo an toàn thông tin trong thời đại tin học hóa nhƣ
hiện nay đóng vai trò hết sức quan trọng và cần thiết. Điều này không chỉ
giúp cho đất nƣớc ta ngày càng phát triển về mặt khoa học kỹ thuật, thúc đẩy
sự phát triển nền kinh tế mà còn giúp cho đất nƣớc ta ổn định về mặt chính trị
và quốc phòng – an ninh.
1.3. Một số phƣơng pháp mã hóa dữ liệu
Theo [2] Để đảm bảo tính bí mật và xác thực của thông tin lƣu trữ

cố định hay thông tin trên đƣờng truyền, ngƣời ta phải che dấu các thông tin
đó. Việc che dấu thông tin là biến đổi thông tin gốc có thể hiểu đƣợc thành
những từ, ký hiệu ở dạng bí mật mà ngƣời khác không thể hiểu đƣợc. Những
từ ngữ, ký tự của văn bản gốc có thể hiểu đƣợc sẽ cấu thành nên bản rõ, còn
những từ, ký tự ở dạng bí mật không thể hiểu đƣợc thì đƣợc gọi là bản mã.
Quá trình trên đƣợc gọi là mã hóa dữ liệu.
Vai trò của mã hóa dữ liệu:
- Hệ mật mã phải che dấu đƣợc nội dung của văn bản rõ để đảm bảo
sao cho chỉ ngƣời chủ hợp pháp của thông tin mới có quyền truy cập thông
tin, hay nói cách khác là chống truy cập không đúng quyền hạn.
- Tạo ra các yếu tố xác thực thông tin, đảm bảo thông tin lƣu hành
trong hệ thống đến ngƣời nhận hợp pháp là xác thực.
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tƣợng giả
mạo, mạo danh để gửi thông tin trên mạng.
Có hai phƣơng thức mã hóa cơ bản đó là thay thế và hoán vị:

8
Footer Page 16 of 63.


Tài liu lun vn s phm 17 of 63.

- Phƣơng thức mã hóa thay thế là phƣơng thức mã hóa mà từng ký tự
gốc hay một nhóm ký tự gốc của bản rõ đƣợc thay thế bởi các từ, các ký hiệu
khác.
- Phƣơng pháp mã hóa hoán vị là phƣơng thức mã hóa mà các từ mã
của bản rõ đƣợc sắp xếp theo một phƣơng thức nhất định.
1.3.1. Hệ mã hóa
Theo [1] Một số khái niệm cơ bản về mã hóa:
- Bản rõ X là bản tin gốc, bản rõ có thể đƣợc chia nhỏ có kích thƣớc

phù hợp.
- Bản mã Y là bản tin gốc đã đƣợc mã hoá. Ở đây ta thƣờng xét phƣơng
pháp mã hóa mà không làm thay đổi kích thƣớc của bản rõ, tức là chúng có
cùng độ dài.
- Khoá K là thông tin tham số dùng để mã hoá, chỉ có ngƣời gửi và
nguời nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu
bảo mật.
- Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thƣờng bao
gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm
theo.
- Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngƣợc lại của
mã hóa.
- Mật mã là một chuyên ngành của khoa học máy tính nghiên cứu về
các nguyên lý và phƣơng pháp mã hoá. Hiện nay ngƣời ta đƣa ra nhiều chuẩn
an toàn cho các lĩnh vực khác nhau của công nghệ thông tin.
- Thám mã là phƣơng pháp nghiên cứu các nguyên lý và phƣơng pháp
giải mã mà không biết khoá. Thông thƣờng khi đƣa các mã mạnh ra làm
chuẩn dùng chung giữa các ngƣời sử dụng, các mã đó đƣợc các kẻ thám mã
cũng nhƣ những ngƣời phát triển mã tìm hiểu nghiên cứu các phƣơng pháp
giải một phần bản mã với các thông tin không đầy đủ.

9
Footer Page 17 of 63.


Tài liu lun vn s phm 18 of 63.

- Khái niệm mã hóa dữ liệu: “Mã hóa dữ liệu là chuyển dữ liệu từ dạng
này sang dạng khác hoặc sang dạng code mà chỉ có ngƣời có quyền truy cập
vào khóa giải mã hoặc có mật khẩu mới có thể đọc đƣợc nó”.

a, Các thành phần của một hệ mã hóa
Một hệ mã hóa là một bộ năm (P, C, K, E, D) thoả mãn các điều kiện
sau:
 P là một tập hữu hạn các bản rõ có thể
 C là tập hữu hạn các bản mã có thể
 K là tập hữu hạn các khoá có thể
 E là tập các hàm lập mã
 D là tập các hàm giải mã
Với khóa lập mã

P  C,

có hàm lập mã

Với khóa giải mã kd

,
(x đƣợc gọi là bản rõ,

(x)) = x,

C  P, sao cho

(x) đƣợc gọi là bản mã).

Đây là tính chất quan trọng nhất của mã hóa, có nội dung nhƣ sau: nếu
mã hóa

và bản mã nhận đƣợc sau đó giải mã bằng hàm


thì kết quả nhận

đƣợc phải là bản rõ ban đầu. Rõ ràng trong trƣờng hợp này, hàm

(x) phải là

một đơn ánh, nếu không thì ta sẽ không giải mã đƣợc. Vì nếu tồn tại
sao cho y =
đƣợc mã từ

( )=
hay



( ) thì khi nhận đƣợc bản mã y ta không biết nó

.

Thƣờng thì không gian các bản rõ và không gian các bản mã là các văn
bản đƣợc tạo thành từ một bộ chữ cái nào đó. Đó có thể là bộ chữ cái tiếng
Anh, bộ mã ASCII, bộ mã Unicode hoặc đơn giản nhất là các bit 0 v+à 1.
b, Mã hóa và giải mã:
Ngƣời gửi G

(T)

(có khóa lập mã ke)

(có khóa giải mã kd)

Tin tặc có thể trộm bản mã
(T)

10
Footer Page 18 of 63.

Ngƣời nhận N


Tài liu lun vn s phm 19 of 63.

Ngƣời gửi G muốn gửi bản tin T cho ngƣời nhận N. Để bảo đảm bí
mật, G mã hóa bản tin bằng khóa lập mã ke, nhận đƣợc bản mã
gửi cho N. Tin tặc có thể trộm bản mã

(T) sau đó

(T) nhƣng cũng khó hiểu đƣợc bản

tin gốc T nếu không có khóa giải mã kd.
Ngƣời N nhận đƣợc bản mã, họ dùng khóa giải mã kd, để giải mã
(T) , sẽ nhận đƣợc bản tin gốc T=

(T)

1.3.2. Tiêu chuẩn đánh giá hệ mật mã
Để đánh giá một hệ mã hóa ngƣời ta thƣờng đánh giá thông qua các
tính chất sau:
a, Độ an toàn:
Một hệ mã hóa đƣợc đƣa vào sử dụng, điều đầu tiên phải có độ an toàn

cao. Ƣu điểm của mã hóa là có thể đánh giá đƣợc độ an toàn thông qua độ an
toàn tính toán mà không cần phải cài đặt. Một hệ mã hóa đƣợc coi là an toàn
nếu để phá hệ mã hóa này phải dùng n phép toán. Mà để giải quyết n phép
toán cần thời gian vô cùng lớn, không thể chấp nhận đƣợc. Một hệ mã hóa
đƣợc gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau:
- Chúng phải có phƣơng pháp bảo vệ mà chỉ dựa trên sự bí mật của các
khóa, công khai thuật toán.
- Khi cho khóa công khai
C. Ngƣợc lại khi cho
không biết

và bản rõ P thì dễ dàng tính đƣợc

và bản mã C thì dễ dàng tính đƣợc

(P) =

(M)=P. Khi

thì không có khả năng tìm đƣợc M từ C, nghĩa là khi cho hàm

f: X → Y thì việc tính y = f(x) với mọi x

X là dễ còn việc tìm x khi biết y

lại là vấn đề khó và nó đƣợc gọi là hàm một chiều.
- Bản mã C không đƣợc có các đặc điểm gây chú ý, nghi ngờ.
b, Tốc độ mã và giải mã:
Khi đánh giá hệ mã hóa chúng ta phải chú ý đến tốc độ mã hóa và giải
mã. Hệ mã hóa tốt thì thời gian mã hóa và giải mã nhanh.

c, Phân phối khóa:
Một hệ mã hóa phụ thuộc vào khóa, khóa này đƣợc truyền công khai
hay truyền khóa bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với

11
Footer Page 19 of 63.


Tài liu lun vn s phm 20 of 63.

các hệ mã hóa có khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa
chọn hệ mã hóa.
1.3.3. Phân loại hệ mã hóa
Theo [2] Hiện nay có 2 phƣơng pháp mã hóa chính: Mã hóa khóa đối
xứng và mã hóa khóa công khai.
Hệ mã hóa khóa đối xứng có khóa lập mã và khóa giải mã “giống
nhau”, biết đƣợc khóa này thì dễ tính đƣợc khóa kia. Vì vậy phải giữ bí mật
cả 2 khóa.
Hệ mã hóa khóa công khai có khóa lập mã khác khóa giải mã (ke
kd), biết đƣợc khóa này cũng khó tính đƣợc khóa kia. Vì vậy chỉ cần bí mật
khóa giải mã, còn công khai khóa lập mã.
a, Hệ mã hóa khóa đối xứng
“Mã hóa khóa đối xứng (còn gọi là hệ mã khoá bí mật hoặc khoá
riêng): là hệ mã hóa mà biết đƣợc khóa lập mã thì có thể tính đƣợc khóa giải
mã và ngƣợc lại”. Trƣớc khi dùng hệ mã hóa khóa đối xứng, ngƣời gửi và
ngƣời nhận phải thỏa thuận thuật toán mã hóa và khóa chung (lập mã hay giải
mã), khóa phải đƣợc giữ bí mật. Độ an toàn của hê mã hóa này phụ thuộc vào
khóa.
Ưu điểm: Tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công
khai.

Nhược điểm:
+ Ngƣời mã hóa và ngƣời giải mã phải có chung một khóa. Khóa phải
đƣợc giữ bí mật tuyết đối, vì biết khóa này dễ xác định đƣợc khóa kia và
ngƣợc lại.
+ Vấn đề thỏa thuận khóa và quản lí khóa chung là khó khăn và phức
tạp. Ngƣời gửi và ngƣời nhận phải luôn thống nhất với nhau về khóa. Việc
thay đổi khóa là rất khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên
kênh an toàn.

12
Footer Page 20 of 63.


Tài liu lun vn s phm 21 of 63.

b, Hệ mã hóa khóa công khai
“Mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mã
khác nhau (ke

kd), biết đƣợc khóa này cũng khó tính đƣợc khóa kia”.

Hệ mã hóa này đƣợc gọi là Hệ mã hóa khóa công khai vì:
- Khóa lập mã cho công khai, gọi là khóa công khai.
- Khóa giải mã giữ bí mật, gọi là khóa riêng hay khóa bí mật.
- Một ngƣời bất kì có thể dùng khóa công khai để mã hóa bản tin,
nhƣng chỉ ngƣời nào đó có đúng khóa giải mã thì mới có khả năng đọc đƣợc
bản rõ.
Ưu điểm:
+ Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng, cho
nhiều ngƣời dùng, họ chỉ cần giữ bí mật khóa riêng của mình.

+ Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa
công khai và bí mật “dễ dàng”.
Ngƣời gửi có bản rõ P và khóa công khai thì dễ tạo ra bản mã C
Ngƣời nhận có bản mã C và khóa bí mật thì dễ giải đƣợc thành bản rõ P.
+ Ngƣời mã hóa dùng khóa công khai, ngƣời giải mã giữ khóa bí mật.
Khả năng lộ khóa bí mật khó hơn vì chỉ có một ngƣời giữ gìn.
Nhược điểm: Tốc độ mã hóa và giải mã chậm hơn hệ mã hóa khóa đối
xứng.
1.4. Các hệ mã hóa khóa bí mật
Hệ mã hóa khóa bí mật hay còn gọi là hệ mã hóa khóa đối xứng.
 Hệ mã hóa đối xứng – cổ điển
Khái niệm: “Hệ mã hóa đối xứng đƣợc dùng từ rất sớm nên đƣợc gọi là
Hệ mã hóa đối xứng cổ điển”.
Hệ mã hóa đối xứng cổ điển: dễ hiểu, dễ thực thi, nhƣng có độ an toàn
không cao. Vì giới hạn tính toán chỉ trong phạm vi bảng chữ cái, sử dụng
trong bảng tin cần mã, ví dụ là

nếu dùng các chữ cái tiếng anh. Với hệ mã
13

Footer Page 21 of 63.


Tài liu lun vn s phm 22 of 63.

hóa cổ điển, nếu biết khóa lập mã hay thuật toán lập mã, có thể dễ xác định
đƣợc bản rõ, vì dễ tìm đƣợc khóa giải mã.
Quá trình Lập mã đƣợc thực hiện theo các bƣớc sau:
1/. Nhập bản rõ kí tự: RÕ_CHỮ.


2/. Chuyển RÕ_CHỮ

3/. Chuyển RÕ_SỐ

4/. Chuyển MÃ_SỐ

MÃ_SỐ.

RÕ_SỐ.
MÃ_CHỮ.

Quá trình Giải mã đƣợc thực hiện theo các bƣớc sau:
1/. Nhập bản mã ký tự: MÃ_CHỮ. 2/. Chuyển MÃ_CHỮ
3/. Chuyển MÃ_SỐ

RÕ_SỐ.

4/. Chuyển RÕ_SỐ

MÃ_SỐ.
RÕ_CHỮ.

Để chuyển CHỮ sang SỐ hay ngƣợc lại từ SỐ trở về CHỮ theo một
quy tắc nào đó, ví dụ chữ cái thay bằng số theo modulo 26 nhƣ sau:
A B C D E F G H I J K L M N O P Q R S T U V X Y Z
0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
0 1 2 3 4 5 6 7 8 9 0 1 3 4 5
Để thực hiện mã hóa hay giải mã với các “số”, ngƣời ta dùng các phép
toán số học theo modulo 26.
Các hệ mã hóa cổ điển

Mã hóa cổ điển gồm nhiều hệ:
Hệ mã hóa dịch chuyển: Khóa có 1 chìa. (Thể hiện bằng 1 giá trị).
Hệ mã Affine:
Khóa có 2 chìa
(Thể hiện bằng 2 giá trị).
Hệ mã hóa thay thế:
Khóa có 26 chìa (Thể hiện bằng 16 giá trị).
Hệ mã hóa VIGENERE:
Khóa có m chìa
(Thể hiện bằng m giá trị).
Hệ mã hóa HILL:
Khóa có ma trận chìa (Chùm chìa khóa).
a, Hệ mã hóa dịch chuyển
Sơ đồ
Đặt P = C = K =
Với khóa k

, bản mã y và bản rõ x

K, ta định nghĩa:

Hàm Mã hóa: y =

(x) = (x + k) mod 26

Hàm Giải mã: x =

(y) = (y - k) mod 26

14

Footer Page 22 of 63.

.


Tài liu lun vn s phm 23 of 63.

Ví dụ
 Bản rõ chữ: BACGIANGQUETOI
 Chọn khóa: k=3
 Bản rõ số: 1 0 2 6 8 0 13 6 16 20 4 19 14 8
 Với phép mã hóa y =
nhận đƣợc:

(x) = (x + k) mod 26 = (x + 3) mod 26, ta

 Bản mã số: 4 3 5 9 11 3 16 9 19 23 7 22 17 11
 Bản mã chữ: EDFJLDQJTXHWRL
 Với phép giải mã x = (y) = (y - k) mod 26 = (y - 3) mod 26, ta
nhận lại đƣợc bản rõ số, sau đó là bản rõ chữ.
Độ an toàn: Độ an toàn của mã dịch chuyển rất thấp
 Tập khóa K chỉ có 26 khóa, nên việc phá khóa có thể thực hiện dễ
dàng bằng cách thử kiểm tra từng khóa: k = 1, 2, 3, …, 26.
b, Hệ mã hóa: Thay thế (Hoán vị toàn cục)
Sơ đồ
Đặt P = C =

. Bản mã y và bản rõ x

Tập khóa K là tập mọi hoán vị trên

Với khóa k =

.
.
, ta định nghĩa:

K, tức là 1 hoán vị trên

Mã hóa: y =

(x) =

Giải mã: x =

(y) =

)
(y)

Ví dụ
 Bản rõ chữ: B A C G I A N G Q U E
 Chọn khóa k =

TOI

là hoán vị:

A B C D E F G H I J K L M N O P Q R S T U V X Y
Y X V U T S R Q P O N M L K J I H G F E D C B A Z
Mã hóa theo công thức


y=

(x) =

):

Bản mã chữ: X Y V Z R P Y K R Z H D T Z E J P
15
Footer Page 23 of 63.


Tài liu lun vn s phm 24 of 63.

Giải mã theo công thức x =

(y), ta nhận lại đƣợc bản rõ chữ.

(y) =

Độ an toàn: Độ an toàn của mã thay thế thuộc loại cao.
Tập khóa K có 26! Khóa (>4.

), nên việc phá khóa có thể thực hiện

bằng cách duyệt tuần tự 26! Hoán vị của 26 chữ cái.
Để kiểm tra tất cả 26! Khóa, tốn rất nhiều thời gian.
c, Hệ mã hóa AFFINE
Sơ đồ
Đặt P = C =


. Bản mã y và bản rõ x

Tập khóa K = {(a, b), với a, b
Với khóa K = (a, b)

.

, UCLN (a, 26) = 1}

K, ta định nghĩa:

Mã hóa: y =

(x) = (ax + b) mod 26

Giải mã: x =

(y) =

(y – b) mod 26

Ví dụ
 Bản rõ chữ: TOANHOC
 Chọn khóa k = (3, 5)
 Bản rõ số: 19 14 0 13 7 14 2
 Mã hóa theo công thức y =

(x) = (ax + b) mod 26 = (3x + 5) mod 26


 Bản mã số: 10 21 5 18 0 21 11
 Bản mã chữ: KVFSAVL
 Giải mã theo công thức x =

(y) =

(y – b) mod 26

= 9*(y - 5) mod 26
(vì a.

= 1 mod 26

=

),

UCLN (a, b) = 1

Độ an toàn: độ an toàn của hệ mã hóa Affine rất thấp.
+ Điều kiện UCLN (a, 26) = 1 để bảo đảm a có phần tử nghịch đảo
mod 26, tức là thuật toán giải mã
+ Số lƣợng a

luôn thực hiện đƣợc.

nguyên tố với 26 là (26) =12, đó là

1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25
16

Footer Page 24 of 63.


Tài liu lun vn s phm 25 of 63.

Các số nghịch đảo theo (mod 26) tƣơng ứng:
1, 9, 21, 15, 3, 19, 7, 23, 11, 5, 17, 25
+ Số lƣợng b

là 26

+ Số các khóa (a, b) có thể là 12*26 = 312. Vì vậy việc tìm khóa mật
khá dễ dàng.
d, Hệ mã hóa VIGENERE
Sơ đồ
Đặt P = C = K = (

, m là số nguyên dƣơng, các phép toán thực

hiện trong
Bản mã Y và bản rõ X
phần tử

. Khóa k = (k1, k2, …, km) gồm m

(

Mã hóa Y = (y1, y2, …, ym) =

(x1, x2,…, xm) = (x1+ k1, x2 + k2,


…, xm + km) mod 26
Giải mã X = (x1, x2, …, xm) =

(y1, y2,…, ym) = (y1 - k1, y2 -

k2,…, ym - km) mod 26
Ví dụ
Bản rõ chữ: VIENCNTT
Chọn khóa k = SPTIN = {18, 15, 19, 8, 13} với độ dài m = 5
Bản rõ số: 21 8 4 13 2 13 19 19
Mã hóa: Chia bản rõ thành các đoạn, mỗi đoạn gồm m = 5 số.
Với mỗi đoạn, áp dụng công thức mã hóa, ta nhận đƣợc bản mã số.
21
18

8
15

4
19

13
8

2
13

13
18


19
15

19
19

13

23

23

21

15

5

8

12

Bản mã số: 13 23 23 21 15 5 8 1 2
Bản mã chữ: NXXVP FIM
Độ an toàn: Độ an toàn của mã VIGENERE tƣơng đối cao
17
Footer Page 25 of 63.



×