Đồ án trình bày tổng quan về giấu tin, một số phương pháp giấu tin, giới thiệu một phương pháp giấu tin mới vào trong ảnh xám dựa trên tiếp cận của lý thuyết module. Xây dựng ứng dụng giấu tin kết hợp mã hóa, thiết kế và cài đặt giao thức xác thực người dùng trên môi trường mạng sử dụng phương pháp giấu tin để làm tăng độ an toàn cho người dùng tham gia vào một hệ thống cần có sự xác minh người sử dụng, hoặc có các giao dịch yêu cầu độ an toàn cao có khả năng phát hiện và chống lại được sự giả mạo.
Trang 1Sinh viên thực hiện: NHỮ BẢO VŨ
Chuyên ngành: Toán – Tin ứng dụng Lớp: Toán Tin 1 – K52
Giáo viên hướng dẫn: PGS.TS PHAN TRUNG HUY
Nhận xét của giáo viên hướng dẫn:
Giáo viên hướng dẫn
(Ký, ghi rõ họ tên)
Trang 2MỤC LỤC
DANH MỤC VIẾT TẮT 4
LỜI MỞ ĐẦU 5
CHƯƠNG 1 TỔNG QUAN GIẤU TIN VÀ CƠ SỞ TOÁN HỌC 10
1.1 Bài toán giấu tin và vai trò 10
1.1.1 Bài toán giấu tin 10
1.1.2 Phân loại các kỹ thuật giấu tin 13
1.1.3 Mô hình giấu tin cơ bản 15
1.1.4 Các ứng dụng của kỹ thuật giấu tin 16
1.2 Giấu tin trong ảnh và các đặc trưng 18
1.2.1 Giấu tin trong ảnh 18
1.2.2 Các đặc trưng cơ bản 19
1.3 Cơ sở toán học 22
1.3.1 Lý thuyết đồng dư modulo 22
1.3.2 Lý thuyết module 24
CHƯƠNG 2 GIẤU TIN TRÊN ẢNH NHỊ PHÂN 30
2.1 Giới thiệu về giấu tin trong ảnh nhị phân 30
2.2 Giấu tin theo khối bit đơn giản 30
2.3 Thuật toán giấu tin Wu-Lee 31
2.4 Thuật toán giấu tin Chen-Pan-Tseng 32
2.5 Thuật toán giấu tin CPTE 35
CHƯƠNG 3 GIẤU TIN TRÊN ẢNH MÀU, ẢNH XÁM 39
3.1 Phương pháp LSB 39
3.2 Phương pháp chẵn lẻ giấu tin trên ảnh chỉ số 40
3.3 Phương pháp định vị giai thừa giấu tin trên ảnh GIF 42
3.4 Thuật toán giấu tin trong ảnh xám 43
Trang 3CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 46
4.1 Tổng quan về ảnh số 46
4.2 Cài đặt thuật toán CPTE 50
4.3 Ứng dụng giấu tin trong mã hóa 53
4.3.1 Thiết kế chương trình giấu tin 54
4.3.2 Thiết kế bộ mã hóa 56
4.4 Ứng dụng giấu tin xây dựng giao thức xác thực 57
4.4.1 Phát biểu bài toán thực tế ứng dụng mô hình 58
4.4.2 Khái niệm giao thức 60
4.4.3 Giao thức bắt tay sử dụng phương pháp giấu tin 61
4.4.4 Phân tích độ an toàn của hệ thống 66
4.5 Giới thiệu chương trình thử nghiệm 67
4.5.1 Tóm tắt kết quả 67
4.5.2 Chương trình giấu tin 68
4.5.3 Chương trình xác thực người dùng 72
KẾT LUẬN 79
TÀI LIỆU THAM KHẢO 80
Trang 4DANH MỤC VIẾT TẮT
ST
3 Advanced Encryption Standard AES
5 Graphics Interchange Format GIF
6
Trang 5Trên môi trường mở, nhanh chóng và tiện nghi như vậy, việc tìm kiếm,sao chép thông tin trở nên dễ dàng hơn bao giờ hết Những phiên bản saochép hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự lưu thôngphân phối trên mạng của các dữ liệu đa phương tiện đã phát sinh ra nhiều vấn
đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, giả mạo,xuyên tạc, …
Tình trạng vi phạm bản quyền số đang xảy ra hàng ngày, hàng giờ mộtcách liên tục Nhằm bảo vệ các sản phẩm số không bị sử dụng trái phép, songsong với việc kêu gọi ý thức tự giác thực thi luật bản quyền, các công ty côngnghệ lớn trên thế giới đã và đang thực hiện các giải pháp kỹ thuật kiểm soátbản quyền số Một trong những vấn đề được đặt ra là làm sao bảo vệ quyền sởhữu đối với các sản phẩm đa phương tiện này
Đứng trước tình hình đó vấn đề về bảo mật thông tin hiện nay luônnhận được sự quan tâm đặc biệt trong nhiều lĩnh vực Đã có nhiều phươngpháp để bảo mật thông tin, một trong những phương pháp được sử dụng phổbiến để bảo vệ quyền sở hữu đối với nội dung của các sản phẩm đa phươngtiện là mã hoá Nội dung của sản phẩm đó được mã hoá và gửi cho người sử
Trang 6mã đi kèm Phương pháp mã hoá trên chỉ hiệu quả trong việc truyền thông tinnhưng không hiệu quả trong việc bảo vệ quyền sở hữu Sau khi sản phẩmđược giải mã, người dùng ngoài việc lưu trữ còn có thể nhân bản và phân phốilại
Giấu tin là phương pháp đã và đang tiếp tục được nghiên cứu và ứngdụng rất mạnh mẽ Đây là phương pháp mới và phức tạp nó đang được xemnhư một công nghệ cốt lõi cho vấn đề bảo vệ bản quyền, chống nhân bản bấthợp pháp, chống lại truy cập trái phép, chống xuyên tạc, chống giả mạo thôngtin, xác thực thông tin và điều khiển truy cập ứng dụng trong an toàn và bảomật thông tin
Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu tin là phương pháp
mã hoá làm cho các thông tin hiện rõ là nó có được mã hoá hay không còn đốivới phương pháp giấu tin thì người ta sẽ khó biết được là có thông tin giấubên trong do tính chất ẩn hình (invisible) của thông tin được giấu Cácphương pháp mã hóa thường thu hút sự chú ý, một khi những thông tin mãhoá bị phát hiện thì những tên tin tặc sẽ tìm mọi cách để triệt phá Và cuộcchạy đua giữa những người bảo vệ thông tin và bọn tin tặc vẫn chưa kết thúctuyệt đối về bên nào Trong hoàn cảnh đó thì giấu tin trở thành một phươngpháp hữu hiệu để che giấu tin làm cho tin tặc không thể phát hiện
Trên cơ sở ứng dụng đa dạng, đặc tính nổi bật của giấu tin cùng với
xuất phát từ các yêu cầu dự án thực tế “Xây dựng giao thức bảo vệ đề thi trắc
nghiệm trên môi trường Wireless” mà tác giả đã được tiếp cận và đã lựa chọn
đề tài “Ứng dụng giấu tin trong mã hóa và xác thực” làm đồ án tốt nghiệp
của mình
Đồ án trình bày tổng quan về giấu tin, một số phương pháp giấu tin,giới thiệu một phương pháp giấu tin mới vào trong ảnh xám dựa trên tiếp cận
Trang 7của lý thuyết module Xây dựng ứng dụng giấu tin kết hợp mã hóa, thiết kế vàcài đặt giao thức xác thực người dùng trên môi trường mạng sử dụng phươngpháp giấu tin để làm tăng độ an toàn cho người dùng tham gia vào một hệthống cần có sự xác minh người sử dụng, hoặc có các giao dịch yêu cầu độ antoàn cao có khả năng phát hiện và chống lại được sự giả mạo.
Đồ án bao gồm các nội dung sau:
Phần 1 Mở đầu
Sơ lược về bối cảnh mạng máy tính hiện nay, mức độ an toàn dữ liệu.Phương hướng, phạm vi nghiên cứu và giải pháp tiếp cận, từ đó đặt ra nhiệm
vụ của đồ án
Phần 2 Nội dung chính, bao gồm có 4 chương
Chương 1: Tổng quan giấu tin và cơ sở toán học
Giới thiệu tổng quan về giấu tin, một số khái niệm cơ bản Phân loại vàtrình bày một số kỹ thuật giấu tin cơ bản, các yêu cầu đối với bài toán giấu tin
và một số ứng dụng của giấu tin Đồng thời trình bày các khái niệm cơ bản lýthuyết đồng dư modulo và lý thuyết module làm cơ sở để trình bày các thuậttoán giấu tin
Chương 2: Giấu tin trong ảnh nhị phân
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh nhị phân địnhdạng ảnh Bitmap
Chương 3: Giấu tin trong ảnh màu, ảnh xám
Trình bày một số phương pháp, kĩ thuật giấu tin trên ảnh màu, ảnh xámđịnh dạng ảnh Bitmap
Trang 8Chương 4: Xây dựng chương trình ứng dụng
Đề cập đến một số vấn đề bảo mật an toàn thông tin, thiết kế và xâydựng giải pháp ứng dụng giấu tin vào trong ứng dụng mã hóa và xác thựcngười sử dụng
Phần 3 Kết luận
Phần 4 Tài liệu tham khảo
Trang 9LỜI CẢM ƠN
Em xin chân thành gửi lời cảm ơn tới thầy Phan Trung Huy, thầy đã tậntình hướng dẫn, chỉ bảo, giúp đỡ em có thể hoàn thành được đồ án tốt nghiệpcủa mình Em cũng xin được gửi lời cảm ơn tới các thầy cô trong Viện toánứng dụng và tin học đã giảng dạy, cung cấp cho em những kiến thức và các
kỹ năng để có thể vận dụng trong quá trình nghiên cứu Và cuối cùng em xingửi lời cảm ơn tới gia đình và bạn bè, những người đã luôn ở bên cạnh, chia
sẻ và động viên em trong suốt thời gian thực hiện và hoàn thành đồ án
Hà Nội, ngày 28 tháng 05 năm 2012
Sinh viên thực hiện
Nhữ Bảo Vũ
Trang 10CHƯƠNG 1 TỔNG QUAN GIẤU TIN VÀ CƠ SỞ TOÁN HỌC
1.1 Bài toán giấu tin và vai trò
1.1.1 Bài toán giấu tin
Giấu tin là một kỹ thuật nhúng thông tin vào trong một nguồn đaphương tiện gọi là đối tượng chứa như: tập tin ảnh, tập tin âm thanh, tập tinvăn bản… mà không gây ra sự nhận biết về sự tồn tại của thông tin đã đượcgiấu
Phương pháp giấu tin được tiến hành theo nhiều cách khác nhau tùytheo từng phương pháp và mục đích Bài toán giấu tin thông thường gồm haiquá trình:
Nhúng tin (mã hóa)
Trích rút tin (giải mã)
Ví dụ 1: Thông điệp cần gửi được mã hóa và nhúng các bit thông tincủa vào trong ảnh
Trang 11Hình 1 Ảnh đã được nhúng thông tin mật
Ví dụ 2: Thông điệp cần gửi được chứa trong một đoạn văn bản, ở đâyđối tượng chứa là một đoạn văn bản có nội dung sau:
“Apparently neutral’s protect is thoroughly discounted and ignored Isman hard hit Blockade issue affects for pretext embargo on by-products, ejecting suets and vegetable oils”
Có thể thấy được nội dung truyền tải là bức điện mật được sử dụng
trong chiến tranh thế giới lần thứ 2: “Pershing sails for YN June 1”
Bài toán giấu tin gồm 4 đối tượng chính là:
- Thông tin mật: Là thông tin nhúng vào đối tượng chứa và là thôngtin cần được bảo vệ
- Đối tượng chứa: Đối tượng được sử dụng chứa thông điệp mật
- Đối tượng đã nhúng: Là đối tượng chứa sau khi nhúng thông tinmật Ví dụ nếu đối tượng chứa là ảnh thì đối tượng đã nhúng là
Trang 12- Khóa mật: Là khóa tham gia vào quá trình nhúng, tùy theo từngphương pháp mà khóa này có tham gia hay không.
Các yêu cầu trong bài toán giấu tin:
- Tính bền vững: Thể hiện khả năng ít bị thay đổi trước những tấncông từ bên ngoài như thay đổi định dạng, nội dung Hiện nay chưa
có phương pháp nào đảm bảo biện pháp này một cách tuyệt đối Vớitừng ứng dụng cụ thể thì yêu cầu này cũng thể hiện khác nhau
- Khả năng không bị phát hiện: thể hiện ở việc khó xác định được đốitượng có chứa thông tin mật hay không Hầu hết các phương phápgiấu tin dựa trên đặc điểm của hai hệ tri giác người: thị giác và thínhgiác Khả năng này còn gọi là khả năng giả dạng
- Khả năng lưu trữ: Khả năng này thể hiện ở lượng thông tin củathông điệp mật có thể nhúng trong đối tượng chứa Do tính bảo mậtnên khả năng lưu trữ luôn bị hạn chế Do đó trong trường hợp muốn
ẩn một thông tin có kích thước tương đối lớn ta thường chia nhỏ ranhiều thành phần và thực hiện nhúng từng phần
Trang 13Lưu trữ
Bảo mật Bản quyền
Khả năng Lưu trữ
Khả năng không bị phát hiện Tính bền vững
1.1.2 Phân loại các kỹ thuật giấu tin
Kỹ thuật giấu tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin
ở hai khía cạnh Một là bảo mật cho giữ liệu được đem giấu (embedded data),chẳng hạn như giấu tin mật: thông tin mật được giấu kỹ trong một đối tượngkhác sao cho người khác không phát hiện được (steganography), hai là bảomật cho chính đối tượng được dùng để giấu tin (host data), chẳng hạn nhưứng dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin (watermarking)
Hai khía cạnh khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủyếu của giấu tin Khuynh hướng thứ nhất là giấu tin mật (Steganography).Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấuđược càng nhiều càng tốt và quan trọng là người khác khó phát hiện được mộtđối tượng có bị giấu tin bên trong hay không Khuynh hướng thứ hai là thuỷvân số (watermarking) Khuynh hướng thuỷ vân số đánh giấu vào đối tượngnhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin Thuỷ
Hình 2 Các yêu cầu trong bài toán giấu tin
Trang 14Hình 3 Phân loại các kỹ thuật giấu tin
Phạm vi ứng dụng của thủy vân đa dạng hơn, tùy theo mục đích của hệthủy vân mà người ta lại chia thành các hướng nhỏ như thủy vân dễ vỡ vàthủy vân bền vững
Trang 15Phương tiện đã chứa tin
Bộ nhúng thông tin
Phân phối Khóa
Thông tin cần giấu
Phương tiện chứa tin (ảnh, audio, video, )
1.1.3 Mô hình giấu tin cơ bản
Hình 4 Lược đồ quá trình giấu tin mật
Hình 4 biểu diễn mô hình giấu tin cơ bản Trong đó, phương tiện chứatin có thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theomục đích của người sử dụng Thông tin được giấu vào trong phương tiện chứatin nhờ một bộ nhúng Bộ nhúng là những chương trình thực hiện theo nhữngthuật toán để giấu tin và được thực hiện với một khóa bí mật giống như trongmột số hệ mật mã Đầu ra của quá trình nhúng tin là phương tiện chứa đãđược giấu tin Các phương tiện chứa này có thể được phân phối trên mạng
Trang 16Phương tiện đã chứa tin Bộ giải mã tin
Phân phối
Khóa
Thông tin giấu
Phương tiện đã chứa tin (ảnh, audio, video, )
Kiểm định
Hình 5 Lược đồ quá trình giải mã tin mật
Hình 5 mô tả quá trình giải mã thông tin đã được giấu trước đó Đầu
vào là phương tin có chứa tin giấu, qua một bộ giải mã tin (tương ứng với bộ
nhúng tin) cùng với khóa sẽ được thực hiện việc giải mã thông tin Đầu ra của
quá trình là phương tiện chứa tin và thông tin mật đã giấu trước đó Trong
trường hợp cần thiết, thông tin lấy ra có thể được xử lý, kiểm định và so sánh
với thông tin đã giấu ban đầu
1.1.4 Các ứng dụng của kỹ thuật giấu tin
Bảo vệ bản quyền tác giả: Đây là ứng dụng cơ bản nhất của kỹ thuật
thủy vân số Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả gọi là
thủy vân sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ một mình
chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh chứng cho
bản quyền sản phẩm Giả sử có một sản phẩm dữ liệu dạng đa phương tiện
như ảnh, âm thanh, video và cần được lưu thông trên mạng Để bảo vệ các sản
phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để
“dán tem bản quyền” vào sản phẩm này Việc dán tem hay chính là việc
Trang 17nhúng thủy vân cần phải đảm bảo không để lại một ảnh hưởng đáng kể nàođến việc cảm nhận sản phẩm Yêu cầu kỹ thuật đối với ứng dụng này là thủyvân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thủy vân này màkhông được phép của người chủ sở hữu thì chỉ có cách là phá hủy sảnphẩm[5]
Xác thực thông tin hay phát hiện giả mạo: Một tập các thông tin sẽ
được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữliệu trên phương tiện gốc đó có bị thay đổi không Các thủy vân nên được ẩn
để tránh sự tò mò của kẻ thù, hơn nữa việc làm giả các thủy vân hợp lệ hayxuyên tạc thông tin nguồn cũng cần được xem xét Trong các ứng dụng thực
tế người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt đượccác thay đổi Yêu cầu chung đối với ứng dụng này là khả năng giấu tin cao vàthủy vân không cần bền vững[5]
Giấu vân tay hay dán nhãn: Thủy vân trong những ứng dụng này được
sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó Ví
dụ các vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tingốc trước khi chuyển cho nhiều người[11] Với ứng dụng này thì yêu cầu làđảm bảo độ an toàn cao cho các thủy vân tránh sự xóa dấu vết trong khi phânphối
Kiểm soát sao chép: Các thủy vân trong trường hợp này được sử dụng
để kiểm soát sao chép đối với các thông tin Các thiết bị phát ra thủy vânthường được gắn sẵn vào trong các hệ thống đọc/ghi Ví dụ như hệ thốngquản lý sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũngyêu cầu thủy vân phải được đảm bảo an toàn và cũng sử dụng phương phápphát hiện thủy vân đã giấu mà không cần thông tin gốc
Trang 18Giấu tin mật: Các thông tin giấu được trong trường hợp này càng nhiều
càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiệnchứa ban đầu Các yêu cầu mạnh về chống tấn công của kẻ thù không cầnthiết lắm thay vào đó là thông tin giấu phải đảm bảo tính không thể phát hiện
1.2 Giấu tin trong ảnh và các đặc trưng
1.2.1 Giấu tin trong ảnh
Giấu tin trong ảnh, hiện nay, là một bộ phận chiếm tỷ lệ lớn nhất trongcác chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đaphương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn Hơn nữa,giấu tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứngdụng bảo vệ an toàn thông tin như: xác thực thông tin, xác định xuyên tạcthông tin, bảo vệ bản quyền tác giả, điều khiển truy nhập, giấu tin mật … Vìthế mà vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức,trường đại học, và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ítthay đổi và ít ai biết được bên trong bức ảnh đó mang những thông tin có ýnghĩa khác Và ngày nay, khi ảnh số đã được sử dụng phổ biến, thì giấu tin đãđem lại rất nhiều những ứng dụng quan trọng trong trên nhiều lĩnh vực trongđời sống xã hội Ví dụ như đối với các nước phát triển, chữ ký tay đã được sốhóa và lưu trữ sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tàichính, nó được dùng để xác nhận các thẻ tín dụng của người tiêu dùng Thêmvào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật, chúng rất
dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Phát hiện thôngtin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết Một đặc điểm củagiấu tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó
Trang 19được bởi sau khi giấu tin thì chất lượng ảnh gần như không thay đổi, đặc biệtđối với ảnh màu hay ảnh đa mức xám.
1.2.2 Các đặc trưng cơ bản
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vìvậy mà các kỹ thuật giấu tin phần lớn cũng tập trung vào các kỹ thuật giấu tintrong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấukhác nhau Đối tượng ảnh là một đối tượng dữ liệu tĩnh có nghĩa là dữ liệu trigiác không biến đổi theo thời gian Dữ liệu ảnh có nhiều định dạng, mỗi địnhdạng có những tính chất khác nhau nên các kỹ thuật giấu tin trong ảnh thườngchú ý tới các đặc trưng cơ bản sau đây:
- Phương tiện có chứa dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu tĩnh, dù đã giấu tin vào trong ảnh hay chưathì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian,điều này khác với dữ liệu âm thanh và dữ liệu băng hình vì khi ta nghe hayxem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo cácđoạn, các bài hay các ảnh…
- Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn đốivới ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng chotừng loại ảnh có những đặc trưng khác nhau
- Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnhgốc Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các
kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh
Trang 20như thế thì mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều các kỹthuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn nhưmắt người cảm nhận về sự biến đổi về độ chói kém hơn sự biến đổi về màuhay cảm nhận của mắt về màu xanh da trời kém nhất trong ba màu cơ bản
- Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh
Các thuật toán thực hiện công việc giấu tin sẽ được thực hiện trên dữliệu của ảnh Dữ liệu ảnh bao gồm phần header, bảng màu (có thể có) và dữliệu ảnh Do vậy mà kích thước ảnh trước và sau khi giấu tin là như nhau
- Đảm bảo chất lượng sau khi giấu tin
Đây là một yêu cầu quan trọng đối với giấu tin trong ảnh Sau khi giấutin bên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi để có thể bịphát hiện dễ dàng so với ảnh gốc Yêu cầu này dường như khá đơn giản đốivới ảnh màu hoặc ảnh xám bởi mỗi điểm ảnh được biểu diễn bởi nhiều bit,nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh thayđổi không đáng kể, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đentrắng mỗi điểm ảnh chỉ là đen hoặc trắng, và nếu ta biến đổi một bit từ trắngthành đen và ngược lại mà không khéo thì sẽ rất dễ bị phát hiện Do đó, yêucầu đối với các thuật toán giấu tin trong ảnh màu hay ảnh xám và giấu tintrong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuậttoán chú trọng vào việc làm sao giấu được càng nhiều thông tin càng tốt thìcác thuật toán áp dụng cho ảnh đen trắng lại tập trung vào việc làm thế nào đểthông tin giấu khó bị phát hiện nhất [7], [8], [9]
- Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Trang 21Vì phương pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trịcủa các bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó đểtìm được thông tin giấu Theo đó, nếu một phép biến đổi nào đó trên ảnh làmthay đổi giá trị của các bit thì sẽ làm cho thông tin giấu bị sai lệch Nhờ đặcđiểm này mà giấu tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạcthông tin[5].
- Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấythông tin giấu cần đến ảnh gốc hay không cần Đa số các kỹ thuật giấu tin mậtthì thường không cần ảnh gốc để giải mã Thông tin được giấu trong ảnh sẽđược mang cùng với dữ liệu ảnh, khi giải mã chỉ cần ảnh đã mang thông tingiấu mà không cần dùng đến ảnh gốc để so sánh đối chiếu
Trang 22Định nghĩa Hai số nguyên a, b được gọi là đồng dư với nhau theo modulo m
với m nguyên dương nếu a b chia hết cho m Ký hiệu a b (mod )m
Chú ý:
1.3.1.2 Một số tính chất cơ bản
- Tính phản xạ: Với mọi số nguyên a, ta có: a a (mod )m
- Tính đối xứng: Nếu a b (mod )m thì b a (mod )m
- Tính bắc cầu: Nếu a b (mod )m và b c (mod )m thì a c (mod )m
- Các tính chất mở rộng:
a)
(mod )
(mod )(mod )
Trang 23Ý nghĩa: Để tìm số dư trong phép chia a cho b (b N , thông thường a là*)
một lũy thừa với số mũ vô cùng lớn hay a chứa các lũy thừa như thế Ta có
thể làm theo các cách như sau:
Xem xét: a hoặc thành phần của a đồng dư với s theo modulo b.
Nếu 0 s b thì s là số dư trong phép chia a cho b Ngược lại, xét tiếp tính đồng dư của s theo modulo b, rồi lặp lại theo bước vừa rồi.
Trang 241.3.2 Lý thuyết module
1.3.2.1 Các định nghĩa
Định nghĩa 1 Cho R là một vành [1] M là một nhóm cộng Abel Trang bị
cho M phép nhân ngoài với các phần tử của
:( , )
Khi đó M được gọi là R -module hay module trên vành R
Ví dụ:
(1) Mỗi ideal của vành R là một R module.
(2) Mỗi vành cũng là một module trên chính nó
(3) K là một trường, các K module chính là các không gian vectơ trên
chính nó
(4) Mỗi nhóm Abel cộng M được coi là một Z module với phép nhân
ngoài được xác định như sau: Với mỗi x M và n Z thì
Định nghĩa 2 Mỗi tập con không rỗng N của một R module M được gọi
là một R module con của M nếu bản thân N cũng là một R module với
Trang 25hai phép cộng và nhân trong M thu hẹp vào N Khi đó M được gọi là
module mở rộng của N
Ví dụ:
(1) Với M là R module {0} và M là hai R module con tầm thường của M
(2) Mọi nhóm con của một nhóm Abel M là Z module con của M
(3) M là R module Khi đó với x M ; Tập hợp Rx{ |rx r R } là một
R module con của M (module con xyclic sinh bởi x ).
(4) R là vành Vành đa thức [ , ] R x y là một R module Khi đó [ ] R x là
một R module con của [ , ] R x y
Định nghĩa 3 Cho M là R module và N là một module con của M
Khi đó N là một nhóm con của nhóm Abel ( , ) M nên ta có nhóm thương:
M N x x N x Mcùng với hai phép toán:
Với r R x x x M ; , ,1 2 Khi đó M N cũng là một R module và gọi là /
module thương của module M theo module N
Trang 26Định nghĩa 4 Cho M là một R module Cái triệt của M được kí hiệu là
Định nghĩa 5 Cho M N là các R module Một ánh xạ :, f M N được
gọi là một đồng cấu R module hay ánh xạ tuyến tính nếu nó thỏa mãn hai
(i) f là đơn ánh, toàn ánh, song ánh thì tương ứng đồng cấu là: Đơn
cấu, toàn cấu, đẳng cấu
(ii) Nếu f M ( ) {0 }N thì f được gọi là đồng cấu không kí hiệu là 0.
(iii) Kerf {x M f x | ( ) 0} f 1(0) : Hạt nhân hay hạch của f
Im f f M( ) { y N | x M y: f x( )} được gọi là ảnh của f
Nếu M N thì f là tự đồng cấu của M Nếu f là đẳng cấu, khi
đó M và N là R module đẳng cấu viết là M N
Trang 27Định nghĩa 6 Cho M và N là các R module Kí hiệu Hom M N R( , ) là tập
gồm tất cả các R đồng cấu từ M vào N Với f g Hom M N, R( , ) và,
a b R
ta có:
(af bg x)( )af x( )bg x( ) x M Khi đó:
(af bg cx dy)( )c af[ bg x]( )d af[ bg y]( )x y M, ;c d R,
Do đó af bg Hom M N R( , )
Tập Hom M N R( , ) với các phép toán xác định như trên trở thành một R
module và gọi là module các đồng cấu từ M đến N
Định lí 1 (Định lí đồng cấu module) Cho : f M N là một đồng cấu các
R module và : p M M Kerf/ là một toàn cấu chính tắc Khi đó tồn tại
duy nhất một đơn cấu
Trang 28Tức là f p f
Hệ quả 1: Cho : f M N là một đồng cấu các R module Khi đó ta có
M Kerf f Và nếu f là toàn cấu thì M Kerf/ N
Hệ quả 2: Cho P là module con của ; N N là module con của M Khi đó ta có:
/ ( / ) / ( / )
Hệ quả 3: Cho M và N là hai module con của cùng một module thì ta có:
(M N) / N M / (M N)
1.3.2.3 Tích trực tiếp, tổng trực tiếp các module
Định nghĩa 7 Cho I là một tập khác rỗng Giả sử (M ) I là một họ các
R module chỉ số hóa bởi I Khi đó ta xây dựng hai khái niệm:
là tích Descartes của (M ) I Ta xây dựng
phép cộng trong M và phép nhân ngoài các phần tử của R với phần
Trang 29R module M xây dựng như trên được gọi là tích trực tiếp của họ
bởi N (1)
Trang 30Định nghĩa 8 (Tổng trực tiếp trong) Cho {N } I là một họ tùy ý các
module con của R module M Khi đó nếu
N là tổng trực tiếp trong của họ {N } I khi và chỉ khi mỗi phần tử x của nó
có thể biểu diễn một cách duy nhất dưới dạng sau:
1 2 ; ; ; 1
n i i i
x x x x x N I i n
Trang 32CHƯƠNG 2 GIẤU TIN TRÊN ẢNH NHỊ PHÂN
2.1 Giới thiệu về giấu tin trong ảnh nhị phân
Đối tượng làm môi trường chứa tin của các thuật toán này là ảnh nhịphân đen trắng dạng bitmap Ảnh nhị phân đen trắng bao gồm các điểm ảnhchỉ có màu trắng hoặc đen (tương ứng với bit 0 hoặc bit 1) Để giấu dữ liệu, ta
sẽ tách ma trận điểm ảnh thành các ma trận bit F kích thước m n rời nhau,
và giấu tin trên mỗi ma trận đó Bởi vậy các thuật toán chỉ cần quan tâm tới
phương pháp giấu dữ liệu trên các ma trận F.
Một số thuật toán giấu tin trên ảnh nhị phân nổi tiếng hiện nay như:Wu-Lee[7], CPT[8], CPTE[10] Các thuật toán này đều dựa trên thao tác biếnđổi ma trận bit
2.2 Giấu tin theo khối bit đơn giản
Ý tưởng cơ bản của kỹ thuật này là chia ảnh gốc thành các khối nhỏ vàtrong mỗi khối nhỏ sẽ giấu một bit thông tin
Quá trình giấu tin: Với mỗi ma trận bit F kích thước m n và bit mật b đang cần giấu, tiến hành biến đổi F thành F’ để giấu bit b sao cho:
SUM(F’) mod 2 = b Như vậy, mỗi lần giấu một bit, có thể xảy ra hai trường hợp: SUM(F) mod 2 = b, khi đó ta giữ nguyên khối ảnh F Trường hợp ngược lại chọn ngẫu nhiên một bit trong khối F và tiến hành đảo giá trị của bit này để được khối ảnh mới F’.
Trang 33Quá trình tách tin: Khi nhận được ảnh giấu tin, việc giải mã tin sẽ đượcthực hiện theo các bước sau:
- Chia ảnh thành các khối có kích thước giống với kích thước khối đã
sử dụng khi thực hiện giấu, đây là khóa để giải mã
- Với mỗi khối ảnh đã giấu tin F’ được chọn theo thứ tự như quá
trình giấu tin, thực hiện tách lấy bit thông tin đã giấu theo côngthức:
( ')mod 2
- Như vậy, sau khi xét hết các khối bit đã giấu, ta thu được một chuỗibit, chuỗi này là thông tin các bit mật đã giấu trước trước đó
Lược đồ giấu tin theo khối bit đơn giản giấu được 1 bit thông tin vào
trong một khối ma trận bit F kích thước m n mà chỉ thay đổi tối đa 1 bit
2.3 Thuật toán giấu tin Wu-Lee
Kỹ thuật giấu tin theo khối bit đơn giản thể hiện độ an toàn không caovới việc sử dụng duy nhất kích thước khối là khóa cho quá trình giấu tin, ảnhchứa thông tin giấu cũng bị dễ phát hiện do kỹ thuật có thể sẽ đảo bit trongcác khối ảnh toàn màu đen hoặc toàn màu trắng dẫn tới sự bất thường ở vị tríbit đảo so với các điểm lân cận trong khối
Kỹ thuật giấu tin trên ảnh nhị phân do M.Y.Wu và J.H.Lee vẫn trên tưtưởng giấu một bit thông tin vào một khối ảnh gốc nhưng khắc phục đượcphần nào những tồn tại nêu trên bằng cách được thêm khóa K cho việc giấutin và đưa thêm các điều kiện để đảo bit trong mỗi khối, theo điều kiện đó cáckhối ảnh gốc toàn màu đen hoặc toàn màu trắng sẽ không được sử dụng để
Trang 34Thuật toán giấu tin biến đổi khối ảnh F thành F’ để giấu 1 bit b được
thực hiện sao cho:
Công thức (2) cũng được sử dụng cho quá trình tách lấy tin đã giấu
Thuật toán giấu tin Wu-Lee giấu được 1 bit thông tin vào một khối m n bit
và chỉ phải thay đổi tối đa 1 bit trong F, tham khảo[7].
2.4 Thuật toán giấu tin Chen-Pan-Tseng
Trên cơ sở thuật toán của Wu-Lee như đã trình bày trong mục 3.3, cáctác giả Yu Yan Chen, Hsiang Kuang Pan và Yu Chee Tseng đã phát triển một
kỹ thuật giấu tin mới, thuật toán giấu tin CPT[8] Kỹ thuật này sử dụng một
ma trận khóa K và một ma trận trọng số W trong quá trình giấu tin và táchthông tin
Quá trình biến đổi khối ảnh F thành F’ kích thước m n để giấu r bit
thông tin b b b b 1 2 r được thực hiện sao cho:
Trang 35+) b là dãy r bit cần giấu vào ma trận F m n : b b b b 1 2 r
Ở đây, ta sử dụng b theo hai nghĩa: dãy bit và số tự nhiên dạng nhị phân
phải xuất hiện trong W ít nhất 1 lần
Các ma trận khóa K và ma trận trọng số W kích thước m n được sử
dụng như các thành phần khóa bí mật: người sử dụng K, W trong quá trình giấu và người nhận cần phải có K, W để khôi phục lại tin đã giấu.
Trang 36Ta xem b b b b 1 2 r là giá trị dữ liệu cần giấu dưới dạng cơ số 2 Suy ra
0 b 2r 1 Mục đích của thuật toán này là thay đổi nhiều nhất hai vị trí
trong F để dược ma trận F’ mà S’ tương ứng tính được theo công thức (4)
Ta cần tìm các ô Fij sao cho S tăng đúng một lượng khi ta đảo giá trị
bit ở ô Fij Khi đó ta được:
Bước 5:
Xảy ra một trong ba trường hợp sau:
Nếu S b (hay ) thì dĩ nhiên ta không cần thay đổi ma trận F.0
Nếu và 0 S ta chỉ cần đảo một ô bất kì Fij thuộc S
Thuậttoán dừng Nếu và 0 S ta chuyển bước 6
Bước 6:
Trang 37Ta tìm số nguyên h và nhỏ nhất sao cho 1 S h và Sh Sự
tồn tại của h được chứng minh trong [10] Khi đó ta đảo một ô bất kì thuộc
ij
F thuộc S h
và một ô bất kì Fij thuộc S h
2.5 Thuật toán giấu tin CPTE
Ý tưởng: CPTE là một phương pháp được cải biên từ phương phápCPT do nhóm nghiên cứu của PGS.TS Phan Trung Huy đề xuất Tư tưởng
của phương pháp CPTE là giấu các bít thông tin trên một ma trận nhị phân F
cỡN m x n Phương pháp giấu được r' log 2 N 1 bit thông tin
b b b b
Đặt điều kiện với W :{W ,1ij i m,1 j n} {1, 2, , 2 } r nói cách khác, cácgiá trị của tập {1, 2, , 2 }r phải xuất hiện trong W ít nhất 1 lần
Trang 38+) Ma trận nhị phân F' ( Fij ')mxn chứa dãy bít mật b, mà từ đó ta có thểtính lại giá trị b.
Nội dung thuật toán:
Thuật toán sẽ thực hiện việc giấu tin bằng cách biến đổi mỗi khối bít Fi
thành F’i sao cho luôn thoả mãn điều kiện sau :
1
S=SUM(T W) bmod 2r
Tính b Smod 2r1
Giá trị là độ lệch giữa giá trị dữ liệu cần
giấu và dữ liệu tương ứng tính từ F qua T và W
Nếu mod 2r 1
S b S
(hay 0 mod 2r 1
), đây là trường hợp ta không cần phải đảo bit nào trên F và thuật toán dừng Nếu 0 ta chuyển qua bước 4
Bước 4:
Trang 39Mục đích của bước này là tìm tập các vị trí F ij để sao cho sau khi
đảo bit một trong các vị trí này, ta được S’ = b.
Gọi S là tập các ô Fij, để thay đổi giá trị một ô thuộc S thì giá
trị S tăng lên đúng một lượng là mod 2r 1
Nếu 0 và S : Ta chỉ cần đảo bit của một ô F ijS khi đó
S sẽ tăng một lượng và F mới sẽ mang thông tin b, thuật toán kết
Tính đúng đắn của thuật toán được chứng minh trong [10]
Ví dụ minh họa phương pháp CPTE