Các thuật toán giấu tin trong ảnh

66 364 0
Các thuật toán giấu tin trong ảnh

Đ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

MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined LỜI MỞ ĐẦU CHƯƠNG I GIỚI THIỆU CHUNG VỀ KĨ THUẬT GIẤU TIN 1.1 Giới thiệu giấu tin 1.2 Khái niệm giấu tin 1.2.1 Quá trình giấu thông tin 10 1.2.2 Quá trình giải mã 11 1.2.3 Các thuật ngữ hay dùng giấu tin .12 1.3 Phân loại kĩ thuật giấu thông tin 12 1.4 Các yêu cầu toán giấu tin 13 1.4.1 Khả không bị phát (tính ẩn/ vô hình tin giấu) 14 1.4.2 Khả lưu trữ (Về dung lượng tin giấu) 14 1.4.3 Tính bền vững 14 1.5 Giấu thông tin sản phẩm Multimedia 15 1.5.1 Giấu thông tin ảnh 15 1.5.2 Giấu tin sản phẩm Audio 16 1.5.3 Giấu tin Video .17 1.6 Kết luận 18 CHƯƠNG II 18 MỘT SỐ THUẬT TOÁN GIẤU TIN TRONG ẢNH TĨNH 18 2.1 Cấu trúc file ảnh Bitmap 18 2.2 Các đặc điểm kĩ thuật giấu tin ảnh tĩnh 22 2.3 Sự khác biệt giấu tin loại ảnh 23 2.4 Một số thuật toán giấu tin ảnh tĩnh 24 2.4.1 Nghiên cứu kỹ thuật giấu tin đơn giản 25 2.4.2 Kỹ thuật giấu Wu _ Lee 29 2.4.3 Một vài cải tiến kỹ thuật giấu tin Yuan_Pan_Tseng 37 2.5 Kết luận 48 CHƯƠNG III 48 THIẾT KẾ THUẬT TOÁN VÀ CHƯƠNG TRÌNH .48 GIẤU TIN TRONG ỨNG DỤNG TRAO ĐỔI TIN MẬT .48 3.1 Giới thiệu chương trình 48 3.2 Tóm tắt cách cài đặt .49 3.3 Giao diện thực 58 3.4 Kết thử nghiệm nhận xét .60 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 66 LỜI MỞ ĐẦU Công nghệ thông tin phát triển cao giai đoạn nay, ngày khẳng định vai trò thiếu sống, nhiều lĩnh vực khoa học kĩ thuật Công nghệ thông tin ứng dụng nhiều lĩnh vực khác như: quản lý, thương mại điện tử, nghiên cứu khoa học…Từ yêu cầu đặt việc trao đổi thông tin vô quan trọng, có vai trò định công việc Ở nước ta công nghệ thông tin phát triển vào đời sống người cách nhanh chóng mạnh mẽ Nhu cầu trao đổi lớn thông tin Internet mang lại giúp người trao đổi thông tin thuận tiện nhanh chóng Nhưng gây vấn đề nảy sinh làm thông tin đảm bảo an toàn bí mật trình hòa nhập vào nguồn thông tin khổng lồ giới Việc bảo vệ thông tin trở thành nhu cầu quan trọng cấp thiết Vấn đề nghiên cứu nhiều nhằm tìm phương pháp hữu hiệu để bảo vệ thông tin An toàn thông tin bảo mật liệu thông thường sử dụng phương pháp mã hóa, phương pháp sử dụng nhiều năm qua hệ mã có khóa công khai với độ an toàn cao Tuy nhiên giai đoạn nay, phát triển đa phương tiện ảnh số, audio, video…với định dạng khác vô phong phú, liệu đa phương tiện gần gũi với người, không dùng để làm vật mang tin? Ngoài kết hợp với mã hóa thông tin có thêm lớp vỏ bọc an toàn Đây giải pháp nghiên cứu giai đoạn coi giải pháp bảo mật tương lai Trong đợt làm đồ án tốt nghiệp với hướng dẫn thầy giáo Th.S Nguyễn Văn Tảo em tìm hiểu thuật toán giấu tin ảnh áp dụng vào cài đặt thuật toán CPT (Yu-Yuan Chen, Hsiang- Kuang Pan, Yu_Chee Tseng) Đồ án chia làm chương: Chương 1: Giới thiệu chung kĩ thuật giấu tin Chương 2: Một số kĩ thuật giấu tin ảnh tĩnh Chương 3: Thiết kế thuật toán chương trình xây dựng ứng dụng trao đổi tin mật Mặc dù cố gắng song đồ án không tránh khỏi thiếu sót Em mong nhận ý kiến đóng góp Thầy Cô giáo bạn sinh viên để đề tài hoàn thiện Thái Nguyên, tháng năm 2008 CHƯƠNG I GIỚI THIỆU CHUNG VỀ KĨ THUẬT GIẤU TIN 1.1 Giới thiệu giấu tin Ngày với phát triển công nghệ kĩ thuật số, thiết bị xử lý số máy ảnh, máy scan, máy in, máy ghi âm kĩ thuật số… phần mềm chuyên dụng đời đem lại cho người nhiều thuận lợi lĩnh vực học tập, nghiên cứu vui chơi giải trí Bên cạnh công nghệ kĩ thuật số, phát triển không ngừng mạng Internet toàn cầu gần đời công nghệ mạng không dây (Wireless Technology) giúp cho hiểu biết người nhiều lĩnh vực sống, đồng thời cầu nối người giới lại với Chúng ta tìm kiếm thông tin phục vụ cho trình học tập nghiên cứu kho tàng tri thức khổng lồ, mạng Internet, cần ngồi nhà với máy tính nối mạng ta biết tin tức khắp nơi giới mà không cần phải nhiều thời gian đến tận nơi đó, tầm quan trọng mạng Internet to lớn Với tầm quan trọng có nhiều ứng dụng nên ngày công nghệ thông tin trở thành ngành mũi nhọn trình phát triển kinh tế xã hội, bên cạnh hòa nhập ứng dụng công nghệ thông tin lĩnh vực khác thu hút nhiều quan tâm như: trị, quân sự, quốc phòng, giáo dục…một số loại hình xuất như: phủ điện tử, thư viện điện tử, giáo dục điện tử sách điện tử, thương mại điện tử y tế điện tử… tất cho thấy vai trò ngày to lớn công nghệ thông tin phát triển kinh tế Tuy nhiên, nhìn vào mặt có lợi công nghệ thông tin nói chung, công nghệ kĩ thuật số mạng Internet nói riêng, không nói đến vấn đề tồn nó, đảm bảo an toàn bí mật thông tin quan trọng hay thông tin cá nhân khỏi kẻ tò mò Phương pháp áp dụng để đảm bảo tính mật thông tin mật mã học, với cách thông tin mã hóa thành kí hiệu vô nghĩa, sau gửi tới người nhận họ phải giải mã chúng để lấy lại nội dung thông tin ban đầu, mà họ cần sử dụng để khôi phục nội dung gọi khóa hệ mã Có nhiều phương pháp mã hóa thường dùng nhìn chung chia thành hai kiểu dựa vào việc sử dụng khóa mã hóa giải mã, là:  Mã hóa cổ điển: hai trình mã hóa giải mã sử dụng chung khóa, khóa cần phải giữ cẩn thận bí mật, người mã hóa giải mã nội dung thông tin Một số hệ mật kiểu : Hệ mật Hill, hệ mật Virgine, hệ mã hoán vị…  Mã hóa công khai: với phương pháp trình mã hóa giải mã sử dụng hai khóa khác nhau, người thứ tạo cặp khóa, khóa bí mật họ giữ lại, gửi cho người thứ hai khóa công khai, người sử dụng khóa công khai để mã hóa nội dung thông tin, sau gửi lại cho người thứ nhất, người thứ dùng khóa bí mật để giải mã nội dung thông tin, số hệ mật kiểu như: Hệ mã RSA, hệ mã DES, hệ mã Elgamal… Nếu so sánh độ an toàn hai phương pháp mã hóa công khai có độ an toàn cao hẳn, trường khóa lớn khả thám mã thành công khó thời gian thực lớn, phương pháp mã hóa cổ điển thực đơn giản, thời gian mã hóa giải mã nhanh, đa số hệ mật bị phá, nên độ an toàn không cao Bên cạnh phương pháp mã hóa, có cách khác để bảo vệ độ an toàn thông tin đường vận chuyển, phương pháp giấu tin, tức thông tin giấu vào nguồn chứa mà người khác không phát Giấu tin khác mã hóa tin chỗ giấu tin ẩn thông tin tính chất ẩn (invisible) thông tin giấu, không dễ dàng để biết có thông tin giấu hay không, mã hóa không ẩn tin nhìn qua biết thông tin bị mã hóa hay không Một thông tin mã hoá bị phát tên tin tặc tìm cách để triệt phá Và chạy đua người bảo vệ thông tin bọn tin tặc chưa kết thúc tuyệt đối bên Trong hoàn cảnh giấu thông tin trở thành phương pháp hữu hiệu 1.2 Khái niệm giấu tin Ngày trình độ khoa học kĩ thuật ngày phát triển, kinh tế không ngừng mở rộng, nhiều vấn đề nảy sinh giới công nghệ thông tin như: vấn đề quyền tác giả sản phẩm Audio,Video xác định nào? Nạn xuyên tạc thông tin ngày nhiều kiểm soát tinh vi công nghệ cao Nghiên cứu vấn đề liên quan đến việc đặt dấu hiệu để chống làm giả, chống nhái nhãn mác để bảo vệ quyền tác giả tác phẩm tranh ảnh, điện tử…là đối tượng nghiên cứu lĩnh vực khoa học giấu tin Các dạng thức che giấu thông tin thật dạng thức thô sơ sử dụng mã hóa dùng private-key; key trường hợp hiểu phương thức sử dụng Các sách Steganography với nhiều ví dụ minh họa phương thức sử dụng trước Những người đưa tin Hy Lạp viết thông điệp hình săm đầu cạo trọc Khi tóc mọc lên chúng che hết thông điệp Các bàn sáp khắc đến lớp gỗ trần thông điệp giấu Khi bàn sáp phủ lại sáp ban đầu thông điệp dấu kín Qua thời gian kĩ thuật mật mã sơ khai cải tiến, tốc độ, dung lượng, lẫn độ an toàn Ngày nay, kĩ thuật mã hóa hình ảnh vươn tới cấp độ tinh vi, việc mã hóa xác giao tiếp coi an toàn nhu cầu truyền thông tin Trên thực tế, dự kiến thuật toán tốt sử dụng khóa (key) với dung lượng nhiều kilobit giải mã cho dù tất máy tính giới hoạt động 20 năm tập trung giải mã Tất nhiên khả xảy điều xảy ra, khả tính toán máy tính có bước đột phá, với hầu hết người dùng sử dụng ứng dụng kĩ thuật mã hóa đủ an toàn Tại lại theo đuổi ý tưởng che giấu thông tin? Có nhiều lý do, điều giấu thông tin vật dụng không ý tưởng tồi, giả sử không phương pháp an toàn sử dụng Steganography ví dụ cho phép giấu thông điệp mã hóa vật dụng không thu hút ý Một đoạn kí tự ngẫu nhiên gửi người dùng cảnh báo cho bên thứ ba thông điệp nhạy cảm gửi đi, tranh trẻ em với vài vệt nhiễu không Những thông tin đính kèm tranh thật mã hóa lại không thu hút ý chút Điều trở nên đặc biệt quan trọng kĩ thuật không tương xứng với tăng trưởng người dùng tổ chức Các phủ nhà kinh doanh thường truy cập vào hệ thống mạnh với thuật toán mã hóa tốt người dùng đơn lẻ Vì thế, khả thông điệp người dùng đơn lẻ bị bẻ khóa ngày cao theo thời gian Việc giảm thông điệp bị chặn tổ chức coi cách giúp tăng cường tính riêng tư bảo mật Một lợi ích khác đưa A Tewfik thông tin ẩn có thay đổi cách nghĩ việc bảo mật thông tin Các phương pháp mã hóa thông thường phụ thuộc vào cách ẩn thành phần thông tin đặt gọi hộp an toàn khóa gọi “key” Bản thân thông tin không phức tạp tất với khóa (key) xác truy cập Khi hộp mở tất thông tin bảo mật So sánh điều với phương pháp che giấu thông tin dùng khóa “”key” nhúng thông tin gửi Điều khác biệt hiểu dễ công nghệ mã hóa DVD Thuật toán CSS lấy thông tin video số gói dạng thức mã hóa Khi đầu đọc DVD cung cấp khóa (key) xác, video giải mã đọc DVD hình Khi video giải mã dù lần trở nên vô dụng với nội dung mà dấu vết tác giả So sánh phương pháp với ý tưởng sử dụng watermark, mã hóa watermark hữu bất chấp video bị thay đổi theo cách khác việc giải mã thử Với điều này, cần thiết có kết hợp hai phương pháp trở nên rõ ràng Do vai trò tầm quan trọng nên kĩ thuật giấu tin phải nghiên cứu tất dạng liệu Các kĩ thuật giấu tin phổ biến môi trường điện tử như:  Kĩ thuật giấu tin mật (Steganography)  Kĩ thuật thủy vân số (Digital Watermarking) Định nghĩa Steganography Giấu thông tin kĩ thuật nhúng thông tin vào nguồn đa phương tiện, gọi nguồn chứa, mà không gây nhận biết tồn thông tin giấu Trước kĩ thuật sử dụng thành công đại chiến Thế giới lần II, nhiều thông tin mật chuyển mà không gây nghi ngờ cho đối phương, quân đội phục vụ cho công tác tình báo Tuy nhiên ngày nay, kĩ thuật giấu thông tin mật thu hút nhiều quan tâm nghiên cứu nhà khoa học viện công nghệ thông tin để ứng dụng việc bảo vệ quyền tác giả, chống phân phối bất hợp pháp, xuyên tạc trái phép nội dung thông tin quan trọng Các sản phẩm cần giữ quyền ngày đa dạng nhiều thể loại liệu Multimedia, âm thanh, hình ảnh…Như kĩ thuật giấu tin không dừng lại mức đơn giản để xác định quyền sở hữu nguồn tin, mà khía cạnh cao để bảo mật thông tin quan trọng Kĩ thuật giấu tin có yêu cầu khắt khe như:  Không làm biến dạng tin gốc  Phải vô hiệu hóa thao tác cắt tin, nén tin hay chắt lọc… Một số ví dụ có liên quan đến kĩ thuật giấu tin như: với tranh để bình thường chẳng có ý nghĩa đó, xoay ngược lại ta thấy nội dung ẩn chứa bên trong, hay cốc đựng nước chẳng có ý nghĩa dùng, nhiệt độ tăng lên đến mức hoa văn bên thành cốc lên rõ rệt…đó tất ứng dụng kĩ thuật giấu tin mật Tuy nhiên lĩnh vực tin học ứng dụng kĩ thuật nào, sản phẩm môi trường điện tử ta thấy như: nội dung thông tin mật giấu bên ảnh bình thường, sử dụng phần mềm đặc biệt ta thu lại thông tin giấu nó; với tập tin Video hay Audio nghe hàng ngày chẳng có đáng ý cả, bên chứa đựng nội dung quan trọng đó, hay đơn giản lời hát đó… Qua ví dụ trên, ta thấy vai trò tầm quan trọng kĩ thuật giấu tin mật nhiều lĩnh vực, mục đích kĩ thuật là:  Bảo mật cho liệu đem giấu  Bảo mật cho đối tượng dùng để giấu tin Định nghĩa Watermarking Watermarking hay gọi thủy vân số, khuynh hướng có nhiều ứng dụng thực tế Kĩ thuật không cần đến tính vô hình thông tin, thường nhằm vào úng dụng nghệ thuật giấy để nguồn gốc, tính sở hữu hay liên kết tài liệu in nhiều tờ giấy khác nhau, trang trí nghệ thuật Thủy vân số sử dụng với nhiều mục đích :  Bảo vệ quyền tác giả (copyright protection): Đây ứng dụng thủy vân số - dạng phương pháp giấu tin Một thông tin mang ý nghĩa quyền sở hữu tác giả nhúng vào sản phẩm, thủy vân người chủ sở hữu hợp pháp sản phẩm có dùng làm minh chứng cho quyền sản phẩm Giả sử có thành phẩm liệu dạng đa phương tiện ảnh, âm thanh, video cần lưu thông mạng.Để bảo vệ sản phẩm chống lại hành vi lấy cắp làm nhái cần phải có kĩ thuật để “dán tem quyền” vào sản phẩm Việc dán tem việc nhúng thủy vân cần phải đảm bảo không để lại ảnh hưởng lớn đến việc cảm nhận sản phẩm Yêu cầu kĩ thuật ứng dụng thủy vân phải tồn bền vững sản phẩm, muốn bỏ thủy vân mà không phép người chủ sở hữu có cách phải phá hủy sản phẩm  Xác thực thông tin phát xuyên tạc thông tin (authentication and tamper detection) : Một tập thông tin giấu phương tiện chứa sau sử dụng để nhận biết xem liệu phương tiện gốc có bị thay đổi hay không Các thủy vân để ẩn để tránh tò mò, việc làm giả thủy vân hợp lệ hay xuyên tạc thông tin nguồn cần xem xét Trong ứng dụng thực tế, người ta mong muốn tìm vị trí bị xuyên tạc phân biệt thay đổi (ví dụ xem đối tượng đa phương tiện chứa thông tin giấu bị thay đổi, xuyên tạc nội dung bị nén liệu) Yêu cầu chung ứng dụng khả giấu thông tin cao thủy vân không cần bền vững  Giấu vân tay hay dán nhãn (fingerprinting or labeling) : Thủy vân ứng dụng sử dụng để nhận diện người gửi hay người nhận thông tin Ví dụ vân khác nhúng vào copy khác thông tin gốc trước chuyển cho nhiều người Với ứng dụng yêu cầu đảm bảo độ an toàn cao cho thủy vân tránh xóa dấu vết phân phối  Điều khiển truy cập (copy control): Các thủy vân trường hợp sử dụng để kiểm soát chép thông tin Các thiết bị phát thủy vân thường gắn sẵn vào hệ thống đọc/ ghi Ví dụ hệ thống quản lý chép DVD ứng dụng Nhật Các ứng dụng loại yêu cầu thủy vân phải đảm bảo an toàn sử dụng phương pháp phát thủy vân giấu mà không cần thông tin gốc Giấu thông tin Giấu tin mật Thủy vân số Thủy vân bền vững Thủy vân ẩn Thủy vân dễ vỡ Thủy vân 1.2.1 Quá trình giấu thông tin Quá trình giấu tin tiến hành theo bước sau: Khóa Phương tiện chứa (audio, image, video) Nhúng thông tin giấu vào phương tiện chứa Thông tin 10 Phương tiện chứa giấu tin Phân phối sản phẩm } if(dem>0) DaoGiatri(s, dem,buf); else while(1) { //Tim h de hai tap hop khac rong h++; for (i=0;i0) //s[hd] khac rong { DaoGiatri(s,dem,buf); //Tinh s1 tap cac chi so thoa man cua tap S[-(h-1)d] u=mod+((1-h)*d) % mod; //Co vai tro nhu d v=0; for (i=0;iSetPos(m_nProgress); //Thiet lap vi tri cho Progress while ((c1=getc(temp))!=EOF) putc(c1,temp1); fclose(temp1); temp1=fopen("MT_Khoa.txt","a"); fprintf(temp1,"%d\n",sokhoi); fclose(temp1); TraBit(pic1,tmp1,pic2); fclose(t); fclose(p1); fclose(temp); return ; } //=====Ham lay tin tu anh giau void CDataHidingImageDlg::LayTin(CString pic, CString bintext) { FILE *p, *t; FILE *temp; int i , j; int b, c; int sum; int d; int mod; int bol, dem; RGB ClrTab[255]; int ClrTabSize; mod=power2(r); 53 if ((p=fopen(pic,"rb")) == NULL) MessageBox("Khong mo duoc File anh chua thong tin de lay tin"); if ((t=fopen(bintext,"wb")) == NULL) MessageBox("Khong mo duoc File nhi phan de luu thong tin lay"); if ((temp=fopen(tmpleft,"wb")) == NULL) MessageBox("Khong mo duoc File luu tam"); FreadHeader(p); if (bmh.BitCount=0;i ) if(i % bmh.BitCount==0) { b=(c>>i)&1; putc(b,temp); } } else if (bmh.BitCount==16) { c=getc(p); while (c!=EOF) { c=getc(p); b=c>>7; putc(b,temp); c=getc(p); } } else if (bmh.BitCount==24) 54 { while ((c=getc(p))!=EOF) { for(i=0;ij)&1; putc(d,t); } } fclose(t); fclose(p); fclose(temp); } //=====Ham giai ma void CDataHidingImageDlg::GiaiMa(CString bintext, CString text) { FILE *bt, *kq; int i, c, b; if ((bt=fopen(bintext,"rb")) == NULL) MessageBox("Khong mo duoc File nhi phan de giai ma"); if((kq=fopen(text,"wb")) == NULL) MessageBox("Khong mo duoc File text de luu ket qua"); c=getc(bt); while (c!=EOF) { for(b=0,i=7;i>=0;i ) { b+=c*power2(i); c=getc(bt); } if (char(b)==EOF) break; putc(b,kq); } fclose(bt); fclose(kq); } //Ham Test nhap lieu 56 bool CDataHidingImageDlg::testinput() { bool kt = TRUE; if (m_strsourcefile =="") { if(m_Radio==0){ AfxMessageBox("Ban chua nhap file anh nguon"); kt= FALSE; goto dung; }else{ AfxMessageBox("Ban chua nhap file anh da ma hoa"); kt= FALSE; goto dung; } } if (m_strtextfile =="") { if(m_Radio==0){ AfxMessageBox("Ban chua nhap file thong tin giau"); kt= FALSE; goto dung; }else{ AfxMessageBox("Ban chua nhap file tu khoa"); kt= FALSE; goto dung; } } if (newimagefile =="") { if(m_Radio==0){ AfxMessageBox("Chua co file anh chua thong tin"); kt= FALSE; goto dung; }else{ AfxMessageBox("Ban chua nhap ten file chua ket qua"); kt= FALSE; goto dung; } 57 } if ((m_txtm ==NULL)||m_txtm=51) { AfxMessageBox(" Nhap sai kich thuoc m cua khoi anh\nHay nhap vao gia tri lon hon va nho hon 51"); kt= FALSE; goto dung; } if ((m_txtn ==NULL)||m_txtn=51) { AfxMessageBox(" Nhap sai kich thuoc n cua khoi anh\nHay nhap vao gia tri lon hon va nho hon 51"); kt= FALSE; goto dung; } if (m_txtr==NULL||power2(m_txtr)> m_txtm*m_txtn||m_txtr

Ngày đăng: 03/08/2016, 15:58

Từ khóa liên quan

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

Tài liệu liên quan