1. Trang chủ
  2. » Công Nghệ Thông Tin

Do an mat ma hocdemo

33 433 4

Đ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

Định dạng
Số trang 33
Dung lượng 1,33 MB
File đính kèm DoAnMatMaHocdemo.rar (1 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án mật mã học 1. mã hóa cổ điển(classical) 2. mã hóa hiện đại(morden) 3. mã hóa khóa đối xứng 4. mã hóa công khai 5. chứng dữ dữ liệu 6. các giao thức bảo mật mạng. Với các kiến thức căn bản về mã hóa như hill, playfair, AES, RSA... và chứng thực dữ liệu đảm bảo dữ liệu toàn vẹn, các giao thức mạng cơ bản

Trang 1

BÁO CÁO ĐỒ ÁN MẬT MÃ HỌC

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH & TRUYỀN THÔNG - -

Trang 2

Mục Lục

Bài 2: MÃ HOÁ CỔ ĐIỂN

Bài 3: MÃ HÓA ĐỐI XỨNG

Bài 4: MÃ HOÁ KHOÁ CÔNG KHAI Bài 5: CHỨNG THỰC DỮ LIỆU

Bài 6: CÁC GIAO THỨC BẢO MẬT

Trang 3

BÀI 2 : MÃ HÓA CỔ ĐIỂN

1. Cơ chế hoạt động của mã hóa Playfair và Hill

Ma trận khoá Playfair Cho trước một từ làm khoá, với điều kiện trong từ khoá đó không có chữ cái nào bị lặp Ta lập ma trận Playfair là ma trận cỡ 5

x 5 dựa trên từ khoá đã cho và gồm các chữ trên bảng chữ cái, được sắp xếp theo thứ tự như sau:

- Trước hết viết các chữ của từ khoá vào các hàng của ma trận bắt từ hàng thứ nhất

- Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa được sử dụng vào các ô còn lại Có thể viết theo một trình tự qui ước trước, chẳng hạn từ đầu bảng chữ cái cho đến cuối

- Vì có 26 chữ cái tiếng Anh, nên thiếu một ô Thông thuờng ta dồn hai chữ nào đó vào một ô chung, chẳng hạn I và J

- Giả sử sử dụng từ khoá MORNACHY Lập ma trận khoá Playfair tương ứng như sau:

Trước khi mã “balloon” biến đổi thành “ba lx lo on”

- Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng chữ ở phía bên phải nó trong cùng hàng của ma trận khóa (cuộn vòng quanh từ cuối về đầu), chẳng hạn “ar” biến đổi thành “RM”

- Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng chữ ở phía bên dưới nó trong cùng cột của ma trận khóa (cuộn vòng quanh từ cuối

về đầu), chẳng hạn “mu” biến đổi thành “CM”

- Trong các trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng hàng với nó và cùng cột với chữ cùng cặp với nó trong ma trận khóa Chẳng hạn,

“hs” mã thành “BP”, và “ea” mã thành “IM” hoặc “JM” (tuỳ theo sở thích)

2 Mã hóa Hill

Sử dụng m ký tự liên tiếp của plaintext và thay thế bằng m ký tự trong

ciphertext với một phương trình tuyến tính trên các ký tự được gán

Trang 4

giá trị lần lượt là A=01, B=02, …, Z=26.

Chọn ma trận vuông Hill (ma trận H) làm khoá

Mã hoá từng chuỗi n ký tự trên plaintext (vector P) với n là kích

thước ma trận vuông Hill

• C = HP mod 26

• P = H-1 Cmod 26

BÀI 3: MÃ HÓA ĐỐI XỨNG

Câu 1: Cài đặt ứng dụng Advanced Encryption Package Nêu cách sử dụng công

cụ này

- Cài đặt:

Trang 5

Cách sử dụng:

Trang 6

Tại phần giao diện chính, lựa chọn thư mục, file tại vùng chính Sau đó tại cột bên phải, thiết lập mật khẩu và chế độ mã hóa dữ liệu

- Có các định dạng mã hóa zip, sfx, và email

- Để bảo mật tốt hơn nên vào mục ba chấm bên chỗ password

- Tiếp theo bấn encrypt now ở dưới để bắt đầu mã hóa

Câu 2 : Thực hiện mã hoá và giải mã dữ liệu với công cụ EFS (Encrypt File

System)

Trang 7

- Encrypt :

Chọn thư mục muốn mã hóa, kích chuột phải chọn Properties và chọn Advanced

Trang 8

Bảng Advanced Attibutes hiện ra Tích chọn ô Encrypt contents to secure data và nhấn OK Tiếp tục nhấn OK như hình trên

Như trong hình đã được mã hóa

- Máy em bị lỗi đoạn này nên không có hình em chỉ nểu các bước

- Ngay lập tức, thông báo mới xuất hiện góc phải dưới màn hình như hình Kích vào mũi tên để truy cập vào cửa sổ Encrypting File System

- Chọn Back up now, cửa số mới hiện ra sau đó nhấn Next như hình để tiếp tục

- Tích chọn vào ô Include all và Export all rồi nhấn Next

- Tích chọn ô Password, nhập mật khẩu cho file mã hõa và nhấn Next

- Chọn Browser để mở nơi cất chứa file

Trang 9

- Nhấn Finish và OK để hoàn thành quá trình mã hóa.

Decrypt:

Trang 10

Bỏ tích phần encrypt contents to secure data là xong.

Trang 11

Câu 3: Cho một số ví dụ về vấn đề khoá DES yếu : \

Vì DES có điểm yếu là có tính bù Khóa yếu : 01 01 01 01 01 01 01 01

Trang 12

Ta mã hóa 2 lần liên tiếp nó sẽ quay lại plaintext lúc đầu.

Ví dụ khóa yếu 2 : FE FE FE FE FE FE FE FE

Cũng như khóa trên Encrypt 2 lần sẽ ra plaintext

Trang 13

Và có 2 khóa yếu nữa là : E0 E0 E0 E0 F1 F1 F1 F1 và 1F 1F 1F 1F 0E 0E 0E 0E

Câu 4 : Mô tả các hàm trong mã hoá AES Cho ví dụ.

1. Mô tả các hàm trong mã hóa AES

Ta có quá trình mã hóa với 4 hàm AddRoundKey, ShiftRows, MixColumns, SubBytes

- SubBytes:

Các byte được thế thông qua bảng tra S-box Đây chính là quá trình phi tuyến của thuật toán

Trong bước SubBytes, mỗi byte được thay thế bằng một byte theo bảng

tra, S; bij = S(aij).

- ShiftRows:

Trong AES, hàng đầu được giữ nguyên Mỗi byte của hàng thứ 2 được dịch vòng trái một vị trí Tương tự, các hàng thứ 3 và 4 được dịch vòng 2 và 3 vị trí Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào

Trang 14

- MixColumns:

Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả nghịch Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra Mỗi cột được xem như một đa thức c(x) = 3x^2 + x^2 + x(modulo x^4 + 1) trong trường hữu hạn và được nhân với đa thức Vì thế, bước này có thể được xem

là phép nhân ma trận trong trường hữu hạn

Trang 15

Trong bước MixColumns, mỗi cột được nhân với một hệ số cố định c(x).

- AddRoundKey:

khóa con được kết hợp với các khối Khóa con trong mỗi chu trình được tạo

ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ dài giống như các khối Quá trình kết hợp được thực hiện bằng cách XOR từng bít của khóa con với khối dữ liệu

Trang 16

Trong bước AddRoundKey, mỗi byte được kết hợp với một byte trong khóa con của chu trình sử dụng phép toán XOR (⊕).

BÀI 4 : MÃ HÓA KHÓA CÔNG KHAI

Câu 1 : Hacker có thể lợi dụng điểm yếu trong giao thức trao đổi khoá

Diffie-Hellman để thực hiện một cuộc tấn công Man-in-the-Middle là một cuộc tấn công

Trang 17

mà kẻ tấn công bí mật chuyển tiếp và có thể thay đổi giao tiếp giữa hai bên tin rằng

họ đang trực tiếp giao tiếp với nhau

1. Mô tả cuộc tấn công

Ví dụ : Alice hỏi Bob về khóa công khai của mình Nếu Bob gửi chìa khóa công khai cho Alice, Nhưng Hacker có thể ngăn chặn nó Hacker gửi một thông điệp giả mạo Bob đó là khóa công khai của Hacker và Alice không biết rang đó là khóa của Hacker và tin đó là của Bob và Alice mã hóa

plaintext bằng khóa của Hacker và gửi cho Bob Hacker lại chặn lại và giải

mã bằng khóa riêng của Alice và thay đổi nó và mã hóa lại bằng khóa của Bob gửi cho alice lúc đầu Bob nhận được và tin đó là của Alice

2. Vẽ hình minh họa

Câu 2 : Cho p = 13

a. Chứng minh rằng a = 2 là một primitive root modulo p Sử dụng hai tham số này để xây dựng một hệ thống trao đổi khoá Diffie-Hellman

Trang 18

- Để chứng minh a là một primitive root modulo p thì ta chứng mình

a p-1 -1 chia hết cho p còn tất cả các số a-1, a 2 -1,a 3 -1, …, a p-2 -1 không chia hết cho p

Vậy a = 2 là một primitive root modulo p

- Sử dụng hai tham số này để xây dựng một hệ thống trao đổi khoá Hellman

Alice K = B^a mod p = 6^6 mod 13 = 12

Bob K = A^b mod p = 12^5 mod 13 = 12

b. Nếu public key của Alice là YA = 7, giá trị private key XA của cô ấy là bao nhiêu?

Nếu public key của Alice là YA = 7 thì XA cuar cô ấy =

YA = 2^x mod 13 = 7 => x = 11(với các số nhỏ hơn 20)

Trang 19

c Nếu public key của Bob là YB = 11, giá trị private key XB của anh ấy?

YB = 2^x mod 13 = 11 = > x = 7 và 19 ( với các số nhỏ hơn 20)

Câu 3 : Viết ứng dụng mô phỏng giao thức trao đổi khoá Diffie – Hellman

Trang 20

Ta có công thức : C = M^e mod n = 88^7 mod 187 = 11 => C = 11

Câu 5 : Alice sử dụng phương pháp dưới đây để mã hoá văn bản rõ (plaintext

messages) tiếng Anh với toàn các ký tự viết hoa:

a Ánh xạ mỗi ký tự viết hoa đến các số từ 100 đến 125; cụ thể là, ánh xạ A thành

100, B thành 101, , và Z thành 125

b Sau đó cô ấy mã hoá các số nguyên này sử dụng các giá trị lớn của n và e

c Phương pháp này có an toàn? Giải thích

Bài làm : Phương pháp này không an toàn Vì ánh xạ 26 ký tự từ 100 đến 125 cho các chữ từ A,B…Z với các cặp sô n và e không phù hợp làm cho Hacker dễ tìm kiếm plaintext và hacker có thể tìm plaintext qua so sách C = M^e mod n với 26 ký

tự

Câu 6 : Viết ứng dụng mô phỏng giải thuật mã hoá RSA.

Câu 7 : Mô tả và cho ví dụ về các hình thức tấn công trên mã hoá RSA:

a. Attack on Stereotyped Messages

Giả sử plaintext m bao gồm hai phần: một mảnh được biết đến B = 2kb, và một phần không rõ x Nếu mã này được mã hóa RSA với số mũ là 3, c ciphertext c được cho bởi c = m^3 = (B + x) ^3 (mod N) Nếu chúng ta biết B, c và N chúng ta

có thể áp dụng các kết quả trước đó với đa thức p (x) = (B + x)^ 3 - c, và phục hồi x0 thỏa mãn p (x0) = (B + x0)^ 3 - c ≡ 0 (Mod N), miễn là một x0 tồn tại với | x0 |

Trang 21

<N^(1 / 3) Các cuộc tấn công hoạt động tốt như nhau nếu không rõ x0 nằm trong các bit quan trọng nhất của tin nhắn m chứ không phải là các bit ít quan trọng nhất.

b. Attack on Small Secret Exponents

Nó được biết rằng có một phương pháp hiệu quả để giải mã / ký kết với RSA khi số mũ bí mật d nhỏ modulo p-1 và q-1 Chúng ta gọi một số lũy thừa d một

số nguyên CRT nhỏ Đây là một trong những vấn đề chính mở trong cuộc tấn công RSA cho dù có cuộc tấn công thời gian đa thức cho các số mũ CRT nhỏ, tức là kết quả có thể được coi là tương đương với Wiener và Boneh-Durfee ràng buộc cho nhỏ d Tại Crypto 2002, tháng 5 có thể trình bày một giải pháp riêng trong trường hợp môđun RSA N = pq với các yếu tố không cân bằng p và q Dựa trên phương pháp của Coppersmith, ông đã chỉ ra rằng có một cuộc tấn công thời gian đa thức miễn là q <N0.382 Chúng ta sẽ cải thiện điều này với q

<N0.468 Do đó, kết quả của chúng tôi đến gần với trường hợp RSA bình

thường mong muốn với các yếu tố cân bằng nguyên tố Chúng ta cũng trình bày kết quả thứ hai cho số nguyên tố RSA cân bằng trong trường hợp số mũ công cộng e nhỏ hơn đáng kể so với N Nói chính xác hơn, chúng ta chỉ ra rằng có một cuộc tấn công thời gian đa thức nếu dp, dq≤min ((N / e) 25, N14} dp,

dq≤min {(N / e) 25, N14} Phương pháp này có thể được sử dụng để tấn công hai biến thể RSA nhanh được đề xuất gần đây bởi Galbraith, Heneghan,

McKee, và bởi Sun, Wu

BÀI 5 : CHỨNG THỰC DỮ LIỆU

Câu 1: Tìm hai câu tiếng Anh có ý nghĩa khác nhau nhưng có cùng giá trị băm với

16-bit XOR-hash function H⊕

1. “He likes you but I hate you”

2. “He hates you but I like you”

Câu 2 : Nêu tên một số ứng dụng có sử dụng chữ ký số nhằm đảm bảo an toàn

thông tin

Trang 22

Câu 3 : Tìm 3 phần mềm có kèm theo mã băm, kiểm tra mã băm (dùng phần mềm

hoặc website) để suy ra độ tin cậy của các phần mềm này

Trang 23

2. Phần mền MSSQL 2016

Mã MD5 là : 9d9353f15dddd00acdfb334212af4049

Trang 24

Câu 4 : Tìm 3 chứng chỉ số đính kèm theo trên các trang web có yêu cầu bảo mật

cao

1. Google.com

2. https://www.microsoft.com/vi-vn/

Trang 25

3. https://www.facebook.com/

Trang 26

Câu 5 : Sử dụng Cryptool, thực hiện một số ví dụ:

1. Tạo chữ ký số

Trang 27

2. Ký vào văn bản

3. Kiểm tra chữ ký số

4. Dữ liệu giả mạo khi sử dụng chứng thực với giải thuật băm

Trang 28

BÀI 6 : CÁC GIAO THỨC BẢO MẬT

Câu 1 : Sử dụng ví dụ để trình bày chi tiết cơ chế hoạt động của SSL.

1 : Xác thực sever : người dùng muốn kết nối tới sever Lúc này, phía

browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate

và public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của client Điều này rất quan trọng đối với người dung

2 : Xác thức client cho phép phía server xác thực được người sử dụng muốn kết nối Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và public ID của server có giá trị hay không và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server không Điều này rất quan trọng đối với các nhà cung cấp

Khóa của sever được mã hóa

3 : Chứng thực khóa của sever và gửi lại khóa của mình cho sever

Client và server chia sẻ thành công các thông tin sinh khóa và sử dụng các thông tin này để tạo khóa chính Khóa chính được sử dụng để trao đổi các khóa phiên

Trang 29

Câu 2 : Cài đặt VPN dựa trên IPSec

Sau khi cài đặt xong VPN/IPSEC

Trang 30

Câu 3 : Nêu các yêu cầu cần thiết khi triển khai Kerberos.

Kerberos được thiết kế dựa trên giao thức Needham-Schroeder Kerberos sử dụng một bên thứ ba tham gia vào quá trình nhận thực gọi là "trung tâm phân phối khóa" (tiếng Anh: key distribution center - KDC) KDC bao gồm hai chức năng: "máy

chủ xác thực" (authentication server - AS) và "máy chủ cung cấp vé" (ticket

granting server - TGS) "Vé" trong hệ thống Kerberos chính là các chứng thực

