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

ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén zip

19 338 0

Đ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 19
Dung lượng 73,12 KB

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

Nội dung

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1.. Mục đích nội dung của ĐATN Ứng dụng c

Trang 1

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tờn sinh viờn: Dương Nhật Từn

Điện thoại liờn lạc: 0914.775.336 Email: dn tan7388@gmail com

Lớp: Hệ thống thông tin B - K50 Hệ đào tạo: Đại học- Chính quy

Đồ ỏn tốt nghiệp được thực hiện tại:

Trung từm tớnh toỏn hiệu năng cao – Trường đại học Bỏch khoa Hà Nội

Thời gian làm ĐATN: Từ ngày 01/03/ 2010 đến 30/05/ 2010

2 Mục đích nội dung của ĐATN

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

3 Cỏc nhiệm vụ cụ thể của ĐATN

- Tìm hiểu bài toán thám mã cho đối tượng là các tệp nén ZIP được bảo vệ bởi mật khẩu, đưa ra các phương án thám mã cho bài toán

- Nghiên cứu quy trình mã hóa, giải mã và nén, giải nén của các công cụ tạo file ZIP như Winzip

- Nghiên cứu công nghệ tính toán song song CUDA , vận dụng vào bỏi toỏn đề ra

- Xây dựng chương trình song song khôi phục mật khẩu dựa vào kết quả đó nghiờn cứu

- So sỏnh hiệu năng giải quyết bài toỏn trờn GPU với CPU, kết luận khả năng ứng dụng của GPU vào lĩnh vực thỏm mó

4 Lời cam đoan của sinh viờn:

Tôi –Dương Nhật Từn - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của T S Nguyễn Hữu Đức.

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác

Hà Nội, ngày 26 thỏng 5 năm2010

Tỏc giả ĐATN

Dương Nhật Từn

Trang 2

Dương Nhật Từn – Lớp HTTT – K50 71

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

phộp bảo vệ:

Hà Nội, ngày thỏng năm 2010

Giỏo viờn hướng dẫn

T.S Nguyễn Hữu Đức

TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Bảo vợj dữ liợju bằng mựjt khừ̉u như trong cỏc tợjp tài liợju DOC, PDF hay tợjp nén RAR, ZIP đã được minh chứng là yờ́u dưới những từ́n cụng dạng từ điển Tuy nhiên thời gian khụi phục mọrt khõ̉u cho các tợjp này phụ thuụ ̣c nhiờju vào hai yếu tố: kích thước của không gian tìm kiờ́m mọrt khõ̉u và sức mạnh của hợj thụ́ng tính toán Trong đồ án này đưa

ra cách tiờ́p cọrn sử dụng năng lực tính toán song song rṍt lớn của các bụ ̣ xử lý đụj họa(GPU) trong việc khôi phục mật khẩu cho các tệp nén ZIP Trước hết, sử dụng GPU để thu hẹp từ tập không gian tìm kiếm mật khẩu rất lớn, thành một không gian mật khẩu nhỏ hơn rất nhiều gồm các mật khẩu ứng cử trong đó chứa mật khẩu đúng.Sau đó tiến hành giải mã giải nén và nhận dạng trên một phần của bản rõ để xác định mật khẩu đúng Các kờ́t quả thực nghiợjm cho thṍy tụ́c đụ ̣ sinh khóa tăng khoảng từ 48 đờ́n 170 lừjn (phụ thuộc vào số lượng GPU) so với chươngtrình tuừjn tự thực thi trên bụ ̣ xử lý Intel Core 2Quad Q8400 2 66 Ghz Các kờ́t quả này minh chứng khả năng ứng dụng của cụng nghợj tính toán trên các bụ ̣ xử lý đụj họa trong lĩnh vực thám mã

ABSTRACT OF THESIS

Protecting data by passwords in documents such as DOC, PDF or RAR, ZIP archives has been demonstrated to be weak from dictionary attacks Time for recovering the passwords of such documents mainly depends on two factors: the size of the password search space and the computational power of the underline

