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

Bài Tập Lớn Ứng Dụng Mã Hóa Và Giải Mã Affine.pdf

19 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 đề Ứng Dụng Mã Hóa Và Giải Mã Affine
Tác giả Đỗ Bá Thượng, Bùi Ngọc Khánh, Trần Tiến Huy, Nguyễn Đức Hưng, Bùi Văn Hiệp, Nguyễn Thùy Trang
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành An Toàn Bảo Mật
Thể loại Bài Tập Lớn
Năm xuất bản 2022
Thành phố Bắc Ninh
Định dạng
Số trang 19
Dung lượng 1,35 MB

Nội dung

Trong đó có bảo vệ an toàn thông tin bằng mật mã Mật mã là một nghành khoa học chuyên nghiên cứu các phương pháp truyền tin bí mật.. Các đe dọa đối với một hệ thống thông tin có thể đến

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÀI TẬP LỚN HỌC PHẦN: AN TOÀN BẢO MẬT

TÊN BÀI TẬP LỚN:

ỨNG DỤNG MÃ HÓA VÀ GIẢI MÃ AFFINE

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BÀI TẬP LỚN HỌC PHẦN: AN TOÀN BẢO MẬT

TÊN (BÀI TẬP LỚN): ỨNG DỤNG MÃ HÓA VÀ GIẢI

MÃ AFFINE

SV

CÁN BỘ CHẤM 1

(Ký và ghi rõ họ tên)

CÁN BỘ CHẤM 2 (Ký và ghi rõ họ tên)

Bắc Ninh, tháng 6 Năm 2022

Trang 3

Mục lục

Chương 1 Tổng quan về an toàn thông tin 6

1.1 Tại sao cần bào đảm an toàn thông tin 6

1.2 Khái niệm hệ thống và tài sản hệ thống 6

1.3 Các mối đe dọa đối với hệ thống và các biện pháp ngăn chặn 7

1.4 Mục tiêu chung của an toàn bảo mật thông tin 8

1.5 Các chiến lước an toàn hệ thống 8

1.6 Các mức bảo vệ trên mạng 9

Chương 2 Phương pháp mã hóa cổ điển Affine 11

2.1 Khái niệm về mã hóa dữ liệu 11

2.2 Hệ mã hóa: Affine 11

Chương 3 Chương trình thử nghiệm hệ mã Affine trên c# 16

3.1 Giao diện chương trình 16

3.2 Kiểm thử 17

Chương 4 Kết luận 18

4.1 Kết quả đạt được 18

4.2 Hạn chế 18

4.3 Hướng phát triển 18

Trang 4

Mục lục hình ảnh

Hình 1.1 Mục tiêu chính an toàn bảo mật 7 Hình 1.2 Sơ đồ mức bảo vệ trên mạng 8 Hình 3.1 Giao diện chương trình 15 Hình 3.2 Hình ảnh chạy kiểm thử chương trình 1

Trang 5

Mở đầu Ngày nay việc ứng dụng công nghệ thông tin vào các nghành nghề đã mang lại rất nhiều lợi ích cho mọi mặt của cuộc sống Bên cạnh đó cũng đưa ra những thách thức khi hòa nhập toàn cầu về mặt đảm ảo an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có rất nhiều phương pháp được thực hiện để bảo

vệ an toàn thông tin dữ liệu Trong đó có bảo vệ an toàn thông tin bằng mật mã

Mật mã là một nghành khoa học chuyên nghiên cứu các phương pháp truyền tin bí mật Mật mã bao gồm: Lập mã và phá mã Lập mã bao gồm hai quá trình: mã hóa và giải mã

Hiện nay có rất nhiều hệ mật mã Nếu dựa vào cách truyền khóa có thể phân các hệ mật mã thành hai loại: hệ mật mã đối xứng và hệ mật mã bất đối xứng Ngoài ra nếu dựa vào cách thức tiến hành mã thì hệ mật mã còn được chia làm hai loại là mã dòng và mã khối Còn nếu dự vào thời gian đưa ra hệ mật mã ta còn có thể phân làm hai loại: Mật mã

cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại ( ra đời sau năm 1970) Trong bài tiểu luận này, em xin trình bày vê một loại hệ mã hóa cổ điển là Affine

Trang 6

Chương 1 Tổng quan về an toàn thông tin

