UTILS.
100% 브라우저 내 실행
🕵️

이미지 스테가노그래피 도구

LSB 스테가노그래피로 이미지 안에 비밀 텍스트를 숨기거나, 숨겨진 메시지를 드러냅니다. 100% 브라우저 안에서 실행되며 아무것도 업로드되지 않습니다.

텍스트를 숨길 이미지를 끌어다 놓거나 선택하세요

이 도구에 대하여

이 도구는 최하위 비트(LSB) 스테가노그래피를 사용해 일반 이미지 안에 비밀 텍스트 메시지를 숨기고 나중에 다시 꺼냅니다. 모든 것이 브라우저 안 HTML 캔버스에서 로컬로 이루어집니다. 그림과 메시지는 기기를 벗어나지 않으며 어떤 서버로도 아무것도 업로드되지 않습니다.

LSB 스테가노그래피는 각 색상 채널의 최하위 비트를 덮어쓰는 방식으로 작동합니다. 이미지를 캔버스에 그린 뒤 원시 픽셀을 읽습니다. 메시지는 UTF-8 바이트로 변환되고, 그 비트들이 하나씩 연속된 픽셀의 빨강, 초록, 파랑 채널의 최하위 비트를 대체합니다(시각적 왜곡을 피하기 위해 알파/투명도 채널은 건너뜁니다). 최하위 비트만 바꾸면 각 채널이 255 중 최대 1만큼 변하므로 결과는 눈으로 보기에 동일합니다. 디코더가 메시지 바이트가 정확히 몇 개인지 알 수 있도록 32비트 빅엔디언 길이 헤더가 먼저 기록됩니다. 각 픽셀은 3비트를 담으므로, 이미지는 약 floor(가로 x 세로 x 3 / 8) 바이트에서 헤더 4바이트를 뺀 만큼을 담습니다.

메시지를 숨기려면 "메시지 숨기기"를 고르고 이미지를 선택한 뒤 텍스트를 입력하고 인코드 & 다운로드를 클릭해 PNG를 저장하세요. 복구하려면 "메시지 드러내기"로 전환하고 스테고 PNG를 여세요. 숨겨진 텍스트가 자동으로 디코드됩니다. 출력은 무손실이어야 하므로 PNG여야 합니다 — JPEG는 픽셀을 다시 압축해 취약한 최하위 비트를 지워 버리고 메시지를 파괴합니다.

자주 묻는 질문

이것이 안전하거나 암호화되나요?
아니요. LSB 스테가노그래피는 암호화가 아니라 은닉입니다 — 메시지가 존재한다는 사실을 숨기지만 내용을 보호하지는 않습니다. 스테고 이미지를 의심하고 같은 방법을 쓰는 사람은 누구나 읽을 수 있습니다. 진짜 기밀성을 위해서는 텍스트를 먼저 암호화한 뒤(예: AES 도구로) 그 암호문을 숨기세요.
왜 JPEG가 아니라 PNG로 내보내나요?
메시지는 픽셀의 최하위 비트에 담기는데, 이는 무손실에서만 유지됩니다. PNG는 모든 비트를 정확히 보존합니다. JPEG는 손실 압축이라 이미지를 다시 압축해 그 최하위 비트를 바꾸고 숨겨진 데이터를 파괴하므로, 이 도구는 항상 PNG로 저장합니다.
이미지 하나에 텍스트를 얼마나 숨길 수 있나요?
대략 floor(가로 x 세로 x 3 / 8) 바이트에서 길이 헤더용으로 예약된 4바이트를 뺀 만큼입니다. 1000 x 1000 이미지는 약 375,000바이트를 담습니다. 이미지를 불러오면 도구가 정확한 용량을 보여주고, 메시지가 너무 크면 경고합니다.
이모지나 다른 언어에서도 작동하나요?
네. 메시지는 UTF-8로 인코딩되므로 이모지, 강세 부호, 비라틴 문자가 정확히 왕복 변환됩니다. 다만 멀티바이트 문자는 일반 ASCII보다 이미지 용량을 더 많이 사용합니다.

더 많은 도구