LỖ HỔNG TRONG CÁC THUẬT TOÁN GIẤU TIN Nghiên cứu với một số thuật toán dấu tin trong ảnh số Giấu tin là một kỹ thuật nhúng (giấu) một thông tin nào đó vào trong một vật mang tin khác (hay gọi là môi trường giấu tin) sao cho sự biến đổi của môi trường giấu tin là rất khó nhận biết, khiến đối phương bằng mắt thường khó phát hiện được vật mang tin đã được giấu một tin mật và khó giải mã nhận biết được tin mật giấu trong đó.
TRƯỜNG ĐH CÔNG NGHỆ - ĐH QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI GIỮA KỲ MÔN HỌC MẬT MÃ VÀ AN TOÀN DỮ LIỆU TÊN ĐỀ TÀI: LỖ HỔNG TRONG CÁC THUẬT TOÁN GIẤU TIN ( Nghiên cứu với một số thuật toán dấu tin trong ảnh số ) Giáo viên hướng dẫn : PGS.TS. Trịnh Nhật Tiến Học viên thực hiện : Nguyễn Quang Đại Chuyên ngành : Kỹ Thuật Phần Mềm Mã số HV : 12025005 Khóa : K19 Hà Nội, tháng 05/2014 Mật mã và an toàn dữ liệu K19 1 Mục lục Gi i thi u v gi u tin, l h ng an to n v ph m vi nghiên c uớ ệ ề ấ ỗ ổ à à ạ ứ 3 Các y u t nh h ng n vi c n gi u tin trong nhế ốả ưở đế ệ ẩ ấ ả 3 Gi i thi u m t s thu t toán gi u tin trong nhớ ệ ộ ố ậ ấ ả 4 L h ng trong các thu t toán gi u tinỗ ổ ậ ấ 10 Gi i pháp kh c ph c:ả ắ ụ 14 K t lu nế ậ 21 Mật mã và an toàn dữ liệu K19 2 Giới thiệu về giấu tin, lỗ hổng an toàn và phạm vi nghiên cứu 1.1.Giới thiệu giấu tin Giấu tin là một kỹ thuật nhúng (giấu) một thông tin nào đó vào trong một vật mang tin khác (hay gọi là môi trường giấu tin) sao cho sự biến đổi của môi trường giấu tin là rất khó nhận biết, khiến đối phương bằng mắt thường khó phát hiện được vật mang tin đã được giấu một tin mật và khó giải mã nhận biết được tin mật giấu trong đó. Ngày nay công nghệ thông tin đã tạo ra môi trường “Ẩn giấu tin” mới rất tiện lợi và phong phú. Không chỉ “Ẩn giấu tin” trong văn bản người ta còn có thể giấu tin trong hình ảnh, âm thanh, trong các gói dữ liệu, trong các phần mềm hoặc thậm chí trong các phân vùng ẩn của đĩa cứng, đĩa mềm, USB. Giấu tin được ứng dụng trong nhiều mục đích khác nhau như ứng dụng trong quân sự - liên lạc bí mật, bảo vệ bản quyền – cho các “tài liệu số”, “tranh ảnh số”, “bản nhạc số” … 1.2.Lỗ hổng an toàn là gì ? Lỗ hổng an toàn là những nguy cơ tiềm ẩn hay những điểm yếu trong hệ thống hoặc dịch vụ nào đó mà dựa vào đó kẻ tấn công có thể khai thác, xâm nhập trái phép để thực hiện chiếm đoạt thông tin hoặc phá hoại chúng. 1.3.Giấu tin trong ảnh số Kỹ thuật “ẩn – giấu” thông tin chia làm hai hướng: ẩn trực tiếp (trên miền không gian – thời gian) và ẩn trên miền biến đổi. Có nhiều miền đặc trưng thường được lựa chọn làm miền ẩn thông tin như: biến đổi rời rạc Cosin (DCT), Fourier (DFT), Wavelet (DWT) [8] Giấu tin trong ảnh số là tác động lên thông tin trên ảnh, có thể làm thay đổi các điểm ảnh, các giá trị trực tiếp của điểm ảnh, có nhiều phương pháp thực hiện giấu tin trong ảnh như: - Giấu tin sử dụng chẵn lẻ của tổng số bit 1, thuật toán giấu tin M.Y.Wu - J.H.Lee - Giấu tin vào các bit có trọng số thấp (LBS: Least Significant Bit), giấu tin dựa vào kỹ thuật “biến đổi ảnh”, giấu tin sử dụng “mặt nạ” giác quan … 1.4.Phạm vi, lý do chọn hướng nghiên cứu Ngày nay, nhu cầu trao đổi thông tin trên mạng là rất lớn. Theo đó, vấn đề bảo đảm an toàn cho các thông tin mật cũng trở nên cấp thiết. Có nhiều giải pháp nhằm đảm bảo an toàn cho thông tin trao đổi và môi trường giấu tin có thể là bất kỳ đối tượng dữ liệu đa phương tiện nào nhưng phổ biến nhất là môi trường ảnh số. Trong báo cáo này trình bày nghiên cứu về lỗ hổng của một số thuật toán giấu tin trong ảnh và cách khắc phục hạn chế lỗ hổng của thuật toán. Các yếu tố ảnh hưởng đến việc ẩn giấu tin trong ảnh Việc giấu tin nói chung đều phải đáp ứng một số yếu tố, các yếu tố này có thể thay đổi phụ thuộc vào từng ứng dụng cụ thể, với việc ẩn giấu tin trong ảnh thường có các yêu tố chung như sau: 1.5. Khó phát hiện bởi yếu tố con người - tính “vô hình” Ẩn giấu thông tin trong ảnh sẽ làm biến đổi ảnh mang tin. Tính “vô hình” thể hiện ở mức độ biến đổi ảnh mang và sẽ làm cho thông tin được giấu trên ảnh mang trở nên “vô hình”, người dùng sẽ khó nhận ra hoặc nghi ngờ ảnh có chứa thông tin mật. Đối với ẩn giấu thông tin, việc để phát hiện có dữ liệu nhúng Mật mã và an toàn dữ liệu K19 3 trong đối tượng chứa gây ra một sự thất bại hoàn toàn: người trung gian có thể giải mã thông điệp, làm suy biến thông điệp hay chỉ đơn giản là hủy thông điệp đi. 1.6. Tránh các thao tác biến đổi trên đối tượng chứa – tính bền vững Đảm bảo mức độ của dữ liệu nhúng không bị mất đi khi đối tượng chứa bị biến đổi bởi các thao tác như lọc ( tuyến tính, phi tuyến), thêm nhiễu, làm sắc nét, mờ nhạt, nén mất dữ liệu Tính năng này là bắt buộc với tất cả các ứng dụng của ẩn dữ liệu. Tuy nhiên, không có kỹ thuật nào có thể bất biến với tất cả các thao tác, mỗi kỹ thuật chỉ hỗ trợ cho tính bất biến đối với một số thao tác mà thôi. Tính bền vững là thước đo “sự nguyên vẹn” của tin mật sau khi biến đổi như vậy. 1.7. Dung lượng dữ liệu giấu Tùy thuộc vào từng ứng dụng cụ thể mà yêu cầu về số lượng dữ liệu nhúng là nhiều hay ít. Dung lượng dữ liệu giấu được tính bằng tỉ lệ của lượng tin cần giấu so với kích thước ảnh mang tin. Tính năng này luôn tỉ lệ nghịch với tính bền vững của dữ liệu giấu. Một kỹ thuật nếu hỗ trợ tính năng bền vững của dữ liệu nhúng cao thì số lượng dữ liệu nhúng lại giảm đi đáng kể và ngược lại nếu nâng cao số lượng dữ liệu nhúng thì dữ liệu nhúng đó lại ít có khả năng tránh được các thao tác trên đối tượng chứa, tín hiệu chứa càng bị nhiễu. Các phương pháp hiện đại đều quan tâm đến hai tính năng này là cố gắng giấu được nhiều tin trong ảnh nhưng vẫn giữ được bí mật. 1.8. Tính an toàn Mục đích của “Giấu tin” là truyền đi thông tin mật, nên cần đảm bảo không để người khác có thể giải mã được. Đồng thời phòng tránh trường hợp người khác khi không giải mã được sẽ làm sai lệch tin mật, hoặc giả mạo tin mật để gây bất lợi cho người nhận. 1.9. Độ phức tạp tính toán Đây là một tiêu chí quan trọng để đánh giá một phương pháp giấu tin trong ảnh, nó cho biết “tài nguyên” (thời gian và bộ nhớ) sẽ tiêu tốn bao nhiêu khi dùng cho một phương pháp giấu tin. Chính vì vậy yêu cầu với người dụng thì thời gian thực hiện phải nhanh nhưng với đối tượng khác thì phải đảm bảo tính bảo mật nghĩa là việc “Tách tin” là một bài toán khó. Giới thiệu một số thuật toán giấu tin trong ảnh Các thuật toán giấu tin trong ảnh thường sử dụng ảnh màu hoặc ảnh đa mức xám làm môi trường giấu tin, do chúng có môi trường “dày” và vì thế lượng tin có thể giấu được lớn và tính che giấu cao. Giấu tin trong ảnh nhị phân là một thách thức lớn hơn, vì không như các loại ảnh trên, môi trường giấu tin trong ảnh nhị phân rất “thưa”, mỗi điểm ảnh của nó chỉ được thể hiện bởi một bit nên sẽ rất dễ bị phát hiện khi có bất kỳ sự biến đổi nào, ảnh đen trắng số là ảnh nhị phân được thể hiện qua một ma trận điểm ảnh gồm số 0 hay 1. Ý tưởng cơ bản của thuật toán giấu tin trong ảnh là chia một ảnh thành các khối nhỏ và với mỗi khối nhỏ đó sẽ được giấu không quá 1 bit thông tin. Những thuật toán sau cũng có thể dùng cho cả ảnh đen trắng, ảnh màu và ảnh xám, để đơn giản chúng ta xét các thuật toán giấu tin trong ảnh đen trắng sau đây. Mật mã và an toàn dữ liệu K19 4 1.10. Thuật toán giấu tin sử dụng tính chẵn lẻ của tổng số bit 1 1.10.1. Thuật toán giấu tin Yêu cầu bài toán: Input: • File ảnh Bitmap đen trắng: FF (sẽ mang tin giấu) • Khoá: K (để giấu và trích tin), là khóa bí mật và là kích thước của khối nhỏ được tách từ F • File thông tin cần giấu: Fb Output: • File ảnh đã giấu tin file tin mật Fp: FF’ Phương pháp như sau: 1) Tiền xử lí: • Chuyển file thông tin cần giấu Fb sang dạng nhị phân b. • Đọc header của ảnh (phần chứa thông tin ảnh) để lấy thông tin ảnh. Sau đó đọc toàn bộ dữ liệu ảnh vào một mảng hai chiều A để sử dụng cho việc giấu tin. 2) Thuật toán: Input: • F là ma trận ảnh mang b là dãy bit bí mật cần giấu (sẽ mang tin giấu) • Khoá: K (để giấu và trích tin), là khóa bí mật và là kích thước của khối nhỏ được tách từ F Output: • F’ là ma trận ảnh đã được giấu dãy bit bí mật b Bước 1: Chia ảnh mang F thành các khối nhỏ kích thước K (m×n). Bước 2: Sau khi chia F thành các khối nhỏ, ta chọn các khối để giấu tin, ta có thể chọn ngẫu nhiên các khối, nhưng để cho đơn giản ta coi như các khối được chọn tuần tự từ khối đầu tiên cho đến khi hết thông tin cần giấu. Mỗi khối nhỏ này sẽ được dùng để giấu một bit thông tin theo quy tắc sau: Nếu muốn giấu bit 1 vào 1 khối thì phải thỏa mãn điều kiện: o (L) Tổng các bit 1 trong khối đó là số “lẻ” ( tức là cùng tính lẻ bit 1). o Nếu muốn giấu bit 1 vào 1 khối nhưng không thỏa mãn điều kiện (L) thì trong khói đó chọn ngẫu nhiên một bit và thay đổi giá trị của nó (từ 0 thành 1 hay từ 1 sang 0) để thỏa mãn điều kiện (L). Nếu muốn giấu bit 0 vào một khối thì phải thỏa mãn điều kiện: o (C) Tổng các bit 1 trong khối đó là số “chẵn” ( tức là cùng tính lẻ bit 1). o Nếu muốn giấu bit 0 vào 1 khối nhưng không thỏa mãn điều kiện (C) thì trong khói đó chọn ngẫu nhiên một bit và thay đổi giá trị của nó (từ 0 thành 1 hay từ 1 sang 0) để thỏa mãn điều kiện (C). 3) Giải pháp thực hiện Để xử lý các điều kiện trên ta sử dụng tính chất của “đồng dư” để giải quyết bài toán: Giả sử ta cần giấu một bit dữ liệu b vào khối B. Ký hiệu SUM(B) là tổng số điểm đen trong khối B, kí hiệu x = y (mod z) cho biết hai số tự nhiên x và y có cùng số dư khi chia cho z (x và y đồng dư theo Mật mã và an toàn dữ liệu K19 5 modulo z). Như vậy biểu thức x ≡ y (mod 2) cho biết x và y có cùng tính chẵn lẻ vì theo tính chất đối xứng của “đồng dư” thì x ≡ y (mod 2) tương đương với y ≡ x (mod 2) Ta quy bài toán về hai trường hợp: - Trường hợp thứ nhất: SUM(B) = b (mod 2), khối B đã thoả mãn tính chất để giấu bit dữ liệu b, ta không cần thay đổi và xem như bit b đã được giấu. - Trường hợp thứ hai: SUM(B) ≠ b (mod 2). Trường hợp này phải sửa B để đảo tính chẵn lẻ của SUM(B). Dễ thấy ta chỉ cần đảo một bit bất kỳ trong B thì SUM(B) sẽ tăng hoặc giảm 1 đơn vị. Gọi B’ là khối kết quả thu được từ khối B sau khi đảo một bit trong B. Ta có SUM(B’) = b (mod 2). 1.10.2. Ví dụ minh họa Ví dụ 1: Giả sử ta phải giấu bit dữ liệu b = 1 vào khối B như sau: 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 Hình 1. Khối B kích thước 4 × 4, SUM(B)=6 Ta đếm số bit 1 trong khối: Trong trường hợp ở trên khối B có 6 bit 1, SUM(B)=6. Do đó, SUM(B) ≠ 1 (mod 2). Như vậy khối B không thoả mãn yêu cầu để giấu bit 1. Muốn giấu bit 1 vào khối này ta cần phải thay đổi khối bằng cách chọn một bit bất kì và đổi từ 0 sang 1 hoặc từ 1 sang 0. Giả sử thay đổi như hình sau: 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 Hình 2. Mô tả viêc thay đổi bit. SUM(B') = 5. Khi đó ta có SUM(B') = 5, và do đó SUM(B') = 1 (mod 2). Ví dụ 2: Giả sử vẫn với khối B đã cho như trên nhưng ta phải giấu bit dữ liêu b = 0 vào khối đó. Ta có, do SUM(B) = 6, nên SUM(B) = 0 (mod 2). Khối B được bảo toàn và bit dữ liệu b=0 xem như đã được giấu. Với mỗi bit dữ liệu ta lấy một khối để giấu theo quy tắc trên cho đến hết lượng thông tin cần giấu. Sau khi giấu xong ta được một ma trận hai chiều chứa dữ liệu ảnh mới A’. Bước tiếp theo, ta xây dựng ảnh mới bằng cách gắn header ảnh gốc đã đọc ra lúc đầu vào A’ để thu được file ảnh mới F’. Mật mã và an toàn dữ liệu K19 6 Bit bị thay đổi từ 1 →0 0 Trong thuật toán giấu tin này, khoá đơn giản chỉ là kích thước của khối, tức là bộ số (m,n). Nếu biết kích thước của khối thì dễ dàng giải mã tin theo quy tắc sau: 1.10.3. Quá trình giải tin: Input: • F’ là ảnh đã được giấu dãy bí mật b • K là khóa bí mật, đó là kích thước của khối nhỏ (Được xác định trước) Output: • F là ảnh mang (ảnh trước khi giấu tin mật), b là dãy bit bí mật cần giấu Bước 1: - Đọc header của ảnh để biết các thông tin ảnh. - Đọc phần dữ liệu ảnh vào mảng hai chiều (ma trận) F. Bước 2: - Chia ảnh F mang thành các khối nhỏ với kích thước K - Theo một thứ tự xác định trước, xét từng khối nhỏ o Nếu tổng số bit 1 là “lẻ” thì ta thu được bit giấu là 1 o Nếu tổng số bit 1 là “chẵn” thì ta thu được bit giấu là 0 * Như vậy, sau khi xử lý hết các khối đã giấu, ta thu được một chuỗi bit đã đem giấu b. Bước tiếp theo ta chuyển từ file nhị phân sang file văn bản. 1.10.4. Mở rộng áp dụng cho ảnh màu và ảnh đa cấp xám Thuật toán trên mặc dù áp dụng cho ảnh đen trắng nhưng nó cũng có thể sử dụng cho ảnh màu hoặc ảnh đa cấp xám. Việc áp dụng thuật toán vào các loại ảnh và những điều quan trọng khi áp dụng kỹ thuật cho từng loại ảnh như sau: - Các loại ảnh màu và đa mức xám có giá trị của mỗi điểm ảnh được biểu diễn bằng dãy nhiều bit. Trong dãy các bit này có một bit được gọi là bit ít quan trọng nhất (LSB - Least Significant Bit). Bit ít quan trọng nhất là bit mà khi ta đảo trị của nó thì điểm màu chỉ bị thay đổi ít nhất. Thí dụ, với ảnh đa mức xám, mỗi mức xám được biểu diễn qua một số nguyên không âm, thì mức xám m sẽ sai khác ít nhất so với hai mức xám liền kề là m-1 hoặc m+1. - Trong trường hợp này bit ít quan trọng nhất chính là bit thấp nhất trong dạng biểu diễn nhị phân của m. Đảo bit này ta sẽ làm thay đổi mức xám m thành m-1 hoặc m+1. - Hầu hết các thuật toán giấu tin trên ảnh màu và ảnh đa cấp xám thường sử dụng gián tiếp thuật toán giấu tin trên ảnh đen trắng theo các bước sau: Bước 1: Tạo ảnh đen trắng G từ ảnh màu F bằng một kỹ thuật nào đó, thí dụ, lấy từ mỗi điểm màu trong F một bit ít quan trọng nhất để làm một điểm ảnh cho G. Bước 2: Giấu tin vào ảnh đen trắng G để thu được ảnh đen trắng G’. Bước 3: Đưa lại các bit của G’ vào mỗi điểm ảnh màu tương ứng của F để thu được ảnh màu kết quả là F’. Mật mã và an toàn dữ liệu K19 7 1.11. Kỹ thuật giấu tin M.Y.WU – J.H.LEE Đây là thuật toán giấu tin kinh điển trong ảnh đen trắng của M.Y.WU – J.H.LEE đề xuất vào năm 1989 Mục tiêu của thuật toán là giấu càng nhiều tin vào ảnh càng tốt. Ý tưởng của thuật toán cũng theo như phần chung của các thuật toán giấu tin trong ảnh là chia ảnh ra thành các khối m x n bằng nhau, tìm khối nào ít bị phát hiện nhất (tức vùng yếu nhất trên ảnh) thì giấu 1 thông tin vào khối đó. Các yêu cầu cơ bản đặt ra với thuật toán là: Nâng cao tính bảo mật Giảm tối đa độ sai lệch của khối ảnh - F: mức độ sai lệch của khối ảnh F trước và sau khi giấu tin là tối thiểu, Tăng tối đa lượng bit dữ liệu giấu được - r: lượng bit dữ liệu giấu được là lớn nhất trên cơ sở đảm bảo tính chất trên. Ảnh chứa tin giấu (ảnh đích) bền vững trước một số phép biến đổi ảnh, Tốc độ của thuật toán giấu và trích tin cao. Trong phần này giới thiệu chi tiết một thuật toán giấu thông tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee đế xuất vào năm 1989 [6]. Thuật toán được thực hiện trên ảnh đen trắng, mỗi khối giấu được tối đa 1 bit dữ liệu (r=1) trên cơ sở đảo trị tối đa 1 bit trong khối. 1.11.1. Các phép toán với các bit Gọi a và b là hai bit tuỳ ý, ta định nghĩa phép toán and bit kí hiệu là ^ trên hai bit a và b, a∧b cho ta giá trị 1 khi và chỉ khi a=b=1, trong các trường hợp còn lại, a ^ b=0. Ta định nghĩa phép toán cộng loại trừ (hay gọi là phép toán so khác – XOR), kí hiệu là ⊕ trên hai bit a và b, a⊕b sẽ cho ta giá trị 1 nếu a ≠ b và giá trị 0 nếu a=b. a b a ∧b a⊕b 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Hình 3. Các phép toán ∧ và ⊕. Với mỗi ma trận A ta ký hiệu A[i,j] là phần tử trên hàng i, cột j của A. Hai phép toán trên cũng được mở rộng cho các dãy bit hoặc cho các ma trận bit. Với hai ma trận bit A và B cùng kích thước m × n ta định nghĩa A ∧ B = C, trong đó C[i,j] = A[i,j] ∧ B[i,j], 1 ≤ i ≤ m, 1 ≤ j ≤ n A ⊕ B = C, trong đó C[i,j] = A[i,j] ⊕ B[i,j], 1 ≤ i ≤ m, 1 ≤ j ≤ n Trường hợp A và B là hai dãy bit ta đặt n=1. Ta cũng định nghĩa phép nhân theo vị trí trên hai ma trận số A và B cùng kích thước m × n như sau : A x B = C, trong đó C[i,j] = A[i,j] × B[i,j], 1 ≤ i ≤ m, 1 ≤ j ≤ n 3.2.2 Thuật toán Wu - Lee Input: Mật mã và an toàn dữ liệu K19 8 • F là ảnh mang; • b là bit bí mật cần giấu; • K là khóa bí mật (nhị phân - ma trận m x n). Output: • F là ảnh đã được giấu bit b bí mật • Kí hiệu SUM(F) là tổng các số 1 trong ma trận F Bước 1: - Chia F thành các khối nhỏ Fi có kích thước m x n (như ma trận K). Bước 2: - Với mỗi Fi, kiểm tra điều kiện: 0 < SUM(Fi ^ K) < SUM (K) - Nếu thỏa mãn điều kiện trên thì chuyển sang bước 3 - Nếu không thỏa mãn điều kiện trên thì giữ nguyên Fi Bước 3: - Giả sửa bit cần giấu vào khối Fi là b. Thay đổi Fi như sau: if ( SUM(Fi ^ K) mod 2 = b) then giữ nguyên Fi (coi như đã được giấu b) else if ( SUM(Fi ^ K) mod 2 = 1 ≠ b (tức là b=0)) then Chọn ngẫu nhiên 1 bit thoả mãn Fi[j,k]=0 & K[j,k]=1; lật Fi[j,k] thành 1; else if (SUM(Fi ^ K) mod 2 = 0 ≠ b (tức là b=1) & SUM(Fi∧K)= SUM(K)–1) then Chọn ngẫu nhiên 1 bit thỏa mãn F[j,k]=1 & K[j,k] =1; lật F[j,k] thành 0; else if (SUM(Fi ^ K) mod 2 = 0 ≠ b và SUM(Fi ^ K) ≠ SUM(K)–1) then Chọn ngẫu nhiên 1 bit thỏa mãn K[j,k] = 1; lật bit Fi[j,k] từ 0 thành 1 hoặc từ 1 thành 0; return F; end Wu_Lee. 1.11.2. Ví dụ minh họa Giả sử ta cần giấu dãy bit D = 011 vào một ảnh F có kích thước 6×6 và một ma trận khoá K có kích thước 3×3 như trong hình vẽ. F1 F2 F1’ F2’ Mật mã và an toàn dữ liệu K19 9 1 1 0 1 1 1 Dữ liệu cần giấu: D=011 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 F3 F4 K F’3 F’4 Bước 1: Ta chia ảnh F thành 4 khối nhỏ mỗi khối sẽ có kích thước là 3×3 ta thu được F1, F2, F3, F4. Xét với lần lượt các khối ảnh trên. Bước 2: Xét với khối ảnh F1: - SUM(F1∧K) = SUM(K) = 5 ; nên không giấu dữ liệu vào trong F1. Vì không thỏa mãn điều kiện 0 < SUM(Fi ^ K) < SUM (K). Xét tiếp với khối ảnh F2: - SUM(F2∧K) = 3 thỏa mãn 0 < SUM(Fi ^ K) < SUM (K). Bước 3: - Ta có SUM(F2 ^ K) mod 2 = 3 mod 2 = 1 ≠ 0. - Ta chọn phần tử (2,3) để đảo bit trong khối F2 vì với phần tử này ta có F2[2,3]=0 và K[2,3]=1. Sau khi đảo bit F2[2,3] ta thu được khối F’2 như trên hình vẽ (bit bị đổi được đánh giấu xám). Xét tiếp với khối ảnh F3: - SUM(F3 ^ K) = 3 và bit cần giấu là bit thứ hai trong D, b=1 mà ta có SUM(F3 ^ K) mod 2 = 3 mod 2 = 1 = b. Khối F3 được giữ nguyên với ý nghĩa là khối đã được giấu bit b=1. Xét tương tự tiếp với khối ảnh F4: - SUM(F4 ^ K) = 4, và bit cần giấu là bit cuối cùng của D, b=1 nên ta có SUM(F4∧K) mod 2 = 4 mod 2 = 0 ≠ b. Ta chọn phần tử (2,1) để đảo bit trong khối F4 vì với phần tử này ta có F4[2,1]=1 và K[2,1]=1. Sau khi đảo bit F4[2,1] ta thu được khối F’4 như trên hình vẽ (bit bị đổi được đánh giấu xám). Ta thấy rằng các thuật toán giấu tin trong ảnh đen trắng trên là cơ sở cho các thuật toán giấu tin trong ảnh khác nói chung. Lỗ hổng trong các thuật toán giấu tin 1.11.3. Với thuật toán giấu tin sử dụng tính chẵn lẻ của tổng số bit 1 Mật mã và an toàn dữ liệu K19 10 . Một kỹ thuật nếu hỗ trợ tính năng bền vững của dữ liệu nhúng cao thì số lượng dữ liệu nhúng lại giảm đi đáng kể và ngược lại nếu nâng cao số lượng dữ liệu nhúng thì dữ liệu nhúng đó lại ít có khả. Trịnh Nhật Tiến Học viên thực hiện : Nguyễn Quang Đại Chuyên ngành : Kỹ Thuật Phần Mềm Mã số HV : 12025005 Khóa : K19 Hà Nội, tháng 05/2014 Mật mã và an toàn dữ liệu K19 1 Mục lục Gi i thi u v. một phương pháp giấu tin trong ảnh, nó cho biết “tài nguyên” (thời gian và bộ nhớ) sẽ tiêu tốn bao nhiêu khi dùng cho một phương pháp giấu tin. Chính vì vậy yêu cầu với người dụng thì thời gian