Nghiên cứu và cải tiến một số kỹ thuật giấu thông tin trong môi trường ảnh Nghiên cứu và cải tiến một số kỹ thuật giấu thông tin trong môi trường ảnh Nghiên cứu và cải tiến một số kỹ thuật giấu thông tin trong môi trường ảnh luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Dương Đức Hải Bộ giáo dục đào tạo trường đại học bách khoa hà nội Dương Đức Hải Ngành: Công nghệ thông tin nghiên cứu cải tiến số kỹ thuật giấu thông tin môi trường ảnh Luận văn thạc sỹ Công nghệ thông tin Khóa: 2002 - 2004 Hà Nội Năm 2004 Bộ giáo dục đào tạo trường đại học bách khoa hà nội Dương Đức Hải nghiên cứu cải tiến số kỹ thuật giấu thông tin môi trường ảnh Luận văn thạc sỹ Khoa Học Chuyên ngành Công nghệ thông tin Ngêi híng dÉn khoa häc: PGS.TS Ngun Ngäc Trêng Đại học Bách Khoa Hà Nội Hà Nội Năm 2004 B×nh Luận văn tốt nghiệp cao học Dương Đức Hi danh mục chữ viết tắt S TT Từ viết tắt Từ đầy đủ BMP Bitmap CPT Chen – Pan – Tseng DCT Discrete Cosine Transformation DES Data Encryption Standard EOF End Of File GIF Graphics Interchanger Format HAS Human Auditory System HVS Human Vision System JPEG Joint Photograph Expert Group 10 LSB Least Significant Bit 11 RSA Rivets - Shamir - Adleman 12 RLC Run Length Coding 13 TIFF Targed Image File Format C¸c danh mơc Luận văn tốt nghiệp cao học Dương Đức Hải danh môc bảng S TT Bng 1.1 Phõn bit gia Steganography với Watermark 18 1.2 Một số kiểu cơng điển hình 26 2.1 Header ảnh Bitmap 35 2.2 Palette ảnh Bitmap 36 2.3 Sự khác giấu thông tin ảnh đen trắng ảnh mầu 37 2.4 Số bit biểu diễn điểm ảnh số loại ảnh 40 3.1 Số bit biểu diễn điểm ảnh số loại ảnh 57 3.2 Kết thực nghiệm giấu tin kỹ thuật DCT (không nén JPEG) 71 3.3 Kết thực nghiệm giấu tin kỹ thuật DCT (có nén JPEG) 71 10 4.1 So sánh hiệu hai giải thuật cài đặt 95 11 5.1 So sánh hệ DataHiding & hệ The Third Eye 99 Tên bảng Trang C¸c danh mơc Luận văn tốt nghiệp cao học Dương Đức Hải danh môc hình vẽ S TT Hỡnh 1.1 Phõn cp lĩnh vực nghiên cứu mật mã học 10 1.2 Phân loại kỹ thuật giấu tin theo hai khuynh hướng nghiên cứu 13 1.3 Lược đồ chung cho q trình giấu thơng tin 18 1.4 Lược đồ q trình giải mã thơng tin 19 1.5 Ứng dụng bảo vệ quyền tác giả 20 1.6 Ứng dụng nhận thực thông tin 21 1.7 Ứng dụng phân phối sản phẩm 21 2.1 Bảng mầu sở Paint Shop Pro thứ tự 32 2.2 Phương pháp quét dòng liên tiếp 32 10 2.3 Phương pháp quét dải dòng liên tiếp 32 11 2.4 So sánh ảnh mầu gốc ảnh giấu tin 37 12 2.5 So sánh ảnh đen trắng gốc ảnh giấu tin 38 13 2.6 Minh họa bit LSB ảnh 256 mầu 41 14 2.7 Phối mầu RGB 42 15 3.1 Kỹ thuật giấu tin khối bit 46 16 3.2 Kỹ thuật giấu tin đường biên ảnh 47 17 3.3 Phương thức tính hệ số phân bố bit 48 18 3.4 Quan hệ láng giềng điểm ảnh khối bit 49 19 3.5 Minh họa phép AND cặp bit hai ma trận 50 20 3.6 Minh họa phép XOR cặp bit hai ma trận 50 21 3.7 Minh họa ma trận ảnh ma trận khóa 52 22 3.8 Một số phương pháp trượt ma trận khóa khối ảnh 53 23 3.9 Minh họa ma trận ảnh, ma trận khóa ma trận trọng số 54 24 3.10 Minh họa phép hai ma trận 55 25 3.11 Minh họa bit LSB 58 26 3.12 Minh họa kỹ thuật giấu tin vào điểm LSB 59 Tên hình Trang C¸c danh mơc Luận văn tốt nghiệp cao học Dương Đức Hải Số TT Hình 27 3.13 Giải thuật nhúng tin kỹ thuật DCT 68 28 3.14 Giải thuật giải tin kỹ thuật DCT 69 29 4.1 Thuật toán giấu tin trực tiếp vào điểm ảnh 77 30 4.2 Thuật toán giải tin theo phương pháp giấu trực tiếp vào điểm ảnh 78 31 4.3 Thuật toán CPT áp dụng cho ảnh mầu ảnh đa cấp xám 79 32 4.4 Thuật toán giải tin theo CPT 80 33 4.5 Sơ đồ phân cấp chức ứng dụng DataHiding 84 34 4.6 Giao diện ứng dụng DataHiding 84 35 4.7 Giao diện lựa chọn thông số giấu tin theo phương pháp giấu trực tiếp vào điểm ảnh 85 36 4.8 Giao diện lựa chọn giấu tin theo phương pháp CPT 86 37 4.9 Giao diện lựa chọn giải tin 87 38 4.10 Giao diện giới thiệu ứng dụng 87 39 4.11 Giao diện thông báo giấu tin thành công 87 40 4.12 Giao diện thông báo giải tin thành công 87 41 4.13 Một số thơng báo lỗi điển hình ứng dụng 88 42 4.14 Ảnh kết thực nghiệm giấu 2.69 MB thông tin vào ảnh Text 24 bit mầu 89 43 4.15 Kết thực nghiệm giấu 2.69MB thông tin vào ảnh 24 bit mầu 89 44 4.16 So sánh ảnh gốc ảnh giấu tin cách Zoom 400% 90 45 4.17 Kết thực nghiệm giấu 74KB thông tin vào ảnh bit mầu 90 46 4.18 Kết thực nghiệm giấu 105KB thông tin vào ảnh bit mầu 90 47 4.19 Kết giấu ảnh hoa hồng 24 bit mầu vào ảnh đa cấp xám 91 48 4.20 So sánh ảnh hoa hồng trước giấu sau giải tin từ ảnh đa cấp xám 91 Tên hình Trang C¸c danh môc Luận văn tốt nghiệp cao học Dương Đức Hải Số TT Hình 49 4.21 Kết thực nghiệm giấu 352 byte thông tin vào ảnh 24bit mầu 91 50 4.22 Kết thực nghiệm giấu 317 byte thông tin vào ảnh 8bit mầu 92 51 4.23 Kết thực nghiệm giấu 317 byte thông tin vào ảnh đa cấp xám 92 52 4.24 Kết thực nghiệm giấu 317 byte thông tin vào ảnh đen trắng 92 53 4.25 Các ảnh gốc dùng thực nghiệm dung lượng giấu tin 93 54 4.26 Kết thực nghiệm dung lượng giấu tin 93 55 5.1 Kết thực nghiệm so sánh hệ DataHiding The Third Eye 99 Tên hình Trang C¸c danh mơc Luận văn tốt nghiệp cao học Dương Đức Hải môc lôc Nội dung Trang Mục lục Danh mục từ viết tắt Danh mục bảng Danh mục hình vẽ Mở đầu Chương1 Tổng quan phương pháp bảo mật thông tin 1.1 Sơ lược lịch sử giấu tin 10 1.2 nh ngha phân loại 11 1.3 Mô hình kỹ thuật giấu tin 18 1.4 Những ứng dụng giấu tin 20 1.5 Giấu thông tin liệu đa phương tiện 22 1.6 Độ an toàn hệ thống giấu tin 25 1.7 Các công biện pháp khăc phục kỹ thuật giấu tin 26 Chương Một số vấn đề giấu thông tin ảnh 27 2.1 Giấu thông tin ảnh, đặc trưng tính chất 27 2.2 Biểu diễn ảnh máy tính 29 2.3 Giấu thông tin ảnh đen trắng, ảnh mầu ảnh đa cấp xám 36 2.4 Một số tiêu chí đánh giá kỹ thuật giấu thông tin ảnh số 38 2.5 Các kỹ thuật xử lý điểm ảnh 40 2.6 Đánh giá số hệ giấu tin ảnh 43 Chương Một số thuật toán giấu tin ảnh 45 3.1 Thuật toán giấu thông tin khối bit 45 3.2 ThuËt to¸n thay thÕ bit cã träng sè thÊp nhÊt LSB ( Least Significant Bit) 57 3.3 Một số k thut giu tin khỏc 64 3.4 Các hạn chế cđa kü tht giÊu tin 73 Ch¬ng TriĨn khai øng dơng 74 Giíi thiƯu 74 Lựa chọn công cụ thuật toán 76 4.3 Cài đặt ứng dụng 77 4 Kết thử nghiệm 88 Các kết luận dựa kết thử nghiệm 95 Chương Tổng kết đánh giá 97 5.1 Các vấn đề đà giải 97 5.2 Đánh giá nội dung đà thực 98 5.3 Hướng phát triển đề tài 99 Tài liệu tham kh¶o 101 Phơ lơc 104 Mơc lơc Luận văn tt nghip cao hc Dng c Hi Mở đầu Cuc cách mạng thông tin kỹ thuật số đem lại thay đổi sâu sắc xã hội sống Bên cạnh thuận lợi mà thông tin kỹ thuật số mang lại sinh thách thức hội Sự đời phần mềm có tính mạnh, thiết bị máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm kỹ thuật số v.v thúc đẩy khả sáng tạo, xử lý thưởng thức liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu tạo cấu ảo - nơi diễn trình trao đổi thơng tin lĩnh vực trị, qn sự, quốc phịng, kinh tế, thương mại…Và môi trường mở tiện nghi xuất vấn nạn, tiêu cực cần giải pháp hữu hiệu nhằm đảm bảo an tồn thơng tin, chống lại nạn ăn cắp quyền, xuyên tạc thông tin, truy nhập thông tin trái phép v.v Việc tìm giải pháp cho vấn đề khơng giúp ta hiểu thêm công nghệ phức tạp phát triển nhanh mà tạo hội phát triển Nhiệm vụ luận văn tìm hiểu trình bầy số kỹ thuật giấu thông tin mật môi trường ảnh tĩnh, giải pháp quan tâm để đảm bảo an tồn thơng tin mạng nói riêng lĩnh vực bảo mật thơng tin nói chung Luận văn chia thành chương: Chương Tổng quan phương pháp bảo mật thông tin Giới thiệu tổng quan lĩnh vực giấu tin ảnh: từ lịch sử phát triển đến phương pháp giấu tin ứng dụng Chương nêu định nghĩa, phân loại, mơ hình ứng dụng kỹ thuật giấu tin Xem xét đánh giá độ an tồn, cơng với hệ giấu tin số biện pháp khắc phục công Chương Một số vấn đề giấu thông tin ảnh Đề cập tới kiến thức liên quan đến kỹ thuật giấu tin ảnh như: hệ thống thị giác người mơ hình màu cho ảnh; Các kỹ thuật biểu diễn ảnh máy tính số định dạng ảnh thông dụng; Các kỹ thuật xử lý điểm ảnh; Xem xét đánh giá số h giu tin nh Mở đầu Lun tốt nghiệp cao học Dương Đức Hải Chương Một số thuật toán giấu tin ảnh Nghiên cứu trình bày số kỹ thuật giấu tin ảnh: Giấu thơng tin khối bít; Thay bit có trọng số thấp nhất; Giấu thơng tin miền tần số; Thơng qua nghiên cứu thuật tốn đưa số hạn chế kỹ thuật giấu tin môi trường ảnh Chương Triển khai ứng dụng Trình bầy thiết kế cài đặt hệ giấu tin ảnh dựa việc cải tiến hai thuật toán CPT LSB Các kết đánh giá dựa kết thử nghiệm hệ nhằm ứng dụng vào giải toán thực tế: Chuyển phát đề thi Chương Tổng kết đánh giá Nêu nhận xét, kết thực phương hướng phát triển đề tài Tác giả luận văn bày tỏ lịng kính trọng biết ơn sâu sắc tới PGS.TS Nguyễn Ngọc Bình – Người thầy hướng đúng, tận tình hướng dẫn để tác giả hồn thành luận văn Tác giả chân thành cảm ơn Thầy Cô, bè bạn người thân động viên giúp đỡ suốt qua trình nghiên cứu, triển khai đề tài Vì trình độ có hạn, luận văn khơng thể tránh khỏi sai sót Tác giả kính mong nhận góp chân thành để luận văn ngày hon thin H Ni, thỏng 11 nm 2004 Mở đầu 105 Luận văn tốt nghiệp cao học Dương Đức Hải đạt hiệu tốt sử dụng ảnh đa cấp xám thông tin giấu văn (phần thực nghiệm Chương chứng minh điều này) Sau giấu tin, nên xóa ảnh gốc để tăng tính bảo mật cho thơng tin giấu - Để giải tin từ ảnh giấu, chọn chức “Thực giải tin” Tùy theo phương pháp giấu mà chọn phương pháp giải tin tương ứng Quá trình giải tin cần rõ ảnh giấu tin, vị trí để ghi file thông tin sau giải, mật file khóa Thơng tin sau giải trở định dạng ban đầu trước giấu Phô lôc 106 Luận văn tốt nghiệp cao học Dương Đức Hải Phụ lục Một số hàm chương trình Hàm chuyển File thông tin cần giấu sang File nhị phân thông tin Cinfo::convert2bin() { int c,c1,i; if ((f_info = fopen(f_name,"rb")) ==NULL) { AfxMessageBox("Không mở File nhị phân thông tin! ", MB_OK + MB_ICONEXCLAMATION); return false; } if ((f_bininfo = fopen("bininfo.tmp"/*nhi_phan_thong_tin*/,"wb"))= =NULL) { AfxMessageBox("Không tạo File nhị phân thông tin!", MB_OK + MB_ICONEXCLAMATION); return false; } while ((c = getc(f_info)) != EOF ) for (i=7; i>=0; i ) { c1 = (c>>i)&1; putc(c1,f_bininfo); } fclose(f_info); fclose(f_bininfo); return true; } Hàm trích bit LSB từ ảnh mơi trường convert2bin(UINT type) { int c,c1,i; if (type = = 1) { m_tabsize = power2(type)*sizeof(RGB); m_clrtab = (RGB*) calloc(power2(type),sizeof(RGB)); UINT n=fread(m_clrtab,m_tabsize,1,f_image); if (openbinimage()) while ((c = getc(f_image)) != EOF) putc(c,f_binimage); } else if (type = =8) { m_tabsize = power2(type)*sizeof(RGB); m_clrtab = (RGB* ) calloc(power2(type),sizeof(RGB)); UINT n = fread(m_clrtab,m_tabsize,1,f_image); if (openbinimage()) while ((c = getc(f_image)) != EOF) Phô lôc 107 Luận văn tốt nghiệp cao học Dương Đức Hải { if (c % ==1) c1=1; else c1 =0; putc(c1,f_binimage); } } else { m_tabsize = 0; if (openbinimage()) while ((c=getc(f_image))!=EOF) { c = c&1; putc(c,f_binimage); c = getc(f_image); c = c&1; putc(c,f_binimage); c = getc(f_image); for (i=2;i>=0;i ) { int t = 0; t = (c >>(i))&1; putc(t,f_binimage); } } } fclose(f_binimage); } convert2bin() { if (openimage()) {readheader(); switch (m_bmpheader.biCount) { case 1: convert2bin(1); break; case 8: convert2bin(8); break; case 24: convert2bin(24); break; default: AfxMessageBox("Không hỗ trợ định dạng ¶nh nµy",MB_OK + MB_ICONEXCLAMATION); return false; } Phơ lơc 108 Luận văn tốt nghiệp cao học Dương Đức Hải return true;} return false; } Hàm trả lại điểm LSB giấu tin ảnh môi trường tạo thành ảnh combineimage(CString hidedimg) { int c,c1,lastbit; UINT temp = m_bmpheader.biCount; if ((f_newimage = fopen(hidedimg,"wb"))= =NULL) { AfxMessageBox("Kh«ng më File ảnh mới", MB_OK+MB_ICONEXCLAMATION); return false; } if ((f_image = fopen(f_name,"rb"))= =NULL) { AfxMessageBox("Không mở File ảnh môi trêng", MB_OK+MB_ICONEXCLAMATION); return false; } fseek(f_image,sizeof(m_bmpheader) + m_tabsize -2,0); if (temp = =1) { writeheader(); fwrite(m_clrtab,m_tabsize,1,f_newimage); while ((c = getc(f_newbinimage)) !=EOF) putc(c,f_newimage); } else if (temp ==8) { writeheader(); fwrite(m_clrtab,m_tabsize,1,f_newimage); while ((c=getc(f_newbinimage))!=EOF) { c1 = getc(f_image); if (c1%2 == 1) lastbit =1; else lastbit =0; c1=c1-lastbit; c1=c1+c; putc(c1,f_newimage); } } else { writeheader(); while ((c =getc(f_newbinimage))!=EOF) Phô lôc 109 Luận văn tốt nghiệp cao học Dương Đức Hải { c1 = getc(f_image); lastbit = c1 & 1; c1 = c1 - lastbit; c1 = c1 + c; putc(c1,f_newimage); c = getc(f_newbinimage); c1 = getc(f_image); lastbit = c1 &1; c1 = c1 - lastbit; c1 = c1 + c; putc(c1,f_newimage); c1 =getc(f_image); int t=0,t1=0,i; for (i=2;i>=0;i ) { c = getc(f_newbinimage); t1 += c*power2(i); t += ((c1>>i)&1)*power2(i); } c1 =c1 - t + t1;; putc(c1,f_newimage); } } fclose(f_newbinimage); fclose(f_image); fclose(f_newimage); return true; } Hàm giải mã thông tin từ File nhị phân tách từ ảnh nhúng File thông tin với định dạng trước nhúng putf_newbininfo(char *m_path, CString extractfile,UINT x) { int c,c1,i; if ((f_newbininfo = fopen(m_path,"rb")) ==NULL) { AfxMessageBox("Không tạo File thông tin nhị phân mới!",MB_OK); return false; } if (x= =1) if ((f_extract = fopen("temp1.zip","wb")) ==NULL) { AfxMessageBox("Không mở file thông tin kết qủa ",MB_OK); return false; } Phô lôc 110 Luận văn tốt nghiệp cao học Dương Đức Hải if (x= =0) if ((f_extract = fopen(extractfile,"wb")) ==NULL) { AfxMessageBox("Không mở file thông tin kết qủa",MB_OK); return false; } c1=0; c = getc(f_newbininfo); while (c!= EOF) { for (i=7; i>=0; i ) { c1 =c1 + (cj)&1; putc(ctemp,hidedfile); } } extlength = m_ext.GetLength(); for (i =0; i=0; j ) { ctemp = (cinfo>>j)&1; putc(ctemp,hidedfile); } } for (i =31; i>=0; i ) { ctemp = (count>>i)&1; putc(ctemp, hidedfile); } extlength = extlength*8 + length*8 +32; for (i=0; i>j)&1; cimage = getc(imghandle); if (ctemp != cimage) { AfxMessageBox("Sai mËt khÈu - KiÓm tra lại mật thử lại", MB_ICONSTOP); fclose(infohandle); return ext; } } } length = 3; for (i=0;i=0; j ) Phô lôc 113 Luận văn tốt nghiệp cao học Dương Đức Hải { c= getc(imghandle); c1 =c1 + (c