나는 당신이 찾고있는 것이 스테 가 노 그라피 라고 생각 합니다.
이 리눅스에서이 거기에서 도구의 풍부한 것 같다,하지만하지 않는 선수 친 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 ++ 컴파일러로 빌드되지 않으므로 몇 가지 소스 수정이 필요합니다.