Hỏi Đáp

Tìm Hiểu Về Text Steganography Là Gì, Giới Thiệu Về Steganography

1. Steganography là gì ?

Nếu là một fan trinh thám hay các văn hóa phẩm về điệp viên, chắc hẳn bạn không còn lạ gì với việc truyền tin bằng những đoạn tin quảng cáo tưởng như rất bình thường trên báo, với mật mã “hình nhân nhảy múa” trong Sherlock Holmes, hay gần gũi nhất là hồi nhỏ chúng ta thử nghiệm mực vô hình: dùng nước chanh viết lên giấy, đợi khô rồi hơ nóng, thông điệp viết bằng nước chanh sẽ dần hiện ra.

Bạn đang xem: Steganography là gì

Những ví dụ trên đều là một hình thức của Steganography. Nói đơn thuần là tất cả chúng ta sẽ tạo ra một loại thông điệp hoặc mật mã mà người ngoài nhìn vào, không những không giải được mà còn không nhận ra được rằng nó có chứa đựng một thông điệp bí hiểm – ” The art of disguise is knowing how to hide in plain sight “

Theo định nghĩa từ Wikipedia:

Steganography ( Kỹ thuật giấu tin hay kỹ thuật giấu thư, kỹ thuật ẩn mã ) là thẩm mỹ và nghệ thuật và khoa học về việc viết và chuyển tải những thông điệp một cách bí hiểm, sao cho ngoại trừ người gửi và người nhận, không ai biết đến sự sống sót của thông điệp, là một dạng của bảo mật thông tin bằng cách che giấu. Từ steganography có gốc Hy lạp có nghĩa là ” giấu tin ” phối hợp từ hai từ steganos ( στεγανός ) nghĩa là ” ẩn nấp để bảo vệ ” và graphein ( γράφειν ) nghĩa là ” viết ” .Trong khoảng trống số, steganography sống sót dưới dạng file, lời nhắn, hình ảnh hoặc đoạn video được ẩn giấu trong một file / lời nhắn / hình ảnh hoặc video khác. Các file truyền thông là lớp vỏ bọc ( cover ) lý tưởng để giấu tin vì chúng có kích cỡ lớn. Ví dụ người gửi hoàn toàn có thể biến hóa thành phần sắc tố của một số ít px trên tấm ảnh tương ứng với những ký tự trong bảng vần âm, sự biến hóa này rất nhỏ đến mức không hề nhận ra bằng mắt thường. Trong hai hình phía dưới, hình bên trái là stego image – hình ảnh đã được cài ” thông điệp ” bí hiểm bằng cách giải quyết và xử lý color component của từng px. Hình bên phải là ” thông điệp ” sau khi được extract ra .**

Như vậy chắc các bạn cũng đã nhận ra ưu điểm của steganography so với cryptography (mã hóa thông tin), đó là nó sẽ không thu hút sự chú ý. Một mật mã dù mạnh đến đâu, cũng vẫn sẽ bị để ý đến hoặc tìm cách phá giải, thậm chí bị coi là phạm pháp ở một số quốc gia. Đặt trong bối cảnh ngày nay, thời đại mà thông tin trao đổi qua lại của chúng ta trở thành mỏ vàng cho các công ty quảng cáo, thời đại mà tự do ngôn luận ở một số quốc gia lại là điều xa xỉ, thời đại mà “Big Brother is watching you” không phải chỉ dừng lại ở một viễn cảnh, thì steganography lại càng trở nên đáng được quan tâm hơn bao giờ hết.

Xem thêm: Mức Hỗ Trợ Và Kháng Cự (Resistance) Tốt Nhất, Khái Niệm Mức Hỗ Trợ Và Kháng Cự

2. Text Steganography2. Text Steganography

Như đã nói ở trên, có rất nhiều phương tiện có thể dùng để làm vật trung gian mang tin: file, audio, hình ảnh, video, vv. Nhưng trong cuộc sống hàng ngày thì văn bản (text) chính là phương tiện truyền tin phổ biến nhất. Tuy nhiên so với các file media thì text có mức độ mã hóa thông tin cao hơn dẫn đến ít thông tin dư thừa (redundant information) hơn, làm cho việc giấu thông tin trong đó khó hơn rất nhiều. Trong phạm vi bài viết này, mình sẽ tìm hiểu về bài toán steganography với định dạng text cũng như một số kỹ thuật giấu tin (generation-based) trong văn bản được phát triển trong thời gian gần đây.