Trang 3

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

processing units (GPUs) as the computing device for finding lost passwords of ZIP archives I first use GPUs toreduce the large password search space to a much smaller one including candidate passwords that containing the original password, and then perform decrypting, decompressing, and recognizing a part of plaintext to identify the correct password.The experimental results showed that the password verification speed increases about from 48 to 170 times (depends on the number of GPUs) compared to sequentialexecutionontheIntelCore2QuadQ84002.66Ghz.Theseresultshavedemonstratedt hepotentialapplicabilityofGPUsinthiscryptanalysisfield

Lời cảm ơn

Em xin gửi lời cảm ơn sừu sắc tới T.S Nguyễn Hữu Đức,Phó Giỏm đốc Trung Từm

Tớnh Toỏn Hiệu Năng Cao, Trường Đại Học Bỏch Khoa Hà Nội, thầy là người đó tận tình hướng dẫn em trong suốt thời gian thực tập tốt nghiệp cũng như giai đoạn làm đồ ỏntốt nghiệp, đồng thời cho em những lời khuyờn quý bỏu để hoàn thành đồ ỏn này

Em xin bày tỏ lòng biết ơn chừn thànhPGS.TS Nguyễn Thanh Thuỷ,Giỏm đốc Trung

Từm Tớnh Toỏn Hiệu Năng Cao, Trường Đại Học Bỏch Khoa Hà Nội, người đã tạo cho

em cơ hội được học tập và nghiên cứu trong một môi trường khoa học lý tưởng

Em xin cảm ơn KS Phạm Hồng Phongvà cỏc anh cỏn bộ hướng dẫn ở trung từmKS Đào Quang Minh, KS Lê Đức Tùng, KS Lê Đức Hùng đã chỉ bảo, giúp đỡ em rất

nhiều trong suốt quá trình thực tập và làm đồ án

Mình xin gửi lời cảm ơn tới các bạn thành viên cùng nhóm MCGPhan Đức Dũng, Tạ Minh Ngọc, Nguyễn Duy Linh cùng các bạn sinh viên K50 tại Trung từm Tớnh toỏn

hiệu năng cao – Trường đại học Bỏch Khoa Hà Nội, đã sát cánh giúp đỡ nhau vượt qua những khó khăn trong quá trình thực tập, hoàn thành đồ án

Hà Nội, thỏng 5 năm

2010

Sinh viờn : Dương

Nhật Từn

Lớp : Hệ thống thông tin K50

Dương Nhật Từn – Lớp HTTT – K50 3

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

Đại học Bỏch Khoa Hà Nội

Trang 4

Mục lục

Lời cảm ơn 3

Chương 1 GIỚI THIỆU CHUNG 9

1.1 Tổng quan về mật mã học 9

1.2 Giới thiệu bài toán thám mã tệp nén ZIP và đề xuấtgiải pháp 10

1.3 Nhiệm vụ của đồ án 12

1.4 Tổng kết 13

Chương 2SƠ LƯỢC VỀ NÉN VÀ MÃ HÓA TRONG TỆP ZIP 13

2.1 Thông tin mã hóa AES trong tệp nén ZIP 13

2.2 Hàm băm sinh khúa và cỏch kiểm tra một mật khẩu ứng cử 16

2.3 Phương thức nộn và giải nộn 18

2.3.1 Nộn (deflate) 18

2.3.2 Giải nộn (inflate) 27

2.4 Phương thức mó hỳa và giải mó 28

2.4.1 Mó hỳa 29

2.4.2 Giải mó 29

Chương 3GPU VÀ CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG GP-GPU 30

3.1 Các bộ xử lý đồ họa đa lõi của Nvidia 30

3.2 Kiến trúc của GPU Tesla 33

3.3 Môi trường phát triển ứng dụng cho GPU - CUDA 36

3.2.1 Khả năng mở rộng của CUDA 37

3.2.2 Các khái niệm chính 39

