Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
0,93 MB
Nội dung
Lời cảm ơn Trƣớc hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Thạc sỹ Lê Thụy – giảng viên Bộ môn CNTT, trƣờng Đại học Dân lập Hải Phịng tận tình giúp đỡ em nhiều suốt trình tìm hiểu nghiên cứu hoàn thành báo cáo đồ án tốt nghiệp Em xin chân thành cảm ơn thầy cô môn tin nhƣ thầy cô trƣờng trang bị cho em kiến thức cần thiết để em hồn thành báo cáo Cuối cùng, em xin cảm ơn gia đình bạn động viên, góp ý trao đổi hỗ trợ cho em suốt thời gian vừa qua Và cố gắng nghiên cứu, tìm hiểu hoàn thành báo cáo phạm vi khả cho phép song chắn không tránh khỏi thiếu sót Em mong nhận đƣợc thơng cảm, góp ý tận tình bảo Thầy bạn Hải phịng, ngày 20 tháng năm 2009 Sinh viên Nguyễn Thanh Vân MỤC LỤC Lời nói đầu CHƢƠNG TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 1.1 Giới thiệu chung giấu tin 1.1.1 Vài nét lịch sử giấu tin 1.1.2 Khái niệm giấu tin 1.1.3 Một số tính chất giấu tin 1.2 Phân loại kỹ thuật giấu tin 1.2.1 Giấu tin mật 1.2.2 Thủy vân số 1.3 Một số ứng dụng CHƢƠNG VĂN BẢN VÀ GIẤU TIN TRONG VĂN BẢN 10 2.1 Các loại bảng mã tiếng Việt 10 2.1.1 Bảng mã TCVN3 10 2.1.2 Bảng mã Unicode 11 2.2 Các loại văn 14 2.2.1 Văn text 14 2.2.2 Siêu văn HTML 16 2.2.3 Văn theo chuẩn Microsoft Word (.doc) 22 2.3 Giấu tin văn 22 2.3.1 Giấu tin HTML 22 2.3.2 Giấu tin DOC 28 CHƢƠNG CHƢƠNG TRÌNH MƠ PHỎNG 33 3.1 Mơ tả thuật tốn: 33 3.2 Quá trình thực chƣơng trình 34 3.3 Giao diện chƣơng trình giấu tin HTML 34 KẾT LUẬN 37 Tài liệu tham khảo 39 PHỤ LỤC 40 Lời nói đầu Ngày nay, với phát triển mạnh mẽ ngành khoa học công nghệ thông tin, internet trở thành nhu cầu, phƣơng tiện thiếu ngƣời, nhu cầu trao đổi thông tin qua mạng ngày lớn Và với lƣợng thông tin lớn nhƣ đƣợc truyền qua mạng nguy liệu bị truy cập trái phép tăng lên vấn đề bảo đảm an tồn bảo mật thơng tin cho liệu truyền mạng cần thiết Nhiều kỹ thuật đƣợc nghiên cứu nhằm giải vấn đề Một kỹ thuật quan trọng mã hóa thơng tin Tuy nhiên thơng điệp bị mã hóa dễ gây ý thơng tin mã hóa bị phát tin tặc tìm cách để giải mã Một công nghệ phần giải đƣợc khó khăn giấu thơng tin nguồn đa phƣơng tiện nhƣ nguồn âm thanh, hinh ảnh … Xét theo khía cạnh tổng quát giấu thơng tin dạng mật mã nhằm đảm bảo tính an tồn thơng tin, nhƣng phƣơng pháp ƣu điểm chổ giảm đƣợc khả phát tồn thông tin nguồn mang Giấu thông tin kỹ thuật tƣơng đối phát triển nhanh, thu hút đƣợc quan tâm giới khoa học giới cơng nghiệp cịn nhiều thách thức Nội dung báo cáo chủ yếu nghiên cứu kỹ thuật giấu tin nói chung giấu tin văn nói riêng CHƢƠNG TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 1.1 Giới thiệu chung giấu tin 1.1.1 Vài nét lịch sử giấu tin Từ Steganography bắt nguồn từ Hi Lạp đƣợc sử dụng ngày nay, có nghĩa tài liệu đƣợc phủ (covered writing) Có nhiều câu chuyện lịch sử xoay quanh kỹ thuật giấu tin đƣợc lƣu truyền Có lẽ ghi chép sớm kỹ thuật giấu tin thuộc sử gia Hy Lạp Herodotus Khi bạo chúa Hi Lạp Histiaeus bị vua Darius bắt giữ Susa vào kỷ thứ năm trƣớc Công Nguyên, ông ta gửi thông báo bí mật cho rể Aristagoras Miletus Histiaeus cạo trọc đầu nô lệ tin cậy xăm thông báo da đầu ngƣời nơ lệ Khi tóc ngƣời nô lệ đủ dài ngƣời nô lệ đƣợc gửi tới Miletus Một câu chuyện khác thời Hi Lạp cổ đại Herodotus ghi lại Demeratus, ngƣời Hi Lạp, cần thông báo cho Sparta Xerxes định xâm chiếm Hi Lạp Để tránh bị phát hiện, bóc lớp sáp khỏi viên thuốc khắc thông báo lên bề mặt viên thuốc này, sau bọc lại viên thuốc lớp sáp Ý tƣởng che giấu thơng tin có từ hàng nghàn năm trƣớc nhƣng kỹ thuật đƣợc dùng chủ yếu quân đội quan tình báo Ngày nay, kỹ thuật giấu tin đƣợc nghiên cứu để phục vụ mục đích nhƣ bảo vệ quyền, hay giấu tin mật quân kinh tế 1.1.2 Khái niệm giấu tin - Giấu tin kỹ thuật nhúng lƣợng thông tin số vào đối tƣợng liệu số khác - Trong trình giấu tin để tăng bảo mật, phải dùng khóa viết mật Đó loại giấu tin có xử lý Nếu khơng dùng khóa viết mật để Giấu tin, tức dấu tin đơn vào mơi trƣờng phủ Đó loại Giấu tin đơn - Yêu cầu giấu tin đảm bảo tính chất ẩn thông tin đƣợc giấu đồng thời không ảnh hƣởng đến chất lƣợng liệu gốc - Sự phát triển công nghệ thông tin tạo môi trƣờng giấu tin tiện lợi phong phú nhƣ văn bản, hình ảnh, âm thanh,các phần mềm tiện ích hay giấu tin khoảng trống, phân vùng ẩn đĩa cứng, đĩa mềm Các phƣơng pháp giấu tin đƣợc tiến hành theo nhiều cách khác tùy vào mục đích mơi trƣờng giấu tin Mỗi kỹ thuật giấu tin gồm : - Thuật tốn giấu tin - Bộ giải mã thơng tin Thuật tốn giấu tin đƣợc dùng để giấu thơng tin vào phƣơng tiện mang cách sử dụng khóa bí mật đƣợc dùng chung ngƣời mã ngƣời giải mã Khóa Phƣơng tiện mang Thơng tin giấu Nhúng thông tin vào phƣơng tiện chứa Thông tin giấu Phân phối mạng Bộ giải mã Khóa Lƣợc đồ chung cho giấu tin Hình vẽ biểu diễn trình giấu tin Phƣơng tiện chứa bao gồm đối tƣợng đƣợc dùng làm môi trƣờng để giấu tin nhƣ text, audio, video, ảnh,…thông tin giấu mục đích ngƣời sử dụng Thơng tin giấu lƣợng thơng tin mang ý nghĩa nhƣ ảnh, logo, đoạn văn …tùy thuộc vào mục đích ngƣời sử dụng Thông tin đƣợc giấu vào phƣơng tiện chứa thơng qua chƣơng trình Sau giấu tin ta thu đƣợc phƣơng tiện chứa tin giấu phân phối mạng Sau nhận đƣợc đối tƣợng phƣơng tiện có giấu tin, q trình giải mã đƣợc thực thơng qua chƣơng trình giải mã tƣơng ứng với chƣơng trình mã hóa với khóa q trình mã hóa Kết thu đƣợc gồm phƣơng tiện chứa gốc thông tin giấu Bƣớc thông tin giấu đƣợc xử lý kiểm định so sánh với thông tin giấu ban đầu Tóm lại, giấu thơng tin nghệ thuật khoa học truyền thơng, mục đích Steganography che giấu thông báo bên thông báo khác mà không làm ảnh hƣởng đáng kể đến thông báo này, cách thức cho ngƣời khơng có thẩm quyền khơng thể phát khơng thể phá hủy chúng 1.1.3 Một số tính chất giấu tin Một kỹ thuật giấu tin đƣợc đánh giá dựa số đặc điểm sau : - Tính vơ hình thơng tin đƣợc giấu - Dung lƣợng giấu - Tính bền vững Tính vơ hình : thể mức độ biến đổi môi trƣờng giấu tin Một phƣơng pháp tốt làm cho thông tin mật trở nên vơ hình mơi trƣờng giấu tin, ngƣời dùng khơng thể phát có ẩn chứa thông tin Tuy nhiên lúc ngƣời ta cố gắng để đạt đƣợc tính vơ hình cao Ví dụ bảo vệ quyền Dung lượng giấu : dung lƣợng giấu đƣợc tính tỷ lệ lƣợng tin giấu so với kích thƣớc mơi trƣờng giấu Vì tin mật đƣợc gửi với mơi trƣờng giấu mang qua mạng nên tiêu quan trọng Các phƣơng pháp cố giấu đƣợc nhiều tin giữ đƣợc bí mật Tuy nhiên thực tế ngƣời ta phải cân nhắc dung lƣợng tiêu khác nhƣ tính vơ hình, tính bền vững Tính bền vững : Sau giấu tin vào môi trƣờng giấu, thân mơi trƣờng giấu phải trải qua khâu biến đổi khác Tính bền vững thƣớc đo nguyên vẹn thông tin mật sau biến đổi 1.2 Phân loại kỹ thuật giấu tin Mục đích việc giấu tin đảm bảo an tồn bảo mật thơng tin Có khía cạnh cần đƣợc quan tâm là: + Bảo mật cho liệu đƣợc đem giấu + Bảo mật cho đối tƣợng đƣợc đem giấu thơng tin Hai khía cạnh khác dẫn đến khuynh hƣớng kỹ thuật chủ yếu giấu tin : steganography watermarking Infomation hiding Giấu thông tin Watermarking Thuỷ vân số Steganography Giấu tin mật Robust Copyright marking Thuỷ vân bền vững Imperceptible Watermarking Thuỷ vân ẩn Fragile Watermarking Thuỷ vân “dễ vỡ” Visible Watermarking Thuỷ vân hiển 1.2.1 Giấu tin mật ( Steganography ) quan tâm tới việc giấu tin cho thông tin giấu đƣợc nhiều tốt quan trọng ngƣời khác khó phát đƣợc đối tƣợng có bị giấu tin bên hay không kỹ thuật thông thƣờng 1.2.2 Thủy vân số ( Watermaking ) đánh giấu vào đối tƣợng nhằm khẳng định quyền sở hữu hay phát xuyên tạc thông tin Thủy vân số đƣợc phân thành loại thủy vân bền vững thủy vân dễ vỡ - Thuỷ vân bền vững: thƣờng đƣợc ứng dụng ứng dụng bảo vệ quyền Thuỷ vân đƣợc nhúng sản phẩm nhƣ hình thức dán tem quyền Trong trƣờng hợp này, thuỷ vân phải tồn bền vững với sản phẩm nhằm chống việc tẩy xoá, làm giả hay biến đổi phá huỷ thuỷ vân + Thuỷ vân ẩn: giống nhƣ giấu tin, mắt thƣờng khơng thể nhìn thấy thuỷ vân + Thuỷ vân hiện: loại thuỷ vân đƣợc sản phẩm ngƣời dùng nhìn thấy đƣợc - Thủy vân dễ vỡ: kỹ thuật nhúng thuỷ vân vào ảnh cho phân bố sản phẩm môi trƣờng mở có phép biến đổi làm thay đổi đối tƣợng sản phẩm gốc thuỷ vân đƣợc giấu đối tƣợng khơng cịn nguyên vẹn nhƣ trƣớc dấu (dễ vỡ) So sánh steganography watermarking Steganography - Che giấu hữu Watermaking -Thêm vào thông tin quyền Mục đích thơng điệp - Thơng tin che giấu độc lập với -Che giấu thông tin gắn với vỏ bọc đối tƣợng vỏ bọc Yêu cầu Không phát đƣợc thông Tiêu chuẩn bền vững điệp bị che giấu Dung lƣợng tin đƣợc dấu Phát thơng điệp bí mật bị Tấn công thành công che giấu Watermaking bị phá vỡ 1.3 Một số ứng dụng - Liên lạc bí mật : nhiều trƣờng hợp sử dụng mật mã gây ý ngồi mong muốn Ngồi việc sử dụng cơng nghệ mã hóa bị hạn chế cấm sử dụng Ngƣợc lại việc giấu tin mơi trƣờng gửi mạng gây ý Có thể dùng để gửi bí mật thƣơng mại, vẽ thông tin nhạy cảm khác - Bảo vệ quyền : biểu tƣợng bí mật đƣợc nhúng vào ảnh để xác nhận quyền sở hữu Biểu tƣợng thủy ẩn (Watermark) có cấu trúc phức tạp đƣợc đính lên ảnh bán phân phối, thêm vào gán nhãn thời gian ( time stamp) để chống giả mạo Một Watermark đƣợc dùng để phát xem ảnh có bị sửa đổi hay khơng? Việc phát Watermark đƣợc thực phép thống kê, so sánh độ tƣơng quan cách đo đạc xác định chất lƣợng Watermark ảnh phủ - Gán nhãn : tiêu đề, giải nhãn thời gian nhƣ minh họa khác đƣợc nhúng vào ảnh, ví dụ đính tên ngƣời lên ảnh họ đính tên vùng địa phƣơng lên bảng đồ Khi chép ảnh chép liệu nhúng Và có chủ sở hữu tác phẩm, ngƣời có đƣợc khóa mật (Stego-Key) tách xem chu giải Trong sở liệu ảnh, ngƣời ta nhúng từ khóa để động tìm kiếm tìm nhanh ảnh Nếu ảnh khung ảnh cho đoạn phim, ngƣời ta gán thời điểm diễn kiện (timing) để đồng hình ảnh với âm Ngƣời ta gán số lần ảnh đƣợc xem để tính tiền toán theo số lần xem CHƢƠNG VĂN BẢN VÀ GIẤU TIN TRONG VĂN BẢN Trƣớc để an tồn thơng tin truyền ngƣời ta mã hóa thơng tin diều an tồn nhiên dễ bị bọn tin tặc nghi ngờ, nhƣng để an toàn ngƣời ta kết hợp việc mã hóa thơng tin sau giấu tin vào ảnh việc giấu tin vào ảnh nhằm mục đích khơng nhìn thấy kẻ khơng ngƣời nhận hợp pháp Bạn tƣởng tƣợng xem kỳ thi tốt nghiệp, kỳ thi đại học quốc gia để gửi đề thi cho đơn vị đƣờng bƣu điện nhanh phải 24 nhƣng đề thi bị lộ ảnh hƣởng tới thời gian thi đơn vị bị lộ đề gây nhiều tốn ta không gửi qua Internet điều vừa nhanh lại vừa an tồn Để làm đƣợc nhƣ cần phải hiểu rõ loại văn bảng mã sử dụng văn để thực giấu tin 2.1 Các loại bảng mã tiếng Việt 2.1.1 Bảng mã TCVN3 Trƣớc hết ta tìm hiểu khái niệm điểm mã, đơn vị mã, bảng mã - Về chất, máy tính làm việc với số, để biểu diễn ký tự máy tính cần phải có quy ƣớc quán ký tự cần biểu diễn số tƣơng ứng mà máy tính xử lý Quy ƣớc đƣợc thể qua bƣớc: + Chọn tập ký tự cần mã hóa + Gán cho ký tự cần mã hóa giá trị nguyên không âm, gọi điểm mã + Chuyển điểm mã thành dãy đơn vị mã để phục vụ cho việc lƣu trữ mã hóa Các điểm mã khơng thiết phải có số đơn vị mã - Tập hợp điểm mã tập ký tự đƣợc gọi bảng mã Nhƣ nói bảng mã, quan tâm đến hai điều số lƣợng ký tự đƣợc mã hóa, cách mã hóa chúng thành đơn vị mã 10 Mã cần ẩn "010" Thuộc tính khóa thẻ "src", tìm thuộc tính tương ứng "alt" Các bit cần ẩn "0", kết hợp "0" alt / src, ta đặt thuộc tính "alt" trước thuộc tính "src" Các thuộc tính khóa "width", thuộc tính tương ứng "height" Bit cần ẩn "1", đó, đặt "height" sau "width" Thuộc tính khóa "title", thuộc tính tương ứng "border" Để ẩn "0", thuộc tính "title" đặt phía sau "border" Đánh giá : Với cặp thuộc tính ta có nhận xét sau : Trang HTML Cặp thuộc tính Số lần lặp Số bit dấu Tỉ lệ giấu 1 1 3 1.1 : href – target 1 1 3 12 27 27 Canary name – content text – bgcolor alink – vlink align – width class – style width – height src – alt title – border Cellspacing-cellpadding bgcolor – align align – valign 30(căp tt) 27 2.3.2 Giấu tin DOC Giấu tin cách nào? Ta thay đổi thuộc tính khơng nhìn thấy văn Các thuộc tính nhiều máy tính khơng thể theo dõi tất Có nhiều phƣơng pháp giấu tin lãng phí lớn thời gian tiền vào việc xử lý giấu tin mà lại cho kết bấp bênh Giấu tin hiệu đƣợc sử dụng mã hoá cách Và chọn cách thay ký tự bảng mã Unicode thay đổi chế độ màu sắc thay ký tự bảng mã Unicode Trong chế độ này, thay ký tự văn đƣợc giấu tin Bit đƣợc thể xuất ký tự ban đầu Bit đƣợc thể xuất ký tự thay Trong bảng mã Unicode biểu diễn nhiều ký tự ngôn ngữ dân tộc khác giới, việc lấy ký tự khơng dùng đến thay đổi thay vào ký tự cần dấu tin việc khơng khó Khơng phải tất phơng chữ hỗ trợ điều này, chƣơng trình khuyên bạn nên giải mã tin nhắn bạn trƣớc bạn gửi để đảm bảo thơng điệp bạn cần gửi Ngƣời nhận phải có font chữ mà bạn sử dụng cài đặt máy tính Điều có lẽ khơng đƣợc coi vấn đề cho bạn có loạt font Unicode phổ biến phiên cho hệ điều hành Windows Ngƣời nhận phải biết lựa chọn khóa mà bạn sử dụng cho việc giải mã Ví dụ : văn để giấu thông điệp sử dụng font Time New Roman x ă ă Tạo thêm ( y ) Chữ ă có vị trí ( mã ) x -> bit 0, y -> bit 28 Việc tạo thêm ta xem xét mã chữ thấy có khác biệt Và ta thực giấu bit nguyên âm bit đầu đƣợc dùng để dành cho độ dài thông điệp dấu Ký tự Mã Bit dấu Ký tự thay Mã Bit dấu a 61 a 05E4 â 00E2 â 062A 00E1 05D1 A 41 A 0636 Ă 0102 Ă 0680 e 0065 e 069F ê 00EA ê 0663 è 00E8 è 05EA i 0069 i 05E1 í 00ED í 0631 o 006F o 06D6 ô 00F4 ô 0692 01A1 06A2 õ 00F5 õ FB97 u 0075 u FB73 Ví dụ : thông tin cần ẩn "no!", ẩn đoạn văn dƣới “ Đã bạn tự hỏi thành cơng mà bao kẻ bỏ đời theo đuổi? Phải kết hồn hảo cơng việc, xác đến chi tiết? Hay cách nói khác từ thành đạt, nghĩa có đƣợc sống giàu sang, đƣợc ngƣời nể phục? Vậy bạn dành chút thời gian để lặng suy ngẫm Cuộc sống cho bạn có ngƣời đạt đƣợc thành công theo cách giản dị đến bất ngờ “ 29 Chuỗi bit cần ẩn "00000011 01101110 01101111 00100001" bit đầu độ dài thông tin ẩn Đã bạn tự hỏi thành công mà bao kẻ bỏ đời theo đuổi? Bit cần dấu ”00000011” Quy ƣớc : a / 61 / , o / 006F / , i / 0069 / , i / 0069 / , ô / 00F4 / , … Phải kết hồn hảo cơng việc, xác đến chi tiết? Bit cần dấu ”1110” Quy ƣớc : i / 05E1 / , o / 06D6 / , o / 06D6 / , ô / 00F4 / , … Hay cách nói khác từ thành đạt, nghĩa có đƣợc sống giàu sang, đƣợc ngƣời nể phục? Vậy bạn dành chút thời gian để lặng suy ngẫm Cuộc sống cho bạn có ngƣời đạt đƣợc thành cơng theo cách giản dị đến bất ngờ Đánh giá : giả sử với bảng khóa nhƣ Trang văn Số lƣợng từ Số bit dấu Khổ A4, 720 370 Tỉ lệ dấu font Time New Roman, cỡ chữ 13 30 Chế độ thay đổi Màu sắc Chế độ ổn định an toàn Trong chế độ này, ta thay đổi màu sắc ký tự văn đƣợc giấu tin theo chuỗi bit dấu Ta tìm kiếm màu sắc gần với màu sắc lựa chọn mà với mắt thƣờng khơng thể nhận đƣợc khác biệt Bit đƣợc thể xuất ký tự có màu sắc ban đầu Bit đƣợc thể xuất ký tự có màu sắc gần với màu sắc ban đầu Ngƣời nhận phải biết màu sắc mà bạn chọn cho việc mã hóa Và giống với chế độ thay ký tự bảng mã Unicode chế độ thay đổi màu sắc dành bit đầu cho độ dài thơng điệp dấu Ví dụ : ta chon màu đen để ẩn thông tin cần dấu 255 255 255 -> bit 255 255 254 -> bit Để hiểu rõ chế độ thay đổi màu sắc ta xét ví dụ sau : thông tin cần ẩn "no!", ẩn đoạn văn dƣới “ Đã bạn tự hỏi thành cơng mà bao kẻ bỏ đời theo đuổi? Phải kết hồn hảo cơng việc, xác đến chi tiết? Hay cách nói khác từ thành đạt, nghĩa có đƣợc sống giàu sang, đƣợc ngƣời nể phục? Vậy bạn dành chút thời gian để lặng suy ngẫm Cuộc sống cho bạn có ngƣời đạt đƣợc thành công theo cách giản dị đến bất ngờ “ Chuỗi bit cần ẩn "00000011 01101110 01101111 00100001" bit đầu độ dài thông tin ẩn Đã bạn tự hỏi thành công mà bao kẻ bỏ đời theo đuổi? Bit cần dấu ”00000011” Quy ƣớc : Đ / 255 255 255 / , ã / 255 255 255 / , b / 255 255 255 / … Phải kết hồn hảo cơng việc, xác đến chi tiết? Bit cần dấu ”001” Quy ƣớc : P / 255 255 255 / , h / 255 255 255 / , ả / 255 255 254 / … Hay cách nói khác từ thành đạt, nghĩa có đƣợc sống giàu sang, đƣợc ngƣời nể phục? Vậy bạn dành chút thời gian để lặng suy ngẫm Cuộc sống cho bạn có ngƣời đạt đƣợc thành công theo 31 cách giản dị đến bất ngờ Đánh giá : giả sử với bảng khóa nhƣ Trang văn Số lƣợng chữ Số bit dấu Tỉ lệ dấu Khổ A4, 2280 2280 1:1 font Time New Roman, cỡ chữ 13 32 CHƢƠNG CHƢƠNG TRÌNH MƠ PHỎNG Mơi trƣờng làm việc : Window XP Ngơn ngữ thực thuật tốn : ngơn ngữ lập trình C# với trình biên dịch Microsoft Visual C# Chƣơng trình đƣợc thiết kế, cài đặt với mục đích thể thuật tốn giấu tin văn 3.1 Mơ tả thuật tốn: - Input: Thơng điệp dấu: Một chuỗi bit Một văn - Output: Văn gốc Thơng điệp giấu Khố để giải mã 33 3.2 Q trình thực chƣơng trình Khóa Chuyển Dạng nhị phân Mã hóa File văn Thơng điệp giấu Văn đƣợc giấu tin Lấy tin từ văn giấu Khóa Khóa giải mã Giải mã dạng nhị phân Chuyển Thông điệp giấu 3.3 Giao diện chƣơng trình giấu tin HTML Trang HTML để thực giấu tin 34 35 Thực giấu tin 36 Trang HTML sau giấu tin 37 KẾT LUẬN Đồ án trình bày số khái niệm liên quan tới việc che giấu thơng tin nói chung, cụ thể nghiên cứu giấu tin văn Với thuật tốn giấu tin văn tính vơ hình thông tin sau giấu đƣợc đảm bảo với biến đổi không gây ý đáng kể Trang HTML văn DOC sau giấu tin có thay đổi quan trọng với thị giác ngƣời khơng thể phân biệt đƣợc khác Tính bền vững đƣợc hiểu trang HTML hay văn DOC sau giấu thông tin hệ thống giấu tin hay chƣơng trình giấu tin có chịu đƣợc cơng có chủ đích hay khơng? Đối với cách giấu thơng tin đây, trang HTML có bị lộ mã nguồn hay khơng phụ thuộc vào máy chủ Web có đƣợc bảo mật tốt hay khơng? Cịn văn DOC hồn tồn khơng có tính bền vững văn đƣợc giấu tin chuyển mà máy tính ngƣời nhận khơng có font chữ nhƣ ngƣời gửi font chữ bị hỏng Cịn dung lƣợng giấu tỉ lệ với môi trƣờng giấu, trang HTML nhiều cặp thuộc tính hữu ích giấu đƣợc nhiều thông tin, văn DOC tuơng tự Tuy nhiên giấu tin ngƣời ta cân nhắc tiêu 38 Tài liệu tham khảo [ ] Nguyễn Xuân Huy, Trần Quốc Dũng, “ Giáo trình giấu tin thuỷ vân ảnh” [ ] http://www.codeproject.com/steganography [ ] Nguyễn Hữu Tuấn “ Giáo trình thiết kế Web ” [ ] Dùng Unicode chữ Việt Net 39 PHỤ LỤC CÁC THỦ TỤC CHÍNH CỦA CHƢƠNG TRÌNH Giấu tin HTML Trƣớc tiên ta cần tới class để lƣu trữ thẻ HTML thuộc tính chúng public class HtmlAttribute ( private String name; private String value; private bool handled; public String Name( get ( return name;) ) public String Value ( get ( return this.value; ) set ( this.value = value; ) ) public bool Handled { get ( return handled; ) set ( this.handled = value; ) ) public HtmlAttribute (String name) ( this name = name.ToLower (); this value = String.Empty; handled = false; ) ) Phƣơng thức Hide liệt kê tất thẻ HTML, sau lặp thẻ thuộc tính Thuộc tính đƣợc xử lý bỏ qua Nếu thuộc tính khơng sử dụng tới, phƣơng thức lƣu vào bảng khóa public void Hide (String SourceFileName, String destinationFileName, Stream message, DataTable keyTable) ( / / Đọc tài liệu StreamReader reader = new StreamReader (Sourcefilename, Encoding.Default); String htmlDocument = reader.ReadToEnd (); reader.Close (); message.Position = 0; / / Danh sách thẻ HTML HtmlTagCollection tags = FindTags (htmlDocument); StringBuilder insertTextBuilder = new StringBuilder (); DataRow [] rows; HtmlAttribute secondAttribute; int offset = 0; int bitIndex = 7; 40 int messageByte = 0; foreach (HtmlTag tag int tags) ( insertTextBuilder.Remove (0, insertTextBuilder.Length); insertTextBuilder.AppendFormat ( "