chứng minh tính hợp lệ của người sử dụng

Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ một khóa chung với máy chủ Kerberos Việc sở hữu thông tin về khóa chính là bằng chứng

để chứng minh tính hợp lệ của một người sử dụng Trong mỗi giao dịch giữa hai người sử dụng trong hệ thống, máy chủ Kerberos sẽ tạo ra một khóa phiên dùng cho phiên giao dịch đó

Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần

đến một bên thứ ba mà cả hai phía tham gia giao dịch tin tưởng

Câu 4 : Xây dựng hệ thống PKI trên hệ điều hành Windows.

Trang 31

Câu 5 : Xây dựng một bảng tổng hợp về vai trò, công dụng, đặc điểm… của các

giao thức nêu trong bài

Vai trò Công dụng Đặc điểm IPSec Là một giao thức

bảo mật chính tại lớp Mạng

(Network Layer – OSI) hoặc lớp Internet

(Internet Layer – TCP/IP)

-Cho phép xác thực hai

chiều,trước và trong quá trình truyền tải dữ liệu-Mã hóa đường truyền giữa 2 máy khi được gửi qua 1 mạng

-Bảo vệ gói dữ liệu IP và phòng ngự các cuộc tấn công mạng không bào mật

-Bào vệ các lưu lượng bằng việc