1.1 Tại sao cần bào đảm an toàn thông tin

Ngày nay, sự xuất hiện Internet và mạng máy tính _đã gi`p cho việc trao đổi thông tin tra nên nhanh gọn, db dàng E-mail cho phep người ta nhân _ hay gửi thư ngay trên máy tính của mình, E-business cho phep thưc _ hiên _ các giao dic _h buôn bán trên man _g, Tuy nhiên laf phát sinh những vấn đề mới Thông tin quan tron _g nằm a kho dữ liêụ hay đang trên đường truyền có thể bi trộm cgp, có thể bi làm sai lệch, có thể bi giả mạo Điều đó có thể ảnh hưang tới các tổ chức, các công ty hay cả môt quốc gia Những bí mật kinh doanh, tài chính là mục tiêu của các đối thủ cạnh tranh Những tin tức về an ninh quốc gia là mục tiêu của các tổ chức tinih báo trong và ngoài nước Để giải quyết tình hình trên, vấn đề bảo đảm an toàn thông tin (ATTT)

đã được đặt ra trong lý luận cũng như trong thực tibn

Thông tin là một bộ phần quan trọng và là tài sản thuộc quyền sa hữu của các

tổ chức

Sự thiệt hại và lạm dụng thông tin không chỉ ảnh hưang đến người sử dụng hoặc các ứng dụng mà nó còn gây ra các hậu quả tai hại cho toàn bộ tổ chức đó Thêm vào đó sự ra đời của Internet đã gi`p cho việc truy cập thông tin ngày càng tra nên db dàng hơn

1.2 Khái niệm hệ thống và tài sản hệ thống

Khái niệm hệ thống: Hệ thống là một tập hợp các máy tính bao gồm các

thành phần, phần cứng, phần mềm và dữ liệu làm việc được tích luỹ qua thời gian

Tài sản của hệ thống bao gồm:

- Phần cứng

- Phần mềm

- Dữ liệu

- Các truyền thông giữa các máy tính của hệ thống

- Môi trường làm việc

Trang 7

- Con người.

1.3 Các mối đe dọa đối với hệ thống và các biện pháp ngăn chặn

Có 3 hình thức chủ yếu đe dọa đối với hệ thống:

Phá hoại: kẻ thù phá hỏng thiết bf phần cứng hoặc phần mềm hoạt động trên hệ thống