3.2.3 Lập trình không đồng nhất 45

3.2.4 Khả năng tính toán 46

3.3 Giao diện lập trình 46

3.3.1 Biên dịch với NVCC 47

3.3.2 CUDA C 47

3.4 Tổng kết 48

Chương 4KHÔI PHỤC MẬT KHẨU CHO TỆP NÉN ZIP TRÊN BỘ XỬ LÝ ĐỒ HỌA 49

Trang 5

Chiến lược 49

4.2 Sinh và kiểm tra mật khẩu song song trên GPU 50

4.3 Xác định mật khẩu đúng trên GPU 55

4.4 Giải thuật thực hiện 56

Chương 5 THỬ NGHIỆM VÀ ĐÁNH GIÁ 61

5.1 Thử nghiệm 61

5.2 Đánh giá 64

Chương 6KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

6.1 Kết luận 64

6.2 Hướng phỏt triển 65

Tài liệu tham khảo 65

Phụ Lục 66

Phụ lục A Cấu trúc của một tệp nén ZIP 66

Phụ lục B Một số hàm thông dụng trong CUDA 70

Dương Nhật Từn – Lớp HTTT – K50 8

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP Danh mục bảng Lời cảm ơn 3

Chương 1GIỚI THIỆU CHUNG 9

1.1 Tổng quan về mật mã học 9

1.2 Giới thiệu bài toán thám mã tệp nén ZIP và đề

xuấtgiải pháp 10

1.3 Nhiệm vụ của đồ án 12

1.4 Tổng kết 13

Chương 2SƠ LƯỢC VỀ NÉN VÀ MÃ HÓA TRONG TỆP ZIP 13

Chương 3GPU VÀ CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG GP-GPU 30

3.2.2 Các khái niệm chính 39

3.2.3 Lập trình không đồng nhất 45

3.2.4 Khả năng tính toán 46

3.3 Giao diện lập trình 46

3.3.1 Biên dịch với NVCC 47

Trang 6

3.3.2 CUDA C 47

3.4 Tổng kết 48

Chương 4KHÔI PHỤC MẬT KHẨU CHO TỆP NÉN ZIP TRÊN BỘ XỬ LÝ ĐỒ HỌA 49

4.1 Chiến lược 49

4.2 Sinh và kiểm tra mật khẩu song song trên GPU 50

4.3 Xác định mật khẩu đúng trên GPU 55

4.4 Giải thuật thực hiện 56

Chương 5THỬ NGHIỆM VÀ ĐÁNH GIÁ 61

5.1 Thử nghiệm 61

5.2 Đánh giá 64

Chương 6KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

6.1 Kết luận 64

6.2 Hướng phỏt triển 65

Tài liệu tham khảo 65

Phụ Lục 66

Phụ lục B Một số hàm thông dụng trong CUDA 70

Dương Nhật Từn – Lớp HTTT – K50 8

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP Danh mục hình vẽ Lời cảm ơn 3

Chương 1GIỚI THIỆU CHUNG 9

1.1 Tổng quan về mật mã học 9

1.2 Giới thiệu bài toán thám mã tệp nén ZIP và đề

xuấtgiải pháp 10

1.3 Nhiệm vụ của đồ án 12

1.4 Tổng kết 13

Chương 2SƠ LƯỢC VỀ NÉN VÀ MÃ HÓA TRONG TỆP ZIP 13

Chương 3GPU VÀ CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG GP-GPU 30

Trang 7

3.2.2 Các khái niệm chính 39

3.2.3 Lập trình không đồng nhất 45

3.2.4 Khả năng tính toán 46

3.3 Giao diện lập trình 46

3.3.1 Biên dịch với NVCC 47

3.3.2 CUDA C 47

3.4 Tổng kết 48

Chương 4KHÔI PHỤC MẬT KHẨU CHO TỆP NÉN ZIP TRÊN BỘ XỬ LÝ ĐỒ HỌA 49

