Bài viết tập trung tìm hiểu về kỹ thuật giấu tin mật trong ảnh kỹ thuật số dạng bitmap. Các tác giả giới thiệu thuật toán giấu tin đã được công bố, thuật toán cải tiến của nó và từ đó đề xuất 1 thuật toán giấu tin mật khác có hiệu quả cao hơn.
XÂY DỰNG THUẬT TOÁN DẤU TIN MẬT TRONG ẢNH SỐ Lê Hải Triều *, Hồ Văn Canh+ * Viện Kỹ thuật điện tử khí nghiệp vụ, Bộ Cơng an + Cục Kỹ thuật nghiệp vụ, Bộ Công an Abstract—Kỹ thuật giấu tin (còn gọi bảo mật tin) trong ảnh số yêu cầu cần thiết phát triển kỹ thuật mật mã Hiện có có hướng giấu tin kỹ thuật giấu tin mật (steganography) kỹ thuật thủy vân số (watermark) Trong báo tác giả tập trung tìm hiểu kỹ thuật giấu tin mật ảnh kỹ thuật số dạng bitmap Các tác giả giới thiệu thuật tốn giấu tin cơng bố, thuật tốn cải tiến từ đề xuất thuật tốn giấu tin mật khác có hiệu cao Keywords—giấu tin, watermark, LBS, BMP ảnh số, steganography, I ĐẶT VẤN ĐỀ A Nguyên lý bảo mật tin ảnh bitmap Có nhiều thuật tốn giấu thông tin ẩn vào file ảnh Nhưng phổ biến ứng dụng rộng rãi giới thuật tốn chèn thơng tin ẩn vào bit có ý nghĩa thấp(Least Significant Bit - LSB) phần liệu ảnh ảnh bitmap 24 bit màu, việc thay đổi bit LSB gây thay đổi nhỏ thành phần màu mà mắt thường khó nhận biết đượcsự thay đổi Hiện người ta thấy khơng bit LSB mà bit Most LSB(Với M=1,2) phần liệu ảnh bimap không làm thay đổi đáng kể mà mắt thường khó phân biệt thay đổi Tuy nhiên việc phát ảnh có chứa thơng tin ẩn thuật tốn thống kê cấp cấp lại tỏ hiệu quả.Do cần phải lưu ý đến vấn đề [3] B Các tham số cần tính tốn áp dụng thuật tốn chèn bit LSB Kích cỡ liệu ẩn: Khi muốn nhúng(ẩn) văn file liệu số vào file ảnh bitmap(BMP) trước hết cần đảm bảo chất lượng kích cỡ file ảnh khơng bị thay đổi Vì độ dài tối đa thông báo file Số 02 & 03 (CS.01) 2017 liệu ẩn so với độ dài LSB file liệu ảnh BMP là: Lmax ≈ 12,5%LLSB Trong Lmax độ dài tối đa liệu ẩn LLSB độ dài LSB file liệu ảnh BMP Nếu tính tất bit file liệu ảnh BMP độ dài Lmax ≈ 100% L-BMP (không vượt 100% liệu ảnh ảnh BMP) Xác định vị trí liệu ẩn: Mỗi muốn đặt bit thông tin ẩn vào file ảnh BMP vấn đề phải xem đặt thông tin ẩn vị trí file ảnh tốt Để tăng độ bảo mật cho liệu ản liệu ẩn nên bắt đầu chèn vào phần liệu ảnh vị trí ngẫu nhiên liên quan đến mật khẩu: f(x) = f(C1,C2, Cn), (C1,C2, ,Cn) dãy dãy ký tự mật độ dài n Thông thường người ta mã hóa tin trước nhúng vào ảnh số Việc mã hóa nhằm đảm báo độ an tồn cao cho tin cần giấu, đặc biệt thông tin liên quan đến an ninh - quốc phòng v.v Khi cho dù đối phương phát tin giấu lớp mã hố bảo vệ [9] II PHÂN TÍCH KHẢ NĂNG GIẤU TIN TRONG ẢNH BITMAP A Đánh giá khả giấu tin ảnh Kết thực nghiệm cho thấy rằng: Việc giấu tin ảnh đen trắng đem lại hiệu thấp việc biến đổi điểm ảnh từ đen (0) sang trắng (1) ngược lại từ trắng sang đen dễ tạo nhiễu ảnh người ta dễ phát thị giác người Hơn nữa, tỷ lệ giấu trin ảnh đen trắng thấp Chẳng hạn, ảnh đen trắng kích cỡ 300x300 pixels có 2KB Trong ảnh 24 màu với kích cỡ tương tự giấu tới 200KB Hơn nữa, ảnh đen trắng sử dụng thay vào ảnh màu ảnh đa cấp xám Để chọn ảnh màu ảnh đa cấp xám làm ảnh môi trường cho việc giấu tin Chúng ta cần quan tâm đến bit có ý nghĩa thấp nhấtmà ta ký hiệu LSB LSB bit có ảnh hưởng đến việc định màu sắc điểm ảnh Do vậy, LSB bị thay đổi màu sắc TẠP CHÍ KHOA HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG ảnh sau thay đổi khơng khác đáng kẻ so với màu sắc ảnh ban đầu Nhưng làm để xác định LSB điểm ảnh? Việc xác định LSB điểm ảnh ảnh phụ thuộc vào định dạng ảnh số bit màu dành cho điểm ảnh Đối với ảnh 16 bit màu 24 bit màu việc xác định LSB tương đối đơn giản Tuy nhiên ảnh 8bit màu trở xuống Những ảnh có sử dụng bảng màu (palette màu) cơng việc trở lên phức tạp Riêng ảnh đa cấp xám bảng màu đước sắp, cặp màu bảng màu có số chênh lệch giống Vì vậy, ảnh đa cấp xám LSB điểm ảnh (pixel) bit cuối điểm ảnh Q trình tách LSB điểm ảnh đa cấp xám để tạo thành ảnh thứ cấp bit thuật toán thuật toán giấu tin ảnh đen trắng làm cho số màu điểm màu thay đổi tăng giảm đơn vị Do điểm ảnh có độ sáng tối ô màu liền trước sau ô màu điểm ảnh điểm ảnh môi trường (ảnh gốc) Bằng mắt thường người ta khó lòng phát thay đổi Thực nghiệm rằng, ta đảo toàn LSB tất điểm liệu ảnh ảnh bit đa cấp xám khơng gây khác nhiều Vì vậy, khối ảnh ta thay đổi nhiều điểm ảnh khả phân biệt ảnh gốc ảnh kết khó khăn khơng nói “Khơng thể” mắt thường [6,7] a Đối với ảnh số bit màu Những ảnh thuộc loại gồm ảnh 16 màu (4 bit màu) ảnh 256 màu(8 bit màu) Khác với ảnh đa cấp xám ảnh màu với số bit màu bé luôn xếp bảng màu Những màu liền kề khác Chẳnghạn, màu đen màu trắng xếp kề bảng màu Do việc xác định LSB khó khăn Nếu ta làm ảnh đa cấp xám, tức lấy bit cuối điểm ảnh để tạo thành ảnh thứ cấp thay đổi sang sang ảnh thứ cấp làm cho màu ảnh môi trường màu tương ứng ảnh kết khác xa đến mức mắt thường phân biệt được, số màu chúng tăng giảm bit mà Nhưng làm để biết màu dùng màu không dùng đến? Để trả lời câu hỏi trước hết ta phải duyệt toàn màu bảng màu đánh dấu màu có số xuất liệu ảnh màu dùng Giả sử có màu C khơng dùng đến Với điểm màu A tìm màu B có sử dụng bảng màu để cạnh A mà giá trị S(A,B) lớn ngưỡng ta chèn màu C vào A B đồng thời đổi lại màu ô C cho giống màu A B Trường hợp số màu sử dụng bé bàng (đối với ảnh 256) hay bé (đối với ảnh 16 màu) việc xếp lại bảng màu theo thuật toán cho ta kết giấu tin tốt b Đối với ảnh 16 bit màu Ảnh 16 bit màu thực tế sử dụng 15 bit cho điểm ảnh bit biển diễn cường độ tương đối màu đỏ(Red); bit biểu diễn cường độ tương đối màu xanh lam (Green) bit biểu diễn Số 02 & 03 (CS.01) 2017 cường độ tương đối màu xanh lơ(blue) Một bit lại khơng dùng đến bit cao byte thứ hai cặp byte biểu diễn điểm ảnh Đó LSB ảnh 16 bit màu Tuy nhiên ta lấy bit để tạo thành ảnh thứ cấp lượng thơng tin giấu không nhiều Để tăng tỷ lệ tin giấu ảnh 16 bit màu, lấy nhiều bit điểm ảnh c Đối với ảnh 24 bit màu Ảnh 24 bit màu sử dụng byte cho điểm ảnh, đó, byte biểu diễn thành phần cấu trúc RGB Trong byte, bit thấp ảnh hướng tới màu sắc điểm ảnh Vì ảnh true color, bit cuối byte điểm ảnh LSB điểm ảnh Bằng kết thực nghiệm cho thấy: Việc thay đổi toàn bit cuối byte phần liệu ảnh true color khơng ảnh hưởng có ý nghĩa đến ảnh gốc(ảnh mơi trường) Khi đó, thay tồn bit bit liệu ẩn tỷ lệ thơng tin giấu 12,5% (hoặc 100% so với LSB liệu ảnh) [5,11] B Đánh giá chung Một giá trị màu thông thường véc-tơ thành phần không gian màu (tập màu có thể) RGB [2] Vì màu đỏ, xanh cây, xanh nhạt màu nguyên thủy (primary – màu gốc) Mỗi màu tổ hợp tuyến tính màu ngun thủy Như véc-tơ khơng gian RGB mô tả cường độ thành phần R, G, B Một khơng gian khác biết đến Y, Cb, Cr Nó phân biệt độ sáng Y thành phần sáng tươi (Cb, Cr) Ở Y thành phần sáng (chrominance) màu, Cb, Crthì phân biệt mức độ màu Một véc-tơ màu khơng gian màu RGB chuyển đổi thành Y, Cb, Crbởi hệ thức sau đây: Y = 0.299R + 0.586G + 0.114B Cb = 0.5 + (B – Y) Cr = 0.5 + (R – Y) 1,6 Còn mức xám G = 0.299R + 0.587R + 0.114B Do ảnh đa cấp xám bảng màu với điểm ảnh bit cuối LSB điểm ảnh (gồm bít) Cho nên dễ dàng thực việc giấu tin Do đó, phần tác giả đề cập đến ảnh 24 bit màu III THUẬT TOÁN GIẤU TIN VÀ THUẬT TOÁN CẢI TIẾN A Thuật toán giấu tin phổ biến a Các tham số đầu vào: Các ký hiệu: Gọi m thông điệp cần giấu sau chuyển sang dãy bít mã ASCII mở rộng, ta * m = m1m2 ml(m)với mi∈{0,1}; i= 1,2, ,l(m) l(m) độ dài số bít biểu diễn m * C = C1C2 Cl(c) với Ci∈ {0, 1}; i= 1,2, ,l(c), ảnh dùng để giấu thông điệp m * S = S1S2 Sl(c) ảnh Stego giấu thông điệp m * S = S1S2 Sl(c) ảnh giấu tin b Thuật tốn giấu: TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Đầu vào: m, c Đầu ra: S Quá trình thực trình bày lưu đồ sau: For i=1 sequence)k1,k2,k3, ,kl(m)với (l(m) độ dài thông báo m, quy đổi bit) đặt: N1 = K1 Ni = Ni-1 + Ki i≥2 tham gia vào việc truyền thông tin Như vậy, khoảng cách bit cần giấu xác định cách ngẫu nhiên Từ đó, thuật toán cải tiến thực sau a i=i+1 Thuật toán giấu: For i=1 Si Ci i