Sửa đổi: Tài sản của hệ thống bf sửa đổi trái phep Điều này thường làm cho hệ thống không làm đ`ng chức năng của nó Chẳng hạn như thay đổi mật khẩu, quyền người dùng trong hệ thống làm họ không thể truy cập vào hệ thống để làm việc Can thiệp: Tài sản bf truy cập bai những người không có thẩm quyền Các truyền thông thực hiện trên hệ thống bf ngăn chặn, sửa đổi

Các đe dọa đối với một hệ thống thông tin có thể đến từ ba loại đối tượng như sau:

Các đối tượng từ ngay bên trong hệ thống (insider), đây là những người có quyền truy cập hợp pháp đối với hệ thống

Những đối tượng bên ngoài hệ thống (hacker, cracker), thường các đối tượng này tấn công qua những đường kết nối với hệ thống như Internet chẳng hạn Các phần mềm (chẳng hạn như spyware, adware ) chạy trên hệ thống Các biện pháp ngăn chặn:

Điều khiển thông qua phần mềm: dựa vào các cơ chế an toàn bảo mật của hệ thống nền (hệ điều hành), các thuật toán mật mã học

Điều khiển thông qua phần cứng: các cơ chế bảo mật, các thuật toán mật mã học được cứng hóa để sử dụng

Điều khiển thông qua các chính sách của tổ chức: ban hành các qui đfnh của tổ chức nhằm đảm bảo tính an toàn bảo mật của hệ thống

Trang 8

1.4 Mục tiêu chung của an toàn bảo mật thông tin

Có 3 mục tiêu chính bao gồm

Hình 1.1 Mục tiêu chính an toàn bảo mật Tính bí mật (Confidentiality): Đảm bảo rằng thông tin không bf truy cập bất hợp pháp

Thuật ngữ privacy thường được sử dụng khi dữ liệu được bảo vệ có liên quan tới các thông tin mang tính cá nhân

Tính toàn vẹn (Integrity): Đảm bảo rằng thông tin không bf sửa đổi bất hợp pháp

Tính sẵn sàng (availability): Tài sản luôn sẵn sàng được sử dụng bai nhưng người có thẩm quyền

1.5 Các chiến lước an toàn hệ thống

Điểm nối yếu nhất (Weakest Link):Chiến lược này dựa trên nguyên tgc: “ Một dây xích chỉ chgc tại mgt duy nhất, một bức tường chỉ cứng tại điểm yếu nhất”

Trang 9

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ộ

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 db dàng tấn công vào các hệ thống khác

1.6 Các mức bảo vệ trên mạng

Quyền truy nhậ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: Thực ra đây cũng là kiểm soát quyền truy nhập, nhưng không phải truy nhập a mức thông tin mà a mức hệ thống

Mã hoá dữ liệu: Dữ liệu bf 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 a trạm nhận (giải mã)

Bảo vệ vật lý: Ngăn cản các truy nhập vật lý vào hệ thống

Tường lửa: Ngăn chặn thâm nhập trái phep 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ộ (intranet)

Trang 10

Hình 1.2 Sơ đồ mức bảo vệ trên mạng Quản trị mạng: Công tác quản trf 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ố về phần cứng hoặc phần mềm xảy ra

- Backup dữ liệu quan trọng theo đfnh kỳ

- Bảo dưỡng mạng theo đfnh 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

Trang 11

Chương 2 Phương pháp mã hóa cổ điển Affine

2.1 Khái niệm về mã hóa dữ liệu

Mã hóa dữ liệu (Data Encryption) là một phương pháp bảo vệ thông tin một cách hiệu quả và an toàn Hình thức này thông qua việc chuyển đổi thông tin từ các dạng có thể hiểu và đọc được theo cách thông thường sang dạng không thể hiểu hay đọc được theo cách thông thường như thế

Mã hóa (Encryption): là hành động xáo trộn bản rõ để chuyển thành bản mã Giải mã (Decryption): là hành động giải xáo trộn bản mã để chuyển thành bản rõ

Vai trò của mã hóa Mã hoá thông tin có thể được sử dụng để đảm bảo an toàn thông tin trên đường truyền với các thuộc tính: Bí mật (confidentiality) Toàn vẹn (integrity) Xác thực (authentication) Không thể chối bỏ (non-repudiation) 2.2 Hệ mã hóa: Affine

Mật mã affine là một dạng mật mã thay thế dùng một bảng chữ cái, trong đó mỗi chữ cái được ánh xạ tới một số sau đó mã hóa qua một hàm số toán học đơn giản Mã Affine là một trường hợp đặc biệt của mã Caesar, trong đó các chữ cái được mã hóa với hàm

MDV là một trường hợp đặc biệt của MTT chỉ gồm 26 trong số 26! các hoán vf

có thể của 26 phần tử Một trường hợp đặc biệt khác của MTT là mã Affine được mô

tả dưới đây trong mã Affine, ta giới hạn chỉ xet các hàm mã có dạng:

e(x) = ax + b mod 26, a,b Z Các hàm này được gọi là các hàm Affine (ch` ý rằng khi a = 1, ta có26

MDV)

Để việc giải mã có thể thực hiện được, yêu cầu cần thiết là hàm Affine phải là

Trang 12

Vì y thay đổi trên Z nên y-b cũng thay đổi trên Z Bai vậy, ta chỉ cần26 26

nghiên cứu phương trình đồng dư:

ax y (mod 26) (y Z26 )

Ta biết rằng, phương tfình này có một nghiệm duy nhất đối với mỗi y khi và chỉ khi UCLN(a,26) = 1 (a đây hàm UCLN là ước chung lớn nhất của các biến của nó) Trước tiên ta giả sử rằng, UCLN(a,26) = d 1 Khi đó, đồng dư thức ax 0 (mod 26) sẽ có ít nhất hai nghiệm phân biệt trong Z là x = 0 và x = 26/d Trong26

trường hợp này, e(x) = ax + b mod 26 không phải là một hàm đơn ánh và bai vậy nó không thể là hàm mã hoá hợp lệ

Ví dụ, do UCLN(4,26) = 2 nên 4x +7 không là hàm mã hoá hợp lệ: x và x+13

sẽ mã hoá thành cùng một giá trf đối với bất kì x Z 26

Ta giả thiết UCLN(a,26) = 1 Giả sử với x và x nào đó thảo mãn:1 2