sử dụng mã hóa và đánh dấu dữ liệu-Chính sách IPSEC cho phép định nghĩa ra các loại lưu lượng mà IPSec kiểm tra vàcác lưu lượng đó

sẽ được bảo mật

và mã hóa như thế nào?

IPsec là yếu tố quan trọng để xây dựng mạng

riêng ảo (VPN – Virtual Private Networks)

SSL/TLS Giao thức SSL

(Secure Socket Layer Protocol) và giao thức TLS(Transport Layer Security Protocol)

là những giao thức bảo mật tại

lớp vận chuyển

-Đóng gói các giao thức ví dụ như HTTP, FTP, SMTP, NNTP và XMPP

-Cho phép trao đổi riêng tư trên mạng-Cho phép các ứng dụng client-server

-Các bên giao tiếp (nghĩa là client và server) có thể xác thực nhau bằng cách sử dụng mật

mã khóa chung.-Sự bí mật của lưu lượng dữ liệu được bảo vệ vì nối

Trang 32

được dùng chủ yếu trong thực tế.

giao tiếp với nhau

an toàn

kết được mã hóa trong suốt sau khi một sự thiết lập quan hệ ban đầu

và sự thương lượng khóa session đã xảy ra.-Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ

vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốt bằng cách sử dụng MAC

