Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

55 855 0
Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Đ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

GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp LỜI CẢM ƠN Sau một quá trình nghiên cứu thực hiện, luận văn “Tìm hiểu về thuật toán RSA lập trình mobile, xây dựng ứng dụng minh họa” đã phần nào hoàn thành. Ngoài sự cố gắng hết mình của bản thân, em đã nhận được rất nhiều khích lệ giúp đỡ từ phía nhà trường, thầy cô, gia đình bạn bè. Em xin chân thành cảm ơn quý thầy cô trong khoa Công Nghệ Thông Tin trường Đại học Vinh đã tận tình dạy bảo chúng em nhiều kiến thức bổ ích trong suốt thời gian học tập tại trường, cũng như đã tạo điều kiện cho em được thực hiện đề tài này. Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo Thạc sỹ Nguyễn Công Nhật, người đã tận tình hướng dẫn em trong suốt thời gian thực hiện đề tài, từ những ý tưởng ban đầu cho đến lúc hoàn thành khoá luận quan trọng này. Em xin cảm ơn gia đình, bạn bè, tập thể lớp 47B_CNTT những người đã luôn bên cạnh em động viên giúp đỡ em rất nhiều trong quá trình thực hiện đề tài. Em rất mong nhận được sự đánh giá, góp ý bổ sung của quý thầy cô các bạn giúp em có thể phát triển hơn nữa đề tài này. Em xin chân thành cảm ơn ! Tp Vinh, tháng 5 năm 2010 Người thực hiện Bùi Thị Thu Hương SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 1 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay điện thoại di động đã đang trở thành một phần quan trọng trong cuộc sống hàng ngày của người dân, với một nửa dân số trên toàn thế giới đang sử dụng điện thoại di động. Nếu trước đây chiếc điện thoại chỉ dùng để nghe, gọi hoặc nhắn tin thì bây giờ để đáp ứng nhu cầu của người sử dụng rất nhiều hãng điện thoại di động trên thế giới đã ra đời với nhiều chức năng mới tiện ích cho người sử dụng. Những chiếc điện thoại “thông minh” không chỉ có chức năng thực hiện nhận cuộc gọi, nó còn được tích hợp các chức năng khác như: nhắn tin, duyệt web, nghe nhạc, chụp ảnh, quay phim, xem truyền hình,…Một số người còn sử dụng chiếc điện thoại của mình để lưu trữ những file (âm thanh, hình ảnh, văn bản,…) quan trọng, mang tính chất riêng tư cần được bảo mật. Chính vì vậy, vấn đề đặt ra là cần xây dựng chương trình bảo mật cho các file quan trọng lưu trong điện thoại. Đó cũng chính là lý do khiến em thực hiện đề tài “Tìm hiểu về thuật toán RSA lập trình mobile, xây dựng ứng dụng minh họa” với sự giúp đỡ, hướng dẫn của thầy giáo Thạc sỹ Nguyễn Công Nhật làm đề tài cho khoá luận tốt nghiệp của mình. 2. Mục đích nghiên cứu Tìm hiểu thuật toán RSA nghiên cứu về lập trình Mobile, ứng dụng để xây dựng chương trình bảo mật các file quan trọng trên điện thoại di động. 3. Bố cục luận văn Nội dung luận văn gồm có 3 chương: Chương I: Tổng quan về lập trình Windows Mobile Chương II: Tìm hiểu về thuật toán RSA Chương III: Xây dựng ứng dụng bảo mật thư mục cho điện thoại di động SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 2 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp 4. Kết quả đạt được Đề tài “Tìm hiểu về thuật toán RSA lập trình Mobile, xây dựng ứng dụng minh họa” được xuất phát từ nhu cầu thực tế nhằm tạo nền tảng cơ sở ban đầu để hỗ trợ thêm cho các bạn muốn tìm hiểu nghiên cứu về bảo mật, an toàn dữ liệu. Mặc dù đã có nhiều cố gắng, tìm hiểu các kiến thức đã học, kết hợp tra cứu các tài liệu chuyên ngành nhưng đề tài “Tìm hiểu về thuật toán RSA lập trình Mobile, xây dựng ứng dụng minh họa” do hạn chế về thời gian, khả năng kinh nghiệm nên không tránh khỏi những thiếu sót nhất định nên khoá luận đã hoàn thành ở mức độ sau: - Tìm hiểu về thuật toán RSA. - Tìm hiểu về lập trình Windows Mobile. - Áp dụng để xây dựng ứng dụng thực nghiệm bảo mật dữ liệu trong điện thoại di động. 5. Hướng nghiên cứu phát triển: Tìm hiểu sâu, rộng hơn về một số thuật toánhoá để có thể áp dụng rộng dãi tính bảo mật dữ liệu chương trình… Tìm hiểu thêm một số ngôn ngữ, các phần mềm ứng dụng để nâng cao mở rộng phạm vi ứng dụng tính bảo mật. SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 3 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp CHƯƠNG I: TỔNG QUAN VỀ LẬP TRÌNH WINDOWS MOBILE 1.1. Giới thiệu về Widows Mobile Hệ điều hành Windows Mobile: Một nhánh hệ điều hành khác của nhà khổng lồ Microsoft, Windows Mobile được phát triển từ các phiên bản Windows CE (từ năm 1998) dùng trên các handheld PC. Windows CE sau đó được đổi tên thành Windows Mobile, các Handheld PC được thiết kế dần cho phù hợp đổi tên gọi thành Pocket PC. Ngoài việc kết hợp các nhãn hiệu riêng biệt, hệ điều hành Windows Mobile mới còn loại bỏ những khác biệt về công nghệ để mang lại cho các nền tảng điện thoại di động PDA những khả năng giống nhau.Một trong những thay đổi này là sự tích hợp hỗ trợ các kết nối mạng không dây phạm vi hẹp Wi-Fi, trước đây không có trong điện thoại di động mà chỉ dành cho máy tính bỏ túi. Một sự thay đổi khác được gọi là lưu trữ bộ nhớ “liên tục” giúp duy trì các thông tin về người dùng, địa chỉ liên hệ những thiết lập cá nhân khi một thiết bị bị hết pin. Tính năng này trước đây chỉ có ở các điện thoại di động mà không dành cho máy tính bỏ túi. Tuy nhiên giá thành các thiết bị sử dụng Windows Mobile đều rất cao. 1.2. Công cụ sử dụng Để lập trình .NET, cần có những công cụ sau: - Bộ phần mềm Visual Studio.NET – phiên bản 2003, 2005 hoặc 2008. - Các thư viện nâng cao có thể download trên Internet - Visual Studio.NET 2003 hỗ trợ .NET Framework 1.1 - Visual Studio.NET 2005 hỗ trợ .NET Framework 2.0 - Visual Studio.NET 2008 hỗ trợ .NET Compact Framework 2.0 sp2 3.5 1.2.1. Thư viện lập trình: SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 4 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp Với lập trình Windows Mobile, ở đây ta cần phải có là bộ Windows Mobile SDK. Tùy vào mỗi phiên bản của hệ điều hành Windows Mobile, mà Microsoft cung cấp cho ta một bộ SDK tương ứng. - Một bộ SDK thường chứa: + Tài liệu các ví dụ cụ thể. + Các hàm API (Application Programming Interface). + Các công cụ cho trình soạn thảo (cụ thể là Visual Studio) biên dịch mã. - Đối với Visual Studio 2008, thì Microsoft đã tích hợp bộ Windows Mobile 5 SDK có sẵn để có thể lập trình ứng dụng cho các thiết bị chạy Windows Mobile 5. Sau này, chúng ta sử dụng Windows Mobile 6, do đó Microsoft cũng đã cung cấp 1 bộ Windows Mobile 6 SDK. Trong Windows Mobile 6 SDK bao gồm: Windows Mobile 6 SDK Standard Cung cấp thư viện, Emulator để phát triển ứng dụng cho các hệ máy SmartPhone Windows Mobile 6 SDK Professional Cung cấp thư viện, Emulator để phát triển ứng dụng cho các hệ Pocket PC Ngoài ra, trong bộ Windows Mobile 6 SDK còn tích hợp một số công cụ để phát triển ứng dụng tùy thuộc vào từng trường hợp cụ thể. FakeGPS Giả lập dữ liệu GPS thông qua các hàm API Local Server Framework (aka FakeServer) Giả lập tương tự như một server. Khi đó ta có thể kiểm tra tính kết nối của một ứng dụng Cellular Emulator Giả lập song Radio thật như một thiết bị di động với một đầy đủ tính năng như GPRS, GSM, …. 1.2.2. IDE soạn thảo code Ở đây, chúng ta sử dụng Visual Studio để lập trình cho thiết bị Visual Studio cung cấp đầy đủ tính năng, sự thân thiện để ta có thể tiếp cận lập trình SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 5 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp Windows Mobile một cách nhanh nhất. Nó hỗ trợ đầy đủ các chức năng, các loại ứng dụng phát triển, hỗ trợ ngôn ngữ C#, Visual Basic, cũng như tạo các Setup Project để triển khai ứng dụng một cách dễ dàng. * Các nền tảng được hỗ trợ trong Visual Studio: - Windows Mobile 2003 SE Pocket PC - Windows Mobile 2005 Pocket PC - Windows Mobile 2005 Smartphone - Windows Mobile 6 Classic - Windows Mobile 6 Standard - Windows Mobile 6 Professioncal * Trình soạn thảo: SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 6 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp * Kỹ thuật Anchoring & Docking: - Anchoring: Đây là phương thức neo một điểm trên màn hình. Khi đó, sự thay đổi của màn hình trên mỗi loại thiết bị thì các chức năng sẽ thay đổi theo. Có 4 điểm neo chính là Trái, Phải, Trên, Dưới. - Docking: Cũng tương tự như Anchoring, tuy nhiên, đối tượng được sẽ được cố định ở một góc nào đó trải đầy (“fill”) vào khung chứa. SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 7 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp Một số tính năng mới trong Visual Studio 2008: Unit Testing for Device Device Configuration Manager Device Certificate Manager Device Emulator Version 3.0 Windows Mobile 5.0 SDK .NET Compact Framework 2.0 sp2 and 3.5 Update Compilers, MFC Libraries, Tools Manager CoreCon Framework 1.2.3. Thiết bị để kiểm tra ứng dụng: 1.2.3.1 Lợi ích của việc sử dụng Emulator: Không tốn chi phí cho việc sắm thiết bị để kiểm tra ứng dụng. Điều này đặc biệt quan trọng vì các thiết bị di động thường có cấu hình, khuôn dạng (form) các nhà sản xuất khác nhau. SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 8 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp Tất cả mọi lập trình viên đều có thể cài đặt lại thiết bị, có điều kiện để thử nghiệm nhiều hệ điều hành khác nhau cho việc kiểm tra chương trình. Phục vụ việc triển khai ứng dụng nhanh hơn nhờ tính năng lưu giữ trạng thái. 1.2.3.2. Visual Studio Device Emulator Khi phát triển một ứng dụng, thì vấn đề là chúng ta phải kiểm tra được ứng dụng đó. Windows Mobile SDK cung cấp 1 bộ công cụ Emulator để giả lập thiết bị thật, nó hỗ trợ đầy đủ tính năng của 1 thiết bị thật. Là công cụ giả lập giúp bạn chạy thử chương trình trong trường hợp bạn không có chiếc PPC hay SmartPhone thật nào, hoặc bạn muốn kiểm tra chương trình trên nhiều loại máy khác nhau như WM 2003,WM2005… Emulator đi kèm với Windows Mobile 5.0 SDK nên chỉ cần cài đặt SDK là đủ. Tính năng hệ điều hành đầy đủ như thiết bị thật, cả Windows CE Windows Mobile. Tính năng đầy đủ của thiết bị, hỗ trợ chipset ARM. Hỗ trợ phần cứng giả lập như cổng COM, Network Card. * Trình quản lý thiết bị ảo - Điều khiển thiết bị ảo: + Start + Shutdown + Reset SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 9 GVHD ThS. Nguyễn Công Nhật Khoá luận tốt nghiệp + Mail + Contacts + To-Do list + Tasks - Connects to the network using NAT + Uncradle 1.2.4. ActiveSync: Là công cụ cho phép kết nối giữa thiết bị Windows Mobile máy tính. Tại sao phải sử dụng ActiveSync? - Do việc Debug ứng dụng trên .NET Compact Framework đều là Debug từ xa. Để kết nối Emulator với ActiveSync: + Sử dụng Device Emulator Manager với tùy chọn Cradle. + Cài đặt kết nối trong ActiveSync phải cho phép kết nối DMA. SVTH: Bùi Thị Thu Hương - Lớp 47B Khoa: Công Nghệ Thông tin 10 . LỜI CẢM ƠN Sau một quá trình nghiên cứu và thực hiện, luận văn Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh họa” đã phần nào. ngành nhưng đề tài Tìm hiểu về thuật toán RSA và lập trình Mobile, xây dựng ứng dụng minh họa” do hạn chế về thời gian, khả năng và kinh nghiệm nên không