ax1 ax (mod 26)2

Khi đó:

a(x1- x ) 0(mod 26)2

Bai vậy:s

26 | a(x - x )1 2

Bây giờ ta sẽ sử dụng một tính chất của phep chia sau: Nếu USLN(a,b)=1 và a

bc thì a c Vì 26 a(x - x ) và USLN(a,26) = 1 nên ta có:1 2

26 (x1- x )2

Tức là

x1 x (mod 26)2

Tới đây ta chứng tỏ rằng, nếu UCLN(a,26) = 1 thì một đồng dư thức dạng ax

y (mod 26) chỉ có (nhiều nhất) một nghiệm trong Z Do đó , nếu ta cho x thay đổi26

trên Z thì ax mod 26 sẽ nhận được 26 giá trf khác nhau theo modulo 26 và đồng dư26

thức ax y (mod 26) chỉ có một nghiệm y duy nhất

Không có gì đặc biệt đối vơí số 26 trong khẳng đfnh này Bai vậy, bằng cách tương tự ta có thể chứng minh được kết quả sau:

Trang 13

Định lí:

Đồng dư thức ax b mod m chỉ có một nghiệm duy nhất x Z với mọi b m

Zm khi và chỉ khi UCLN(a,m) = 1

Vì 26 = 2 13 nên các giá trf a Z thoả mãn UCLN(a,26) = 1 là a = 1, 3, 5,26

7, 9, 11, 13, 15, 17, 19, 21, 23 và 25 Tham số b có thể là một phần tử bất kỳ trong

Z26 Như vậy, mã Affine có 12 26 = 312 khoá có thể ( dĩ nhiên con số này quá nhỉ để bảo đảm an toàn)

Bây giờ ta sẽ xet bài toán chung với modulo m Ta cần một đfnh nghĩa khác trong lý thuyết số

Định nghĩa:

Giả sử a 1 và m 2 là các số nguyên UCLN(a,m) = 1 thì ta nói rằng a và m

là nguyên tố cùng nhau Số các số nguyên trong Z nguyên tố cùng nhau với mm

thường được ký hiệu là (m) ( hàm này được gọi là hàm Euler)

Một kết quả quan trọng trong lý thuyết số cho ta giá trf của (m) theo các thừa

số trong phep phân tích theo luỹ thừa các số nguyên tố của m ( Một số nguyên p 1

là số nguyên tố nếu nó không có ước dương nào khác ngoài 1 và p Mọi số nguyên

m 1 có thể phân tích được thành tích của các luỹ thừa các số nguyên tố theo cách duy nhất Ví dụ 60 = 2 3 5 và 98 = 2 7 3 2 )

Định lí:

Giả sử m = pi

Trong đó các số nguyên tố p khác nhau và >0 ,1i ei

Đfnh lý này cho thấy rằng, số khoá trong mã Affine trên Z bằng m (m), trongm

