이 도구에 대하여
이 도구는 최하위 비트(LSB) 스테가노그래피를 사용해 일반 이미지 안에 비밀 텍스트 메시지를 숨기고 나중에 다시 꺼냅니다. 모든 것이 브라우저 안 HTML 캔버스에서 로컬로 이루어집니다. 그림과 메시지는 기기를 벗어나지 않으며 어떤 서버로도 아무것도 업로드되지 않습니다.
LSB 스테가노그래피는 각 색상 채널의 최하위 비트를 덮어쓰는 방식으로 작동합니다. 이미지를 캔버스에 그린 뒤 원시 픽셀을 읽습니다. 메시지는 UTF-8 바이트로 변환되고, 그 비트들이 하나씩 연속된 픽셀의 빨강, 초록, 파랑 채널의 최하위 비트를 대체합니다(시각적 왜곡을 피하기 위해 알파/투명도 채널은 건너뜁니다). 최하위 비트만 바꾸면 각 채널이 255 중 최대 1만큼 변하므로 결과는 눈으로 보기에 동일합니다. 디코더가 메시지 바이트가 정확히 몇 개인지 알 수 있도록 32비트 빅엔디언 길이 헤더가 먼저 기록됩니다. 각 픽셀은 3비트를 담으므로, 이미지는 약 floor(가로 x 세로 x 3 / 8) 바이트에서 헤더 4바이트를 뺀 만큼을 담습니다.
메시지를 숨기려면 "메시지 숨기기"를 고르고 이미지를 선택한 뒤 텍스트를 입력하고 인코드 & 다운로드를 클릭해 PNG를 저장하세요. 복구하려면 "메시지 드러내기"로 전환하고 스테고 PNG를 여세요. 숨겨진 텍스트가 자동으로 디코드됩니다. 출력은 무손실이어야 하므로 PNG여야 합니다 — JPEG는 픽셀을 다시 압축해 취약한 최하위 비트를 지워 버리고 메시지를 파괴합니다.