Mã hóa và giấu tin

92 173 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 ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TRẦN HOÀI NAM TRẦN HOÀI NAM TOÁNTIN HÓA 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 ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - TRẦN HOÀI NAM HÓA 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 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 .15 1.3 Thám tính an toàn hệ .16 1.3.1 Thám 16 1.3.2 Tính an toàn hệ mật 17 1.4 Cơ sở toán học lý thuyết mật 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 khóa đối xứng 26 5.1 Khái niệm 26 5.2 hóa hoán vị 26 5.3 hóa DES (Data Encyption Standard) 27 5.3.1 Quá trình hóa DES 27 5.3.2 Quá trình giải DES .29 Mật hóa công khai : .29 6.1 Khái niệm : 29 6.2 Hệ ELGAMAL: 30 6.2.1 hoá giải 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 RSA 32 6.3.2 Sơ đồ hệ mật RSA: 32 6.3.3 Tính đắn : 32 6.4 Hệ Rabin 34 6.4.1 Mô tả hệ mật 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 toàn hệ mật 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 toá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 toá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 toá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 toán trích tin THA: 80 Chương - ỨNG DỤNG HÓA 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 Hoài Nam 17/2/1979 Học vi n lớp: 12A TT-VINH Khoá : 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 toà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 hoàn toàn 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 viết có hỗ trợ số bạn bè đồng nghiệp ứng dụng phạm vi đơn vị nơi công tác Tôi xin chịu hoàn toà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 Hoà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ế nhiệt tình tạo điều kiện tốt cho suốt 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, cô 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 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 toán thuật toán giải Bảng Thời gian thực thuật toán giải 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 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 toán phép biến đổi từ đến : Ví dụ minh họa THA: Để làm rõ nội dung thuật toá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 toá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, , 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 toán 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 toá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 toán trích tin THA: Gọi ảnh có chứa tin, thuật toán trích tin cần biết hai khóa bí mật sử dụng thuật toán nhúng tin Nội dung thuật toá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 HÓA 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 hoá Rabin-THA kỹ thuật giấu tin CPTE để cài đặt chương trình ứng dụng 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 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 Rabin-THA sau: Bản rõ hóa RabinTHA Bản Nhúng tin Ảnh chứa Trích tin Khóa công khai Ảnh gốc Bản Giải 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 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 toán tích tin; - Sau trích tin sử dụng 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 hóa Rabin 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 toán Bản Giãi 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 (khoá mật); D:\public.key (khoá 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 khoá công khai (public.key), tệp khoá 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 khoá cho hệ Rabin - THA - Giao diện hoá: Người gửi tin mật sau có khoá công khai Tại tệp khoá công khai ta vào liệu chọn rõ tệp liệu cần gửi, chọn tệp liệu hoá chứa rõ ấn nút hoá, nút kết thúc hình 4.7 Hình 4.7: hoá liệu Rabin -THA 85 - Giao diện nhúng tin: Sau có tệp hoá khoá công khai, khoá bí mật ta chọn ảnh gốc tạo tệp tin mật (bản chứa liệu 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 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 liệu Rabin - THA: Sau có tệp tin khôi phục liệu, ô tệp khoá bí mật ta chọn tệp khoá bí mật, ô rõ chọn tệp liệu khôi phục, ô ta tạo tệp chứa 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 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ật khóa công khai Nắm số kiến thức sở toán học lý thuyết mật - 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 quát đầ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 trình nghi n cứu thuật toá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 An toà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 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ương 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 trình mã hóa giải mã Do vậy,... 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ã. .. hợp hệ mã hóa Rabin lược đồ giấu tin THA tr n ảnh 24 bít màu Mục đích luận văn Tìm hiểu số thuật toán lược đồ mã hóa đại mã hóa thông tin như: DES; ELGAMA, RSA, Rabin Tìm hiểu toán mã hóa thông

Ngày đăng: 15/07/2017, 23:20

Mục lục

    danh muc viet tat

    danh muc cac bang

    danh muc hinh ve

    tai lieu tham khao

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

Tài liệu liên quan