Я вважаю, що ви шукаєте - стеганографія , спосіб приховати повідомлення в іншому невинному вигляді.
Здається, для Linux на цьому не існує безлічі інструментів, але outguess 1 і steghide 2 зробили б що ви хочете. openstego - це ще одне (з інтерфейсом командного рядка).
Наприклад outguess
, я копіюю / вставляю текст вашого запитання в Q.txt
:
$ ../src/outguess/outguess -k 'Unix&Linux' -d Q.txt Tux.jpg Tux_steg.jpg
Reading Tux.jpg....
JPEG compression quality set to 75
Extracting usable bits: 10126 bits
Correctable message size: 5008 bits, 49.46%
Encoded 'Q.txt': 4592 bits, 574 bytes
Finding best embedding...
0: 2274(49.2%)[49.5%], bias 2008(0.88), saved: 2, total: 22.46%
3: 2269(49.1%)[49.4%], bias 2007(0.88), saved: 3, total: 22.41%
13: 2268(49.0%)[49.4%], bias 1977(0.87), saved: 3, total: 22.40%
62: 2237(48.4%)[48.7%], bias 1992(0.89), saved: 7, total: 22.09%
78: 2216(47.9%)[48.3%], bias 1964(0.89), saved: 10, total: 21.88%
78, 4180: Embedding data: 4592 in 10126
Bits embedded: 4624, changed: 2216(47.9%)[48.3%], bias: 1964, tot: 10119, skip: 5495
Foiling statistics: corrections: 1437, failed: 746, offset: 198.494881 +- 300.529142
Total bits changed: 4180 (change 2216 + bias 1964)
Storing bitmap into data...
Writing Tux_steg.jpg....
$ ../src/outguess/outguess -k 'Unix&Linux' -r Tux_steg.jpg out.txt
Reading Tux_steg.jpg....
Extracting usable bits: 10126 bits
Steg retrieve: seed: 78, len: 574
$ diff out.txt Q.txt
$ echo $?
0
Вихідне зображення (від Tux.svg ):
Зображення із запитанням, прихованим всередині нього:
Зображення відрізняються, якщо придивитись уважно, але це приблизно так, як якщо б друге було сформовано з більш високим рівнем стиснення JPEG. Той факт, що весь текст вашого запиту змішаний (і захищений паролем), візуально не помітний.
Чим менше приховане повідомлення, тим менш візуально будуть різні зображення. (Я не можу візуально розрізнити оригінал та файл із вбудованим файлом "Copyright YOU 2012".)
1 старий, але будується просто чудово.
2 не створюється за допомогою сучасного компілятора C ++, потрібно кілька виправлень джерела.