Mã hóa và giấu tin

92 14 0
Mã hóa và giấu tin

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TRẦN HOÀI NAM TRẦN HOÀI NAM TỐNTIN MÃ HĨA VÀ GIẤU TIN KHĨA: 2012A LUẬN VĂN THẠC SĨ KỸ THUẬT TOÁN TIN Hà Nội - 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TRẦN HỒI NAM MÃ HĨA VÀ GIẤU TIN Chuyên ngành : TOÁN TIN LUẬN VĂN THẠC SĨ KỸ THUẬT NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS PHAN TRUNG HUY Hà Nội - 2014 MỤC LỤC LỜI CAM ĐOAN .7 DANH MỤC VIẾT TẮT DANH MỤC CÁC BẢNG 10 DANH MỤC HÌNH VẼ 11 LỜI MỞ ĐẦU 12 Đặt vấn đề 12 Mục đích luận văn .13 Những đóng góp luận văn 13 Chương - TỔNG QUAN VỀ MẬT MÃ HỌC .15 Khái niệm sơ đồ mật mã: 15 1.1 Khái niệm: 15 1.2 Sơ đồ hệ thống mật mã .15 1.3 Thám mã tính an tồn hệ mã .16 1.3.1 Thám mã 16 1.3.2 Tính an tồn hệ mật mã 17 1.4 Cơ sở toán học lý thuyết mật mã 17 1.4.1 Độ phức tạp thuật toán 17 1.4.2 Thuật toán Euclid 18 Số nguyên tố 18 Định lý số dư Trung Quốc 19 Một số thuật toán kiểm tra số nguyên tố 19 4.1 Thuật toán Fermat .19 4.2 Thuật toán Trial Division 21 4.3 Thuật toán Miller-Rabin 23 Mật mã khóa đối xứng 26 5.1 Khái niệm 26 5.2 Mã hóa hốn vị 26 5.3 Mã hóa DES (Data Encyption Standard) 27 5.3.1 Quá trình mã hóa DES 27 5.3.2 Quá trình giải mã DES .29 Mật mã hóa cơng khai : .29 6.1 Khái niệm : 29 6.2 Hệ ELGAMAL: 30 6.2.1 Mã hoá giải mã hệ Elgamal: 30 6.2.2 Xét ví dụ minh hoạ hệ Elgamal : 31 6.3 Hệ mật RSA 32 6.3.1 Ý tưởng liệu dùng hệ mật mã RSA 32 6.3.2 Sơ đồ hệ mật mã RSA: 32 6.3.3 Tính đắn : 32 6.4 Hệ mã Rabin 34 6.4.1 Mô tả hệ mật mã Rabin …………………………………………… 34 6.4.2 Thuật toán lập mã……… ………………………………… ……… 35 6.4.3 Thuật toán giải mã……… ………………………………… ………35 6.4.4 Tính an tồn hệ mật mã Rabin…………………………… …… 37 6.4.5 Phương trình Rabin………………… .………… …… 37 6.4.6 Sơ đồ cải tiến Shimada…………………………… …… 39 6.4.7 Sơ đồ cải tiến Chen - Tsu …………………………… …… 41 6.4.8 Sơ đồ cải tiến THA1 .…………………………… …… 41 Chương - TỔNG QUAN VỀ GIẤU TIN .50 Khái niệm giấu tin: 50 Mơ hình giấu tin: .50 Một số tính chất giấu tin: 52 3.1 Khả nhúng tin 52 3.2 Tính che giấu 52 3.3 Tính bảo mật .53 3.4 Tính dễ vỡ, bền vững 53 4 Phân loại kỹ thuật giấu tin 53 4.2 Sơ đồ phân loại giấu tin .54 Một số ứng dụng kỹ thuật giấu tin .55 Một số khái niệm ảnh số .56 6.1 Điểm ảnh 56 6.2 Phân giải ảnh .57 6.3 Histogram ảnh 57 6.4 Ảnh nhị phân 57 6.5 Ảnh đa mức xám 57 6.6 Ảnh màu 24 bit .57 6.7 Cấu trúc ảnh bitmap 57 Chương - MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN ẢNH NHỊ PHÂN 62 Một số ký hiệu định nghĩa 62 3.2 Phương pháp Wu – Lee 62 3.2.1.Tư tưởng giấu tin Wu - Lee 63 3.2.2 Tóm tắt thuật toán .63 3.2.3 Nội dung thuật toán 63 3.2.4 Phân tích thuật tốn 64 3.2.5 Thí dụ minh họa thuật toán Wu-Lee 65 3.2.6 Một số nhận xét thuật toán Wu-lee .66 3.3 Phương pháp giấu tin CPT .67 3.3.1 Thuật toán nhúng tin 67 3.3.2 Thuật tốn trích tin 68 3.3.3 Một số thí dụ minh họa thuật toán CPT 69 3.3.4 Phân tích thuật tốn 73 3.4 Thuật toán giấu tin với phương pháp CPTE .74 3.4.1 Thuật toán nhúng tin CPTE .74 3.5 Thuật toán giấu tin THA 77 3.5.1 Thuật toán nhúng dãy bít tr n khối 77 3.5.2 Thuật toán nhúng tin THA .80 3.5.3 Thuật tốn trích tin THA: 80 Chương - ỨNG DỤNG MÃ HĨA VÀ GIẤU TIN TRÊN ẢNH 24 BÍT MÀU 82 4.1 Đặt vấn đề .82 4.2 Mô hình xử lý hệ thống 82 4.3 Biểu đồ luồng liệu .82 4.3.1 Sơ đồ mức ngữ cảnh 82 4.3.2 Sơ đồ mức đỉnh .83 4.4 Giao diện chương trình phần mềm 84 KẾT LUẬN .88 Kết luận văn 88 Phương hướng nghiên cứu 88 TÀI LIỆU THAM KHẢO 89 PHỤ LỤC 90 LỜI CAM ĐOAN Kính gửi: Viện Đào tạo sau Đại học Trƣờng Đại học Bách Khoa Hà Nội Tên là: Sinh ngày: Trần Hồi Nam 17/2/1979 Học vi n lớp: 12A TT-VINH Khố : 2012A Được giúp đỡ tận tình PGS Phan Trung Huy giảng vi n Viện Toán ứng dụng Tin học Trường Đại học Bách Khoa Hà Nội nổ lực thân, hoàn thành nội dung luận văn thạc sĩ Tơi xin cam đoan tồn kiến thức sử dụng luận văn hoàn toàn thân tự nghi n cứu tham khảo tài liệu nước hướng dẫn giảng vi n Trong luận văn hồn tồn khơng có chép hay vay mượn nội dung hình thức Phần mềm trình bày luận văn phần mềm thân tơi viết có hỗ trợ số bạn bè đồng nghiệp ứng dụng phạm vi đơn vị nơi tơi cơng tác Tơi xin chịu hồn tồn trách nhiệm nội dung luận văn trước Viện đào tạo sau đại học - Trường Đại học Bách Khoa Hà Nội Hà Nội, tháng năm 2014 Tác giả luận văn Trần Hồi Nam LỜI CẢM ƠN Tơi xin chân thành cảm ơn Thầy, Cô giáo Viện Toán Ứng dụng Tin học, cán bộ, nhân vi n Viện Đào tạo sau đại học, Trường Đại học Bách Khoa Hà Nội; cán bộ, nhân vi n Viện Đào tạo nguồn Nhân lực Quốc tế ln nhiệt tình tạo điều kiện tốt cho tơi suốt q trình học tập Xin chân thành cảm ơn anh, chị bạn học vi n lớp Cao học 12ATT-VINH Trường Đại học Bách khoa Hà Nội động vi n, giúp đỡ chia với kinh nghiệm học tập sống đời thường Đặc biệt, qua xin bày tỏ lòng biết ơn sâu sắc đến PGS Phan Trung Huy, Thạc sỹ Đỗ Văn Tuấn tận tình hướng dẫn, giúp đỡ động vi n suốt trình thực luận văn Mặc dù có nhiều cố gắng, song hạn hẹp thời gian, điều kiện nghi n cứu, luận văn không tránh khỏi sai sót, khiếm khuyết Tơi mong đóng góp ý kiến thầy giáo, giáo đồng nghiệp Hà Nội, tháng năm 2014 Ngƣời thực luận văn Trần Hoài Nam DANH MỤC VIẾT TẮT Nội dung STT Viết tắt Least Significant Bit LSB Bitmap BMP M.Y.Wu and J.H.Lee Wu-Lee Y.Chen, H.Pan, Y.Tseng CPT Y.Chen, H.Pan, Y.Tseng, Expand CPTE Rivest - Shamir - Adleman RSA Data Encyption Standard DES Tuấn - Hiển - Ất THA Sơ đồ cải tiến hệ mật mã khóa cơng khai THA Rabin DANH MỤC CÁC BẢNG STT Ký hiệu bảng Nội dung Bảng Độ phức tạp tính tốn thuật tốn giải mã Bảng Thời gian thực thuật toán giải mã Bảng Các trường vùng Bitmap header Bảng Các trường vùng Bitmap Info Bảng Thứ tự thành phần màu Entry Bảng Ảnh 24 bit màu kích thước 2×4 Bảng Thứ tự lưu trữ thành phần màu pixel Bảng 10 - Đảo phần tử - Đặt kết thúc thuật toán Nhận x t 2: Trong thuật toán tr n, số nguy n từ đến Do đó, Bước ln thực vì: Ta nhận thấy ma trận định từ Thuật toán nhúng dãy bít tr n khối xác Vì vậy, ta xem Thuật tốn phép biến đổi từ đến : Ví dụ minh họa THA: Để làm rõ nội dung thuật tốn nhúng dãy bít tr n khối, ta xét ví dụ nhúng bít vào ma trận với khóa bí mật tham số cụ thể sau: F P 0 1 1 Bƣớc 1: - , chuyển sang Bước Do Bƣớc 2: - Theo thuật toán chọn - Đảo Đặt : Vậy sau nhúng dãy bít 101 vào , suy (u,v) = (3,3) ta 78 sau: G 0 1 Chứng minh thuật toán nhúng dãy bít tr n khối Để khẳng định Thuật tốn cần chứng minh trường hợp kết thúc thỏa mãn điều kiện (3.5): Xét hai trường hợp kết thúc thuật toán: Trƣờng h p 1: Thuật toán kết thúc Bước 1, hiển nhi n (3.5) Bởi, , mà thỏa mãn điều kiện thỏa mãn điều kiện Trƣờng h p 2: Thuật toán kết thúc Bước 2, nội dung Bước sau: - , - Chọn phần tử - Đảo phần tử , đặt Khi đó, dễ dàng suy phần tử xác định theo công thức sau: (3.6) (3.6) Đặt: Từ (3.6) suy ra: (3.7) Từ Bước thuật toán tính chất ta có: (3.8) Vì nên: 79 Như vậy, kết thúc thuật tốn ln thỏa mãn điều kiện (3.6) Thuật toán chứng minh 3.5.2 Thuật toán nhúng tin THA Giả sử ảnh nhị phân dùng để giấu tin sử dụng hai khóa bí mật Trong đó, dãy bít cần nhúng Thuật tốn ma trận nguy n cấp thỏa mãn hai điều kiện: 1) 2) Thuật toán: Bƣớc 1: Chia khối - Chia ảnh thành - Chia thành khối điểm ảnh dãy bít có độ dài cấp bít Bƣớc 2: Giấu tin tr n khối For to End for Thuật toán cho ta ảnh gồm khối cấp với 3.5.3 Thuật tốn trích tin THA: Gọi ảnh có chứa tin, thuật tốn trích tin cần biết hai khóa bí mật sử dụng thuật tốn nhúng tin Nội dung thuật tốn trích tin sau: Bƣớc 1: Chia ảnh thành khối cấp Bƣớc 2: Khôi phục dãy bít For to 80 End for Kết ta nhận dãy bít tin nhúng b gồm 81 dãy bít Chƣơng 4: ỨNG DỤNG MÃ HĨA VÀ GIẤU TIN TRÊN ẢNH 24 BÍT MÀU 4.1 Đặt vấn đề Sau lược đồ kết hợp phương pháp mã hoá Rabin-THA kỹ thuật giấu tin CPTE để cài đặt chương trình ứng dụng mã hóa giấu tin tr n ảnh 24 bít màu, trình bày số lớp quan trọng chương trình, hướng dẫn giao diện bước thực để truyền gửi tin mật an toàn Toàn mã nguồn chương trình cài đặt viết tr n lập trình Microsoft Visual Studio 2010 4.2 Mơ hình xử lý hệ thống Qua kết tìm hiểu tr n mơ hình xử lý hệ thống giấu tin tr n ảnh nhị phân kết hợp sử dụng hệ mật mã Rabin-THA sau: Bản rõ Mã hóa RabinTHA Bản mã Nhúng tin Ảnh chứa Trích tin Khóa công khai Ảnh gốc Bản mã Giải mã Bản rõ Khóa bí mật Hình 4.1 Mơ hình xử lý hệ thống Theo hình 4.1 trước ti n người dùng Bản rõ sử dụng mật mã Rabin khóa cơng khai (k) thực nhúng tin mật vào ảnh gốc - Ảnh gốc nhúng tin mật sử dụng thuật tốn tích tin; - Sau trích tin sử dụng mã khóa bí mật (p) để khôi phục lại rõ 4.3 Biểu đồ luồng liệu 4.3.1 Sơ đồ mức ngữ cảnh: Rabin Giấu tin Người nhận Người gửi Người nhận Hình 4.2 Sơ đồ mức ngữ cảnh 82 4.3.2 Sơ đồ mức đỉnh: 4.3.2.1 Chức nhúng tin: Ảnh chứa tin Mã hóa Rabin mã tin mật Nhúng tin Tin mật Ảnh gốc Khóa cơng khai Người gửi Hình 4.3 Chức nhúng tin 4.3.2.2 Chức trích tin: Ảnh chứa tin Thuật tốn Bản mã Giãi mã Rabin Trích tin < p, q, d> Người nhận Khóa bí mật Hình 4.4 Chức trích tin 83 Tin mật 4.3.2.3 Chức tạo khóa: Khóa cơng khai Tạo khóa Người nhận Khóa bí mật Số nguy n tố Hình 4.5 Chức tạo khóa 4.4 Giao diện chƣơng trình phần mềm Ví dụ tạo D:\Private.key (khố mật); D:\public.key (khố cơng khai); D:\Data.txt (Bản rõ); D:\Code.txt (Bản mã); D:\ ( ảnh gốc bmp); D:\stego.bmp (tệp ảnh chứatin mật); D:\Code_recove.txt (tệp chứa tin khôi phục) mã; D:\ Data_recove.txt (tệp tin khôi phục) Bản rõ; So sánh Data_recove.txt (bản rõ) sau nhận Data.txt (Bản rõ) trước gửi - Giao diện tạo khóa: Sau chạy chương trình, người dùng vào chọn mục hệ thống, giao diện tạo khóa Người nhận chọn số nguy n tố bất kỳ, tạo tệp khố cơng khai (public.key), tệp khố bí mật (private.key) sau chọn nút tạo khoá nút kết thúc hinh 4.6 84 Hình 4.6: Tạo khố cho hệ Rabin - THA - Giao diện mã hoá: Người gửi tin mật sau có khố cơng khai Tại tệp khố cơng khai ta vào liệu chọn rõ tệp liệu cần gửi, mã chọn tệp liệu mã hoá chứa rõ ấn nút mã hố, nút kết thúc hình 4.7 Hình 4.7: Mã hoá liệu Rabin -THA 85 - Giao diện nhúng tin: Sau có tệp mã hố khố cơng khai, khố bí mật ta chọn ảnh gốc tạo tệp tin mật (bản mã chứa liệu mã hoá rõ), tạo tệp chứa tin mật ấn nút nhúng tin Vây ta có tệp chứa mã tin mật nhúng tệp ảnh hình 4.8 Hình 4.8: Nhúng tin tr n ảnh 24 bít màu - Giao diện tách tin hay khôi phục thông tin: Người nhận: Khôi phục thông tin nhúng, mục chứa tệp tin mật ta chọn tệp chứa tin mật, tạo tệp chứa tin khôi phục mục tệp chứa tin khôi phục, ấn nút khơi phục, kết thúc hình 4.9 Hình 4.9: Khơi phục thơng tin 86 - Giao diện giải mã liệu Rabin - THA: Sau có tệp tin khơi phục liệu, tệp khố bí mật ta chọn tệp khố bí mật, ô rõ chọn tệp liệu khôi phục, ô mã ta tạo tệp chứa mã khôi phục chọn nút giải mã, kết thúc hình 4.10 Hình 4.10: Giải mã liệu Rabin - THA 87 KẾT LUẬN Kết luận văn Luận văn thực theo nhiệm vụ giao thời hạn theo y u cầu Trong thời gian nghi n cứu thực luận văn tốt nghiệp, thân thu số kết sau: - Hiểu khái quát mật mã mật mã khóa cơng khai Nắm số kiến thức sở toán học lý thuyết mật mã - Tìm hiểu rõ số nguy n tố, phương pháp kiểm tra sinh số nguy n tố - Thông qua việc nghi n cứu số kỹ thuật giấu tin mật tr n ảnh nhị phân, luận văn phân tích, đánh giá, so sánh kỹ thuật giấu tin, giúp cho người dùng có cách nhìn tổng qt đầy đủ nghi n cứu triển khai hệ thống giấu tin thực tiễn - Luận văn đưa phương pháp chứng minh tính đắn thuật toán Wu-lee, CPT, CPTE với cách chứng minh giúp q trình nghi n cứu thuật tốn trở n n dễ dàng - Xuất phát từ nghi n cứu kỹ thuật giấu tin theo khối bit, luận văn đề xuất thuật toán giấu tin THA tr n ảnh nhị phân cải tiến từ thuật toán giấu tin Wu-Lee, Chen – Pan – Tseng, CPTE thực tế cho thấy bốn thuật toán đáp ứng tốt y u cầu hệ thống giấu tin Phƣơng hƣớng nghiên cứu Tiếp tục nghi n cứu, phát triển kỹ thuật giấu tin cấu trúc lưu trữ tệp liệu multimedia MP4, MP3, MPEG, JPEG Nghi n cứu phát triển số kỹ thuật giấu tin số tr n liệu multimedia để xác thực bảo vệ sản phẩm số Xây dựng chương trình phát giấu tin ảnh dựa vào số phương pháp giấu tin có ràng buộc 88 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Văn Ất, Nguyễn Hữu Cường, Đỗ Văn Tuấn, Giấu tin ảnh nhị phân ứng dụng, Tạp chí Khoa học Giao thơng vận tải, số 19 tháng năm 2007 [2] Phan Đình Diệu, “Lý thuyết Mật mã An tồn thơng tin”, NXB Đại học Quốc gia Hà Nội, 2006 [3] Vũ Bá Đình, Nguyễn Xuân Huy, Đào Thanh Tĩnh (2002), Đánh giá khả giấu liệu đồ số, tạp chí Tin học Điều khiển học, số 4, 347-353 [4] Nguyễn Xuân Huy, Bùi Thị Thuý Hằng (2001), Một số cải tiến kĩ thuật giấu liệu ảnh [5] Đỗ Văn Tuấn, Trần Đăng Hi n Phạm Văn Ất, Một sơ đồ cải tiến hệ mật mã khóa cơng khai Rabin , Kỷ yếu Hội thảo quốc gia lần thứ XIV, Cần Thơ 10/2011, tr 279-290, NXB KH KT Hà Nội 2012 Tiếng Anh [6] Do Van Tuan, Tran Dang Hien, Pham Dang At, A Novel Data Hiding Scheme for Binary Images, International Journal of Computer Science and Information Security, 2012 [ 7] M Wu, J Lee A novel data embedding method for two-color fascimile images In Proceedings of international symposium on multimedia information processing Chung-Li, Taiwan, R.O.C, 1998 [ 8] Y Chen, H Pan, Y Tseng A secure data hiding scheme for two-color images In IEEE symposium on computers and communications, 2000 [9] Anil.K.Jain (1986), Fundamentals of Digital Image Processing, Prentice - Hall [10] R.Anderson (1996), Proceedings of the First International Information Hading Workshop, Cambridge, UK, May/June, 1996, vol 1174 of Lecture Notes in Cumputer Science, Berlin Springer-Verlag [11] http://WWW.iipa.com [12] www.watermarkingworld.org 89 PHỤ LỤC: Các lớp chƣơng trình Chương trình viết môi trường Visual Studio 2010 với C# using System.Numerics; using System.Collections; using System.Collections.Generic; using System.IO; using System; using System.Windows.Forms; namespace THA_DataHiding { struct BitmapHeader { public string typeFile; // byte, chứa ký tự nhận dạng BM public uint FileSize; // byte, kích thước file; // public uint Reserved; // byte dự trữ public uint AddressofImageData; // byte lưu trữ địa vùng liệu public void GetInfo(byte[] buffer) public uint Numberofbytes; // bytes, lưu trữ kích thước vùng Image Info, giá trị thông thường 40 public uint WidthofImage; // bytes, độ rộng ảnh tính theo pixel public uint HeightofImage;// bytes, chiều cao ảnh tính theo pixel public ushort NumberofColorPlans; // byte, số lượng bảng mầu, giá trị mặc định public ushort NumberofBitforaPixel; // byte, số bits biểu diễn điểm ảnh public uint TypeofCompress; // byte, kiểu nén public uint ImageSize; //4 byte, kích thước ảnh tính theo byte public uint ResolutionX; // byte, Độ phân giải ảnh theo chiều ngang public uint ResolutionY; // byte, Độ phân giải ảnh theo chiều dọc public uint NumberofColors; // byte, số lượng màu bảng màu public uint NumberofImportColors; // byte, số lượng màu quan trọng ảnh 90 public void GetInfo(byte[] buffer) class MaHoa_THA : Base { public MaHoa_THA(BigInteger N, string plaintextFile, string ciphertextFile) : base(N, plaintextFile, ciphertextFile) { } class GiaiMa_THA : Base { private BigInteger mup; private BigInteger muq; private BigInteger k1; private BigInteger k2; public GiaiMa_THA(BigInteger P, BigInteger Q, string ciphertextFile, string plaintextFile) : base(P, Q, ciphertextFile) { this.PlaintextFile = plaintextFile; mup = (base.P + 1) / 4; muq = (base.Q + 1) / 4; BaseCryptography.Euclid_Extention(P, Q, out k1, out k2); } class NhungTin { string Anh_Goc; string Anh_ChuaTin; string DataFile; public NhungTin(string goc, string chuatin, string datafile) { Anh_ChuaTin = chuatin; 91 Anh_Goc = goc; DataFile = datafile; } class TachTin { string Anh_ChuaTin; string DataFile; public TachTin(string anh, string data) { Anh_ChuaTin = anh; DataFile = data; } } 92 ... pháp mã hóa mật mã học chia thành hai nhóm chính: mật mã khóa đối xứng mật mã khóa cơng khai Trong mật mã khóa đối xứng, người gửi người nhận sử dụng chung khóa cho q trình mã hóa giải mã Do... lập mã hàm giải mã ứng với khóa mật mã  ( ) ( ) k Các hàm phải thỏa mãn hệ thức:  ( ( )) 1.3 Thám mã tính an toàn hệ mã 1.3.1 Thám mã Thám mã toán đối lập với mật mã, từ mật mã người thám mã. .. giải mã 49 Chƣơng - TỔNG QUAN VỀ GIẤU TIN Khái niệm giấu tin: Giấu tin kỹ thuật giấu lượng thơng tin số vào đối tượng liệu khác, nhằm bảo vệ thông tin nhúng bảo vệ bảo mật cho liệu đem giấu,

Ngày đăng: 28/02/2021, 14:55

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

Tài liệu liên quan