Ngày đăng: 22/12/2013, 13:04

Hình ảnh liên quan

- Anchoring: Đây là phương thức neo một điểm trên màn hình. Khi đó, sự thay đổi của màn hình trên mỗi loại thiết bị thì các chức năng sẽ thay đổi  theo - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nchoring.

Đây là phương thức neo một điểm trên màn hình. Khi đó, sự thay đổi của màn hình trên mỗi loại thiết bị thì các chức năng sẽ thay đổi theo Xem tại trang 7 của tài liệu.
Hình 1 và Hình 2 so sánh giữa .Net Framework và .NET Compact Framework  - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 1.

và Hình 2 so sánh giữa .Net Framework và .NET Compact Framework Xem tại trang 11 của tài liệu.
Hình 1: .Net Framework - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 1.

.Net Framework Xem tại trang 11 của tài liệu.
Hình 2: .NET Compact Framework - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 2.

.NET Compact Framework Xem tại trang 12 của tài liệu.
Bảng 1.2: Từ khóa của ngôn ngữ C#. - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Bảng 1.2.

Từ khóa của ngôn ngữ C# Xem tại trang 18 của tài liệu.
Hình (1) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(1) Xem tại trang 39 của tài liệu.
Hình (2) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(2) Xem tại trang 40 của tài liệu.
Hình (3) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(3) Xem tại trang 40 của tài liệu.
Hình (4) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(4) Xem tại trang 41 của tài liệu.
Chọn như hình sau nhưng quan trọng và bí quyết của kết nối là DMA trong Allow connections to one of the following. - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

h.

ọn như hình sau nhưng quan trọng và bí quyết của kết nối là DMA trong Allow connections to one of the following Xem tại trang 42 của tài liệu.
Hình (5) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(5) Xem tại trang 42 của tài liệu.
Bước 3: Khởi động Device Emulator Manager & thiết lập cấu hình. - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

c.

3: Khởi động Device Emulator Manager & thiết lập cấu hình Xem tại trang 43 của tài liệu.
Hình (8) - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

nh.

(8) Xem tại trang 44 của tài liệu.
Hình 1: Tạo đường dẫn đến thư mục cần bảo vệ - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 1.

Tạo đường dẫn đến thư mục cần bảo vệ Xem tại trang 49 của tài liệu.
Hình 2:Xác định thư mục chứa file cần bảo vệ - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 2.

Xác định thư mục chứa file cần bảo vệ Xem tại trang 50 của tài liệu.
Hình 3:Tạo khóa - Tìm hiểu về thuật toán RSA và lập trình mobile, xây dựng ứng dụng minh hoạ

Hình 3.

Tạo khóa Xem tại trang 51 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan