Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,42 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ MINH ĐỨC NGHIÊN CỨU XÂY DỰNG MỘT PHƯƠNG PHÁP GIẤU TIN ĐƠN GIẢN, AN TOÀN LUẬN VĂN THẠC SĨ HÀ NỘI - 2011 TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ MINH ĐỨC NGHIÊN CỨU XÂY DỰNG MỘT PHƯƠNG PHÁP GIẤU TIN ĐƠN GIẢN, AN TỒN Ngành: Cơng nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số : 60.48.05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ VĂN CANH HÀ NỘI: - skknchat@gmail.com 2011 TIEU LUAN MOI download MỤC LỤC BẢNG KÝ HIỆU CHỮ CÁI VIẾT TẮT Chương I TỔNG QUAN VỀ ẨN GIẤU THÔNG TIN 1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ GIẤU TIN 1.1.1 Định nghĩa 1.1.2 Phân loại kỹ thuật giấu tin 1.1.3 Vài nét lịch sử giấu tin .7 1.1.4 Mơ hình kỹ thuật giấu tin số thuật ngữ 1.2 MỘT SỐ ỨNG DỤNG PHỔ BIẾN CỦA KỸ THUẬT GIẤU TIN 10 1.2.1 Bảo vệ quyền tác giả (copyright protection) 10 1.2.2 Xác thực thông tin hay phát xuyên tạc thông tin 10 1.2.3 Nhận dạng vân tay hay dán nhãn 10 1.2.4 Điều khiển chép 11 1.2.5 Giấu tin mật 11 1.3 GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN 11 1.3.1 Giấu tin ảnh 11 1.3.2 Giấu tin audio 12 1.3.3 Giấu thông tin video 12 Chương GIẤU TIN TRÊN ẢNH TĨNH 14 GIẤU TIN TRONG ẢNH, NHỮNG ĐẶC TRƯNG VÀ TÍNH CHẤT 14 2.1.1 Phương tiện chứa có liệu tri giác tĩnh 14 2.1.2 Kỹ thuật giấu phụ thuộc ảnh 14 2.1.3 Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác người 14 2.1.4 Giấu thông tin ảnh tác động lên liệu ảnh không thay đổi kích thước ảnh .15 2.1.5 Đảm bảo yêu cầu chất lượng ảnh sau giấu thông tin 15 2.1.6 Thông tin ảnh bị biến đổi thực phép biến đổi ảnh .15 2.1.7 Cần thiết ảnh gốc giải mã ảnh 15 2.2 GIẤU THÔNG TIN TRONG ẢNH ĐEN TRẮNG, ẢNH ĐA CẤP XÁM .16 TIEU LUAN MOI download : skknchat@gmail.com 2.3 KỸ THUẬT GIẤU TIN ĐƠN GIẢN 17 2.3.1 Ý tưởng 17 2.3.2 Thuật toán giấu tin: 17 2.3.3 Phân tích thuật tốn 19 2.3.4 Áp dụng thuật toán ảnh đen trắng, ảnh màu ảnh đa cấp xám 20 2.4 KỸ THUẬT GIẤU TIN WU LEE .23 2.4.1 Một số khái niệm 23 2.4.2 Phân tích thuật toán 27 2.5 KỸ THUẬT GIẤU TIN YUAN PAN TSENG 27 2.5.1 Một số khái niệm dùng thuật toán: 28 2.5.2 Thuật toán: 29 2.5.3 Chứng minh tính đắn thuật tốn: 35 2.5.4 Độ an tồn thuật tốn .36 2.5.5 Phân tích đánh giá thuật toán 37 2.6 MỘT SỐ KỸ THUẬT GIẤU TIN VÀO ẢNH BITMAP 24 BIT 37 2.6.1 Phương pháp giấu .37 2.6.2 Phương pháp giấu vào khu vực nhậy cảm ảnh 37 2.6.3 Phương pháp giấu ngẫu nhiên vào điểm ảnh 38 2.7 Khả phát ảnh có giấu tin .38 2.7.1 Khái niệm cặp giá trị điểm ảnh (PoV) khả phát giấu tin phương pháp thống kê χ –bình phương 40 2.7.2 Khái niệm cặp giá trị điểm ảnh (POV – Pairs of Values) 40 2.7.3 Thuật toán PoV3 41 Chương NGHIÊN CỨU ĐỀ XUẤT MỘT PHƯƠNG PHÁP GIẤU TIN .43 3.1 Cơ sở lý thuyết toán học 43 3.1.1 Ma trận ma trận tam giác 43 3.1.2 Ứng dụng xây dựng thuật toán giấu tin mật .50 3.1.3 Thuật tốn trích chọn thông tin từ ảnh stego 52 3.2 Ứng dụng chuẩn mã hóa AES giấu tin 53 TIEU LUAN MOI download : skknchat@gmail.com 3.2.1 Giới thiệu 53 3.2.2 Tham số, ký hiệu, thuật ngữ hàm 53 3.3.3 Một số khái niệm toán học 54 3.3.4 Phương pháp Rijndael 56 3.3.5 Ứng dụng phương pháp Rijndael bảo mật tin giấu ảnh 63 3.3 Thử nghiệm 65 3.3.1 Môi trường thử nghiệm 65 3.3.2 Mơ hình chương trình thử nghiệm 65 3.3.3 Tập liệu thử nghiệm 66 3.3.4 Kết thử nghiệm 66 KẾT LUẬN 67 Tài liệu tham khảo 68 TIEU LUAN MOI download : skknchat@gmail.com BẢNG KÝ HIỆU CHỮ CÁI VIẾT TẮT AES Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến BMP Basic Metabolic Panel - Ảnh bipmap GIF Graphics Interchange Format - Ảnh có định dạng GIF JPEG Joint Photographic Experts Group - Ảnh nén JPEG LSB Least Significant Bit - Bit có trọng số thấp PNG Portable Network Graphics - Ảnh nén PNG PoV Pairs of Values - cặp giá trị điểm ảnh chẵn/lẻ TIFF Tagged Image File Format - tập tin định dạng TIFF chứa nhiều ảnh TIEU LUAN MOI download : skknchat@gmail.com LỜI MỞ ĐẦU Trong năm qua, chứng kiến tiến mạnh mẽ khoa học cơng nghệ nói chung ngành Cơng nghệ thơng tin nói riêng Hưởng lợi từ kết đó, khơng lĩnh vực dân sự, mà lĩnh vực An ninh - Quốc phòng, tận dụng tối đa thành tựu ngành Công nghệ thông tin để phục vụ yêu cầu công tác Sự đa dạng của môi trường thông tin Internet mở kênh liên lạc, dịch vụ trao đổi thông tin phong phú Xuất phát từ thực tiễn yêu cầu công tác ngành cơng an, mặt phải tìm hiểu phương pháp phân tích thơng tin bí mật, phương thức liên lạc mà đối tượng che giấu Mặt khác, phải nghiên cứu phương pháp bảo vệ kênh liên lạc phục vụ công tác nghiệp vụ lực lượng bí mật Trong luận văn này, tập trung nghiên cứu giải vấn đề cụ thể sau: Nghiên cứu tổng quan lĩnh vực giấu tin, khái niệm bản, ứng dụng thực tiễn giấu thông tin môi trường đa phương tiện; Nghiên cứu, phân tích tìm hiểu số thuật tốn giấu tin ảnh tĩnh Đồng thời, phân tích khả công hệ giấu tin mật sử dụng ảnh bitmap làm môi trường giấu tin; Đề xuất phương pháp giấu tin ảnh bitmap 24 bit mầu: - Trong đó, ứng dụng lý thuyết đại số tuyến tính để xây dựng thuật tốn mã hóa thơng điệp trước giấu; Ứng dụng phương pháp mã hóa Rijndael để bảo đảm tốt yêu cầu bảo mật thông tin; - Thử nghiệm mơ hình giấu tin ảnh bitmap 24 bit mầu với thông tin trước giấu mã hóa theo tiêu chuẩn mã hóa AES (Thuật tốn Rijndael sử dụng khóa 128 bit) - Phân tích, đánh giá kết giấu tin mơ hình phương pháp phân tích trực quan phương pháp thống kê sử dụng tiêu chuẩn Khi bình phương (Chi-square) TIEU LUAN MOI download : skknchat@gmail.com Chương I TỔNG QUAN VỀ ẨN GIẤU THÔNG TIN Trong thời gian dài, nhiều phương pháp bảo vệ thông tin đưa ra, giải pháp dùng mật mã ứng dụng rộng rãi Các hệ mã phát triển nhanh chóng ứng dụng phổ biến Thơng tin ban đầu mã hố thành kĩ hiệu vơ nghĩa, sau lấy lại thơng qua việc giải mã nhờ khố hệ mã Đã có nhiều hệ mã phức tạp hiệu sử dụng DES, RSA, AES, Giả sử ta có đối tượng cần bảo mật R (một văn bản, đồ tệp âm chẳng hạn) Nếu dùng phương pháp mã hoá để bảo mật R ta thu mật mã R R’ chẳng hạn Thông thường, R’ mang giá trị “vơ nghĩa” điều làm cho đối phương nghi ngờ tìm cách thám mã Ngược lại, dụng phương pháp giấu R vào đối tượng khác, ảnh F chẳng hạn ta thu ảnh F’ không sai khác với F Sau cần gửi ảnh F’ cho người nhận Để lấy tin R từ ảnh F’ ta không cần ảnh gốc F Giả sử, đối phương bắt ảnh F’ ảnh lạ (ảnh cá nhân, ảnh phong cảnh nơi khơng tiếng ) khó nảy sinh nghi ngờ khả chứa tin mật F’ Như vậy, khác biệt mã hố thơng tin giấu thông tin mức độ lộ liễu đối tượng mang tin mật Nếu ta phối hợp hai phương pháp mức độ lộ liễu giảm đến mức tối đa, đồng thời độ an toàn nâng cao Chẳng hạn, ta mã hố R thành R’ sau giấu R’ vào ảnh F để thu ảnh F’ Tóm lại, giấu thơng tin hệ mã mật có quan hệ mật thiết với nhau, xây dựng nên hệ thống an tồn bảo mật thơng tin 1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ GIẤU TIN 1.1.1 Định nghĩa Giấu thông tin kỹ thuật nhúng (giấu) lượng thơng tin số vào đối tượng liệu số khác [1] Kỹ thuật giấu thông tin nhằm mục đích đảm bảo an tồn bảo mật thơng tin rõ ràng hai khía cạnh Một bảo mật cho giữ liệu đem giấu, hai bảo mật cho đối tượng dùng để giấu tin Hai khía cạnh khác dẫn đến hai khuynh hướng kỹ thuật chủ yếu giấu tin Khuynh hướng thứ giấu tin mật (steganography) Khuynh hướng tập trung vào kỹ thuật giấu tin cho thông tin giấu nhiều quan trọng người khác khó phát đối tượng có bị giấu tin bên hay không Khuynh hướng thứ hai thuỷ vân số (watermarking) Khuynh hướng thuỷ vân số đá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 TIEU LUAN MOI download : skknchat@gmail.com 1.1.2 Phân loại kỹ thuật giấu tin Do kỹ thuật giấu thông tin số hình thành thời gian gần nên xu hướng phát triển chưa ổn định Nhiều phương pháp mới, theo nhiều khía cạnh khác đề xuất, định nghĩa xác, đánh giá phân loại rõ ràng chưa thể có Sơ đồ phân loại hình 1.1 Fabien A P Petitcolas đề xuất năm 1999 Có thể chia lĩnh vực giấu liệu làm hai hướng lớn, watermarking steganography Nếu watermark quan tâm nhiều đến ứng dụng giấu mẩu tin ngắn đòi hỏi độ bền vững cao thông tin cần giấu biến đổi thơng thường tệp liệu mơi trường steganography lại quan tâm tới ứng dụng che giấu tin với độ mật dung lượng lớn tốt Đối với hướng lớn này, trình phân loại tiếp tục theo tiêu chí khác, ví dụ dựa theo ảnh hưởng tác động từ bên ngồi chia watermark thành hai loại, loại bền vững với tác động chép trái phép, loại thứ hai lại cần tính chất hoàn toàn đối lập: phải dễ bị phá huỷ trước tác động nói Cũng chia watermark theo đặc tính, loại cần che giấu để có số người tiếp xúc với thấy thơng tin, loại thứ hai đối lập, cần người nhìn thấy Infomation hiding Giấu thông tin Watermarking Steganograph y Thuỷ vân số Giấu tin mật Robust Fragile Copyright marking Watermarking Thuỷ vân “dễ vỡ” Thuỷ vân bền vững Imperceptible Visible Watermarking Watermarking Thuỷ vân ẩn Thuỷ vân hiển Hình 1.1 Phân loại kỹ thuật giấu tin 1.1.3 Vài nét lịch sử giấu tin Từ Steganography bắt nguồn từ Hi Lạp sử dụng ngày nay, có nghĩa tài liệu phủ (covered writing) Những ghi chép sớm kỹ thuật TIEU LUAN MOI download : skknchat@gmail.com giấu thông tin (thông tin hiểu theo nghĩa nguyên thủy nó) thuộc sử gia Hy-Lạp Herodotus Khi bạo chúa Hy-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ệ mọc đủ dài người nô lệ gửi tới Miletus Một câu chuyện khác thời Hy-Lạp cổ đại Herodotus ghi lại Mơi trường để ghi văn viên thuốc bọc sáp ong Demeratus, người Hy-Lạp, cần thông báo cho Sparta Xerxes định xâm chiếm Hy-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 Những viên thuốc để ngỏ lọt qua kiểm tra cách dễ dàng Ý tưởng che giấu thơng tin có từ hàng nghìn năm trước kỹ thuật dùng chủ yếu quân đội quan tình báo Mãi vài thập niên gần đây, giấu thông tin nhận quan tâm nhà nghiên cứu viện công nghệ thơng tin với hàng loạt cơng trình nghiên cứu giá trị 1.1.4 Mơ hình kỹ thuật giấu tin số thuật ngữ Mơ hình kỹ thuật giấu tin mơ tả theo hai hình vẽ sau: Thông tin giấu Phương tiện chứa (audio, ảnh, video) Bộ nhúng thông tin Phương tiện chứa giấu tin Phân phối Khố Hình 1.2 Lược đồ chung cho trình 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 dùng làm môi trường để giấu tin text, audio, video, ảnh …, thông tin giấu lượng thông tin mang ý nghĩa ảnh, logo, đoạn văn TIEU LUAN MOI download : skknchat@gmail.com 54 InvShiftRows Phép biến đổi sử dụng giải mã Đây phép biến đổi ngược phép biến đổi ShiftRows Nw Số lượng byte đơn vị liệu “từ” Trong thuật toán Rijndael, thuật toán mở rộng 256/384/512 bit thuật toán mở rộng 512/768/1024 bit, giá trị Nw 4, 16 K Khóa Nb Số lượng cột (số lượng từ 8×Nw bit) trạng thái Giá trị Nb = 4, 6, hay Chuẩn AES giới hạn lại giá trị Nb = Nk Số lượng từ (8×Nw bit) khóa Giá trị Nk = 4, 6, hay Nr Số lượng chu kỳ, phụ thuộc vào giá trị Nk and Nb theo công thức: Nr = max (Nb, Nk)+6 RotWord Hàm sử dụng q trình mở rộng mã khóa, thực thao tác dịch chuyển xoay vòng Nw byte thành phần từ SubWord Hàm sử dụng trình mở rộng mã khóa Nhận vào từ (Nw byte), áp dụng phép thay dựa vào S-box byte thành phần trả từ gồm Nw byte thành phần thay XOR Phép toán Exclusive-OR ⊕ Phép toán Exclusive-OR ⊗ Phép nhân hai đa thức (mỗi đa thức có bậc < Nw) modulo cho đa thức xNw + • Phép nhân trường hữu hạn 3.3.3 Một số khái niệm toán học Đơn vị thơng tin xử lý thuật tốn Rijndael byte Mỗi byte xem phần tử trường Galois GF(28) trang bị phép cộng (ký hiệu ⊕) phép nhân (ký hiệu •) Mỗi byte biểu diễn nhiều cách khác TIEU LUAN MOI download : skknchat@gmail.com 55 nhau: dạng nhị phân ({b7b6b5b4b3b2b1b0}), dạng thập lục phân ({h1h0}) hay dạng đa thức có hệ số nhị phân a, Phép cộng Phép cộng hai phần tử GF(28) thực cách “cộng” (thực chất phép toán XOR, ký hiệu ⊕) hệ số đơn thức đồng dạng hai đa thức tương ứng với hai toán hạng xét Như vậy, phép cộng phép trừ hai phần tử GF(28) hoàn toàn tương đương Nếu biểu diễn lại phần tử thuộc GF(28) hình thức nhị phân phép cộng {a7a6a5a4a3a2a1a0} với {b7b6b5b4b3b2b1b0} {c7c6c5c4c3c2c1c0 với ci = ⊕ bj , 0≤ i ≤ b, Phép nhân Khi xét biểu diễn đa thức, phép nhân GF(28) (ký hiệu •) tương ứng với phép nhân thơng thường hai đa thức đem chia lấy dư (modulo) cho đa thức tối giản (irreducible polynomial) bậc Đa thức gọi tối giản đa thức chia hết cho Trong thuật tốn Rijndael, đa thức tối giản chọn m( x) = x8 + x4 + x3 + x + (3.1) hay 1{1b} biểu diễn dạng thập lục phân Kết nhận đa thức bậc nhỏ nên biểu diễn dạng byte Phép nhân GF(28) khơng thể biểu diễn phép tốn đơn giản mức độ byte Phép nhân định nghĩa có tính kết hợp, tính phân phối phép cộng có phần tử đơn vị {01} c, Phép nhân với x Phép nhân (thông thường) đa thức b(x) = b7x7 + b6x6 + b5x5 +b4x4+b3x3+b2x2+b1x+b0 = (3.2) với đa thức x cho kết đa thức b7x8 + b6x7 + b5x6 +b4x5+b3x4+b2x3+b1x2+b0x (3.3) Kết x • b( x) xác định cách modulo kết cho đa thức m(x) Trường hợp b7 = x • b(x) = b6 x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x (3.4) TIEU LUAN MOI download : skknchat@gmail.com 56 Trường hợp b7 = x• b(x) = (b7x8 + b6x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x) mod m(x) =(b7x8 + b6x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x) – m(x) (3.5) Như vậy, phép nhân với đa thức x (hay phần tử {00000010} ∈ GF(28)) thực mức độ byte phép shift trái sau thực tiếp phép tốn XOR với giá trị {1b} b7 = Thao tác ký hiệu xtime() Phép nhân với lũy thừa x thực cách áp dụng nhiều lần thao tác xtime() Kết phép nhân với giá trị xác định cách cộng ( ⊕ ) kết trung gian lại với Khi đó, việc thực phép nhân hai phần tử a, b thuộc GF(28) tiến hành theo bước sau: Phân tích phần tử (giả sử a) thành tổng lũy thừa 2 Tính tổng kết trung gian phép nhân phần tử lại (là b) với thành phần lũy thừa phân tích từ a Ví dụ: {57} • {13} = {fe} {57} • {02} = xtime({57}) = {ae} {57} • {04} = xtime({ae}) = {47} {57} • {08} = xtime({47}) = {8e} {57} • {10} = xtime({8e}) = {07}, Như vậy: {57} • {13} = {57} • ({01} ⊕ {02} ⊕ {10}) = {57} ⊕ {ae} ⊕ {07} = {fe} 3.3.4 Phương pháp Rijndael Phương pháp mã hóa Rijndael bao gồm nhiều bước biến đổi thực tuần tự, kết đầu bước biến đổi trước đầu vào bước biến đổi Kết trung gian bước biến đổi gọi trạng thái (state) Một trạng thái biểu diễn dạng ma trận gồm dòng Nb cột với Nb với độ dài khối chia cho 32 Mã khóa (Cipher Key) biểu diễn dạng ma trận gồm dòng Nk cột với Nk với độ dài khóa chia cho 32 Trong số tình huống, ma trận biểu diễn trạng thái hay TIEU LUAN MOI download : skknchat@gmail.com 57 mã khóa khảo sát mảng chiều chứa phần tử có độ dài byte, phần tử tương ứng với cột ma trận Số lượng chu kỳ, ký hiệu Nr, phụ thuộc vào giá trị Nb Nk theo công thức: Nr = max{Nb, Nk} + Hình 3.1 Biểu diễn dạng ma trận trạng thái (Nb = 6) mã khóa (Nk = 4) * Quy trình mã hóa Quy trình mã hóa Rijndael sử dụng bốn phép biến đổi chính: AddRoundKey: cộng (⊕) mã khóa chu kỳ vào trạng thái hành Độ dài mã khóa chu kỳ với kích thước trạng thái SubBytes: thay phi tuyến byte trạng thái hành thông qua bảng thay (S-box) MixColumns: trộn thông tin cột trạng thái hành Mỗi cột xử lý độc lập ShiftRows: dịch chuyển xoay vòng dòng trạng thái hành với di số khác Mỗi phép biến đổi thao tác trạng thái hành S Kết S’ phép biến đổi trở thành đầu vào phép biến đổi quy trình mã hóa Trước tiên, tồn liệu đầu vào chép vào mảng trạng thái hành Sau thực thao tác cộng mã khóa đầu tiên, mảng trạng thái trải qua Nr = 10, 12 hay 14 chu kỳ biến đổi (tùy thuộc vào độ dài mã khóa độ dài khối xử lý) Nr −1 chu kỳ chu kỳ biến đổi bình thường hồn toàn tương tự nhau, riêng chu kỳ biến đổi cuối có khác biệt so với Nr −1 chu kỳ trước Cuối cùng, nội dung mảng trạng thái chép lại vào mảng chứa liệu đầu TIEU LUAN MOI download : skknchat@gmail.com 58 Quy trình mã hóa Rijndael tóm tắt lại sau: Thực thao tác AddRoundKey trước thực chu kỳ mã hóa Nr – chu kỳ mã hóa bình thường: chu kỳ bao gồm bốn bước biến đổi liên tiếp nhau: SubBytes, ShiftRows, MixColumns, AddRoundKey Thực chu kỳ mã hóa cuối cùng: chu kỳ thao tác MixColumns bỏ qua + Phép biến đổi SubBytes Thao tác biến đổi SubBytes phép thay (sử dụng bảng S-Box) byte phi tuyến tác động cách độc lập lên byte trạng thái hành Hình 3.2 Thao tác SubBytes tác động byte trạng thái + Phép biến đổi ShiftRows Trong thao tác biến đổi ShiftRows, dòng trạng thái hành dịch chuyển xoay vòng số vị trí TIEU LUAN MOI download : skknchat@gmail.com 59 Hình 3.3 Tháo tác ShiftRows tác động dòng trạng thái + Phép biến đổi MixColumns Trong thao tác biến đổi MixColumns, cột trạng thái hành biểu diễn dạng đa thức s(x) có hệ số GF(28) Thực phép nhân S’(x) = a(x) ⊕ s(x) (3.21) với a(x) = {03}x3 + {01}x3 + {01}x + {02} (3.22) Thao tác thể dạng ma trận sau: (3.23) TIEU LUAN MOI download : skknchat@gmail.com 60 Hình 3.4 Thao tác MixColumns tác động lên cột trạng thái + Thao tác AddRoundKey Hình 3.5 Thao tác AddRoundKey tác động lên cột trạng thái Phương pháp Rijndael bao gồm nhiều chu kỳ mã hóa liên tiếp nhau, chu kỳ có mã khóa riêng (Round Key) có kích thước với khối liệu xử lý phát sinh từ mã khóa (Cipher Key) cho trước ban đầu Mã khóa chu kỳ biểu diễn ma trận gồm dòng Nb cột Mỗi cột trạng thái hành XOR với cột tương ứng mã khóa chu kỳ xét: [s'0,c , s'1,c , s'2,c , s'3,c ] = [s0,c , s1,c , s2,c , s3,c ] ⊕ [wround ∗Nb+c ] , (3.24) với ≤ c < Nb TIEU LUAN MOI download : skknchat@gmail.com 61 Thao tác biến đổi ngược AddRoundKey thao tác AddRoundKey + Phát sinh khóa chu kỳ Các khóa chu kỳ (RoundKey) phát sinh từ khóa Quy trình phát sinh khóa cho chu kỳ gồm giai đoạn:: Mở rộng khóa thành bảng khóa mở rộng, Chọn khóa cho chu kỳ từ bảng khóa mở rộng + Xây dựng bảng khóa mở rộng Bảng khóa mở rộng mảng chiều chứa từ (có độ dài byte), ký hiệu w[Nb*(Nr + 1)] Hàm phát sinh bảng khóa mở rộng phụ thuộc vào giá trị Nk, tức phụ thuộc vào độ dài mã khóa Hàm SubWord(W) thực việc thay (sử dụng S-box) byte thành phần từ byte đưa vào trả kết từ bao gồm byte kết sau thực hiệc việc thay Hàm RotWord(W) thực việc dịch chuyển xoay vòng byte thành phần (a, b, c, d) từ đưa vào Kết trả hàm RotWord từ gồm byte thành phần (b, c, d, a) + Xác định khóa chu kỳ Khóa chu kỳ thứ i xác định bao gồm từ (4 byte) có số từ Nb * i đến Nb * (i +1) −1 bảng mã khóa mở rộng Như vậy, mã khóa chu kỳ thứ i bao gồm phần tử w[ Nb * i] , w[ Nb * i +1] ,…, w[ Nb * (i + 1) −1] Hình 3.6 Bảng mã khóa mở rộng cách xác định mã khóa chu kỳ (Nb = Nk = 4) Việc phát sinh mã khóa cho chu mà khơng thiết phải sử dụng đến mảng w[ Nb * ( Nr + 1)] Trong trường hợp dung lượng nhớ hạn chế thẻ thông minh, mã khóa cho chu kỳ xác định cần thiết trình xử lý mà cần sử dụng max( Nk, Nb) * byte nhớ Bảng khóa mở rộng ln tự động phát sinh từ khóa mà khơng cần phải xác định trực tiếp từ người dùng hay chương trình ứng dụng TIEU LUAN MOI download : skknchat@gmail.com 62 Việc chọn lựa khóa (Cipher Key) hồn tồn tự khơng có điều kiện ràng buộc hay hạn chế * Quy trình giải mã Quy trình giải mã thực qua giai đoạn sau: Thực thao tác AddRoundKey trước thực chu kỳ giải mã Nr −1 chu kỳ giải mã bình thường: chu kỳ bao gồm bốn bước biến đổi liên tiếp nhau: InvShiftRows, InvSubBytes, AddRoundKey, InvMixColumns Thực chu kỳ giải mã cuối Trong chu kỳ này, thao tác InvMixColumns bỏ qua + Phép biến đổi InvShiftRows Hình 3.7 Thao tác InvShiftRows tác động lên dòng trạng thái hành InvShiftRows phép biến đổi ngược phép biến đổi ShiftRows Dòng trạng thái giữ nguyên khác ba dòng cuối trạng thái dịch chuyển xoay vòng theo chiều ngược với phép biến đổi ShiftRows với di số Nb–shift (r, Nb) khác Các byte cuối dòng đưa vòng lên đầu dòng byte cịn lại có khuynh hướng di chuyển cuối dòng + Phép biến đổi InvSubBytes Phép biến đổi ngược thao tác SubBytes, ký hiệu InvSubBytes, sử dụng bảng thay nghịch đảo S-box GF(28), ký hiệu S-box-1 + Phép biến đổi InvMixColumns TIEU LUAN MOI download : skknchat@gmail.com 63 InvMixColumns biến đổi ngược phép biến đổi MixColumns Mỗi cột trạng thái hành xem đa thức s(x) bậc có hệ số thuộc GF(28) nhân với đa thức a-1(x) nghịch đảo đa thức a(x) (modulo M(x)) sử dụng phép biến đổi MixColumns Do chu kỳ mã hóa cuối khơng thực thao tác MixColumns nên không cần thực thao tác InvMixColumns mã khóa chu kỳ giải mã chu kỳ giải mã cuối Vậy, quy trình giải mã Rijndael thực theo với trình tự phép biến đổi ngược hồn tồn tương đương với quy trình mã hóa * Đánh giá Phương pháp Rijndael thích hợp cho việc triển khai nhiều hệ thống khác nhau, không máy tính cá nhân mà điển hình sử dụng chip Pentium, mà hệ thống thẻ thơng minh Trên máy tính cá nhân, thuật toán AES thực việc xử lý nhanh so với phương pháp mã hóa khác Trên hệ thống thẻ thông minh, phương pháp phát huy ưu điểm không nhờ vào tốc độ xử lý cao mà cịn nhờ vào mã chương trình ngắn gọn, thao tác xử lý sử dụng nhớ Ngoài ra, tất bước xử lý việc mã hóa giải mã thiết kế thích hợp với chế xử lý song song nên phương pháp Rijndael chứng tỏ mạnh hệ thống thiết bị Do đặc tính việc xử lý thao tác byte liệu nên khơng có khác biệt đặt triển khai hệ thống bigendian hay little-endian Xuyên suốt phương pháp AES, yêu cầu đơn giản việc thiết kế tính linh hoạt xử lý đặt đáp ứng Độ lớn khối liệu mã khóa tùy biến linh hoạt từ 128 đến 256-bit với điều kiện chia hết cho 32 Số lượng chu kỳ thay đổi tùy thuộc vào yêu cầu riêng đặt cho ứng dụng hệ thống cụ thể 3.3.5 Ứng dụng phương pháp Rijndael bảo mật tin giấu ảnh Phương pháp Rijndael với mức độ an toàn cao ưu điểm đáng ý khác chắn nhanh chóng áp dụng rộng rãi nhiều ứng dụng hệ thống khác Trong phạm vi luận văn, sử dụng phương pháp mã hóa Rijndael để mã hóa tin mật trước giấu ảnh bitmap 24 bit Thuật toán giấu tin, tách tin xây dựng đơn giản, bảo đảm bí mật cao * Thuật tốn giấu tin Input: Ảnh gốc, Tin mật, khóa stego khóa AES Output: Ảnh sau giấu tin mật TIEU LUAN MOI download : skknchat@gmail.com 64 Các bước thực hiện: - Bước 1: Tin mật mã hóa phương pháp mã hóa Rijndael - Bước 2: Nội dung tin mật sau mã hóa chuyển dạng nhị phân - Bước 3: Chọn điểm ảnh ngẫu nhiên chưa giấu tin (sử dụng khóa stego) Từ điểm ảnh chọn, chọn ngẫu nhiên thành phần mầu R, G hay B Lấy bit liệu giấu vào bit LSB thành phần mầu vừa chọn - Bước 4: Lặp lại bước toàn tin mật giấu hết - * Thuật tốn tách tin mật Input: Ảnh có tin giấu, khóa stego khóa AES Output: Tin mật giải mã Các bước thực hiện: Bước 1: Sử dụng thuật tốn chọn điểm ảnh ngẫu nhiên với khóa stego để chọn điểm ảnh có tin giấu Tiếp theo, chọn thành phần mầu sử dụng giấu tin, trích giá trị LSB thành phần mầu Bước 2: Lặp lại bước tất điểm ảnh có tin giấu tách Bước 3: Sử dụng thuật toán Rijndael để giải mã tin mật - 3.3.6 Nhận xét đánh giá - Chất lượng ảnh sau giấu tin: Với ảnh mầu 24 bit, sử dụng bit có trọng số thấp để giấu tin xác suất phải lật bit 50%, nên lượng nhiễu gây cho ảnh ít.[2] - Dung lượng tin giấu: bít ẩn / điểm ảnh (3 bytes) = bít ẩn /1 byte Đối với ảnh sặc sỡ, giá trị điểm ảnh đa dạng, sử dụng bit có trọng số thấp để giấu tin mà chất lượng ảnh đảm bảo - Tính bền vững: Phương pháp giấu tin sử dụng bít LSB nói chung dễ bị tổn thương trước phép biến đổi ảnh thơng thường Khi đó, việc tách tin khơng cịn xác Đặc biệt, sau sử dụng phương pháp mã hóa Rijndael, cần sai bit thuật tốn cho kết hồn tồn khác - Bảo mật thông tin khả phát ảnh có tin giấu: Việc áp dụng chuẩn mã hóa AES để mã tin mật trước giấu tin đảm bảo yêu cầu bảo mật thông tin Đối với thuật toán giấu tin, sử dụng thuật toán sinh số ngẫu nhiên với hạt giống (seed) mật bí mật (stego key) để chọn điểm ảnh thành phần mầu để giấu tin, vấn đề giải mã điểm ảnh để tìm mật stego TIEU LUAN MOI download : skknchat@gmail.com 65 không đơn giản chút Các phương pháp phân ảnh giấu tin: phân tích trực quan phân tích sử dụng tiêu chuẩn thống kê Khi bình phương khơng phát ảnh có giấu thơng tin 3.3 Thử nghiệm Trong trình nghiên cứu, luận văn thử nghiệm số kỹ thuật giấu tin môi trường ảnh, cụ thể là: giấu tin tuần tự, giấu tin vùng ảnh nhậy cảm giấu tin ngẫu nhiên miền không gian ảnh Để đánh giá kết giấu tin, kỹ thuật phân tích ảnh giấu tin phương pháp phân tích trực quan, phân tích ảnh sử dụng tiêu chuẩn thống kê Khi bình phương thử nghiệm Trong luận văn, trình bày mơ hình thử nghiệm kỹ thuật giấu tin ngẫu nhiên ảnh mầu bitmap 24 bit với tin mật sử dụng phương pháp mã hóa Rijndael có kích thước khóa 128 bit 3.3.1 Mơi trường thử nghiệm - Mơ hình thử nghiệm xây dựng ngơn ngữ lập trình C# dựa tảng Net Framework 4.0; - Hệ điều hành thực nghiệm: Windows 7; - Ảnh bitmap 24 bit thử nghiệm tạo chương trình Photoshop CS5, Paint 3.3.2 Mơ hình chương trình thử nghiệm a, Module giấu tin: Thử nghiệm giấu tin mật định dạng unicode, mã hóa phương pháp Rijndael vào ảnh bitmap 24 bit Input: - Ảnh bitmap 24 bit mầu - Mật Stego - Mật AES - Tin mật cần giấu Output: - Ảnh bitmap 24 bit mầu, chứa nội dung tin mật mã hóa AES b, Module tách tin mật giải mã: Thực tách tin mật từ ảnh bitmap 24 bit giải mã nội dung thuật toán AES Input: - Ảnh bitmap 24 bit mầu - Mật Stego - Mật AES Output: TIEU LUAN MOI download : skknchat@gmail.com 66 - Tin mật với nội dung rõ 3.3.3 Tập liệu thử nghiệm - Ảnh bitmap sử dụng: 10 ảnh có nội dung, độ phân giải khác - Thông điệp bí mật: Tiếng Việt có dấu, độ dài từ 10% - 20% so với dung lượng ảnh - Mật Stego: có độ dài ký tự - Mật AES có độ dài 128 bit 3.3.4 Kết thử nghiệm Mơ hình thử nghiệm đáp ứng u cầu ban đầu đề luận văn Thuật toán giấu/tách tin, mã hóa/giải mã thơng điệp cho kết nội dung xác Một số đánh giá ảnh sau giấu tin: - Kích thước ảnh sau giấu tin mật không thay đổi; - Quan sát mắt thường so sánh ảnh có tin giấu với ảnh gốc khơng có khác biệt; - Thử nghiệm phân tích ảnh phương pháp phân tích trực quan (tăng cường bít LSB) khơng phát ảnh có tin giấu TIEU LUAN MOI download : skknchat@gmail.com 67 KẾT LUẬN Giấu tin lĩnh vực nghiên cứu rộng, môi trường giấu tin đa dạng, phương pháp giấu tin môi trường ảnh chủ yếu tập trung nhiều vào việc giấu tin bit có trọng số thấp Luận văn tìm hiểu, phân tích số thuật toán giấu tin ảnh đen trắng, ảnh đa cấp xám ảnh mầu bitmap 24 bit Đồng thời, luận văn nghiên cứu số phương pháp phân tích ảnh có tin giấu: phân tích trực quan, phân tích dựa tiêu chuẩn thống kê Khi bình phương, để làm sở đánh giá thuật tốn giấu tin đề xuất Mặt khác, luận văn nghiên cứu đề xuất phương pháp mã hóa thơng tin sử dụng ma trận kích thước 8x8 tính chất nghịch đảo ma trận để sinh khóa mã khóa giải mã Phương pháp có ưu điểm, cho phép người nhận tin mật sử dụng tính chất ma trận nghịch đảo A-1 để mã hóa, gửi tin cho trung tâm mà khơng cần phải biết ma trận A Luận văn tập trung nghiên cứu khả bảo mật thông tin kể trường hợp thuật toán giấu tin bị phá vỡ, đối phương không giải mã tin mật Đáp ứng mục tiêu đề ra, luận văn tìm hiểu tiểu chuẩn mã hóa đại AES, áp dụng phương pháp mã hóa Rijndael để nâng cao tính bảo mật thơng tin Những kết luận văn thực được: - Nghiên cứu tài liệu lĩnh vực giấu tin mật mã: + Một số phương pháp giấu tin môi trường ảnh; + Một số phương pháp phân tích ảnh giấu tin; + Đề xuất phương pháp mã hóa thơng tin dựa lý thuyết đại số tuyến tính, trường GF(2) tìm hiểu phương pháp mã hóa Rijndael - Thử nghiệm chương trình giấu tin phát tin giấu: + Thử nghiệm chương trình giấu tin kết hợp phương pháp mã hóa Rijndael; + Thử nghiệm cơng ảnh có tin giấu phương pháp phân tích ảnh trực quan phương pháp thống kê Khi bình phương Hướng nghiên cứu phát triển Mở rộng nghiên cứu giấu tin loại ảnh khác GIF, JPG, PNG Nghiên cứu áp dụng kỹ thuật quản lý, trao đổi khóa mạng TIEU LUAN MOI download : skknchat@gmail.com 68 Tài liệu tham khảo [1] Nguyễn Xuân Huy, Trần Quốc Dũng (2003), Giáo trình giấu tin thủy vân ảnh, Hà Nội [2] Trịnh Nhật Tiến (2008), Giáo trình an tồn liệu, Hà Nội [3] Trần Minh Triết, Dương Anh Đức (2005), Thuật toán mã hóa ứng dụng, Thành phố Hồ Chí Minh [4] Ingemar J.Cox, Matthew L.Miller, Jeffrey A Bloom, Jessica Fridrich, Tom Kalker, Digital Watermarking and Steganography,Second Edition (2010), Morgan Kaufmann [5] William Stallings, Cryptography and Network Security, fifth edition(2011), Prentice Hall [6] Y.Kim, Z.Duric, D.Richards: Modified Matrix encoding technique for minimal distortion Steganography, in: Camenisch, J.L., Collerg, C.S, Johnson, N.F, Sallee, IH 2006, LNCS, Vol.4437, Springer, Heideberg (2007) [7] D.Faddeev, I.Sominsky: Problems in Higher Algebra, MIR Publishers, Moscow, 1973 [8] Christy A Stenley (2005), Pairs of Values and the Chi-squared Attack, Department of Mathematic, Iowa State University [9] Serge Larg (1972): Linear Algebra, Addison-Wesley Pubblishing company [10] StegSecret(2007) A simple steganalysis tool: http://stegsecret.sourceforge.net/ [11] Analyzing steganography softwares: http://guillermito2.net/stegano/index.html [12] Use steganography to hide encrypted messages in an image in C#: http://blog.csharphelper.com/2010/12/12/use-steganography-to-hide-encryptedmessages-in-an-image-in-c.aspx [13] Corinna John, Steganography Variable Data Density: http://steganografie.eu/index.php?article=12&language=e [14] Don't Roundtrip Ciphertext Via a String Encoding: http://blogs.msdn.com/b/shawnfa/archive/2005/11/10/491431.aspx TIEU LUAN MOI download : skknchat@gmail.com ... ĐỨC NGHIÊN CỨU XÂY DỰNG MỘT PHƯƠNG PHÁP GIẤU TIN ĐƠN GIẢN, AN TỒN Ngành: Cơng nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số : 60.48.05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ VĂN... tính ẩn thơng tin giấu, số lượng thơng tin giấu cao độ an tồn thuật toán 2.6 MỘT SỐ KỸ THUẬT GIẤU TIN VÀO ẢNH BITMAP 24 BIT 2.6.1 Phương pháp giấu Đây phương pháp giấu tin đơn giản Khi xác định... kết khả quan 2.5 KỸ THUẬT GIẤU TIN YUAN PAN TSENG Thuật tốn giấu thơng tin ảnh đen trắng phát triển từ thuật toán giấu tin Yu Yuan, Hsiang Kuang Pan Yu Chee Tseng, khoa Công Nghệ thông tin khoa