Giấu tin trong ảnh bằng mã hóa LSB
Trang 1CHƯƠNG I :
TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ĐA PHƯƠNG TIỆN
Đa phương tiện (Multimedia) là nhiều hệ thống truyền thông, các dữ liệu
hay các thông tin đa phương tiện gồm: text (văn bản), graphic (hình họa), animation (hoạt ảnh), Image(ảnh chụp), video, audio.
1.1 Giấu tin trong dữ liệu đa phương tiện:
Giấu tin như thế nào?
Cùng với sự phát triển của Internet và các phương tiện multimedia, nhiều vấn đề như: ăn cắp bản quyền, xuyên tạc thông tin, truy cập thông tin trái phép… cũng tăng theo, đòi hỏi phải tìm ra các giải pháp mới, hữu hiệu cho an toàn và bảo
mật thông tin Một trong các giải pháp nhiều triển vọng là giấu tin(Data Hiding),
đã và đang được nghiên cứu và ứng dụng
Giấu thông tin là kỹ thuật nhúng(embedding) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác Sự khác biệt giữa mã hóa thông tin đã nói ở trên và giấu thông tin là mã hóa làm cho các thông tin hiện rõ là nó có được mã hóa hay không, còn với giấu thông tin thì sẽ khóphát hiện ra được rằng có thông tin giấu bên trong.
Yêu cầu cơ bản của việc 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
Hiện tại thì giấu tin chia làm hai hướng lớn, đó là watermark(thủyvân), và steganography Phương pháp thủy vân quan tâm đến ứng dụng giấu các mẩu tin ngắn nhưng đòi hỏi độ bền vững lớn của thông tin cần giấu trước các biến đổi thông th ường của tệp dữ liệu môi trường Trong khi đó, phương pháp Steganography quan tâm tới ứng dụng che giấu các bản tin đòi hỏi độ bí mật và dung lượng càng lớn càng tốt.
Mục đích của giấu tin có hai khía cạnh chính:
Trang 2Bảo mật cho dữ liệu đem giấu(embedded data), chẳng hạn như giấu thông tin mật trong một đối tượng nào đó sao cho người khác không phát hiện được.
Đảm an toàn bảo mật cho chính đối tượng được dùng để giấu dữ liệu vào(host data)
Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (text, image, audio, video), trong các sản phẩm phần mềm, và gần đây là trong cơ sở dữ liệu quan hệ, trong đó thì dữ liệu đa phương tiện chiếm tỉ lệ chủ yếu trong kỹ thuật giấu TIN
1.2 Phương pháp giấu tin
Trong một quá trình phát triển lâu dài, nhiều phương pháp bảo vệ thông tin đã được đưa ra trong đó giải pháp dùng mật mã học là giải pháp được ứng dụng rộng rãi nhất Các hệ mã mật đã được phát triển nhanh chóng và được ứng dụng rất phổ biến cho đến tận ngày nay Thông tin ban đầu sẽ được mã hoá thành các ký hiệu vô nghĩa, sau đó sẽ được lấy lại thông qua việc giải mã nhờ khoá của hệ mã Đã có rất nhiều những hệ mã phức tạp được sử dụng như DES, RSA, NAPSACK và phương pháp này đã được chứng minh thực tế là rất hiệu quả và được ứng dụng phổ biến Nhưng ở đây ta không định nói về các hệ mã mật mà ta tìm hiểu về một 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 giấu tin (data hiding) Đâ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.
Vậy lịch sử của phương pháp giấu tin như thế nào?
Đầu tiên 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 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à các viện công nghệ thông tin với rất nhiều công trình
Trang 3nghiên cứu Cuộc cách mạng số hóa 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…đây là lúc công nghệ giấu tin được chú ý và phát triển.
Giấu thông tin 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 Phương pháp giấu tin là làm cho người ta khó có thể biết được có thông tin giấu bên trong đó do tính chất ẩn của thông tin được giấu.
1.2.1.Mục đích của giấu tin
Giấu tin có hai mục đích:
- Bảo mật cho những dữ liệu được giấu
- Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tượng chứa dữ liệu giấu trong đó.
Có thể thấy hai mục đích này hoàn toàn trái ngược nhau và dần phát triển thành hai lĩnh vực với những yêu cầu và tính chất khác nhau.
Hình 1.1: Hai lĩnh vực chính của kỹ thuật giấu thông tin
Giấu thông tin
Giấu tin bí mật(Steganography)
Thuỷ vân số(Watermarking)
Trang 4
Kỹ thuật giấu thông tin bí mật (Steganography): với mục đích đảm bảo an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể giấu được nhiều thông tin nhất 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.
Kỹ thuật giấu thông tin theo kiểu đánh giấu (watermarking) để bảo vệ bản quyền của đối tượng chứa thông tin tập trung đảm bảo một số các yêu cầu như đảm bảo tính bền vững… đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số.
1.2.2 Mô hình kỹ thuật giấu thông tin cơ bản
Để thực hiện giấu tin cần xây dựng được các thủ tục giấu tin Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trường giấu tin Các thủ tục giấu tin thường được thực hiện với một khóa giống như các hệ mật mã để tăng tính bảo mật Sauk hi giấu tin ta thu được đối tượng chứa thông tin giấu và có thể phân phối đối tượng đó trên kênh
thông tin Để giải mã thông tin cần nhận được đối tượng có chứa thông tin đã giấu, sử dụng thủ tục giải mã cùng với khóa đã dung trong quá trình giấu để lấy lại thông tin.
Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như hình 3.2 trong đó:- Thông tin cần giấu tuỳ theo mục đích của người sử dụng, nó có thể là thông điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền.
- Phương tiện chứa: các file ảnh, text, audio… là môi trường để nhúng tin- Bộ nhúng thông tin: là những chương trình thực hiện việc giấu tin
- Đầu ra: là các phương tiện chứa đã có tin giấu trong đó
Page 4
Thông tin giấu
Phương tiện chứa(audio, ảnh,
Phương tiện chứa đã được
giấu tinBộ
nhúng thông
Phân phối
Trang 5Hình 1.2: Lược đồ chung cho quá trình giấu tin
Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là các thông tin đã được giấu vào phương tiện chứa Phương tiện chứa sau khi tách lấy thông tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau.
Hình 1.3: Lược đồ chung cho quá trình giải mã
Hình vẽ 1.3 chỉ ra các công việc giải mã thông tin đã giấu Sau khi nhận được đối tượng phương tiện chứa có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá Phương tiện chứa (audio, ảnh, video)Phương tiện chứa đã
được giấu tin
Bộ giải mã tin
Thông tin giấu Kiểm địnhKhóa giấu tin
Trang 6củ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 Bước tiếp theo thông tin đã giấu sẽ được xử lý kiểm định so sánh với thông tin ban đầu.
1.2.3.Phân loại các kỹ thuật giấu tin
a Giấu tin trong ảnh:
Hiện nay 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 tò 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 chho phép người dùng lưu trữ chữ lí 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 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.
Trang 7Thê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 đó 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.
b 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 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
Trang 8trong 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.
c 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 viedeo đượ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 thi 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 đặ điểm về thị giác và thính giác của con người.
d.Giấu thông tin trong văn bản dạng text
Giấu tin trong văn bản dạng text khó thực hiện hơn do đó ít các thông tin dư thừa, để làm được điều này người ta phải khéo léo khai thác các dư thừa tự nhiên của ngôn ngữ Một cách khác là tận dụng các định dạng văn bản (mã hoá thông tin vào khoảng cách giữa các từ hay các dòng văn bản).
Trang 9Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không riêng gì dữ liệu đa phương tiện như ảnh, audio, video Gần đây đã có một số nghiên cứu giấu tin trong cơ sở dữ liệu quan hệ, các gói IP truyền trên mạng chắc chắn sau này còn tiếp tục phát triển tiếp cho các môi trường dữ liệu số khác.
1.2.4 Phân loại theo cách thức tác động lên các phương tiện
Phương pháp chèn dữ liệu: Phương pháp này tìm các vị trí trong file dễ bị bỏ qua và chèn dữ liệu cần giấu vào đó, cách giấu này không làm ảnh hưởng gì tới sự thể hiện các file dữ liệu ví dụ như được giấu sau các ký tự EOF.
Phương pháp tạo các phương tiện chứa: Từ các thông điệp cần chuyển sẽ tạo ra các phương tiện chứa để phục vụ cho việc truyền thông tin đó, từ phía người nhận dựa trên các phương tiện chứa này sẽ tái tạo lại các thông điệp.
1.2.5 Phân loại theo các mục đích sử dụng
- Giấu thông tin bí mật: đây là ứng dụng phổ biến nhất từ trước đến nay, đối với giấu thông tin bí mật người ta quan tâm chủ yếu tới các mục tiêu:
+ Độ an toàn của giấu tin - khả năng không bị phát hiện của giấu tin.
+ Lượng thông tin tối đa có thể giấu trong một phương tiện chứa cụ thể mà vẫn có thể đảm bảo an toàn
+ Độ bí mật của thông tin trong trường hợp giấu tin bị phát hiện
- Giấu thông tin bí mật không quan tâm tới nhiều các yêu cầu bền vững của phương tiện chứa, đơn giản là bởi người ta có thể thực hiện việc gửi và nhận nhiều lần một phương tiện chứa đã được giấu tin
- Giấu thông tin thuỷ vân: do yêu cầu bảo vệ bản quyền, xác thực… nên giấu tin thuỷ vân có yêu cầu khác với giấu tin bí mật Yêu cầu đầu tiên là các dấu hiệu thuỷ vân
đủ bền vững trước các tấn công vô hình hay cố ý gỡ bỏ nó Thêm vào đó các dấu hiệu thuỷ vân phải có ảnh hưởng tối thiểu (về mặt cảm nhận) đối với các phương tiện chứa Như vậy các thông tin cần giấu càng nhỏ càng tốt.
Trang 10Tuỳ theo các mục đích khác nhau như bảo vệ bản quyền, chống xuyên tạc nội dung, nhận thực thông tin,… thuỷ vân cũng có các yêu cầu khác nhau
Các kỹ thuật giấu tin mới được phát triển mạnh trong khỏang mười năm trở lại đây nên việc phân loại các kỹ thuật còn chưa hoàn toàn thống nhất Sơ đồ phân loại do F.Petitcolas đưa ra năm 1999 được nhiều người chấp nhận.
Hình 1.4 Phân loại các kỹ thuật giấu tin.
Theo sơ đồ đây, giấu tin được chia thành hai hướng chính là giấu tin mật và thủy vân số Giấu tin mật quan tâm chủ yếu đến lượng tincos thể giấu, còn thủy vân số lại quan tâm chủ yếu đến tính bền vững của thông tin giấu trong từng hướng chính lại chia ra các hướng nhỏ hơn, chẳng hạn với thủy vân số thì có thủy vân bền vững và thủy vân dễ vỡ Thủy vân bền vững cần bảo toàn được các thông tin thủy vân trước các tấn công như dịch chuyển, cắt xén, xoay đối với ảnh Ngược lại, thủy vân dễ vỡ cần phải dễ bị phá hủy khi gặp các sự tấn công nói trên.
1.3 Một số ứng dụng đang được triển khai
1.3.1 Bảo vệ bản quyền tác giả (copyright protection):
Robust WatermarkingThuỷ vân bền vững
Fragile WatermarkingThuỷ vân dễ vỡInformation hiding
Giấu thông tin
WatermarkingThuỷ vân số
Visible WatermarkingThuỷ vân hiển thịSteganography
Giấu tin mật
Imperceptible WatermarkingThuỷ vân ẩn
Trang 11Đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số (digital watermarking) - một dạng của phương pháp giấu tin Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả (người ta gọi nó là thuỷ vân - watermark) sẽ được nhúng vào trong các sản phẩm, thuỷ vân đó chỉ một mình người 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 thành 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 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.
1.3.2 Nhận thực thông tin hay phát hiện xuyên tạc thông tin (authentication and tamper detection):
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 thuỷ 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 thuỷ vân hợp lệ hay xuyê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 được các thay đổi (ví dụ như phân biệt xem một đối tượng đa phương tiện chứa thông tin giấu đã bị thay đổi, xuyên tạc nội dung hay là chỉ bị nén mất dữ liệu) Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin cao và thuỷ vân không cần bền vững.
1.3.3 Giấu vân tay hay dán nhãn (fingerprinting and labeling):
Thuỷ 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 copy khác nhau của thông tin gốc trước khi chuyển cho nhiều
Trang 12người Với những ứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thuỷ vân tránh sự xoá giấu vết trong khi phân phối.
1.3.4 Điều khiển truy cập (copy control):
Các thuỷ vân trong những trường hợp này được sử dụng để điều khiển truy cập đối với các thông tin Các thiết bị phát hiện ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc ghi Ví dụ như hệ thống quản lí sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũng yêu cầu thuỷ vân phải được bảo đảm an toàn và cũng sử dụng phương pháp phát hiện thuỷ vân đã giấu mà không cần thông tin gốc.
+ 2 byte tiếp: số pixel trên một dòng ảnh.+ 2 byte cuối: số dòng ảnh trong ảnh.
Trang 13Ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói (pack) Các dòng giống nhau cũng được nén thành một gói.
2.1.2 Định dạng ảnh PCX.
Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất Nó sử dụng phương pháp mã loạt dài RLE để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với
kiểu IMG Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng.
- 2: version 2.8 với bảng màu.
- 3: version 2.8 hay 3.0 không có bảng màu.- 5: version 3.0 có bảng màu.
Header 128 bytes
Bảng màu mở rộngDữ liệu ảnh nén
Trang 14+ 1 byte: chỉ ra phương pháp mã hoá Nếu là 0 thì mã hoá theo phương pháp BYTE PACKED, nếu không là phương pháp RLE.
+ 1 byte: số bit cho một điểm ảnh plane.
+ 1 word: toạ độ góc trái trên của ảnh Với kiểu PCX nó có giá trị là (0,0); còn PCC thì khác (0,0).
+ 1 word: toạ độ góc phải dưới.
+ 1 word: kích thước bề rộng và bề cao của ảnh.+ 1 word: số điểm ảnh.
+ 1 word: độ phân giải màn hình.+ 1 word.
+ 48 byte: chia thành 16 nhóm, mỗi nhóm 3 byte Mỗi nhóm này chứa thông tin về một thanh ghi màu Như vậy ta có 16 thanh ghi màu.
+ 1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1 pixel/ 8 bit) thì số bit plane lại là 1.
+ 1 byte: số bytes cho một dòng quét ảnh.+ 1 word: kiểu bảng màu.
Trang 15- Phần thứ hai IFD (Image File Directory): Nó không ở ngay sau IFH mà vị trí của nó được xác định bởi trường offset trong đầu tệp.
Một IFD gồm:
+ byte: chứa các DE (Directory Entry).
+ 12 byte là các DE xếp liên tiếp Mỗi DE chiếm 12 byte.+ 4 byte: chứa Offset trỏ tới IFD tiếp theo.
- Cấu trúc phần dữ liệu thứ 3: Các DE
Các DE có độ dài cố định 12 byte và gồm 4 phần.
+ 2 byte: chỉ ra dấu hiệu mà ảnh đã được xây dựng.+ 2 byte: kiểu dữ liệu của tham số ảnh.
+ 4 byte trường độ dài.
+ 4 byte đó là Offset tới điểm bắt đầu dữ liệu thực liên quan tới dấu hiệu, tức là dữ liệu liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở một vị trí nào đó trong
file Dữ liệu chứa trong tệp thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh.
2.1.4.Định dang ảnh GIF.
Ảnh GIF (Graphics Interchange Format) Là một định dạng tập tin hình ảnh bitmap cho các hình ảnh dùng ít hơn 256 màu sắc khác nhau và các hoạt hình dùng ít hơn 256 màu cho mỗi khung hình Gif thường dùng cho sơ đồ, hình vẽ, nút bấm và các hình màu GIF là định dạng nén dữ liệu đặc biệt hữu ích cho việc truyền hình ảnh
qua đường truyền lưu lượng nhỏ Đây là một giải pháp tốt cho hình ảnh trên mạng, cho các hoạt hình nhỏ và ngắn.
Trang 16GIF sử dụng thuật toán nén LOSS LESS (Không mất dữ liệu), điều đó cho phép chúng tạo ra kích thước nhỏ mà không bị mất hoặc mờ bất kỳ chi tiết nào của ảnh dữ liệu
‘,’ ký tự liên kết……… ‘;’ terminator
Hình 2.3: Cấu trúc ảnh Gif
Chữ ký của ảnh.Bộ mô tả hiển thị.Bản đồ màu tổng thể.
Mô tả một đối tượng của ảnh.- Dấu phân cách.
- Bộ mô tả ảnh.- Bản đồ màu cục bộ.
- Dữ liệu ảnh Phần mô tả này lặp lại n lần nếu ảnh chứa n đối tượng.- Phần đầu cuối ảnh GIF (terminator).
+ Chữ ký của ảnh GIF có giá trị là GIF87a Nó gồm 6 ký tự, 3 ký tự đầu chỉ ra kiểu định dạng, 3 ký tự sau chỉ ra version của ảnh.
+ Bộ hình thị: chứa mô tả các thông số cho toàn bộ ảnh GIF:
Trang 17Độ rộng hình raster theo pixel: 2 byte Độ cao hình raster theo pixel: 2 byte.
Các thông tin và bản đồ màu, hình hiển thị,… Thông tin màu nền: 1 byte.
Phần chưa dùng: 1 byte.
+ Bản đồ màu tổng thể: mô tả bộ màu tối ưu đòi hỏi khi bit M=1
Khi bộ màu tổng thể được thể hiện, nó sẽ xác định ngay bộ mô tả hiển thị ở trên và bằng 2m, với m là lượng bit trên một pixel, 3 byte (biểu diễn cường độ màu của 3 màu cơ bản Red-Green-Blue) Cấu trúc của khối này như sau:
Màu Green 2 Giá trị màu xanh lục theo index 0
Màu Green 5 Giá trị màu xanh lục theo index 1
Hình 2.4: Cấu trúc của khối bản đồ màu tổng thể
+ Bộ mô tả ảnh: định nghĩa vị trí thực tế và phần mở rộng của ảnh trong phạm vi không gian ảnh đã có trong phần mô tả hiển thị Nếu ảnh biểu diễn theo ánh xạ màu cục bộ thì cờ định nghĩa phải được thiết lập Mỗi bộ mô tả ảnh được chỉ ra bởi ký tự kết nối ảnh Ký tự này chỉ được dùng khi định dạng GIF có từ 2 ảnh trở lên Ký tự này có các giá trị 0x2c (ký tự dấu phẩy) Khi ký tự này được đọc qua, bộ mô tả ảnh sẽ được kích hoạt Bộ mô tả ảnh gồm 10 byte và có cấu trúc như sau:
Trang 18Các bit Thứ tự byte
Mô tả
0010110 1 Ký tự liên kết ảnh (‘)Căn trái
2,3 Pixel bắt đầu ảnh tính từ trái hình hiển thị
Căn đỉnh trên
4,5 Pixel cuối ảnh bắt đầu tính từ đỉnh trên hình hiển thị
Độ rộng ảnh
6,7 Độ rộng ảnh tính theo pixel
Độ cao ảnh 8,9 Chiều cao ảnh tính theo pixel
MI000pixel 10 Khi bit M=0 sử dụng bảng màu tổng thể M=1 sử dụng bản đồ màu cục bộ I = 0: định dạng ảnh theo thứ tự liên tục I = 1: định dạng ảnh theo thứ tự xen kẽ pixel + 1: số bit/pixel của ảnh này.
Hình 2.5: Cấu trúc bộ mô tả ảnh
+ Bản đồ màu cục bộ: chỉ được chọn khi bit M của byte thứ 10 là 1 Khi bản đồmàu được chọn, bản đồ màu sẽ chiếu theo bộ mô tả ảnh mà lấy vào cho đúng Tại phần cuối ảnh, bản đồ màu sẽ lấy lại phần xác lập sau bộ mô tả hiển thị Các tham số này không những chỉ cho biết kích thước ảnh theo pixel mà còn chỉ ra số thực thể bản đồ màu của nó.
+ Dữ liệu ảnh: chuỗi các giá trị có thứ tự của các pixel màu tạo nên ảnh Các pixel được xếp liên tục trên một dòng ảnh, từ trái qua phải Các dòng ảnh được viết từ trên xuống dưới.
+ Phần kết thúc ảnh: cung cấp tính đồng bộ cho đầu cuối của ảnh GIF Cuối của ảnh sẽ xác định bởi kí tự “;” (0x3b).
Trang 19Định dạng GIF có rất nhiều ưu điểm và đã được công nhận là chuẩn để lưu trữ ảnh màu thực tế (chuẩn ISO 0918-1)
2.2 Kỹ thuật được sử dụng để giấu tin trong ảnh2.2.1 Kỹ thuật Injection
Kỹ thuật Injection hay còn được gọi là kỹ thuật Insertion - Sự them vào, sử dụng kỹ thuật này để giấu dữ liệu ẩn vào trong một đoạn của file, mà đoạn đó hầu như không được để ý trong các ứng dụng xử lý Bằng cách làm này, có thể tránh được sự thay đổi những bit
của file đó Ví dụ có thể cộng thêm một số byte vô hại vào một file thực thi hay file nhị phân, bởi vì những byte đó không ảnh hưởng tới quá trình xử lý đồng thời người sử dụng cũng không thể nhận thức được rằng file đó chứa các thông tin đã được cộng thêm vào Mặc dù vậy, khi sử dụng kỹ thuật này thì nó sẽ làm tăng kích thước của file chứa tin đó, tăng rất nhiều nếu số lượng tin giấu lớn và do đó sẽ gây ra nghi sự nghi nghờ.
Nếu ứng dụng kỹ thuật này vào sử dụng trong giấu tin trong ảnh thì chỉ có thể giấu tin với số lượng có hạn nhất định tùy thuộc vào kích thước của file chứa gốc.
2.2.2 Kỹ thuật Substitution
Trang 20Kỹ thuật này có nghĩa là sự thay thế phương pháp này sử dụng việc thay thế các thông tin ít quan trọng trong việc quyết định nội dung của file gốc, và dữ liệu được thay vào những bít đó ít gây sự thay đổi lớn đến chất lượng file chứa gốc.Ưu điểm của kỹ thuật này là file chứa gốc sau khi giấu tin thì kích thước không thay đổi Và với bài thực tập lần này em sử dụng phương pháp này trong việc nghiên cứu.
Nhược điểm của phương pháp này làm giảm chất lượng của file chứa gốc ban đầu, ngoài ra số lượng tin giấu cũng bị hạn chế do phải phụ thuộc vào số bit ít quan trọng
trong file chứa gốc.
2.3 Kỹ thuật Generation
Kỹ thuật Generation có nghĩa là sự tự phát sinh, không giống như hai kỹ thuật trên, kỹ thuật này không phụ thuộc vào file chứa gốc tồn tại, kỹ thuật này sẽ tạo ra một file chứa với mục đích duy nhất là để giấu tin Hai phương pháp trên người ta có thể so sánh đối chiếu hai file để đưa ra kết luận, với kỹ thuật này thì không phải lo lắng đến điều đó bởi vì chỉ có một file chứa gốc duy nhất và cũng là file chứa tin
Tuy nhiên để áp dụng kỹ thuật này thì rất phức tạp phụ thuộc vào rất nhiều yếu tố để có thể tạo ra file chứa gốc như yêu cầu.
2.4 Phân tích hệ thống thông tin2.4.1 Phân tích yêu cầu:
a Yêu cầu của người sủ dụng đối với hệ thống:
Chương trình giấu tin trong ảnh về cơ bản đáp ứng các yêu cầu sau:Về giao diện: Giao diện thân thiện, dễ sử dụng.
Về chức năng: Đưa thông tin mật vào trong một tài liệu sau đó ẩn thông tin đó đi làm cho người khác không có khả năng phát hiện ra trong tài liệu đó có thông tin được giấu bên trong.