전통문화대전망 - 중국 전통문화 - LSB 코드 같은 숫자?

LSB 코드 같은 숫자?

LSB 알고리즘은 디지털 이미지 정보 은닉에서 오래되고 일반적으로 사용되는 알고리즘 [3] 으로, 이미지 정보에서 가장 중요하지 않은 이진 비트에 비밀 정보를 포함합니다. 24 비트 BMP 이미지 파일의 구조적 특성에 따라 파일당 하나의 압축되지 않은 컬러 이미지만 저장할 수 있습니다. 파일 헤더는 비트맵 파일의 유형, 크기, 이미지 크기 및 인쇄 형식을 포함한 54 바이트 데이터 세그먼트로 구성됩니다. 55 바이트부터 파일의 이미지 데이터 부분으로 일련의 바이트로 구성됩니다. 연속 3 바이트마다 이미지의 한 픽셀에 대한 색상 정보를 설명합니다. 이 3 바이트는 각각 해당 픽셀의 파란색, 녹색, 빨간색 3 원색의 밝기를 나타냅니다. LSB 알고리즘은 이미지 데이터의 각 바이트에서 가장 낮은 유효 비트를 사용하여 정보를 숨깁니다. 이렇게 하면 8 바이트마다 1 바이트 정보 [4] 를 숨길 수 있습니다.

정보를 포함하는 방법은 먼저 숨길 비밀 정보를 이진 데이터 스트림으로 변환하는 것입니다. 그런 다음 BMP 파일의 이미지 데이터 섹션에서 각 바이트의 가장 낮은 비트를 숨길 정보 비트로 바꿉니다. 마지막으로 더 이상 숨겨진 정보가 필요하지 않은 다른 원본 데이터를 복제합니다. 비트맵 파일 분석에서 알 수 있듯이 오프셋 0x06 의 4 바이트가 예약되어 숨겨진 파일의 크기를 쓸 수 있으므로 정보를 추출할 때 유용한 정보의 길이를 미리 알고 디코딩 효율성을 높일 수 있습니다. 파일 헤더의 다른 50 바이트는 그대로 복사됩니다. 숨기기 과정은 그림 1 과 같습니다.

그림 1. LSB 이미지 숨김 알고리즘 다이어그램

그림 1 LSB 데이터 은닉 알고리즘

정보 추출은 캐리어 이미지에서 숨겨진 정보를 읽는 것으로, 프로세스 및 단계는 정보 포함과는 정반대입니다. 먼저 숨겨진 정보를 읽은 후 이미지 파일의 0x06 에서 숨겨진 정보의 바이트 수입니다. 그런 다음 0x36 부터 BMP 파일 이미지 데이터 부분의 각 바이트당 가장 낮은 비트를 계산하여 8 바이트마다 충분하며, 출력된 8 비트 이진수는 1 바이트를 구성합니다. 위의 처리 후, 정보를 숨기는 코드인 일련의 8 비트 이진수를 얻었습니다. 코드를 텍스트, 이미지 또는 사운드로 변환하는 것은 숨겨진 정보입니다. 추출 프로세스는 그림 2 와 같습니다.

원래 24 비트 BMP 이미지 파일은 정보를 숨기고 해당 데이터 부분의 바이트 값은 최대 1 이 바이트가 나타내는 픽셀 색상 값은 최대 1/256 으로 변경되므로 숨겨진 정보가 있는 BMP 이미지와 숨겨진 정보가 없는 BMP 이미지는 육안으로 구분할 수 없습니다. 픽셀의 RGB 값에 정보를 직접 포함하면 포함된 정보의 용량이 선택한 표지 이미지의 크기에 비례한다는 장점이 있습니다. 이 방법을 사용하면 크기가 32k 인 24 비트 BMP 이미지 파일이 약 32k/8=4k 인 정보 (파일 헤더를 무시하면 54 바이트의 데이터를 숨길 수 없음) 를 숨길 수 있습니다. 이 방법은 정보 숨기기 속도가 매우 높습니다.

그림 2. LSB 이미지 추출 알고리즘 다이어그램

그림 2 LSB 데이터 추출 알고리즘

알고리즘은 원시 데이터의 가장 낮은 비트를 조정하여 정보를 숨기므로 일반 사용자는 시각적 및 청각적으로 숨겨진 정보를 감지하기가 어렵습니다. 그러나 디지털 워터마크 알고리즘으로서, 숨겨진 디지털 워터마크 정보는 기본 원리로 인해 매우 취약하여 무손실 및 손실 신호 처리를 견딜 수 없습니다.

3 새로운 디지털 워터 마킹 알고리즘

이 기술의 개선은 LSB 이미지 숨기기 기술을 기반으로 반복적으로 숨길 워터마크 정보를 숨기는 것입니다. 사진에 워터마크 정보가 가득 차 있어 자르기 방지 능력이 뛰어나다.

캐리어 이미지를 절단한 후 워터마크 정보의 원래 위치를 손상시켜 워터마크 정보를 찾아 추출할 수 없을 가능성이 높습니다. 따라서 이 알고리즘의 핵심은 워터마크 정보를 동기화하는 방법입니다. 다음으로 동기화 방법을 제안합니다.

(1) 디지털 워터마크 정보 앞에 동기화 신호 0000, 1 1 1, 1/kloc/를 여러 번 씁니다

(2) 잘라낸 캐리어 이미지의 정보 비트를 읽고, 첫 번째 비트가 0 이면 건너뛰고, 0 이 아닌 비트부터 읽고, 8 비트를 계속 읽고, 데이터가 동기화자 FF 인지 여부를 판단합니다. 동기화 단어 FF 가 아닌 경우, 다음 8 비트를 0 이 아닌 비트부터 순차적으로 읽고, 두 세트의 동기화 단어 FF 를 순차적으로 읽고, 동기화에 도달했음을 증명한 다음, 사전 읽기 식별자가 숨겨진 정보 비트임을 나타낼 때까지 데이터를 읽습니다. 읽기 식별자가 숨겨져 있음을 나타낼 때까지 데이터를 읽습니다. 그림 3 에서 볼 수 있듯이 1 개의 동기화 단어 중 어느 쪽에서든 세 번째 동기화 단어가 동기화를 완료했는지, 네 번째 동기화 단어가 동기화 확인을 완료했는지, 이전 식별자가 도착할 때까지 기다릴 수 있습니다.