4.1 Chiến lược 49

4.2 Sinh và kiểm tra mật khẩu song song trên GPU 50

4.3 Xác định mật khẩu đúng trên GPU 55

4.4 Giải thuật thực hiện 56

Chương 5THỬ NGHIỆM VÀ ĐÁNH GIÁ 61

5.1 Thử nghiệm 61

5.2 Đánh giá 64

Chương 6KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

6.1 Kết luận 64

6.2 Hướng phỏt triển 65

Tài liệu tham khảo 65

Phụ Lục 66

Phụ lục B Một số hàm thông dụng trong CUDA 70

Cỏc ký hiệu, từ viết tắt và ý nghĩa Dương Nhật Từn – Lớp HTTT – K50 8

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

Trang 8

Dương Nhật Từn – Lớp HTTT – K50 71

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

định dạng zlib, gzip, zip

của nhiều máy tính để tạo ra một máy có hiệu năng lớn hơn

GPU

Chương 1 GIỚI THIỆU CHUNG

Chương 1 giới thiệu tổng quan về mật mó học và bài toỏn thỏm mó tệp nộn ZIP, chỉ rahướng nghiờn cứu của đề tài

1.1 Tổng quan về mật mã học

Mật mó học (tiếng Anh là Cryptography hoặc Cryptology) là ngành khoa học nghiờn

cứu về cỏc kỹ thuật toán học liên quan tới các khía cạnh an toàn thông tin Trước thời kỳ hiện đại, mật mó học chỉ tập trung duy nhất tới tính bí mật của bản tin – tức là gắn liền với sự mã hóa, đó là quá trình chuyển đổi các thông tin thông thường (bản rõ) ở dạng có thể nhận thức được thành một dạng không thể nhận thức được, làm cho thông tin không thể đọc được nếu như không có các kiến thức bí mật (được gọi là khúa dùng để giải mã cho bản tin đó) Việc mã hóa được dùng để đảm bảo tính bí mật của thông tin trong lưu trữ cũng như trong thông tin liên lạc, chẳng hạn trong công tác tình báo, quân sự, ngoại giao hay là kinh tế, thương mại.Trong những thập niờn gần đừy, lĩnh vực này đó được

mở rộng vượt ra ngoài cỏc mối quan từm về tính bí mật và bao gồm các kỹ thuật khác như kiểm tra tính toàn vẹn của thông điệp, xác thực định danh người gửi/nhận, chữ ký số, chứng thực khúa công khai

Về mặt thuật ngữ, cho đến thời kỳ hiện đại, thuật ngữ cryptographyđược dùng để nhắc đến việc sử dụng và thực hành các kỹ thuật mật mã húa Nhiều người sử dụng thuật ngữ cryptography và cryptology hoán đổi cho nhau trong tiếng Anh Tuy vậy,

Trang 9

Dương Nhật Từn – Lớp HTTT – K50 9

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

theo cỏc chuyờn gia về mật mó cryptology dùng để chỉ sự nghiên cứu kết hợp của mật

mó hỳa (cryptography) và thỏm mó (cryptanalysis)

Thỏm mó(tiếng Anh là Cryptanalysis) – là khoa học nghiờn cứu về các phương pháp lấy

lại ý nghĩa của các thông tin đã bị mã hóa, mà không cần truy xuất tới các thông tin bí mật mà thường làcần phải có để có thể làm được điều đó Thông thường, điều này liờn quan đến hiểu biết về cỏch hệ thống làm việc và tìm ra một khúa bí mật Mục tiêu của thám mã (phá mã) là tìm những điểm yếu hoặc không an toàn trong phương thức mật mã hóa Thám mã có thể được thực hiện bởi những kẻ tấn công mục đích xấu, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc những người khỏc) với ý định đỏnh giỏ độ an toàn của hệ thống

Khoa học thám mã luôn đi cùng với khoahọc mật mó trong suốt chiều dài lịch sử của mật