PGP và

S/MIME

-Bảo mật email là một ứng dụng cổ điển của các giải thuật mã

hoá

-Là một chuẩn Internet về định dạng cho email

Hầu nhưmọi email trên Internet được truyền qua giao thức

SMTP theo định dạng MIME

-PGP có thể được

sử dụng để chứng thực một thông điệp,

mã hoá thông điệp, hoặc cả chứng thực lẫn mã hoá

-PGP cho phép những định dạng tổng quát như chứng

thực, nén ZIP, mã hoá

-S/MIME mã hóa email và chứng thực

S/MIME tạo ra chữ ký số

- mã hóa mail gửi

đi ngăn chặn bất

cứ ai xem và sửa

- xác minh chứ ký mail

- tự động giải mã một mail gửi đến

để người nhận đọc

- trao đổi chữ ký mail với người dung khác

- PGP

Kerberos Kerberos là một

giao thức mã hoá dùng để xác thực

- có khả năng chống lại việc nghe lén hay gửi

- Giao thức được xây dựng dựa trên mật mã hóa khóa

Trang 33

trong các mạngmáy tính hoạt động trên những đường truyền không an toàn

lạicác gói tin cũ và đảm bảo tính toàn vẹn của dữ liệu

- đảmbảo chứng thực cho cả hai chiều

đối xứng và cầnđến một bên thứ

ba mà cả hai phía tham gia giao dịch tin tưởng

mạng dùng để thiết lập kết nối mạng một cách bảo mật SSH hoạt động ở lớp trên trong mô hình phân lớp TCP/IP

- cung cấp cho người dùng cách thức để thiết lập kết nối mạng được

mã hoá để tạo một kênh kết nối riêng tư

- cho phép chuyển tải các giao vận theo các giao thức khác

- ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền

-SSH làm việc thông qua 3 bước đơn giản:

-Định danh host - xác định định danh của hệ thống tham gia phiên làm việc SSH.-Mã hoá - thiết lập kênh làm việc mã hoá

-Chứng thực - xác thực người sử dụng có quyền đăng nhập hệ thống

Ngày đăng: 24/05/2017, 17:42

HÌNH ẢNH LIÊN QUAN

Bảng Advanced Attibutes hiện ra. Tích chọn ô Encrypt contents to secure  data và nhấn OK - Do an mat ma hocdemo
ng Advanced Attibutes hiện ra. Tích chọn ô Encrypt contents to secure data và nhấn OK (Trang 8)

TỪ KHÓA LIÊN QUAN

w