TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN
Giới thiệu chung về giấu tin
1.1.1 Vài nét về lịch sử giấu tin
Steganography, có nguồn gốc từ tiếng Hi Lạp, nghĩa là "tài liệu được phủ", đã tồn tại từ lâu và vẫn được sử dụng cho đến ngày nay Kỹ thuật giấu tin này có nhiều câu chuyện lịch sử thú vị, trong đó nổi bật là ghi chép của sử gia Herodotus về một sự kiện vào thế kỷ thứ năm trước Công Nguyên Khi bạo chúa Histiaeus bị vua Darius bắt giữ, ông đã sử dụng một nô lệ tin cậy để gửi thông báo bí mật đến con rể Aristagoras ở Miletus bằng cách cạo đầu nô lệ và xăm thông điệp lên da đầu của anh ta Khi tóc nô lệ mọc dài trở lại, anh ta được cử đi Miletus để chuyển thông điệp.
Một câu chuyện thú vị từ thời kỳ Hi Lạp cổ đại được Herodotus ghi lại là về Demeratus, một người Hi Lạp, người đã phải thông báo cho Sparta về kế hoạch xâm chiếm của Xerxes.
Để tránh bị phát hiện, một người đã bóc lớp sáp khỏi viên thuốc, khắc thông báo lên bề mặt và sau đó bọc lại bằng sáp mới Kỹ thuật che giấu thông tin đã tồn tại hàng nghìn năm, chủ yếu được sử dụng trong quân đội và các cơ quan tình báo Hiện nay, phương pháp này được nghiên cứu nhằm bảo vệ bản quyền và giấu thông tin mật liên quan đến quân sự và kinh tế.
- Giấu tin là kỹ thuật nhúng một lƣợng thông tin số nào đó vào trong một đối tƣợng dữ liệu số khác
Trong quá trình giấu tin nhằm tăng cường bảo mật, việc sử dụng khóa viết mật là cần thiết Khóa viết mật cho phép thực hiện giấu tin có xử lý, trong khi không sử dụng khóa này chỉ dẫn đến việc giấu tin đơn thuần vào môi trường phủ Do đó, để đảm bảo an toàn thông tin, việc áp dụng khóa viết mật là rất quan trọng.
Yêu cầu cơ bản của giấu tin là đảm bảo tính ẩn của thông tin được giấu mà không làm ảnh hưởng đến chất lượng của dữ liệu gốc.
Sự phát triển của công nghệ thông tin đã mang lại những môi trường giấu tin đa dạng và tiện lợi, bao gồm văn bản, hình ảnh, âm thanh, và các phần mềm tiện ích Ngoài ra, thông tin cũng có thể được giấu trong các khoảng trống và phân vùng ẩn của đĩa cứng và đĩa mềm.
Các phương pháp giấu tin được tiến hành theo nhiều cách khác nhau tùy vào mục đích và môi trường giấu tin Mỗi kỹ thuật giấu tin gồm :
- Bộ giải mã thông tin
Thuật toán giấu tin cho phép ẩn thông tin vào các phương tiện truyền tải bằng cách sử dụng một khóa bí mật chung giữa người mã hóa và người giải mã.
Lƣợc đồ chung cho giấu tin
Quá trình giấu tin cơ bản được thể hiện qua hình vẽ, trong đó phương tiện chứa như text, audio, video, và ảnh được sử dụng để ẩn thông tin Thông tin giấu, có thể là ảnh, logo hoặc đoạn văn bản, tùy thuộc vào mục đích người dùng Thông tin này được nhúng vào phương tiện chứa thông qua một chương trình Sau khi hoàn tất, phương tiện chứa thông tin đã giấu sẽ được phân phối trên mạng Khi nhận được phương tiện có giấu tin, quá trình giải mã sẽ được thực hiện bằng chương trình giải mã tương ứng và khóa mã hóa, từ đó thu được phương tiện chứa gốc.
Nhúng thông tin vào phương tiện chứa
6 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 giấu ban đầu
Steganography là nghệ thuật và khoa học của việc giấu thông tin, nhằm ẩn giấu các thông điệp bên trong những thông điệp khác mà không làm ảnh hưởng đến nội dung gốc Mục tiêu chính của steganography là đảm bảo rằng những người không có thẩm quyền không thể phát hiện hoặc phá hủy thông tin đã được giấu kín.
1.1.3 Một số tính chất giấu tin
Một kỹ thuật giấu tin đƣợc đánh giá dựa trên một số đặc điểm sau :
- Tính vô hình của thông tin đƣợc giấu
Tính vô hình là khả năng biến đổi môi trường giấu tin để thông tin mật trở nên khó phát hiện Một phương pháp hiệu quả sẽ giúp người dùng không nhận ra sự tồn tại của thông tin ẩn giấu Tuy nhiên, không phải lúc nào mục tiêu đạt được tính vô hình cao nhất cũng là ưu tiên, như trong trường hợp bảo vệ bản quyền.
Dung lượng giấu là tỷ lệ giữa lượng tin giấu và kích thước môi trường giấu, đóng vai trò quan trọng khi tin mật được gửi qua mạng Các phương pháp giấu tin đều hướng đến việc tối ưu hóa dung lượng giấu mà vẫn bảo đảm tính bí mật Tuy nhiên, trong thực tế, cần phải cân nhắc giữa dung lượng và các yếu tố khác như tính vô hình và tính bền vững.
Tính bền vững của thông tin mật là khả năng duy trì sự nguyên vẹn sau khi trải qua các biến đổi trong môi trường giấu Những môi trường này không chỉ là nơi chứa đựng thông tin mà còn có thể phải trải qua nhiều giai đoạn biến đổi khác nhau, ảnh hưởng đến tính chất và độ tin cậy của dữ liệu.
Phân loại các kỹ thuật giấu tin
Mục đích của việc giấu tin là đảm bảo an toàn và bảo mật thông tin Có 2 khía cạnh cần đƣợc quan tâm đó là:
+ Bảo mật cho dữ liệu đƣợc đem giấu
+ Bảo mật cho chính đối tƣợng đƣợc đem giấu thông tin
Hai khía cạnh khác nhau này dẫn đến 2 khuynh hướng kỹ thuật chủ yếu của giấu tin : steganography và watermarking
Steganography là kỹ thuật giấu thông tin nhằm tối đa hóa lượng dữ liệu ẩn bên trong một đối tượng, đồng thời làm cho việc phát hiện thông tin bị giấu trở nên khó khăn hơn so với các phương pháp truyền thống.
Watermaking là phương pháp đánh dấu đối tượng để xác nhận quyền sở hữu hoặc phát hiện thông tin bị xuyên tạc Thủy vân số được chia thành hai loại: thủy vân bền vững và thủy vân dễ vỡ.
Thuỷ vân bền vững là một giải pháp hiệu quả trong việc bảo vệ bản quyền, thường được sử dụng như một hình thức dán tem bản quyền trên sản phẩm Để đảm bảo tính bảo mật, thuỷ vân cần được duy trì lâu dài cùng với sản phẩm, nhằm ngăn chặn việc tẩy xoá, làm giả hoặc biến đổi, phá huỷ thuỷ vân.
+ Thuỷ vân ẩn: cũng giống như giấu tin, bằng mắt thường không thể nhìn thấy thuỷ vân
+ Thuỷ vân hiện: là loại thuỷ vân được hiện ngay trên sản phẩm và người dùng có thể nhìn thấy đƣợc
Thủy vân dễ vỡ là kỹ thuật nhúng thủy vân vào ảnh, giúp bảo vệ sản phẩm trong môi trường mở Nếu có bất kỳ biến đổi nào ảnh hưởng đến sản phẩm gốc, thủy vân sẽ không còn nguyên vẹn, thể hiện tính chất dễ vỡ của nó.
So sánh giữa steganography và watermarking
- Che giấu sự hiện hữu của thông điệp
- Thông tin che giấu độc lập với vỏ bọc
-Thêm vào thông tin bản quyền
-Che giấu thông tin gắn với đối tƣợng vỏ bọc
Yêu cầu Không phát hiện đƣợc thông điệp bị che giấu Dung lƣợng tin đƣợc dấu
Phát hiện ra thông điệp bí mật bị che giấu
Một số ứng dụng
Liên lạc bí mật là một phương pháp hiệu quả để truyền đạt thông tin nhạy cảm mà không gây sự chú ý Việc sử dụng mật mã có thể thu hút sự chú ý không mong muốn, trong khi công nghệ mã hóa đôi khi bị hạn chế hoặc cấm Thay vào đó, giấu tin trong một môi trường cụ thể và gửi đi qua mạng là cách an toàn hơn để chia sẻ bí mật thương mại, bản vẽ hoặc thông tin nhạy cảm khác.
Bảo vệ bản quyền là việc sử dụng biểu tượng bí mật, hay còn gọi là watermark, được nhúng vào ảnh để xác nhận quyền sở hữu Watermark có thể có cấu trúc phức tạp và thường được đính kèm khi bán hoặc phân phối ảnh, đồng thời có thể gán một nhãn thời gian để chống giả mạo Ngoài ra, watermark còn giúp phát hiện xem các ảnh có bị sửa đổi hay không, và việc phát hiện này được thực hiện thông qua các phương pháp đặc biệt.
9 thống kê, so sánh độ tương quan bằng cách đo đạc xác định chất lượng của Watermark trong ảnh phủ
Gán nhãn cho ảnh bao gồm tiêu đề, chú giải và nhãn thời gian, cùng với các minh họa khác, cho phép nhúng thông tin như tên người hoặc địa danh Khi sao chép ảnh, dữ liệu nhúng cũng được sao chép, và chỉ có chủ sở hữu tác phẩm với khóa mật (Stego-Key) mới có thể truy cập các chú giải này Trong cơ sở dữ liệu ảnh, việc nhúng từ khóa giúp các động cơ tìm kiếm nhanh chóng tìm thấy bức ảnh Nếu ảnh là một khung trong đoạn phim, có thể gán thời điểm diễn ra sự kiện để đồng bộ hình ảnh với âm thanh, đồng thời ghi lại số lần xem để tính phí theo lượt xem.
VĂN BẢN VÀ GIẤU TIN TRONG VĂN BẢN
Các loại bảng mã tiếng Việt
Trước hết ta tìm hiểu các khái niệm về điểm mã, đơn vị mã, bảng mã
Máy tính hoạt động chủ yếu với các con số, vì vậy để hiển thị ký tự, cần có một quy ước nhất quán giữa các ký tự và số tương ứng mà máy tính xử lý Quy ước này được thể hiện qua các bước cụ thể.
+ Chọn tập các ký tự cần mã hóa
+ Gán cho mỗi ký tự cần mã hóa một giá trị nguyên không âm, gọi là điểm mã
Chuyển đổi các điểm mã thành dãy đơn vị mã là cần thiết cho việc lưu trữ và mã hóa Các điểm mã này không nhất thiết phải có số lượng đơn vị mã giống nhau.
Bảng mã là tập hợp các điểm mã cho một tập ký tự, trong đó chúng ta chú ý đến số lượng ký tự được mã hóa và phương pháp mã hóa chúng thành các đơn vị mã.
Bảng mã ASCII là một tập hợp gồm 128 ký tự, trong đó mỗi ký tự được mã hóa bằng một điểm mã có giá trị từ 0 đến 127 Mỗi điểm mã này được biểu diễn bằng một đơn vị mã 8 bit.
TCVN là bảng mã 16 bit, với giá trị từ 0000 đến FFFF, dùng để biểu diễn các điểm mã cho các tập ký tự cơ bản và mở rộng Bảng mã này bao gồm các nhóm chữ cái, dấu thanh, nguyên âm, chữ số, ký hiệu, dấu câu và ký tự nguyên âm có dấu thanh.
Unicode được phát triển để thống nhất các ký tự của tất cả các ngôn ngữ trong một bảng mã duy nhất Phiên bản đầu tiên của Unicode được phát hành vào năm 1991 bởi hiệp hội.
Unicode Các phiên bản mới đƣợc viết dựa trên các phiên bản đã có, nhờ vậy đảm bảo được tính tương thích
- Khi đề cập đến thuật ngữ Unicode thì người ta thường quan tâm hai vấn đề :
+ Tập ký tự mà Unicode biểu biễn: tập ký tự và cách ánh xạ các ký tự bằng các điểm mã tương ứng
+ Cách mã hóa các điểm mã thành các đơn vị mã
- Unicode dùng 16 bit để biểu điễn các điểm mã, do đó nó có thể biểu diễn đƣợc đến 65536 ký tự
- Mã cho phép từ 0 đến FFFF Mã nhỏ nhất 0 dùng cho NULL
Hầu hết các máy tính hiện nay vẫn sử dụng bộ mã ASCII, khiến chúng không nhận diện được các mã lớn hơn 7F ASCII chỉ xử lý dữ liệu theo chuỗi 8bit, trong khi Unicode được mã hóa dưới dạng 16bit, dẫn đến nhầm lẫn trong việc xử lý các ký tự Để khắc phục vấn đề này, các phương pháp mã hóa đã được phát triển.
Mỗi cách mã hóa nhƣ vậy đƣợc gọi là một dạng biến đổi của Unicode (UTF – Unicode Transformation Format ) Thông dụng nhất hiện nay là UTF_16,
UTF-8 dùng dãy các đơn vị mã có độ dài khác nhau để mã hóa các điểm mã
UTF-16 là một kiểu mã hóa Unicode, trong đó mỗi ký tự được biểu diễn bằng một chuỗi 16 bit tương ứng với giá trị mã của nó Kiểu mã hóa này được sử dụng phổ biến trong các hệ thống như Windows 2000/XP và Java.
VD : trong UTF-16 chữ “ầ” đƣợc mã hóa thành chuỗi 16 bit 0001
1110 1010 0111(A7) tương đương với mã gốc của “ầ” trong bảng Unicode
UTF-8 là một phương pháp mã hóa cho các ký tự Unicode, trong đó mỗi ký tự được biểu diễn bằng một hoặc nhiều chuỗi 8 bit, giúp hệ thống ASCII nhận diện Phương pháp này có thể không tương đương với mã gốc UTF-8 thường được sử dụng trong các ứng dụng web.
Cách mã hóa của UTF-8
- 128 ký tự đầu tiên của Unicode từ điểm mã U+0000 đến U+007F, đƣợc mã hóa thành 1 byte
- Từ điểm mã U+0080 đến U+07FF, đƣợc mã hóa thành 2 byte
- Từ điểm mã U+0800 đến U+FFFF, đƣợc mã hóa thành 3 byte
VD : trong UTF-8 chữ “ầ” đƣợc mã thành 3 chuỗi 8 bit
- Cách hoán chuyển UTF-16 qua UTF-8 và ngƣợc lại đƣợc làm theo bảng
00000yyy yyxxxxxx byte 1 byte 2 110yyyyy 10xxxxxx
800-FFFF byte 1 byte 2 zzzzyyyy yyxxxxxx byte 1 byte 2 byte 3 1110zzzz 10yyyyyy 10xxxxxx
VD : Mã hóa ký tự Unicode tiếng Việt “ầ” (mã = 1EA7) dùng UTF-8:
- Viết mã thành 1 chuỗi 16 bit (UTF-16): 0001 1110 1010 0111 tương đương với 1EA7
Chia chuỗi 16 bit thành 2 byte : byte 1 là: 0001 1110 byte 2 là : 1010 0111
7FF < 1EA7 < FFFF Theo bảng trên, chuyển đổi cho ký tự “ầ” sẽ có
Trong bài viết này, chúng ta sẽ phân tích ba chuỗi 8 bit, trong đó zzzz tương ứng với byte 1 và byte 2 trong cột UTF-16 với giá trị 0001, yyyyyy là 111010, và xxxxxx là 100111 Khi đối chiếu với byte 1, byte 2 và byte 3 trong cột UTF-8, chúng ta sẽ nhận được định dạng UTF-8 tương ứng.
Byte 1 là : 1110zzzz = 11100001 ( Byte 2 là : 10yyyyyy = 10111010 () Byte 3 là : 10xxxxxx = 10100111 () Tổng hợp lại, ký tự “ầ” đã được mã hóa dưới dạng UTF-8 là: E1BAA7
Lưu ý : bây giờ ta có 3 byte cho ký tự “ầ” , khác với ký tự gốc là 2 byte
Hầu hết các trang web tiếng Việt hiện nay sử dụng mã hóa UTF-8 để đảm bảo tính tương thích, mặc dù vẫn còn một số trang giữ cách mã hóa cũ Các trình duyệt như Mozilla Firefox có khả năng tự động chọn mã hóa phù hợp nếu máy tính đã được cài đặt font chữ thích hợp.
Các loại văn bản
ASCII (Mã chuẩn Mỹ cho trao đổi thông tin) là bộ mã đầu tiên được phát triển khi máy tính ra đời Nó quy định mối quan hệ giữa các kiểu bit số và ký hiệu trong ngôn ngữ viết, giúp các thiết bị số có thể giao tiếp, xử lý, lưu trữ và trao đổi thông tin theo dạng ký tự.
- ASCII đƣợc công bố làm tiêu chuẩn lần đầu tiên vào năm 1963 bởi Hiệp hội tiêu chuẩn Hoa Kỳ
ASCII là mã 7 bit, cho phép biểu diễn 128 ký tự, bao gồm các ký tự tiếng Anh, ký số và các ký tự đặc biệt như dấu cộng, trừ và phần trăm Mặc dù dữ liệu được định dạng trong 8 bit, chỉ 7 bit được sử dụng cho mã ASCII; bit thứ tám thường được dùng để kiểm tra lỗi hoặc chức năng thiết bị Trong các máy tính không sử dụng kiểm tra chẵn-lẻ, bit thứ tám thường được đặt là 0, nhưng một số thiết bị như máy PRIME chạy PRIMOS lại thiết lập bit này là 1.
- Mã cho phép từ 0 dến 7F
Mã nhỏ nhất 0 dùng cho ký tự NULL,mã lớn nhất 7F dùng cho phím DEL
32 ký tự đầu tiên là các ký tự điều khiển không in đƣợc nhƣ ký tự Enter (mã
Các mã ASCII 32-47, 58-64, 91-96 và 123-127 là các ký tự đặc biệt nhƣ dấu chấm, dấu phẩy, dấu cách, dấu ngoặc, dấu móc, dấu hỏi, …
Các mã ASCII 48-57 là 10 chữ số
Các mã ASCII 65-90 là các chữ cái hoa từ A đến Z
Các mã ASCII 97-122 là các chữ cái thường từ a đến z
1 ký tự đƣợc mã hóa thành 1 byte
Bảng mã ANSI là bảng mã ASCII mở rộng, dùng 8 bit để biểu diễn 256 mã
Mã cho phép từ 0 đến FF Mã nhỏ nhất là 0, dùng cho ký tự NULL, mã lớn nhất là FF ASCII là tập con của ANSI
Bảng mã ASCII mở rộng
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản được sử dụng để xây dựng các trang web Tệp HTML chứa các thẻ giúp trình duyệt web hiểu và hiển thị nội dung của trang một cách chính xác.
Trong file HTML, các phần tử được định nghĩa bằng các thẻ HTML, được bao bởi dấu < và > Thẻ HTML thường xuất hiện theo cặp, bao gồm thẻ bắt đầu và thẻ kết thúc , với nội dung nằm giữa hai thẻ này Lưu ý rằng các thẻ HTML không phân biệt chữ hoa chữ thường.
- Có thể tạo tài liệu HTML bằng bất kỳ trình soạn thảo nào Notepad, Worpad, Prontpage, DreamWeaver, Jereator
- Ƣu và nhƣợc điểm của trang web khi viết bằng HTML
+ Ƣu điểm : - thiết kế đồ họa đẹp
- Tốc độ truy cập nhanh vì không mất thời gian truy vấn CSDL
- Chi phí đầu tƣ thấp vì không phải xây dựng CSDL, chi phí cho thuê chỗ, chi phí yêu cầu hệ điều hành tương đối ít
+ Nhƣợc điểm : - khó khăn trong việc thay đổi và cập nhật thông tin
- thông tin không có tính linh hoạt, không thân thiện với người dùng
- khó thích hợp nâng cấp mở rộng
- Các trang Web khác nhau, tẻ nhạt hay sinh động, vô nghĩa hoặc rất cần thiết, thì tất cả đều có cùng một cấu trúc cơ sở.
- Cấu trúc cơ bản của 1 trang web
< Head > < Title > tiêu đề của trang web< / Title >
Nội dung của trang web
Tập tin HTML bắt đầu bằng thẻ để thông báo cho trình duyệt rằng đây là tài liệu chứa mã HTML, và kết thúc bằng thẻ Để xác định phần đầu của tài liệu, cần thêm thẻ và ngay sau thẻ Trong phần đầu này, thông tin phổ biến nhất là tên trang, được đặt giữa các thẻ và Tên trang sẽ hiển thị trên thanh tiêu đề của cửa sổ trình duyệt khi người dùng truy cập trang web.
Phần thân của trang web chứa các văn bản hiển thị và các thẻ khác quy định hình thức của trang Nội dung được đặt trong các thẻ .
sau phần đầu (dưới )
- Một số thẻ đinh dạng
+ định dạng font chữ : chọn kiểu chữ hiển thị
văn bản hoặc đoạn văn bản
+Các thuộc tính : face = ” tên font ”
+ thẻ xuống dòng : < Br > Thẻ này không có thẻ đóng, nó có tác dụng chuyển sang dòng mới
Các thẻ định dạng trong ký tự quy định thuộc tính như in đậm, in nghiêng, gạch chân cho văn bản hiển thị trên trình duyệt Thẻ in chữ đậm được sử dụng với cú pháp chuỗi văn bản , thẻ in chữ nghiêng với cú pháp chuỗi văn bản , thẻ gạch chân với cú pháp chuỗi văn bản , và thẻ gạch ngang với cú pháp chuỗi văn bản .
+ căn lề văn bản : muốn có một trang web với bố cuc đẹp thì phải chú ý tới việc căn lề
< P align=”kiểu căn chỉnh”> đoạn văn bản < /P>
Kiểu căn chỉnh : left : căn lề trái
Ngoài ra, có thể dùng < CENTER >đoạn văn bản
…
Các thuộc tính : BgColor =màu Border=n :độ dày đường viền BorderColor = màu
< Tr > < / Tr > tạo dòng trong bảng < Td > < / Td > tạo ô trong dòng + thẻ chèn âm thanh
Thẻ chèn hình ảnh sử dụng cú pháp , trong đó "src" là viết tắt của nguồn, và tên tập tin là đường dẫn đến hình ảnh cần hiển thị, hỗ trợ định dạng GIF hoặc JPG Để tạo liên kết, bạn sử dụng thẻ Nhãn định danh, cho phép người dùng truy cập vào một địa chỉ web cụ thể.
URL là địa chỉ của một website hoặc đường dẫn đến một trang cần liên kết, trong đó "href" là viết tắt của hypertext reference (tham chiếu siêu văn bản) Bạn chỉ cần thay thế từ "địa chỉ" bằng địa chỉ thực của trang web mà bạn muốn sử dụng để liên kết.
Các loại Form
Action =URL cho biết các thông tin đƣa vào Form sẽ gửi đi đâu Method : Post/Get phương thức nhận dữ liệu
Nhãn định danh
Hộp văn bản ẩn :
Hộp văn bản lớn :
giá trị ban đầu(nếu có)
nhãn định danh
nhãn định danh Danh sách lựa chọn :
Nhãn định danh 1
Nhãn định danh n
Trong đó : size=1 :combo box không có multiple
Size >=2 listbox,sd multiple ko cho phép chọn nhiều giá trị cung lúc
- Màu sắc trong thiết kế web
Màu sắc có thể đƣợc xác định qua thuộc tính bgcolor= hay color= Sau dấu
“ = ” có thể là giá trị RGB hay tên tiếng Anh của màu (với tên tiếng Anh co 16 màu, giá trị RGB có 256 màu )
Màu sắc Giá trị Tên tiếng anh Đỏ Đỏ sẫm
RED DARKRED GREEN LIGHTGREEN BLUE
BLACK GRAY BROWN MAGENTA VIOLET PINK ORANGE
2.2.3 Văn bản theo chuẩn Microsoft Word (.doc)
Microsoft Word, hay còn gọi là Winword, là một trong những công cụ soạn thảo văn bản phổ biến nhất hiện nay, được phát triển bởi công ty phần mềm nổi tiếng Microsoft.
Nó cho phép người dùng làm việc với văn bản thô, áp dụng các hiệu ứng như phông chữ, màu sắc, và hình ảnh đồ họa Bên cạnh đó, nhiều hiệu ứng đa phương tiện như âm thanh và video cũng được tích hợp, giúp việc soạn thảo văn bản trở nên thuận tiện hơn Hơn nữa, các công cụ kiểm tra chính tả và ngữ pháp cho nhiều ngôn ngữ khác nhau cũng hỗ trợ người sử dụng hiệu quả.
Các phiên bản của Word thường lưu tên tệp tin với đuôi là doc hay docx đối với Word 2007
Phiên bản đầu tiên của Word được phát hành trên hệ điều hành MS-DOS vào tháng 11 năm 1983 Đến năm 2006, phiên bản mới nhất là Office Word 2007 đã được giới thiệu.
Giấu tin trong văn bản
Để giấu thông tin trên trang HTML, không nên chèn thêm thông tin trực tiếp vào trang vì nó có thể hiển thị trên trình duyệt hoặc bị lộ trong mã nguồn.
Có thể giấu thông tin trong tệp HTML bằng cách thay đổi thứ tự các thuộc tính mà không làm ảnh hưởng đến nội dung của tệp.
Mỗi sự kết hợp giữa các class và style cho phép quy ước và giấu thông tin, ví dụ như cần 80 cặp thẻ Span để ẩn 10 ký tự của một bí mật văn bản Ngoài thẻ Span, HTML còn cung cấp nhiều định dạng thẻ khác nhau Một ví dụ điển hình là thuộc tính khóa đầu tiên có thể mang ý nghĩa "1", trong khi thuộc tính đầu tiên lại có thể có nghĩa là "0".
Cặp thuộc tính Bit dấu Cặp thuộc tính Bit dấu width - height 1 Height - width 0 src - alt 1 Alt - src 0 align - valign 1 Valign - align 0 href - target 1 Target - href 0
24 Để hiểu rõ hơn vấn đề này ta xem xét ví dụ sau Ở trên, ta sẽ thấy đó là một trang web giới thiệu về loài chim fanatic
bigText (font-size: 14px; font-weight: bold;)
The Finches who got their Name from Islands which got their Name from Dogs
Có năm các cặp thuộc tính hữu ích:
The Bit attribute pair consists of key-value pairs such as name-content, where 'name' has a value of 1 and 'content' has a value of 0 Other pairs include text-bgcolor, with 'bgcolor' valued at 1 and 'text' at 0, as well as alink-vlink, where 'vlink' is 1 and 'alink' is 0 Additionally, the align-width pair shows 'width' at 1 and 'align' at 0, while the class-style pair has 'style' valued at 1 and 'class' at 0.
Mỗi cặp thuộc tính chỉ xuất hiện một lần, vì vậy phần đầu của tài liệu chỉ có thể ẩn năm bit Tiếp theo, chúng ta sẽ xem xét phần còn lại của trang web.
The most canaries are yellow, even though they can have all thinkable patterns of
white, red and
grey
click here to photos
Male birds are great singers
click here to listen to a sample
You cannot keep canaries in a cage all day long
They can get sick, if you don’t let them fly
Another big mistake is to keep one canary alone
Every birds need at least one partner,
Loneliness can lead to bad disorders
Trong phần này của các tài liệu, ta thêm đƣợc các cặp thuộc tính :
Cặp thuộc tính Bit dấu Cặp thuộc tính Bit dấu width - height 1 Height - width 0 src - alt 1 Alt - src 0 title - border 1 Border - title 0
Cellspacing - cellpadding 1 Cellpadding -cellspacing 0 bgcolor - align 1 Align - bgcolor 0 align - valign 1 Valign - align 0 href - target 1 Target - href 0
Sự kết hợp của width và height cho phép ẩn tới 4 bit, trong khi src và alt có thể ẩn 3 bit Tương tự, title và border cũng có thể ẩn 3 bit, và cellpadding/cellspacing ẩn 1 bit Các thuộc tính bgcolor và align ẩn 2 bit, trong khi align và valign có thể ẩn tới 6 bit Href và target cung cấp thêm 3 bit Tổng cộng, tài liệu có thể ẩn 26 bit, tương đương với 3 ký tự.
Ba ký tự không phải là đủ cho một lá thƣ dài, nhƣng đủ để nói "no!", trong bảng mã ASCII thì có giá trị ", 110 111 033" ( "01101110 01101111 00100001" ~ 6E 6F
21) Thực hiện ẩn thông tin (nhị phân) tại các cặp từ khóa
Quy ước : name/content là "1", content/name là "0" Đổi lại thứ tự các thuộc tính, để ẩn một giá trị "0":
Một bit đã đƣợc ẩn bit tiếp theo,
text/bgcolor là "1", bgcolor/text là "0" alink/vlink là "1", vlink/alink là "0"
"1" và "1" là mã cần ẩn, vì thế không có thay đổi đối với các dòng
< body text = "# 000000" bgcolor = "# FFFFFF" link = "# FF0000" alink = "# FF0000" vlink = "# FF0000">
Thuộc tính khóa đầu tiên trong thẻ này là "src", tìm thuộc tính tương ứng "alt"
Các bit cần ẩn là "0", là sự kết hợp của "0" là alt / src, do đó ta đặt thuộc tính "alt" trước thuộc tính "src"
Các thuộc tính khóa tiếp theo là "width", thuộc tính tương ứng là "height" Bit cần ẩn là "1", do đó, đặt "height" sau "width"
Thuộc tính khóa là "title", và thuộc tính tương ứng của nó là "border" Để ẩn một "0", thuộc tính "title" đặt phía sau "border"
Đánh giá : Với các cặp thuộc tính trên ta có nhận xét sau :
Trang HTML Cặp thuộc tính Số lần lặp Số bit dấu Tỉ lệ giấu
Canary name – content text – bgcolor alink – vlink align – width class – style width – height src – alt title – border Cellspacing - cellpadding bgcolor – align align – valign href – target
Giấu tin bằng cách nào?
Chúng tôi sẽ thay đổi các thuộc tính không nhìn thấy của văn bản, mặc dù có nhiều thuộc tính mà máy tính không thể theo dõi Việc giấu tin có thể tốn kém thời gian và tiền bạc nếu không áp dụng đúng phương pháp Hiệu quả của việc giấu tin sẽ được nâng cao khi sử dụng mã hóa đúng cách, và chúng tôi sẽ chọn phương pháp thay thế ký tự trong bảng mã Unicode cùng với việc thay đổi chế độ màu sắc.
Trong chế độ giấu tin này, chúng tôi thay thế các ký tự trong văn bản để ẩn thông tin Bit 0 được biểu thị bằng ký tự gốc, trong khi Bit 1 được thể hiện qua ký tự thay thế Unicode hỗ trợ nhiều ký tự từ các ngôn ngữ khác nhau trên thế giới, do đó việc chọn một ký tự không sử dụng và thay thế vào ký tự cần giấu tin là khá dễ dàng.
Không phải tất cả các phông chữ đều hỗ trợ việc giải mã tin nhắn, vì vậy chương trình khuyên bạn nên kiểm tra tin nhắn trước khi gửi để đảm bảo nội dung chính xác Người nhận cần cài đặt cùng một phông chữ mà bạn đã sử dụng trên máy tính của mình Tuy nhiên, điều này thường không phải là vấn đề lớn, vì có nhiều phông Unicode phổ biến trên các phiên bản hệ điều hành Windows Ngoài ra, người nhận cũng cần biết lựa chọn khóa mà bạn đã sử dụng để giải mã.
Ví dụ : văn bản để giấu thông điệp sử dụng font Time New Roman ă ă
Chữ ă có vị trí ( mã ) là x -> bit 0, y -> bit 1
Việc tạo thêm thông tin chỉ rõ ràng khi xem xét mã của các chữ cái Chúng ta sẽ giấu các bit trên nguyên âm, trong đó 8 bit đầu tiên sẽ được sử dụng để chỉ định độ dài của thông điệp đã được mã hóa.
Ký tự Mã Bit dấu Ký tự thay thế Mã Bit dấu a â á
Ví dụ : thông tin cần ẩn là "no!", và ẩn trong đoạn văn bản dưới đây
Thành công là gì mà nhiều người dành cả đời theo đuổi? Có phải đó là sự hoàn hảo trong công việc, hay là cuộc sống giàu sang và được nể phục? Hãy dành thời gian suy ngẫm, vì cuộc sống sẽ chỉ cho bạn thấy rằng có những người đạt được thành công một cách giản dị và bất ngờ.
Chuỗi bit cần ẩn là "00000011 01101110 01101111 00100001" 8 bit đầu là độ dài thông tin ẩn Đánh giá : giả sử với bảng khóa nhƣ trên
Trang văn bản Số lƣợng từ Số bit dấu Tỉ lệ dấu
Khổ A4, font Time New Roman, cỡ chữ 13
720 370 Đã bao giờ bạn tự hỏi thành công là gì mà bao kẻ bỏ cả cuộc đời mình theo đuổi? Bit cần dấu ”00000011”
Phải chăng đó là kết quả hoàn hảo trong công việc, sự chính xác đến từng chi tiết? Bit cần dấu ”1110”
Thành đạt không chỉ đơn thuần là có cuộc sống giàu sang và được mọi người nể phục, mà còn là sự giản dị trong hành trình đạt được thành công Hãy dành thời gian để suy ngẫm, bạn sẽ nhận ra rằng có những người thành công một cách bất ngờ và giản dị.
Chế độ thay đổi Màu sắc
Chế độ này mang lại sự ổn định và an toàn cao, cho phép thay đổi màu sắc của các ký tự trong văn bản để giấu thông tin theo chuỗi bit dấu Màu sắc được chọn sẽ gần giống với màu sắc gốc, khiến cho sự khác biệt khó nhận ra bằng mắt thường Bit 0 được thể hiện qua ký tự có màu sắc ban đầu, trong khi bit 1 được biểu thị bằng ký tự có màu sắc gần nhất với màu gốc Người nhận cần biết màu sắc đã được chọn để giải mã thông tin Tương tự như chế độ thay thế ký tự trong bảng mã Unicode, chế độ thay đổi màu sắc cũng sử dụng 8 bit đầu tiên để chỉ độ dài của thông điệp được giấu.
Ví dụ : ta chon màu đen để ẩn thông tin cần dấu
Để hiểu rõ về chế độ thay đổi màu sắc, ta xem xét ví dụ sau: thông tin cần ẩn là "no!" và được ẩn trong đoạn văn bản dưới đây Việc sử dụng mã nhị phân 255 255 255 cho bit 0 và 255 255 254 cho bit 1 giúp minh họa cách thức ẩn thông tin hiệu quả.
Bạn có bao giờ tự hỏi thành công thực sự là gì mà nhiều người dành cả đời để theo đuổi? Liệu đó có phải là sự hoàn hảo trong công việc và sự chính xác đến từng chi tiết? Hay đơn giản chỉ là một cuộc sống giàu có và được mọi người nể trọng? Hãy dành thời gian để suy ngẫm, vì cuộc sống sẽ cho bạn thấy rằng có những người đạt được thành công theo cách rất giản dị và bất ngờ.
CHƯƠNG TRÌNH MÔ PHỎNG
Mô tả thuật toán
Thông điệp dấu: Một chuỗi các bit
Giao diện chương trình giấu tin trong HTML
Trang HTML để thực hiện giấu tin
Văn bản đã đƣợc giấu tin
Lấy tin từ văn bản đã giấu dạng nhị phân
37 Trang HTML sau khi giấu tin