내 눈은 황금눈?
사진에 정보를 숨기는 방법을 살펴보기 전에 우리 눈이 색의 차이를 어느 정도로 구분할 수 있는지부터 테스트해볼 거예요. 방법은 간단합니다. 아래 타일 뭉치에 있는 정사각형 모양의 16개 타일 중 2개만 나머지와 색이 다릅니다. 눈을 크게 뜨고 여섯 개의 타일 뭉치에서 색이 다른 타일을 두 개씩 골라보세요. 타일 뭉치 위에 적힌 ‘색 유사도’는 두 타일이 다른 타일과 색이 얼마나 비슷한지 나타낸 백분위 근삿값이에요.
색이 다른 타일을 정확하게 골랐나요? 타일 뭉치의 색 유사도가 높을수록 색이 다른 타일을 찾기 어려웠을 거예요. 특히 유사도가 100%에 가까운 ➏번 타일 뭉치는 모두 같은 색으로 보였을 겁니다. 비슷해 보이지만 분명히 다른 색인데도 우리 눈이 구분하지 못한 거지요. 다시 말하면, 눈이 구분하지 못하는 만큼만 색을 바꾸면 대부분은 바꿨는지조차 알 수 없습니다.
자, 준비가 끝났습니다. 이제 컴퓨터에 저장된 사진파일은 대부분 ‘픽셀’이라고 부르는 작은 정사각형으로 이뤄졌다는 사실에 주목하세요. 만약 정사각형 타일이 사진을 이루는 작은 픽셀이라면 어떨까요? 각 픽셀에는 단 한 가지 색만 있고, 사진에 있는 모든 픽셀의 색을 조금씩만 바꾸면 눈이 구분할 수 없으니 원래 사진과 똑같아 보일 겁니다. 즉, ‘아주 조금이라면 마음대로 바꿔도 바꿨는지 알 수 없다’는 거예요. 사진에 정보를 숨길 수 있는 비밀이 바로 여기에 있습니다.
테스트 정답 : ➊번-3, 13 / ➋번-7, 8 / ➌번-4, 13 / ➍번-5, 12 / ➎번-1, 10 / ➏번-8, 13
스테가노그래피란?
2001년의 9/11 테러범은 모나리자 사진파일에 납치할 항공기의 운항 시간을 숨겨 전달했다고 해요. 이처럼 메시지나 사진 같은 정보를 보이지 않게 감추는 방법을 ‘스테가노그래피’라고 합니다. 정보를 알아채지 못하게 만든다는 점에서 스테가노그래피를 암호로 보기도 하지만, 엄밀하게 말하면 암호와 스테가노그래피는 다릅니다.
암호는 메시지의 글자 순서를 바꾸거나 혹은 글자를 통째로 숫자로 바꾸는 반면, 스테가노그래피는 다른 대상에 감추는 ‘정보 은닉 기술’이지요. 암호는 정보의 모습을 바꾸기 때문에 암호가 노출돼도 푸는 방법을 모르면 무용지물이지만, 스테가노그래피는 정보를 숨길 뿐 형태를 바꾸지 않기 때문에 발각되면 즉시 정보가 드러납니다.
들키면 바로 들통나니까 안전하지 않다는 생각이 드나요? 오히려 정보를 숨겼다는 사실 자체를 알아채기 어려워 복잡한 암호보다 안전합니다.
만약 여러분이 테러범이 주고받는 정보 중에서 국가기밀 같은 정보를 찾아내야 한다고 생각해 보세요. 주고받는 모든 정보를 하나하나 확인할 수 없으니, 중요해 보이거나 암호처럼 보이는 정보만 골라낸 뒤 분석할 거예요. 이때 암호는 모습이 복잡해 ‘암호’라고 의심하지만, 스테가노그래피는 평범한 글이나 사진처럼 보여서 의심조차 하지 않을 거예요.
정보를 숨기는 방법은 다양합니다. 요즘에는 사진과 영상, 음악파일에 숨기지만 예전에는 불에 그을려야 보이는 투명잉크로 글자를 쓰거나 메시지를 점 하나에 들어갈 만큼 작게 인쇄해 감추기도 했습니다. 실제로 독일에서는 1차 세계대전 당시 정보를 몰래 전달하기 위해 이 방법을 이용했지요.
모나리자에 사과를 숨겨보자!
숨겨 줄 사진의 픽셀에 숨길 사진의 RGB 값을 차곡차곡 나눠봅시다. RGB 값은 숫자 세 개로 표현하고 이진법으로 바꾸면 각 숫자가 8자리이므로, 픽셀 하나는 총 3×8=24개 숫자로 이뤄진 셈입니다. 그런데 숨겨줄 사진의 픽셀 하나에 숫자 24개를 모두 숨길 수는 없어요. R 값, G값, B 값의 끝자리 하나만 바꿀 수 있으므로 3개만 숨겨줄 수 있지요. 즉, 픽셀 한 개를 숨기려면 8배 많은 픽셀이 필요한 셈입니다. 이 방법을 이용해 모나리자의 픽셀 8개에 생뚱맞은 ‘사과’의 픽셀 1개를 숨겨 볼까요?