mó học – một thuật toỏn mó hỳa mới được thiết kế để thay thế những thiết kế cũ bị hỏng,

và cỏc kỹ thuật thỏm mó mới được phỏt minh để phỏ vỡ cỏc đề ỏn cải thiện này.Hai nhánh nghiên cứu này được xem như hai mặt của cùng vấn đề antoàn an ninh thông tin:

sự phát triển của một nhánh luôn thúc đẩy sự phát triểncủa nhỏnh kia và ngược lại Trong lịch sử phỏt triển, sự phỏt triển vượt trước của một nhỏnh so vớiTrong lịch sử phát triển,

sự phát triển vượt trước của một nhánh so với Trong lịch sử phát triển, sự phát triển vượt trước của một nhánh so vớinhánh còn lại đôi khi mang đến những lợi ích to lớn cho đời sống, thậm chí cònquyết định vận mệnh của cả một đất nước Ví dụ như sự thành công trong việcthỏm mó Zimmermann Telegram trong thế chiến thứ nhất đó kộo Hoa Kỳ vàocuộc chiến, hay việc thám mã thành công hệ mã German được đánh giá góp phần rút ngắn thế chiến thứ hai đi vài tháng [4]

1.1 Giới thiệu bài toán thám mã tệp nén ZIP và đề

xuấtgiải pháp

Nguyờn thủy, cỏc phươngpháp nén như PKZip, Deflate, LZMA được sử dụng nhằm giảm thiểu kích thướcdữ liệu, từ đó giúp cho việc lưu trữ cũng như trao đổi chúng được hiệu quả

Doviệc bảo mật thông tin thường luôn đi kèm với các kỹ thuật lưu trữ và trao đổithông tin nên bên cạnh các giải thuật nén hiệu quả, những công cụ nén phổbiến như WinZip hay WinRar thường tích hợp khả năng mã hoá thôngtin nộn,thông thường là sử dụng những

hệ mã đối xứng phổ biến như DES hay AES Để thuận tiện cho người dùng, khoá bí mật

Để thuận tiện cho người dùng, khoá bí mật cho các hệ mã này được sinh ra từmột mật khẩu do người gửi nhập vào thông qua một hàm băm và được sử dụngđể mã

Trang 10

Dương Nhật Từn – Lớp HTTT – K50 10

Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa trong bài toán khôi phục mật khẩu tệp nén ZIP

Huffman của bộ Code Length

HDIST + 1 cỏc chiều dài mó cho bộ alphabet distance, được mó hỳa theo mó Huffman của bộ Code Length

Tiếp tiếp theo là dữ liệu nộn thực sự của block, được mó hỳa sử dụng cỏc mó Huffman của cỏc bộ alphabet literal/ length và distance

Ký hiệu 256 của literal/ length (hết dữ liệu) , được mó hỳa sử dụng mó Huffman cho literal/ length

3 bit

header

HLIT –

257

HDIST – 32

HCLEN -4

Code Length codes

Literal/

Length codes

Distance codes

Data_

compressed

End-of-block

2.1.1 Giải nộn (inflate)

Trong tất cả các trường hợp, giải thuật giải nén có dạng như sau:

do (Lặp cho đến khi hết dữ liệu hoặc gặp block cuối)

Đọc header của block từ dữ liệu vào;

if (block không nén)

Bỏ qua các bit còn lại trong byte hiện tại;

Đọc LEN và NLEN;

Copy LEN byte dữ liệu tới output;

else

if (block nộn với mó Huffman động)

Đọc biểu diễn cỏc cừy mó Huffman;

do

Giải mó giỏ trị value từ input;

if value < 256

Copy value tới output;

else

if value = end - of - block (256)

break;

else

Giải mó distance từ input data;

Dịch về sau distance byte trong outputvà copy length byte từ vị trí đó tới output;

while (chưa hết block đang xột);

while (chưa hết dữ liệu) hoặc (chưa phải là block cuối);

Ngày đăng: 07/01/2015, 20:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w