đó (m) được cho theo công thức trên ( Số các phep chọn của b là m và số các phep

Trang 14

(mod 26) theo x Từ thảo luận trên thấy rằng, phương trình này có một nghiệm duy nhất trong Z Tuy nhiên ta vẫn chưa biết một phương pháp hữu hiệu để tìm26

nghiệm Điều cần thiết a đây là có một thuật toán hữu hiệu để làm việc đó Rất may

là một số kết quả tiếp sau về số học modulo sẽ cung cấp một thuật toán giải mã hữu hiệu cần tìm

Định nghĩa:

Giả sử a Z Phần tử nghfch đảo (theo phep nhân) của a là phần tử am -1 Zm

sao cho aa a a 1 (mod m).-1 -1

Bằng các lý luận tương tự như trên, có thể chứng tỏ rằng a có nghfch đảo theo modulo m khi và chỉ khi UCLN(a,m) =1, và nếu nghfch đảo này tồn tại thì nó phải

là duy nhất Ta cũng thấy rằng, nếu b = a thì a = b Nếu p là số nguyên tố thì mọi-1 -1

phần tử khác không của Z đều có nghfch đảo Một vành trong đó mọi phần tử đềuP

có nghfch đảo được gọi là một trường

Trong phần sau sẽ mô tả một thuật toán hữu hiệu để tính các nghfch đảo của Zm

với m tuỳ ý Tuy nhiên, trong Z , chỉ bằng phương pháp thử và sai cũng có thể tìm26

được các nghfch đảo của các phần tử nguyên tố cùng nhau với 26: 1 = 1, 3 = 9, 5-1 -1

-1 = 21, 7-1 = 15, 11 = 19, 17 =23, 25 = 25 (Có thể db dàng kiểm chứng lại điều-1 -1 -1

này, ví dụ: 7 5 = 105 1 mod 26, bai vậy 7 = 15).-1

Xet phương trình đồng dư y ax+b (mod 26) Phương trình này tương đương với

ax y-b ( mod 26)

Vì UCLN(a,26) =1 nên a có nghfch đảo theo modulo 26 Nhân cả hai vế của đồng dư thức với a ta có: -1

a-1(ax) a (y-b) (mod 26) -1

Áp dụng tính kết hợp của phep nhân modulo:

a-1(ax) (a a)x 1x x.-1

Kết quả là x a (y-b) (mod 26) Đây là một công thức tường minh cho x Như-1

vậy hàm giải mã là:

d(y) = a (y-b) mod 26-1

Trang 15

Sơ đồ

Đặt Bản mã y và bản rõ

Tập khóa K= {(a,b), với , UCLN(a, 26) = 1}

Với khóa , ta đfnh nghĩa:

Phep mã hóa mod 26

Phep giải mã mod 26

Ví dụ 1:

Bản rõ chữ: CHIEUNAYOVUONHOA

Chọn khóa k = (a, b) = (3, 6)

Bản rõ số: x = 2 7 8 4 20 13 0 24 14 21 20 14 13 7 14 0

Mã hóa theo công thức y = (x) = (a x + b) mod26 = (3x + 6) mod 26 Bản mã số: y = 12 1 4 18 14 19 6 0 22 17 14 19 1 22 6

Bản mã chữ: MBESOTGAWROWTBWG

Giải mã theo công thức x= (y) = (y-b) mod26

= (y-6) mod26 = 9*(y-6) mod26

Độ an toàn: Độ an toàn của hệ mã hóa Affine: rất thấp

Trang 16

Chương 3 Chương trình thử nghiệm hệ mã Affine trên c# 3.1 Giao diện chương trình

Hình 3.1 Giao diện chương trình

Giao diện chương trình được chia làm 2 phần:

Phần 1: Mã hóa:

Bản rõ

Khóa a, khóa b

N`t mã hóa

Bản mã

Phần 2: Giải mã:

Bản mã

Khóa a, khóa b

N`t giải mã

Bản rõ

Trang 17

3.2 Kiểm thử

Hình 3.2 Hình ảnh chạy kiểm thử chương trình Thực hiện kiểm thử mã hóa:

Bước 1: Nhập bản rõ: CHIEUNAYOVUONHOA

Bước 2: Nhập khóa a = 3, khóa b = 6

Bước 3: Ta thực hiện nhấn n`t mã hóa: chương trình trả về cho ta 1 bản mã MBESOTGAWROWRBWG

Thực hiện kiểm thử giải mã:

Bước 1: Nhập bản mã: MBESOTGAWROWRBWG

Bước 2: Nhập khóa a = 3, khóa b = 6

Trang 18

Chương 4 Kết luận 4.1 Kết quả đạt được

- Dự án đã thực hiện được phương thức mã hóa và giải mã Affine

- Qua việc thực hiện dự án, các thành viên trong dự án r`t ra được nhiều kinh nghiệm hơn cho bản thân như kinh nghiệm làm việc nhóm, nhiều kiến thức hữu ích, khả năng tự học hỏi

- Bài tiểu luận tiến hành nghiên cứu giải quyết bài toán về mã hóa, giải mã trên hẹ

mã cổ điển Affine

4.2 Hạn chế

- Nghiên cứu hệ mã Affine chỉ sử dụng các ký tự là bảng chữ cái, bảng chữ cái không lớn nên bf giới hạn nên bf giới hạn bai các bảng chữ cái

- Db bf tấn công bằng cách phân tích tần số và khó phòng ngừa Không có khả năng phục hồi văn bản gốc

4.3 Hướng phát triển

- Thay thế Affine bằng hệ mã đối xứng khác an toàn hơn như (AES, DES)

Ngày đăng: 04/05/2024, 12:46

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

TÀI LIỆU LIÊN QUAN

w