2.1. Đặt vấn đề

Giả sử A muốn gửi cho B một tin nhắn chứa thông tin nhạy cảm qua một kênh được giám sát bởi C. Kênh này hoàn toàn có thể được sử dụng chung để liên lạc bởi nhiều bên khác nhau. tin tức được truyền đi trong kênh là văn bản chứa ngôn từ tự nhiên ( natural language ). A vừa phải bảo vệ chỉ có mình B hiểu được nội dung tin nhắn, vừa phải tránh gửi những nội dung ” mất tự nhiên ” hoàn toàn có thể khiến C hoài nghi. Vậy A và B hoàn toàn có thể triển khai những bước như sau :A mã hóa nội dung tin nhắn thành một đoạn văn bản mã hóa (ciphertext), key để mã hóa được nắm giữ bởi cả A và BA giấu đoạn ciphertext (thường là một chuỗi các bit) vào trong một tin nhắn dưới dạng ngôn ngữ tự nhiên bình thường (stegotext)A gửi đoạn stegotext qua kênh liên lạc do C giám sátB nhận được và trích xuất ra ciphertextB giải mã đoạn ciphertext với key chung để lấy được thông tin mật.

Xem thêm:

A mã hóa nội dung tin nhắn thành một đoạn văn bản mã hóa ( ciphertext ), key để mã hóa được nắm giữ bởi cả A và BA giấu đoạn ciphertext ( thường là một chuỗi những bit ) vào trong một tin nhắn dưới dạng ngôn từ tự nhiên thông thường ( stegotext ) A gửi đoạn stegotext qua kênh liên lạc do C giám sátB nhận được và trích xuất ra ciphertextB giải thuật đoạn ciphertext với key chung để lấy được thông tin mật. Xem thêm : Cô Gái Khiến Cđm ” Từ Chối Hiểu Là Gì, Từ Chối Hiểu*Mô hình tổng quát của bài toán giấu tin được biểu lộ như sau :*Trong đó :mmm là tin nhắn bí mật (thường được mã hóa thành một một chuỗi các bit tuân theo phân phối đều (uniform distribution)yyy là đoạn cover text – stegotextq(y)q(y)q(y) là phân phối xác suất của yfff là một hàm khả nghịch dùng để biến đổi m thành yCả A và B đều sử dụng cùng một mô hình ngôn ngữ pLMp_{LM}pLM​ trong quá trình encode, giấu tin và decode

mmm là tin nhắn bí mật (thường được mã hóa thành một một chuỗi các bit tuân theo phân phối đều (uniform distribution)yyy là đoạn cover text – stegotextq(y)q(y)q(y) là phân phối xác suất của yfff là một hàm khả nghịch dùng để biến đổi m thành yCả A và B đều sử dụng cùng một mô hình ngôn ngữ pLMp_{LM}pLM​ trong quá trình encode, giấu tin và decode

Như vậy ta hoàn toàn có thể thấy quy trình này tương quan đến hai quy trình chính : ( 1 ) mã hóa đoạn tin cần chuyển đi và ( 2 ) giấu nó vào trong một đoạn văn bản thông thường .Vậy để mạng lưới hệ thống steganography hoạt động giải trí hiệu suất cao thì hai quy trình này cần phải đạt những tiềm năng nào ? Hay nói cách khác, có những metrics nào để nhìn nhận tính hiệu suất cao của của một chiêu thức giấu tin ?

2.2. Evaluation metrics

2.2.1. Perplexity

Perplexity là thước đo nhìn nhận chất lượng của một quy mô ngôn từ ( language Mã Sản Phẩm ). Giả sử khi tất cả chúng ta kiến thiết xây dựng một quy mô ngôn từ từ một tập mẫu câu, ta sẽ giữ lại một tập câu để test ( held-out ) :