Theo nhiều nghiên cứu, một trong phương pháp được sử dụng và tỏ ra có hiệu quả cho việc bảo đảm bí mật với những thông điệp cần trao đổi là giấu thông điệp vào những phương tiện chứa khá
Trang 1
Lời nói đầu
Các bạn chắc không ai là không biết về sự kiện 11/9, hai toà cao ốc trung tâm thương mại thế giới của Mĩ đã bị khủng bố khiến biết bao người thiệt mạng, đó là một ngày kinh hoàng đối với nước Mĩ nói riêng và thế giới nói chung Vậy làm sao bọn khủng bố lại có thể “qua mặt” cơ quan tình báo CIA của Mĩ để thực hiện được vụ khủng bố một cách dễ dàng như vậy? Mãi gần đây mới có câu trả lời, đó là vì chúng đã áp dụng công nghệ DataHiding,
ở đây tôi tạm dịch là Công nghệ giấu tin, với công nghệ này chúng có thể truyền tin cho đồng bọn trên các phương tiện đại chúng mà không bị phát hiện Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã hội và trong cuộc sống của chúng ta Những thuận lợi mà thông tin
kỹ thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới Mạng Internet toàn cầu đã biến thành một xã hội ảo nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thương mại…Và chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn
đề an toàn thông tin như nạn xuyên tạc thông tin, truy nhập thông tin trái phép, v.v Đi tìm giải pháp cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp đang phát triển rất nhanh này mà còn đưa ra những cơ hội kinh tế mới cần khám phá
Trải qua một loạt giai đoạn phát triển, DataHiding ngày này càng trở lên tinh vi hơn cùng với sự phát triển của computer Với môi trường mạng
mở, có rất nhiều loại thông tin, trong đó có các thông tin quí giá mà bạn không thể để người khác biết được Hiện nay cuộc chiến với các Hacker vẫn chưa ngã ngũ, và có lẽ sẽ chẳng bao giờ ngã ngũ thì việc dùng các phương pháp mã hóa sẽ khiến cho những tên Hacker sẽ để ý đến thông tin của bạn, và tất nhiên chúng sẽ tìm mọi cách để crack, vì vậy sẽ chẳng có gì là đảm bảo
Trang 2
thông tin của bạn sẽ được an toàn Với công nghệ DataHiding bạn có thể dấu một bài thơ tình vào một bức ảnh như bác anaconda mà không làm thay đổi bức ảnh (đối với cảm nhận của con người), như vậy chúng ta đã đánh lạc hướng được những tên Hacker, thêm vào đó việc thực hiện crack trên mutimedia sẽ khó khăn hơn nhiều so với crack với các văn bản text Hiện nay công nghệ DataHiding đã và đang phát triển ở mức độ cao hơn, đó là vấn đề bảo vệ bản quyền, công nghệ sử dụng trong lĩnh vực này là watermarking digital (thủy vân kĩ thuật số) trong đề tài này em sẽ trình bày về công nghệ DataHiding và một số ứng dụng sử dụng công nghệ này
Trang 3
Chương 1: Mở đầu 1.1 Lý do chọn đề tài
Ngày nay, trong sự phát triển rộng rãi của công nghệ thông tin nói chung, mạng máy tính nói riêng, nhu cầu trao đổi thông tin ngày càng lớn Tuy nhiên, lượng thông tin truyền thông càng nhiều sẽ đi kèm với nguy cơ tăng truy nhập trái phép đến dữ liệu trong quá trình phân phối là rất cần thiết
Vấn đề an toàn cho thông tin trong quá trình trao đổi và phân phối được xem xét theo hai khía cạnh: bảo vệ cho nhũng thông tin bí mật và bảo vệ những thông tin rõ như văn bản, bức ảnh, đoạn phim…
Đảm bảo bí mật cho một thông điệp truyền đi người ta thường tiến hành mã hóa thông điệp bằng một quy tắc nào đó đã được thỏa thuận trước giữa người gửi và người nhận Theo hướng này, các kỹ thuật mã hóa dữ liệu
sử dụng hệ mã hóa công khai đã được hình thành và phát triển mạnh từ những năm 70 của thế kỉ XX Ngày nay, kĩ thuật này vẫn tiếp tục được nghiên cứu
và phát triển Tuy nhiên, phương thức này thể hiện rõ thông diệp đã được mã hóa trong quá trình trao đổi nên thường gây sự chú ý của những người lạ về tầm quan trọng của nó
Theo nhiều nghiên cứu, một trong phương pháp được sử dụng và tỏ ra
có hiệu quả cho việc bảo đảm bí mật với những thông điệp cần trao đổi là giấu thông điệp vào những phương tiện chứa khác nhau có thể kết hợp với các phương pháp mã hóa truyền thống, rồi truyền các phương tiện chứa bao gồm
cả thông điệp Phía người nhận thực hiện quá trình tách và giải mã để lấy lại thông điệp bí mật Phương tiện chứa được dùng phổ biến là các bức ảnh Vấn
đề đặt ra khi giấu thông điệp vào các bức ảnh là làm thế nào để các bức ảnh sau khi chứa thông điệp giấu không có những điểm bất thường gây sự chú ý của những người ngoài cuộc Nghiên cứu, đề xuất các kỹ thuật giấu thông tin mật trong ảnh sao cho vẫn giữ được chất lượng ảnh sau khi đã giấu thông tin
Trang 4kỹ thuật đảm bảo khác nhau Trong đó, thủy vân ẩn trên ảnh nhằm mục đích bảo vệ quyền tác giả bức ảnh được quan tâm nghiên cứu và phát triển Kỹ thuật thủy vân ẩn nhằm bảo vệ quyền sở hữu ảnh cho phép nhúng một lượng thông tin số vào trong ảnh, đảm bảo thông tin về ảnh không thay đổi đáng kể
về chất lượng, đồng thời thông tin nhúng tồn tại bền vững cùng ảnh Với kỹ thuật này, khó có thể phát hiện trong bức ảnh có thông tin nhúng, khi không biết các thông tin về khóa
Với mục đích phát triển các kỹ thuật giấu thông tin nhằm bảo vệ các thông tin mật trong quá trình trao đổi và bảo vệ quyền tác giả các bức ảnh trong quá trình phân phối, tôi chọn thực hiện đề tài luận văn: “Nghiên cứu một số kỹ thuật giấu tin và ứng dụng” Kết quả của đề tài khi triển khai thực
tế sẽ góp phần tăng thêm độ an toàn cho các thông điệp được giấu trong ảnh khi trao đổi, tăng khả năng chứng minh quyền sở hữu với các bức ảnh khi đã nhúng thủy vân
1.2 Mục tiêu nghiên cứu của đề tài
Các kỹ thuật giấu thông tin mật trong ảnh yêu cầu về tính ẩn của thông điệp bí mật không có những thay đổi lớn mà mắt thường có thể phát hiện Hơn nữa, kỹ thuật cần đảm bảo: cho dù phát hiện ra trong bức ảnh có chứa thông điệp bí mật, việc đọc được nội dung thông điệp đó cũng rất khó khăn, phức tạp nếu không có những thông tin khóa phục vụ cho việc tách tin Với
Trang 5
mục đích kết hợp các kỹ thuật bảo mật thông tin, mục tiêu thứ nhất của đề tài luận văn là nghiên cứu và đề xuất một kỹ thuật giấu thông tin mật trong ảnh sao cho thông tin giấu trong ảnh ít bị phát hiện nhất
Theo tiếp cận giấu tin bằng thủy vân ảnh số đang được nghiên cứu, người ta quan tâm đến bảo vệ bản quyền tác giả của ảnh Mục tiêu thứ hai của
đề tài luận văn là nghiên cứu và đề xuất một số kỹ thuật thủy vân ẩn trong ảnh tĩnh Yêu cầu kỹ thuật thủy vân giữ chất lượng ảnh sau khi nhúng thủy vân, giữ tính bền vững của thủy vân trước những tấn công thông thường trên ảnh,
để phát hiện nhằm gỡ bỏ thủy vân trái phép là khó khăn
Luận văn cũng nghiên cứu, đánh giá và so sánh một số kỹ thuật giấu tin mật trong ảnh, nhằm đề xuất các hướng ứng dụng những kỹ thuật theo từng mục đích khác nhau cho hệ thống giấu thông tin
1.3 Đối tượng và phạm vi nghiên cứu của đề tài
* Đối tượng nghiên cứu: Các kỹ thuật giấu tin
* Phạm vi nghiên cứu:
- Nghiên cứu một số kỹ thuật giấu tin mật trong ảnh áp dụng cho các loại ảnh khác nhau;
- Nghiên cứu tính ẩn của thông điệp giấu;
1.4 Ý nghĩa khoa học và thực tiễn của đề tài
Luận văn đề xuất được một kỹ thuật giấu thông tin mật trong ảnh cho
ảnh sau khi xuất có chất lượng tốt, đồng thời có thời có lượng tin giấu cao
Cùng với kỹ thuật giấu tin mật mới được đề xuất, một mô hình thử nghiệm kết quả cho thấy kỹ thuật đề xuất đạt được những yêu cầu cơ bản của một hệ thống giấu tin mật trong ảnh Gần như không phát hiện được sự khác biệt giữa ảnh sau khi giấu tin với ảnh gốc, đồng thời có thể giấu lượng lớn
thông tin vào ảnh, đặc biệt đối với ảnh đa mức xám
Trang 6
Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã hội và trong cuộc sống của chúng ta Những thuận lợi mà thông tin kỹ thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới Sự ra đời những phần mềm có tính năng rất mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm
kỹ thuật số…vv, đã với tới thế giới tiêu dùng rộng lớn để sáng tạo, xử lý và thưởng thức các dữ liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu đã biến thành một xã hội ảo nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thương mại…và chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn đề an toàn thông tin như nạn
ăn cắp bản quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép v.v
Đi tìm giải pháp cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp đang phát triển rất nhanh này mà còn đưa ra những cơ hội kinh
tế mới cần khám phá
DataHiding là phương pháp đã và đang được nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nước trên thế giới đó là phương pháp nhúng tin trong các phương tiện khác Đây là phương pháp mới và phức tạp nó đang được xem như một công nghệ chìa khoá cho vấn đề bảo vệ bản quyền, nhận thức thông tin và điều khiển truy cập ứng dụng trong an toàn và bảo mật thông tin
Giấu thông tin (Steganography) là một kỹ thuật nhúng thông tin vào trong một nguồn đa phương tiện gọi là các phương tiện chứa mà không gây ra
sự nhận biết về sự tồn tại của thông tin giấu
Từ Steganography bắt nguồn từ Hi Lạp và được sử dụng cho tới ngày nay, nó có nghĩa là tài liệu được phủ (covered writing) Các câu chuyện kể về
kỹ thuật giấu thông tin được truyền qua nhiều thế hệ, ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về trước nhưng kỹ thuật này được dùng
Trang 7
chủ yếu trong quân đội và trong các cơ quan tình báo Mãi cho tới vài thập niên gần đây, giấu thông tin mới nhận được sự quan tâm của các nhà nghiên cứu và viện công nghệ thông tin với rất nhiều các công trình nghiên cứu Cuộc cách mạng số hoá thông tin và sự phát triển nhanh chóng của mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này Những phiên bản sao ché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ông phân phối trên mạng của các dữ liệu đa phương tiện đã sinh ra rất nhiều những 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, xuyên tạc trái phép
Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu thông 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 đối với phương pháp giấu thông tin thì người ta sẽ khó biết được là
có thông tin giấu bên trong do tính chất ẩn (invisible) của thông tin được giấu 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ộc chạ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úc tuyệt đối về bên nào Trong hoàn cảnh đó thì giấu thông tin trở thành một phương pháp hữu hiệu để che giấu thông tin mà các hacker không thể phát hiện ra
Giấu tin trong ảnh có hai khía cạnh: Một là bảo mật cho dữ liệu đem giấu (embedded data), thông tin mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát hiện được Hai là bảo mật chính đối tượng được dùng để giấu dữ liệu vào (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) Đây là ứng dụng
cơ bản nhất của kỹ thuật giấu tin trong ảnh Một thông tin nào đó sẽ được nhúng vào trong một ảnh, giả sử hình ảnh cần được lưu thông trên mạng Để bảo vệ các sản phẩm chống lại 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
Trang 8
là việc nhúng thuỷ vân cần phải đảm bảo không để lại một ảnh hưởng lớn 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à thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà không được phép của người chủ sở hữu thì chỉ còn cách là phá huỷ sản phẩm
Trang 9số, hướng thủy vân số có miền ứng dụng nhiều hơn nên được quan tâm nhiều hơn và thực tế có rất nhiều những kỹ thuật được đề xuất
Một số thuật ngữ cơ bản:
- Giấu tin (Datahiding): là thuật ngữ chỉ kỹ thuật giấu tin nói chung
bao gồm cả giấu tin mật và thủy vân số
- Giấu tin mật (Steganography): chỉ những kỹ thuật dấu tin mật
trong một đối tượng
- Thủy vân số (Watermarking): chỉ những kỹ thuật giấu tin dùng để
bảo vệ đối tượng chứa thông tin dấu
- Phương tiện chứa (host signal): là phương tiện gốc được dùng để
chứa thông tin cần giấu
- Thông tin cần giấu (embedded data): là thông tin được nhúng vào
trong phương tiện chứa Trong giấu tin mật, thông tin cần giấu là các thông điệp (message), còn trong kỹ thuật thủy vân số thì thông tin cần giấu là các thủy vân (các dấu hiệu công khai hoặc bí mật)
Trang 10
2.1.2 Mô hình kỹ thuật giấu tin
Mô hình kỹ thuật giấu tin cơ bản được mô tả trong các hình 2.1 và 2.2 Trong đó, hình 2.1 biểu diễn quá trình giấu tin cơ bản Phương tiện chứa bao gồm các đối tương được dùng làm môi trường để giấu tin như văn bản, audio, video, ảnh…
Hình 2.1 Lược đồ chung của quá trình giấu tin
Thông tin cần giấu là một lượng thông tin mang một ý nghĩa nào đó tùy thuộc vào mục đích của người sử dụng Thông tin sẽ được giấu vào trong phương tiện chứa nhờ một bộ nhúng Bộ nhúng là những chương trình theo những thuật toán để giấu tin và được thực hiện với số khóa bí mật giống như các hệ mã cổ điển Sau khi giấu tin ta thu được phương tiện chứa đã giấu tin
và được phân phối trên các môi trường khác nhau
Hình 2.2 chỉ ra các công việc của quá trình tách lấy thông tin đã giấu Quá trình tách tin được thực hiện thông qua một bộ lọc tương ứng với bộ nhúng thông tin cùng với khóa của quá trình nhúng Kết quả thu được gồm phương tiện chứa gốc và thông tin đã giấu
Hình 2.2 Lược đồ chung của quá trình tách tin
Bộ nhúng thông tin
Phương tiện chứa
đã được giấu tin Tin cần giấu
Phương tiện chứa (video, ảnh, audio, văn bản…) Khóa K
Kiểm định Thông tin giấu
Phương tiện chứa ( video,
ảnh, âm thanh, văn bản…)
Trang 11
2.1.3 Các ứng dụng của kỹ thuật giấu tin
1 Trao đổi tin mật: Thông tin được giấu trong các phương tiện chứa
khác nhau và thông qua hình thức trao đổi các phương tiện chứa để trao đổi tin mật Trong ứng dụng này, việc giải mã để nhận được thông tin thường không cần phương tiện chứa ban đầu Yêu cầu quan trọng nhất với các kỹ thuật giấu tin cho loại ứng dụng này là tính vô hình (ẩn) của thông tin giấu trong phương tiện chứa Việc giấu tin phải không gây những bất thường đáng ngờ trên phương tiện chứa
2 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ố Giả sử có một sản phẩm đa phương tiện cần phân phối, để bảo vệ 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 này chính
là việc nhúng thủy vân cần đảm bảo không để lại một ảnh hưởng đáng kể nào đến chất lượng sản phẩm Yêu cầu kỹ thuật đối với ứng dụng này là thủy phải tồn tại bền vững cùng với sản phẩm
3 Xác thực thông tin hay phát hiện xuyên tạc thông tin: 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 hay không Các thủy vân nên được ẩn để tránh được 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ệ hay xuyên tạc thông tin nguồn cũng cần được xem xét
4 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ụ như 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 tin gốc trước khi chuyển cho nhiều người Với những ứng dụng này thì yêu cầu đảm bảo độ an toàn cao cho các thủy vân tránh sự xóa giấu vết khi phân phối
Trang 12
5 Kiểm soát sao chép: Các thủy vân trong những 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 hiện ra thủy vân thường được gắn vào trong các hệ thống đọc/ghi Các ứng dụng loại này yêu cầu thủy vân phải được bảo đảm an toàn và sử dụng phương pháp phát hiện thủy vân đã giấu mà không cần thông tin gốc
2.2 Giấu tin trong dữ liệu đa phương tiện
2.2.1 Giấu tin trong ảnh
Giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ
an toàn thông tin như: nhận thức thông tin, xác định xuyên tạc thông tin, bảo
vệ bản quyền tác giả, điều khiển truy cập…Chính 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à nhiều viện nghiên cứu trên thế giới
Khi giấu thông tin trong ảnh, thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và gần như khi nhìn binh thường vào ảnh đó chúng ta không thể phát hiện ra rằng đằng sau ảnh là khối thông tin được ẩn trong đó Ngày nay khi ảnh số được sử dụng rất phổ biến thì giấu thông tin trong ảnh là một công nghệ đem lại rất nhiều tác dụng quan trọng 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ài chính, nó được dùng để nhận thực trong các thẻ tín dụng của người tiêu dùng Phần mềm WinWord của Microsoft cũng cho phép người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm bảo tính an toàn của thông tin Tài liệu sau đó được truyền trực tiếp qua máy fax, qua mạng theo đó việc nhận thực chữ kí, xác
Trang 13
thực thông tin đó trở thành một vấn đề cựa kì quan trọng khi mà việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ chức nào
Thêm vào đó lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin
về tài chính, các thông tin này được số hóa và lưu trữ trong hệ thống máy tính hay trên mạng 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 Việc nhận thức cũng như phát hiện thông tin xuyên tạc đó trở nên vô cùng quan trọng, cấp thiết, và một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách
mà truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu thông 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 xám Gần đây báo chí đã đưa tin vụ việc ngày 11-9 gây chấn động nước Mĩ và toàn thế giới, chính tên trùm khủng bố quốc tế Osma BinLaDen đã dùng cách thức giấu thông tin trong ảnh để liên lạc với đồng bọn, và hắn đã qua mặt được cục tình báo trung ương Mĩ CIA và các cơ quan
an ninh quốc tế Chắc chắn sau vụ việc này, thì việc nghiên cứu các vấn đề liên quan đến giấu thông tin trong ảnh sẽ rất được quan tâm
2.2.2 Giấu thông tin trong audio
Giấu thông tin trong audio mang những đặc điểm khác so với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu
cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc Khác với kĩ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác thì kĩ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác HAS Một vấn đề khó khăn
ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn nên đã gây khó dễ đối với các phương pháp giấu tin
Trang 14
trong audio Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất, điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin Vấn đề khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin Các phương pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong
hệ thống thính giác của con người
2.2.3 Giấu tin trong video
Cũng như giấu tin trong ảnh hay trong audio giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thức thông tin và bảo vệ bản quyền tác giả Một phương pháp giấu tin trong video được đưa ra bởi Cox là phương pháp phân
bố đều Ý tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải theo tần số của dữ liệu gốc Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ số truyền sóng riêng để giấu tin Trong các thuật toán khởi nguồn thường thì các kĩ thuật cho phép giấu các ảnh vào trong video nhưng thời gian gần đây các kĩ thuật cho phép giấu cả âm thanh và hình ảnh trong video Như phương pháp của Swanson đã sử dụng phương pháp giấu theo khối, phương pháp này đã giấu được hai bít vào khối 8*8, hay gần đây nhất
là phương pháp của Mukherjee là kĩ thuật giấu trong audio và video sử dụng cấu trúc lưới đa chiều…Kĩ thuật giấu thông tin trong video áp dụng cả những đặc điểm về thị giác và thính giác của con người
Trang 15
Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không riêng dữ liệu đa phương tiện như ảnh, audio hay video Gần đây, đã có một số nghiên cứu giấu tin trong văn bản, cơ sở dữ liệu quan hệ và cơ sở dữ liệu XML, cho phép mở ra những hướng nghiên cứu mới
2.2.4.Giấu tin trong văn bản
Trong việc trao đổi thông tin qua hệ thống máy tính, văn bản chiếm một tỷ lệ rất lớn so với các loại phương tiện chứa khác Tuy vậy, giấu tin trong văn bản lại chưa được quan tâm nghiên cứu nhiều Các nghiên cứu về giấu tin trong văn bản được chia theo hai hướng, thứ nhất văn bản được sử dụng để giấu tin là những văn bản được chụp lại và lưu trên máy như một bức ảnh nhị phân Theo hướng này, các kỹ thuật giấu tin được thực hiện như kỹ thuật giấu tin trong ảnh Hướng thứ hai, phương tiện chứa sử dụng cho quá trình giấu tin được lưu dưới dạng văn bản Theo hướng này, các kỹ thuật giấu tin cũng tiến hành như giấu tin trong ảnh bằng cách thay đổi một số ký tự tại một số vị trí trên văn bản mà không làm ảnh hưởng nhiều đến nội dung văn bản gốc
2.3 Giấu thông tin trong ảnh, những đặc trưng và tính chất
Giấu thông tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vì vậy 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 tin trong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu tin khác nhau Đối tượng ảnh là một đối tượng dữ liệu tĩnh, dữ liệu tri giác không biến đổi theo thời gian Dữ liệu ảnh có nhiều định dạng, mỗi định dạng có những tính chất khác nhau nên các kỹ thuật giấu tin trong ảnh thường chú ý những đặc trưng và các tính chất cơ bản sau đây:
1.Kỹ thuật chứa có dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu của ảnh tĩnh, dù đã giấu thông tin vào trong ảnh hay chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay
Trang 16
đổi theo thời gian, điều này khác với dữ liệu audio hay là video vì khi ta nghe hay xem 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 hay các bài, các cảnh… Sự khác biệt này ảnh hưởng lớn đối với các kỹ thuật giấu thông tin trong audio hay video
2 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 đối với ảnh trắng đen, ảnh đa mức xám hay ảnh màu ta có những kỹ thuật riêng
do các loại ảnh có những đặc trưng khác nhau
3 Kỹ thuật giấu tin lợi dụng tính chất hệ thống thính 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 ảnh gố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 đó vì có như 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 độ chói kém hơn sự biến đổi màu, cảm nhận của mắt về màu xanh da trời là kém nhất trong ba màu cơ bản
4 Giấu thông 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 thông tin sẽ được thực hiện trên dữ liệu ảnh Dữ liệu ảnh bao gồm cả phần header, bảng màu (có thể có)
và dữ liệu ảnh Khi giấu thông tin, các phương pháp giấu đều biến đổi các giá trị của các bít trong dữ liệu ảnh Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau
5 Đảm bảo chất lượng ảnh 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ấu tin bên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi lớn để có thể
Trang 17
bị phát hiện dễ dàng so với ảnh gốc Yêu cầu này khá đơn giản đối với ảnh màu và ảnh đa mức xám bởi mỗi một điểm ảnh biểu diễn bởi nhiều bít, va khi tat hay đổ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 Đối với ảnh đen trắng thì việc giấu thông tin phức tập hơn nhiều, vì mỗi điểm ảnh chỉ trắng hoặc đen, và nếu ta biến đổi một bít từ đen thành trắng mà không khéo thì sẽ rất dễ bị phát hiện Do đó, yêu cầu đối với các thuật toán giấu thông tin trong ảnh màu hay đa mức xám
và giấu thông tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuật toá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
6 Thông tin giấu trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Vì 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ị đó để tim được thông tin giấu Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các bít sẽ làm cho thông tin giấu bị sai lệch Nhờ đặc điểm này
mà giấu thông tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin
7 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ấy một thông tin giấu cần đến ảnh gốc hay không Đa số các kỹ thuật giấu tin mật thường không cần ảnh gốc khi lọc tìm thông tin đã giấu Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi tách tin chỉ cần ảnh đã mang thông tin cần giấu mà không cần dùng đến ảnh gốc để so sánh đối chiếu
Trang 18
2.4 Các hướng tiếp cận của kỹ thuật giấu tin trong ảnh
2.4.1 Tiếp cận trên miền không gian ảnh
Đây là hướng tiếp cận cơ bản và tự nhiên trong số các kỹ thuật giấu tin Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh là tác động lên các điểm ảnh Đây là hướng tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn Một phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đến bit ít quan trọng nhất của mỗi điểm ảnh
Ý tưởng cơ bản của phương pháp tác động đến bít ít quan trọng nhất của các điểm ảnh là chọn ra từ mỗi điểm ảnh các bít có ít ý nghĩa nhất về mặt tri giác để sử dụng cho việc giấu tin Việc bít nào được coi là ít ý nghĩa tri giác và bao nhiêu bít có thể được lấy ra để thay thế đều phụ thuộc vào tính chất hệ thống thị giác của con người và nhu cầu về chất lượng ảnh trong các ứng dụng Ví dụ, trong ảnh 24 bít, mỗi điểm ảnh được biễu diễn bởi 24 bít tương ứng với ba màu RGB, mỗi màu chiếm 1 byte Người ta sử dụng một tính chất của mắt người là sự cảm nhận về màu B (blue) kém hơn so với màu
R (red) và G (green), vì thế người ta thường chon bít cuối cùng trong 8 bit biểu diễn màu B của mỗi điểm ảnh để giấu tin Thay đổi bít cuối cùng trong 8 bít biểu diễn màu B chỉ làm cho giá trị biểu diễn màu B tăng hoặc giảm đi 1 đơn vị Do vậy, các bít quan trọng nhất trong trường hợp này là bít thứ 24 của mỗi điểm ảnh Một số thuật toán muốn giấu nhiều thông tin hơn và chấp nhận chất lượng ảnh thấp hơn một chút có thể sử dụng bít cuối cùng của mỗi byte màu RGB làm bít ít quan trọng Trong trường hợp này, đối với mỗi điểm ảnh màu 24 bít, ta sẽ chọn ra được ba bít ít quan trọng
Tuy nhiên, phương pháp này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững của thông tin giấu đối với các thao tác
Trang 19
biến đổi như quay ảnh hoặc nén ảnh Jpeg, do các thao tác nói trên cũng loại
bỏ hoặc làm sai lệch các bít quan trọng của điểm ảnh
2.4.2 Tiếp cận trên miền tần số ảnh
Trong nhiều trường hợp, cách khảo sát trực tiếp lên miền không gian ảnh gặp phải những khó khăn nhất định hoặc rất phức tạp và hiệu quả không cao Ngoài phương pháp khảo sát trực tiếp, có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Các phép biến đổi sẽ chuyển miền biến số độc lập sang các miền khác Như vậy tín hiệu và hệ thống rời rạc sẽ được biểu diễn trong các miền mới với các biến số mới
Mỗi cách biến đổi sẽ có những thuận lợi riêng, tùy từng trường hợp
mà sử dụng biến đổi nào Sau khi khảo sát, biến đổi xong có thể dùng các phép biến đổi ngược với các biến đổi mới để đưa chúng trở lại miền biến số độc lập
Có nhiều phép biến đổi cho dữ liệu ảnh trong đó có một số phương pháp biến đổi được sử dụng rất phổ biến như Fourier, biến đổi Cosin rời rạc, Wavelet…
Trang 20
Chương 3 Phát triển kỹ thuật giấu tin mật trong ảnh
Trong chương này, trên cơ sở nghiên cứu, phân tích, đánh giá, so sánh kết quả thực hiện của một số kỹ thuật giấu tin mật, luận văn nhận xét, đề xuất cải tiến nhằm giảm thời gian thực hiện trong quá trình giấu tin mà vẫn đáp ứng tốt yêu cầu của một hệ giấu tin mật là: đảm bảo tính ẩn chứa của thông tin giấu trong ảnh chứa và lượng thông tin giấu ngày càng tăng Đề một thuật toán giấu tin mật với lượng tin giấu cao, đảm bảo tính ẩn của tin giấu và áp dụng thuật toán để giấu tin trong một số dạng ảnh
3.1 Kỹ thuật giấu tin theo khối bít (CB)
Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin theo hướng tiếp cận trên miền không gian ảnh Ý tưởng cơ bản của thuật toán trong kỹ thuật này là chia một ảnh gốc thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bít thông tin Thuật toán này dùng cho cả ảnh màu, ảnh đa mức xám
và ảnh đen trắng
3.1.1 Thuật toán giấu tin
Quá trình giấu tin:
Vào: - Ma trận giá trị điểm ảnh nhị phân gốc I kích thước MxN;
- Thông điệp bí mật cần giấu H đã được chuyển sang nhị phân;
- mxn là khích thước khối dùng để giấu 1 bít thông tin
Ra: - Ma trận giá trị điểm ảnh sau khi giấu thông tin I‟
Thực hiện:
Bước 1: Kiểm tra khả năng giấu hết thông tin vào ảnh:
Số khối kích thước m x n có được là: (M div m) x (N div n)
Gọi s là số bít của H, khi đó
Trang 21Bước 3: Tiến hành giấu tin: Lần lượt giấu bít Hi H vào khối
Fi (i=1 s) theo nguyên tắc:
Với SUM(Fi) được định nghĩa là tổng các phần tử của Fi
Nếu SUM(Fi) mod 2 = Hi thì giữ nguyên Fi
Ngược lại chọn ngẫu nhiên một bít trong Fi rồi đảo bít này
Ma trận I‟ nhận được từ I sau bước 3 là ma trận điểm ảnh sau khi đã giấu tin
Trong thuật toán giấu tin này khá đơn giản chỉ là kích thước của khối, nếu biết kích thước của khối thì dễ dàng tách được tin đã giấu Quá trình giấu tin luôn đảm bảo khối sau khi giấu tin Fi quan hệ với bít thông tin Hi giấu trong khối đó theo công thức Hi = SUM(Fi) mod 2, đây chính là công thức cho quá trình tách lấy tin giấu
Trang 22
3.1.2 Phân tích thuật toán
Thuật toán giấu tin trong ảnh 3.1.1 rất đơn giản Sau khi nghiên cứu thuật toán này, có thể đưa ra một số nhận xét và đánh giá sau đây:
- Tùy theo yêu cầu của việc giấu tin, việc chọn kích thước khối để giấu tin cần phải căn cứ vào kích thước ảnh và lượng thông tin cầ giấu sao cho các thông tin được giấu giàn trải trên toàn ảnh
- Tùy theo mục đích của việc giấu tin và nhu cầu về lượng thông tin giấu ta sẽ chọn kích khối phù hợp Kích thước khối càng lớn thì lượng thông tin có thể giấu là càng thấp, đồng thời ảnh sau khi giấu cũng ít thay đổi so với ảnh gốc và ngược lại
- Với thuật toán này việc chọn khối khá đơn giản: ta có thể bắt đầu từ khối đầu tiên và các khối tiếp theo một cách tuần tự Tuy nhiên, ta có thể chọn ngẫu nhiên một khối chưa giấu ở mỗi lần giấu, hoặc chọn các khối theo một thuật toán xác định kèm theo một khóa K Khi đó, ta đã làm tăng được độ an toàn của thuật toán vì khóa bây giờ còn thêm cả chỉ số khối đã giấu tin cho từng bít Hoặc ta có thể thay đổi kích thước khối ở mỗi lần giấu, chẳng hạn như khối thứ nhất có kích thước khối là 8x8, khối thứ hai có kích thước là 8x12… trong trường hợp này thì khóa sẽ gồm cả kích thước khối của mỗi lần giấu
- Bản chất của cách thức giấu chẳng qua là một sự quy ước nào đó, nếu thỏa mãn thì giấu bít 1, ngược lại thì giấu bit 0 Các khối ảnh sau khi giấu tin luôn thỏa mãn một tính chất và tính chất này là cơ sở cho quá trình tách tin
- Kỹ thuật trên sẽ gặp phải hiện tượng bất thường đối với ảnh sau khi giấu thông tin đặc biệt khi chọn vào những khối ảnh một màu, chẳng hạn một khối toàn đen hoặc toàn trắng Khi đó, nếu cần đảo giá trị một bít thì vị trí bít
Trang 23
đảo sẽ khác biệt hoàn toàn với các bít trong khối và dễ bị nhận biết có sự thay đổi
- Quá trình tách lấy thông tin đã giấu trong kỹ thuật này sử dụng khóa
là kích thước của khối, không cần sử dụng ảnh gốc
3.2 Kỹ thuật giấu tin Chen-Pan-Tseng (CPT)
Năm 2000, các tác giả Chen Y.Y, Pan H.K và Tseng Y.C, khoa công nghệ thông tin và khoa học máy tính thuộc trường Đại học quốc gia Đài Loan
đã phát triển một kỹ thuật giấu tin mới kỹ thuật này sử dụng một ma trận khóa và một ma trận trọng số để giấu thông tin Thuật toán đảm bảo được độ
an toàn của thông tin giấu cao, cho phép giấu được r bít thông tin vào mỗi khối ảnh kích thước mxn với 2r
< mxn mà chỉ cần thay đổi nhiều nhất 2 bit trong mỗi khối ảnh Nhược điểm của phương pháp này là chất lượng ảnh chưa cao, dễ bị phát hiện Đối với ảnh đen trắng thì thuật toán này chưa đáp ứng được các yêu cầu về chất lượng ảnh và lượng thông tin giấu
3.2.1.Thuật toán
Quá trình giấu tin
Vào:
- F là một ma trận giá trị các điểm ảnh gốc dùng để giấu thông tin
- K là một ma trận khóa ngẫu nhiên có kích thước mn
- W là một trọng số ngẫu nhiên
- r là số lượng bít có thể giấu trong mỗi một khối ảnh mn
- B là chuỗi bít thông tin cần giấu
Ra: Ma trận điểm ảnh F‟ đã giấu thông tin
Thực hiện:
- Chia F thành các khối con Fi, mỗi ma trận điểm ảnh Fi có kích thước mxn Ký hiệu Fi[j,k] là phần tử ở hang j cột k của ma trận Fi
Trang 24+ Bước 2: Tính tổng Sum = SUM(P)
+ Bước 3: Với ma trận T và với mọi w = 1,2,…2r-1, xác định tập hợp Sw như sau:
Sw = {(j,k) (W[j,k] = w T[j,k] = 2r – w T[j,k] = 1))}
Từ định nghĩa của tập Sw ta có Sw‟ = Sw với mọi w = w‟ (mod 2r)
Dễ nhận thấy Sw là tập hợp các chỉ số (j,k) của ma trận Fi sao cho khi đảo bít Fi[j,k] thì Sum ở bước 2 tăng thêm w Thực vậy, ta có:
- Trường hợp 1: Nếu W[j,k] = w và T[j,k] = 0 Khi đó đảo bít
Fi[j,k] sẽ làm cho T[j,k] = 1, do đó Sum tăng lên w
- Trường hợp 1: Nếu W[j,k] = 2r - w và T[j,k] = 1 Khi đó đảo bít Fi[j,k] sẽ làm cho T[j,k] = 0, do đó Sum tăng lên w theo mod 2r
+ Bước 4: Gọi d = (b1b2…br) – SUM(P) (mod 2r)
Bây giờ cần phải đảo bít trên Fi để được Fi ‟
sao cho Sum tính được ở bước 2 khi thay Fi bởi Fi‟ sẽ tăng lên d
- Nếu d = 0, không cần phải thay đổi Fi
- Nếu d0 thì chạy chương trình sau để chuyển Fi thành Fi ‟
Chọn bất kỳ thuộc {0,1,2,…,2r
-1} sao cho Shd S-(h-1)d
Chọn phần tử (j,k) bất kỳ thuộc Shd và đảo bít Fi[j,k]
Chọn phần tử (u,v) bất kỳ thuộc S-(h-1)d và đảo bít F[u,v]
Để tăng Sum lên d, ta có chọn 2 tập khác rỗng Shd và S-(h-1)d Thật vậy, hai tập này chứa các vị trí bít trong khối Fi có thể đảo để tăng Sum lên hd và –(h-1)d tương ứng, kết quả là Sum sẽ tăng lên: hd + (-(h-1)d) = d
Trang 25
Tương tự như các tập Sw khác, ta cũng có thể coi tập S0 là tập chứa các
vị trí mà khi đảo những bít này trên Fi thì sẽ tăng sum lên 0 Kết quả này cũng đạt được nếu ta không đảo bất kỳ bít nào trên Fi Vì vậy ta có thể coi S0 là tập trống và khi nói “đảo một bít có vị trí thuộc tập S0” có nghĩa là không cần làm
gì cả
Cho đến bước này thuật toán luôn đảm bảo được bất biến:
SUM(Fi
‟ K) W b1b2…br (mod 2r) Ghép các khối ảnh Fi ‟
để được ảnh F‟ chứa tin giấu
Quá trình giải tin:
Vào: - F‟ là một ma trận giá trị các điểm ảnh đã giấu thông tin
- K là một ma trận khóa ngẫu nhiên có kích thước mn
- W là một ma trận trọng số ngẫu nhiên có kích thước mn
- r là số lượng bít đã giấu trong mỗi khối ảnh mn
Ra: Chuỗi bít thông tin đã giấu B
- Ghép các chuỗi đã tách theo thứ tự để được chuỗi bít đã giấu B
3.2.2.Phân tích thuật toán
Thuật toán có thể được giấu được r bít vào trong một khối mn với điều kiện 2r
< mn mà chỉ cần thay đổi nhiều nhất là 2 bít trên một khối như vậy, thuật toán này đã có cải tiến rất lớn so với những thuật toán khác chỉ giấu được một bít vào mỗi khối
Độ an toàn của thuật toán cũng rất cao thông qua hai ma trận dùng làm khóa để giải tin đó là ma trận trọng số và ma trận khóa
Trang 26
Thuật toán này có thể áp dụng cho ảnh màu và ảnh đa mức xám Cũng
có thể sử dụng kỹ thuật chọn ra bít ít quan trọng nhất của mỗi điểm ảnh để xây dựng ma trận hai chiều các bít 0, 1 như trong thuật toán với ảnh đen trắng
Nếu áp dụng tốt thuật toán này cho ảnh màu thì có thể nói thuật toán
đã đạt được yêu cầu cơ bản của một ứng dụng giấu tin mật là đảm bảo tính ẩn của thông tin giấu, số lượng thông tin giấu cao
3.2.3 Một cải tiến kỹ thuật giấu tin của Tseng-Pan
Trong bài báo, Tseng Y.C và Pan H.K đã đưa ra một lược đồ giấu tin dùng để giấu các thông tin quan trọng vào một ảnh chủ nhị phân Lược đồ này được cải tiến từ lược đồ trong nhằm giữ được chất lượng của ảnh chủ bằng cách chịu mất đi một không gian giấu dữ liệu nào đó nhưng vẫn đảm bảo trong mỗi khối ảnh chủ cỡ mn có thể giấu được đến log2(mn 1 ) -1 bít mà
chỉ cần thay đổi nhiều nhất là 2 bít Điểm mới của lược đồ này là sử dụng ma trận khoảng cách làm tiêu chí trong việc lựa chọn bít để giấu dữ liệu Luận văn nghiên cứu và đề xuất một cải tiến từ lược đồ nói trên bằng cách thay ma trận khoảng cách bằng một ma trận khác được gọi là ma trận bít có thể đảo Lược đồ mới này sẽ giảm đáng kể thời gian chạy của thuật toán giấu tin và luôn giữ được chất lượng của ảnh chủ
Lược đồ được trình bày trong đưa thêm một đai lượng nữa được gọi là khoảng cách [ dist(F)]i,j mà giá trị của nó được sử dụng để làm điều kiện quyết định liệu một khối ảnh chủ có thể được dùng để giấu dữ liệu hay không
Vì các thao tác thực hiện trên hai ảnh màu, nên việc thay bất kỳ một bít nào trong ảnh cũng có thể dễ dàng bị phát hiện ra Do đó để đảm bảo chất lượng của ảnh, nên càng thay đổi ít bít càng tốt Một khối ảnh chủ hoàn toàn đen hoặc hoàn toàn trắng sẽ không được sử dụng để giấu tin Ngoài ra, nếu một bít phải bị thay đổi, hy vọng là vị trí của nó rất gần với một bít khác có
Trang 27
giá trị bằng giá trị mới của bít này Chẳng hạn, xét một khối ảnh F được biểu diễn bằng một ma trận bít cỡ 5 5 F được sửa đổi thành hai ảnh F‟ và F‟‟ như sau:
Để hình thức hóa quan sát trên, các tác giả đã định nghĩa một ma trận gọi là dist(F) có cùng cỡ với F và các phần tử được xác định như sau:
[dist(F)]i,j = min
F y j
Nghĩa là, [dist(F)]i,j là khoảng cách từ [F]i,j tới phần tử [F]x,y gần nhất
có giá trị khác với [F]i,j Sau này, ma trận khoảng cách sẽ được sử dụng làm một tiêu chí để chọn bít cần thay đổi theo công thức định nghĩa ở trên, ta có
ma trận khoảng cách của F như sau:
Trang 28
Nếu dist(F[i,j]) 2 thì bít F(i,j) có thể đảo được
Theo định nghĩa disk(F), điều kiện disk(F[i,j]) 2 tương đương với điều kiện có ít nhất một trong 8 lân cận của điểm (i,j) có giá trị khác với F(i,j) Từ đây có thể xem xét việc sử dụng một điều kiện khác thay cho việc
sử dụng ma trận khoảng cách trong quá trình lựa chọn bít để đảo khi giấu tin
Để thể hiện điều này, xét một ma trận bít có cỡ bằng ma trận bít của khối ảnh F được gọi là comable(F), trong đó một bít sẽ được đặt bằng 0 nếu bít tương ứng với bít này trong F không có một bít lân cận nào có giá trị khác với nó, còn ngược lại bít này sẽ được đặt bằng 1 Hình thức này hóa ý tưởng trên như sau:
Cho ma trận ảnh F cỡ m n ma trận bít có thể đảo là một ma trận bít
có cỡ bằng cỡ của ma trận F sao cho:
[comable(F)]i,j = 0 nếu [F]i,j = [F]i+x,j+y, với mọi x,y {-1,0,1} và 0< i+xm, 0<j+yn
[comable(F)]i,j = 1 nếu tồn tại x, y {-1,0,1} và 0< i+xm,
0<j+y n sao cho [F]i,j [F]i+x,j+y
[comable(F)]i,j cho ta biết liệu bít tương ứng trong F có thể đảo mà không làm ảnh hưởng nhiều đến chất lượng của ảnh F hay không Nếu [comable(F)]i,j = 1 thì bít (i,j) của F có thể đảo, còn ngược lại nếu đảo bít này thì sẽ làm ảnh hưởng lớn đến chất lượng của F Ma trận này sẽ được sử dụng
để làm tiêu chuẩn chọn lựa các bít sẽ được đảo để giấu dữ liệu
Theo định nghĩa trên, có thể tính ma trận bít có thể đảo của ma trận ảnh F ở trên như sau:
Trang 29Xét một khối ảnh F kích thước m n, việc tính một phần tử ở vị trí (i,j) của dist(F) và comable(F) lần lượt được thực hiện như sau:
Function Dist(i,j: Byte): Real;
For x:= -1 to 1 do If (i+x>0) and (i+x<=m) then
For y:= -1 to 1 do If (j+y> 0) and (j+y<=n) and F[i,j] <> F[x,y]) then
Rs := 1; Comable:= Rs; End;
Trang 30
Với khối ảnh F kích thước m n, độ phức tạp khi tính dist(i,j) là mn, còn độ phức tạp khi tính comable(i,j) là 3 3 = 9 Như vậy, độ phức tạp khi tính dist phụ thuộc tỷ lệ thuận với kích thước m và n lớn hơn 3, thời gian tính comable(i,j) sẽ nhở hơn thời gian tính dist(i,j), m, n càng lớn thì sự chênh lệch càng rõ rệt
3.3 Thuật toán giấu tin HT
Định nghĩa 3.1: Phép cộng không nhớ các số nhị phân
Cho hai số nhị phân x và y Giả sử x=(x1,x2, xm), y=(y1, y2, yn), m và
n là các số tự nhiên, không mất tính tổng quát ta coi m n Khi đó, tổng không nhớ của hai số nhị phân x và y được định nghĩa là số nhị phân z=(z1,z2,…zm) và viết z=x y trong đó, các zi (i=1…m) được tính theo quy tắc:
For i=m downto 1 do
1
khi
khi
i i
i i
y x
y x
, i 1 m
Từ định nghĩa ta có tính chất: x x = 0 với mọi số nhị phân x
Định nghĩa 3.2: Với số nhị phân x = (x1x2…xn), gọi ( ) ( )
1x db i x
là hàm tham số đảo bit của x Trong đó, db(i) là biểu diễn nhị phân của i Hàm
này sẽ được dùng để tính vị trí bit cần đảo khi giấu tin trong thuật toán HT
Từ định nghĩa 3.2 ta có:
Định lý 3.1: Với mọi số nhị phân x = (x1x2…xn), nếu gọi k là số chữ số
trong biểu diễn nhị phân của n thì giá trị hàm tham số đảo bit của x là số tự
nhiên không vượt quá 2k – 1 Tức là ( ) ( ) 2 1
Trang 31
Vì xi {0, 1} nên (i 1 n) ta luôn có: xi db(i) db(i) db(n) (1) Hơn nữa, với c = a b thì len(c) max(len(a),len(b)) (2)
Từ (1), (2) và giả thiết len (db(n))= k ta được:
len(f(x)) max(len(x1db( 1 )),len((x2 db( 2 )), ,len(x n db(n)) len(db(n) k
1 2 ) ( ))
(
x f k x f len
Định lý 3.2: Với mọi số nhị phân x = (x1x2…xn), t [1,n], nếu đảo bit
xt trong x để được x‟ thì f(x') f(x) db(t).
Thật vậy, ta có:
) (
) ( ) 1 (
) 2 ( )
1 ( )
) ( ) 1 (
) 2 ( )
1 ( )
) ( ) 1 (
) 2 ( )
1 ( )
Như vậy, trong mọi trường hợp ta đều có f(x') f(x) db(t).
Thuật toán giấu tin HT:
Bài toán: Cho chuỗi k bít b=(b1b2…bk), chuỗi n bít x=(x1x2…xn) với n=2k -1 xây dựng thuật toán giấu b vào x và tách tìm lại b từ chuỗi đã giấu
Trang 32- Chuỗi bít thông tin cần giấu b= (b1b2…bk)
Ra: chuỗi bít x‟ đã chứa thông tin cần giấu
3.3.1 Đánh giá thuật toán giấu tin mới HT
Các lược đồ giấu tin CB và WL cho phép nhúng 1 bit vào khối ảnh gốc gồm mn bit và phải thay đổi tối đa một bít của khối ảnh gốc, lược đồ giấu tin gồm tin CPT cho phép nhúng r bit vào khối ảnh gốc gồm mn bít với
2r< mn và phải thay đổi nhiều nhất 2 bít trong khối ảnh gốc
Như vậy, để giấu được k bít thông tin, lược đồ CPT cần có ít nhất
mn= 2k+1 bít gốc, trong khi giấu tin theo một số yếu tố:
- Khả năng giấu: AH = 100k/n %
- Tính ẩn: HH = 100I(k)n % Trong đó: k là số bít có thể giấu, n là số bít gốc tối thiểu để giấu được
k bít, I(k) là số bít tối đa có thể phải đảo khi giấu k bít vào n bít gốc Giá trị
AH càng lớn thể hiện dung lượng tin có thể giấu cao, HH càng nhỏ thể hiện sau khi giấu tin dữ liệu chứa bit ít bị thay đổi so với dữ liệu gốc
3.3.2 Áp dụng thuật toán HT giấu tin mật trong ảnh
Thuật toán giấu tin mật HT tiến hành giấu k bít vào chuỗi n=2k
– 1 bít gốc Với bài toán giấu tin trong ảnh, thông tin cần giấu có thể được chuyển thành một chuỗi các bít, dữ liệu gốc là giá trị các điểm ảnh được chọn cho việc giấu tin Tùy loại ảnh, ta có thể áp dụng thuật toán cho phù hợp Ngoài
ra, có thể kết hợp sử dụng hệ thống khóa cho quá trình giấu tin và lọc tìm lại tin giấu, kiểm soát chất lượng ảnh sau khi giấu tin
3.3.2.1.Sử dụng HT giấu tin trong ảnh nhị phân
Trang 33
Bài toán: Có một ảnh chủ nhị phân F, kích thước MN, một thông điệp bí mật H đã chuyển sang dạng nhị phân gồm s bit Thực hiện giấu H vào
F và tách tìm lại H từ ảnh đã giấu tin
Để thực hiện bài toán trên, sử dụng thuật toán HT cần chia H thành r đoạn có độ dài k bít Ảnh F cũng chia thành r đoạn, mỗi đoạn có độ dài n2k– 1 bit Mỗi đoạn k bít của H sẽ được giấu vào một đoạn n bít của F Như vậy,
khả năng giấu tin trong mỗi đoạn sẽ là
s k
Thuật toán giấu tin trong HTB
Quá trình giấu tin:
Vào: ảnh nhị phân F kích thước ML, chuỗi bít cần giấu H có độ dài s Ra: ảnh đã giấu tin F‟ và giá trị k
Ký hiệu các đoạn là Hi(i=1 r)
- Chuyển F thành chuỗi gồm ML bit, rồi lần lượt thành các đoạn có
độ dài 2k
– 1 bit, khi đó số đoạn có được sẽ là: r
k
s L M
-Lần lượt nhúng chuỗi k bít Hi vào chuỗi Fi (i=1 r) theo thuật toán HT
để chuỗi Fi‟ đã chứa tin giấu