KR101568211B1 - System and method for hiding and extracting reversible data - Google Patents
System and method for hiding and extracting reversible data Download PDFInfo
- Publication number
- KR101568211B1 KR101568211B1 KR1020140006761A KR20140006761A KR101568211B1 KR 101568211 B1 KR101568211 B1 KR 101568211B1 KR 1020140006761 A KR1020140006761 A KR 1020140006761A KR 20140006761 A KR20140006761 A KR 20140006761A KR 101568211 B1 KR101568211 B1 KR 101568211B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- bit
- index
- code
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
- H04N1/4446—Hiding of documents or document information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
이미 압축된 문서 파일에 은닉 정보 데이터가 인코딩된 정보 은닉 문서 파일로부터 가역 정보 추출 시, 기설정된 복원 포맷을 적용하여 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 디코딩하고, 디코딩된 비트 블록에 포함된 복수의 문자를 기설정된 정보 분석 기준에 기초하여 분석하고, 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나를 포함하는 정보 지수를 산출하고, 산출된 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 비트 블록에 은닉된 은닉 정보 비트를 추출하고, 비트 블록 별로 디코딩 이전의 비트 값을 은닉 정보 비트의 값에 기초하여 변환시키고, 비트 값이 변환된 비트 블록을 복원 포맷으로 디코딩하여 원본 문서 파일로 복원한다.When extracting reversible information from an information concealment document file in which concealment information data is encoded in a document file already compressed, a predetermined restoration format is applied to decode the information concealment document file in units of a predetermined length of a bit block, A plurality of characters included in the information are analyzed on the basis of a predetermined information analysis criterion, and an information index including at least one of a significant index, a no-good index and a document index is calculated according to a result of the analysis, Extracts the hidden information bits hidden in the bit block based on the comparison result of the exponential threshold value, converts the bit value before decoding based on the value of the secret information bit for each bit block, Decodes it into a restoration format and restores it to the original document file.
Description
본 발명은 압축된 문서 파일에 정보 데이터를 가역적으로 은닉하고, 압축 문서 상에 은닉된 정보 데이터를 추출하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for reversibly concealing information data in a compressed document file and extracting concealed information data on the compressed document.
많은 정보들이 디지털 형태로 저장됨에 따라, 쉽게 복사되거나 변경될 수 있는 디지털 매체를 보호하기 위하여 여러 가지 정보 보호 기법들이 개발되고 있다.As more information is stored in digital form, various information protection techniques are being developed to protect digital media that can be easily copied or changed.
그 중 정보 은닉(information hiding) 기법은 암호화와 함께 기밀성을 보장하기 위해 널리 사용되고 있다. 이러한, 정보 은닉 기법은 디지털 매체를 변경함으로써 디지털 매체에 데이터를 삽입할 수 있다.Among them, information hiding is widely used to ensure confidentiality with encryption. Such an information concealment technique can insert data into a digital medium by changing the digital medium.
이와 관련하여, 대한민국공개특허 제 10-2007-0076130호(발명의 명칭: 문서 인증을 위한 정보 삽입 및 추출 방법)는, 정보의 삽입 및 추출 과정에서 원정보(Original Data)의 손실이 발생하지 않는 무손실 정보 은닉(Losseless Data Embedding) 방법에 관한 것으로, 이미지를 다수개의 블록으로 분할하고, 분할된 각 블록을 서브블록으로 분할하고, 분할된 각 서브블록 중 하나의 픽셀에 인증 정보를 삽입하되, 서브블록 중 최소 픽셀값을 갖는 픽셀에 인증 정보(이진정보)를 삽입하는 기술이 개시되어 있다.In this regard, Korean Patent Laid-Open No. 10-2007-0076130 (entitled " Inserting and Extracting Information for Document Authentication ") discloses a method for extracting and extracting information, The present invention relates to a lossless data embedding method in which an image is divided into a plurality of blocks, each divided block is divided into sub-blocks, authentication information is inserted into one of the divided sub-blocks, Discloses a technique of inserting authentication information (binary information) into a pixel having a minimum pixel value among blocks.
그러나 문서를 압축할 경우 난수 수준의 출력이 생성됨에 따라, 원본 문서가 아닌 압축된 문서에 가역적으로 정보를 은닉하는 것은 용이하지 않다는 한계가 있었다.However, when a document is compressed, a random number level output is generated. Therefore, there is a limit in that it is not easy to conceal information reversibly to a compressed document other than an original document.
본 발명의 실시예는 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 이미 압축된 문서 파일에 추가로 은닉 정보 데이터를 인코딩하는 정보 은닉 장치 및 방법과, 정보가 은닉된 압축 문서 파일로부터 은닉 정보 데이터를 추출하는 정보 추출 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to solve the problems of the prior art described above, and it is an object of the present invention to provide an information concealment apparatus and method for encoding concealed information data in addition to an already compressed document file, And a method for extracting information.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 가역 정보 은닉 장치는, 원본 문서 파일을 기설정된 압축 포맷으로 인코딩하여 압축 문서 파일을 출력하는 문서 압축부; 상기 압축 문서 파일의 비트스트림을 각각 기설정된 제 1 길이를 갖는 복수의 비트 블록으로 분할하고, 기설정된 은닉 정보 데이터를 각각 기설정된 제 2 길이를 갖는 복수의 은닉 정보 비트로 분할하여 상기 복수의 비트 블록에 각각 할당하고, 할당된 상기 은닉 정보 비트의 값에 기초하여 상기 비트 블록의 비트 값을 변환시키는 정보 은닉 처리부; 및 상기 비트 값을 변환시킨 비트 블록들을 포함하는 정보 은닉 문서 파일을 제공하는 정보 은닉 문서 제공부를 포함한다.According to an aspect of the present invention, there is provided a reversible information concealment apparatus comprising: a document compression unit that encodes an original document file into a predetermined compression format to output a compressed document file; Dividing the bit stream of the compressed document file into a plurality of bit blocks each having a predetermined first length and dividing the predetermined hidden information data into a plurality of hidden information bits each having a predetermined second length, And an information concealment unit for converting the bit values of the bit block based on the value of the allocated secret information bits; And an information hiding document providing unit for providing an information hiding document file including the bit blocks obtained by converting the bit values.
본 발명의 다른 측면에 따른 가역 정보 추출 장치는, 압축 문서 파일에 은닉 정보 데이터가 인코딩된 정보 은닉 문서 파일을 입력받는 압축 문서 입력부; 기설정된 복원 포맷을 적용하여 상기 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 디코딩하는 복원 전처리부; 상기 디코딩된 비트 블록에 포함된 복수의 문자를 기설정된 정보 분석 기준에 기초하여 분석하고, 상기 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나를 포함하는 정보 지수를 산출하는 정보 분석부; 산출된 상기 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 상기 비트 블록에 은닉된 은닉 정보 비트를 추출하고, 상기 비트 블록 별로 상기 디코딩 이전의 비트 값을 상기 은닉 정보 비트의 값에 기초하여 변환시키는 은닉 정보 추출부; 및 상기 은닉 정보 추출부를 통해 상기 비트 값이 변환된 상기 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원하는 문서 복원부를 포함한다.According to another aspect of the present invention, there is provided a reversible information extraction apparatus comprising: a compressed document input unit receiving an information hiding document file in which hidden information data is encoded in a compressed document file; A restoration preprocessing unit for decoding the information hiding document file in units of a predetermined length by applying a preset restoration format; An information analysis unit for analyzing a plurality of characters included in the decoded bit block based on a predetermined information analysis criterion and calculating an information index including at least one of a significance index, part; Extracting a hidden information bit hidden in the bit block based on a result of comparing the calculated information index and a predetermined information index threshold value, and comparing the bit value before decoding with the value of the hidden information bit for each bit block, A concealed information extracting unit for converting the concealed information based on the concealed information; And a document decompression unit decoding the bit block into which the bit value has been converted through the secret information extracting unit into the restoration format and restoring the same into an original document file.
본 발명의 또 다른 측면에 따른 가역 정보 은닉 장치가 기압축된 문서 파일에 정보를 은닉하는 방법은, (a) 원본 문서 파일을 기설정된 압축 포맷으로 인코딩하여 압축 문서 파일을 출력하는 단계; (b) 상기 압축 문서 파일의 비트스트림을 각각 기설정된 제 1 길이를 갖는 복수의 비트 블록으로 분할하는 단계; (c) 기설정된 은닉 정보 데이터를 기설정된 제 2 길이 단위로 분할한 복수의 은닉 정보 비트를 상기 복수의 비트 블록에 할당하는 단계; (d) 할당된 상기 은닉 정보 비트의 값에 기초하여 상기 비트 블록의 비트 값을 변환시키는 단계; 및 (e) 상기 비트 값을 변환시킨 비트 블록들을 포함하는 정보 은닉 문서 파일을 제공하는 단계를 포함한다.According to another aspect of the present invention, a method for concealing information in a precompressed document file includes the steps of: (a) encoding an original document file in a predetermined compression format to output a compressed document file; (b) dividing the bit stream of the compressed document file into a plurality of bit blocks each having a predetermined first length; (c) allocating a plurality of concealment information bits obtained by dividing predetermined concealment information data by a predetermined second length unit to the plurality of bit blocks; (d) converting a bit value of the bit block based on the value of the allocated secret information bit; And (e) providing an information hiding document file including bit blocks obtained by converting the bit values.
본 발명의 또 다른 측면에 따른 가역 정보 추출 장치가 정보 은닉 문서 파일에 은닉된 은닉 정보 데이터를 추출하는 방법은, (a) 압축 문서 파일에 은닉 정보 데이터가 인코딩된 상기 정보 은닉 문서 파일을 입력받는 단계; (b) 기설정된 복원 포맷을 적용하여 상기 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 디코딩하는 단계; (c) 상기 디코딩된 비트 블록에 포함된 복수의 문자를 기설정된 정보 분석 기준에 기초하여 분석하여, 상기 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나를 포함하는 정보 지수를 산출하는 단계; (d) 산출된 상기 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 상기 비트 블록에 은닉된 은닉 정보 비트를 추출하는 단계; (e) 상기 비트 블록 별로 상기 디코딩 이전의 비트 값을 상기 은닉 정보 비트의 값에 기초하여 변환시키는 단계; 및 (f) 상기 비트 값이 변환된 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원하는 단계를 포함한다.A method for extracting secret information data hidden in an information hiding document file according to another aspect of the present invention includes the steps of (a) receiving the information hiding document file in which secret information data is encoded in a compressed document file step; (b) decoding the information hiding document file in units of a predetermined length by applying a preset restoration format; (c) analyzing a plurality of characters included in the decoded bit block based on a predetermined information analysis criterion, and calculating an information index including at least one of a significance index, a meaningless index, and a document index according to the analyzed result ; (d) extracting the hidden information bits hidden in the bit block based on a result of comparing the calculated information index with a preset information index threshold value; (e) converting the bit value before decoding according to the value of the secret information bit for each bit block; And (f) decoding the bit block in which the bit value has been converted into the restoration format and restoring the decoded bit block into an original document file.
전술한 본 발명의 과제 해결 수단에 의하면, 원본 데이터를 수정하지 않고도 완전하게 데이터를 복원할 수 있는 가역 인코딩 기법을 통해, 기압축된 상태의 문서 파일의 데이터 손실없이도 은닉 정보 데이터를 추가로 인코딩할 수 있다.According to the above-mentioned object of the present invention, it is possible to further encode the secret information data without data loss of the document file in the precompressed state through the reversible encoding technique which can completely restore the data without modifying the original data .
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 압축 문서 파일 상에 은닉 정보 데이터가 추가 인코딩된 문서 파일을, 비트 블록 별로 포함된 문자의 속성에 따라 산출한 정보 지수에 기초하여 디코딩함으로써 정확한 디코딩 결과를 획득할 수 있다.Further, according to any one of the tasks of the present invention, a document file in which secret information data is additionally encoded on a compressed document file is decoded based on an information index calculated according to the attribute of characters included in each bit block, The decoding result can be obtained.
도 1은 본 발명의 일 실시예에 따른 가역 정보 은닉 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 가역 정보 은닉 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 압축 문서 파일의 비트스트림 구조를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 문서 파일의 비트 블록에 포함된 문자를 설명하기 위한 일례이다.
도 5는 본 발명의 일 실시예에 따른 가역 정보 은닉 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 가역 정보 추출 장치의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 정보 지수를 산출하는 방식을 설명하기 위한 아스키 코드 테이블이다.
도 8은 본 발명의 일 실시예에 따른 가역 정보 추출 방법을 설명하기 위한 순서도이다.1 is a block diagram illustrating a configuration of a reversible information concealment system according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a reversible information concealment apparatus according to an embodiment of the present invention.
3 is a diagram for explaining a bitstream structure of a compressed document file according to an embodiment of the present invention.
FIG. 4 illustrates an example of a character included in a bit block of a document file according to an exemplary embodiment of the present invention. Referring to FIG.
5 is a flowchart illustrating a reversible information concealment method according to an embodiment of the present invention.
6 is a block diagram illustrating a configuration of a reversible information extraction apparatus according to an embodiment of the present invention.
7 is an ASCII code table for explaining a method of calculating an information index according to an embodiment of the present invention.
8 is a flowchart for explaining a reversible information extraction method according to an embodiment of the present invention.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
도 1은 본 발명의 일 실시예에 따른 가역 정보 은닉 시스템의 구성을 나타낸 블록도이다.1 is a block diagram illustrating a configuration of a reversible information concealment system according to an embodiment of the present invention.
도 1에서와 같이, 본 발명의 일 실시예에 따른 가역 정보 은닉 시스템(10)은, 가역 정보 은닉 장치(100) 및 가역 정보 추출 장치(200)를 포함한다.1, the reversible
구체적으로, 가역 정보 은닉 장치(100)는 설정된 압축 포맷으로 1차 인코딩된 압축 문서(Xk)에 은닉 정보 데이터(bk)를 은닉시키는 2차 인코딩을 처리하고, 2차 인코딩 결과에 따른 정보 은닉 문서(Yk)을 출력한다.More specifically, reversible
가역 정보 추출 장치(200)는 가역 정보 은닉 장치(100)로부터 제공된 정보 은닉 문서(Yk)를 입력받아, 정보 은닉 문서(Yk)로부터 은닉 정보 데이터(bk)를 추출하여 압축 문서(Xk)를 획득한다. 그리고, 가역 정보 추출 장치(200)는 추출된 은닉 정보 데이터(bk)에 기초하여 압축 문서(Xk)을 디코딩하여 원본 문서를 복원한다.Reversible
이하, 도 2 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 가역 정보 은닉 장치의 구성 및 동작에 대해서 상세히 설명하도록 한다.Hereinafter, the configuration and operation of the reversible information concealment apparatus according to an embodiment of the present invention will be described in detail with reference to FIGS. 2 to 5. FIG.
도 2는 본 발명의 일 실시예에 따른 가역 정보 은닉 장치의 구성을 나타낸 블록도이다.2 is a block diagram illustrating a configuration of a reversible information concealment apparatus according to an embodiment of the present invention.
도 2에서와 같이, 본 발명의 일 실시예에 따른 가역 정보 은닉 장치(100)는 문서 압축부(110), 정보 은닉 처리부(120), 정보 은닉 문서 제공부(130) 및 정보 지수 임계값 설정부(140)를 포함한다.2, the reversible
문서 압축부(110)는 원본 문서 파일을 기설정된 압축 포맷으로 인코딩(이하, ‘1차 인코딩’이라고 지칭함)하여 압축 문서 파일을 출력한다.The
정보 은닉 처리부(120)는 문서 압축부(110)로부터 출력된 압축 문서 파일의 비트 스트림을 복수의 비트 블록으로 변환하고, 각 비트 블록에 은닉 정보 데이터를 할당 및 은닉 처리한다.The information
구체적으로, 정보 은닉 처리부(120)는 압축 문서 파일의 비트스트림을 각각 기설정된 길이(이하, ‘L’이라고 지칭함)를 갖는 복수의 비트 블록으로 분할한다. 참고로, 하기에서 설명할 가역 정보 추출 장치(200)의 은닉 정보 추출 처리를 위하여, 정보 은닉 처리부(120)는 정보 은닉 문서 제공부(130)를 통해 비트 블록의 길이 정보(즉, ‘L’)를 더 제공할 수 있다.Specifically, the information
그리고, 정보 은닉 처리부(120)는 사전에 설정된 은닉 정보 데이터의 비트스트림을 기설정된 길이(즉, 비트 자릿수)의 비트 단위로 분할하여 복수의 은닉 정보 비트를 생성한다. 이때, 정보 은닉 처리부(120)는 은닉 정보 데이터를 한 자릿수의 비트 단위 또는 두 자릿수 이상의 비트 단위로 분할할 수 있다.The information
예를 들어, 도 3은 본 발명의 일 실시예에 따른 압축 문서 파일의 비트스트림 구조를 설명하기 위한 도면이다.For example, FIG. 3 illustrates a bitstream structure of a compressed document file according to an embodiment of the present invention.
도 3에 도시한 바와 같이, 압축 문서 파일의 비트스트림은 헤더 및 페이로드로 구성되며, 정보 은닉 처리부(120)는 압축 문서 파일의 비트스트림 중 헤더를 제외한 페이로드의 비트스트림을 기설정된 길이(즉, L) 단위로 분할하여 복수개의 비트 블록(Xk)을 구분한다. 이때, 정보 은닉 처리부(120)는 은닉할 은닉 정보 데이터의 크기에 기초하여 비트 블록의 길이를 설정할 수 있다. 즉, 정보 은닉 처리부(120)는 압축 문서 파일의 비트스트림을 은닉 정보 비트의 개수에 대응하는 개수의 비트 블록으로 분할할 수 있다.3, the bit stream of the compressed document file is composed of a header and a payload, and the information concealment
정보 은닉 처리부(120)는 각각의 비트 블록 별로 은닉 정보 비트를 할당하고, 할당된 은닉 정보 비트의 값에 따라 해당 비트 블록의 비트 값을 변환시키는 인코딩(이하, ‘2차 인코딩’이라고 지칭함)을 수행한다.The information
구체적으로, 정보 은닉 처리부(120)는 각 비트 블록에 한 자릿수 비트 단위의 은닉 정보 비트가 할당된 경우, 해당 은닉 정보 비트의 값에 따라 비트 블록의 비트 값을 1비트 단위로 유지 또는 반전시킨다.Specifically, when the secret information bits of one bit unit are allocated to each bit block, the information concealment
예를 들어, 정보 은닉 처리부(120)는 압축 문서 파일의 페이로드의 각 비트 블록들에 대해 하기 수학식 1에 따른 연산을 적용하여 정보를 은닉한다.For example, the information
<수학식 1>&Quot; (1) "
즉, 은닉 정보 비트의 값이 한 자릿수 비트인 ‘0’인 경우, 비트 블록(Xk)의 비트를 그대로 유지시켜 출력한다. 반면, 은닉 정보 비트의 값이 한 자릿수 비트인 ‘1’인 경우, 비트 블록(Xk)의 비트를 1 비트 단위로 반전시켜 출력한다. 참고로, 비트 블록의 비트 값을 유지시키거나 또는 반전시키는 은닉 정보 비트의 값은 상호 변경될 수 있다. That is, when the value of the secret information bit is '0' which is one-digit bit, the bit of the bit block X k is maintained as it is. On the other hand, when the value of the secret information bit is '1' which is one-digit bit, the bit of the bit block X k is inverted in units of 1 bit and output. For reference, the value of the secret information bit for holding or inverting the bit value of the bit block can be mutually changed.
또한, 정보 은닉 처리부(120)는 각 비트 블록에 두 자릿수 이상의 비트 단위의 은닉 정보 비트를 은닉시킬 수 있다.In addition, the information
구체적으로, 정보 은닉 처리부(120)는 비트 블록의 길이와 대응된 길이를 갖는 복수의 난수 비트스트림을 생성하고, 할당된 은닉 정보 비트의 값 별로 서로 상이한 난수 비트스트림을 매칭시킨다. 그리고, 정보 은닉 처리부(120)는 할당된 은닉 정보 비트에 매칭된 난수 비트스트림과 해당 비트 블록을 1 비트 단위로 배타적 논리합(XOR)(또는 배타적 부정 논리합(XNOR)) 연산시켜 2차 인코딩을 처리한다.Specifically, the information concealment
예를 들어, 정보 은닉 처리부(120)는 은닉 정보 비트가 두 자릿수 비트인 경우, 하기 수학식 2를 적용하여, 각 비트 값 별로 매칭된 난수 비트스트림에 따라 각 비트 블록의 비트 값을 변형시킨다.For example, when the secret information bit is a two-bit bit, the information concealment
<수학식 2>&Quot; (2) "
즉, 은닉 정보 비트(bk)의 값이 두 자릿수 비트인 ‘002’ 인 경우 난수 비트스트림 ‘R0’이 매칭되며, 비트 블록(Xk)과 난수 비트스트림(R0)의 각 자릿수의 비트를 XOR(또는 ‘NXOR’) 연산하여 정보가 은닉된 비트 블록을 출력한다. 이와 같은 방식으로, K개의 서로 다른 난수를 난수 비트스트림으로 사용할 경우, 각 비트 블록 당 ‘log2K’의 은닉 정보 비트를 은닉시킬 수 있다.That is, the value of the secret information bits (b k) of the two-digit bit in the case of '002, the random number bit stream, and the "R 0" matching, bit block (X k) and the random number bit stream, each digit of the (R 0) XOR (or " NXOR ") operation of the bit to output the bit block whose information is concealed. In this way, when K different random numbers are used as a random number bit stream, the secret information bits of 'log 2 K' can be concealed for each bit block.
이처럼, 두 자릿수 이상의 은닉 정보 비트를 비트 블록에 은닉시킬 경우, 하기에서 설명할 가역 정보 추출 장치(200)의 은닉 정보 추출 처리를 위하여, 정보 은닉 처리부(120)는 정보 은닉 문서 제공부(130)를 통해 각 은닉 정보 비트의 값 별로 매칭된 난수 비트스트림을 더 제공할 수 있다.When the two or more secret information bits are concealed in the bit block, the information
한편, 도 3에서와 같이, 압축 문서 파일의 비트스트림을 기설정된 길이 L로 분할할 경우, L보다 작은 길이를 갖는 비트 블록이 잔여할 수 있다. 즉, 도 3에서는 압축 문서 파일이 n개의 비트 블록(즉, X1 내지 Xn)으로 분할되되, 마지막 비트 블록(즉, Xn)의 길이가 L보다 작은 M인 것을 나타내었다. 이때, 정보 은닉 처리부(120)는 비트 블록에 대해 기설정된 길이(즉, L) 미만의 잔여 비트를 제외한 비트 블록들에 은닉 정보 비트를 할당할 수 있다.3, when a bit stream of a compressed document file is divided by a predetermined length L, a bit block having a length smaller than L may remain. That is, in FIG. 3, the compressed document file is divided into n number of bit blocks (i.e., X 1 to X n ), and the length of the last bit block (i.e., X n ) is M smaller than L. At this time, the information
정보 은닉 문서 제공부(130)는 2차 인코딩된(즉, 비트 값을 변환시킨) 비트 블록들을 포함하는 정보 은닉 문서 파일을 가역 정보 추출 장치(200)로 제공한다.The information hiding
한편, 하기에서 설명할 가역 정보 추출 장치(200)가 정보 은닉 문서 파일에 은닉된 은닉 정보 데이터의 추출 및 원본 문서 파일의 복원을 성공적으로 처리하기 위해서는, 원본 문서 파일의 비트 블록 별로 포함된 복수의 ‘문자’의 속성을 분석하여 산출된 정보 지수가 필요하다. 참고로, 본 발명의 일 실시예에서 ‘문자’는 글자, 숫자, 부호, 제어 문자 등 의사 소통을 위한 모든 기호 체계를 의미한다.On the other hand, in order for the reversible
이를 위해, 본 발명의 일 실시예에 따른 가역 정보 은닉 장치(100)는 정보 지수 임계값 설정부(140)를 포함한다.To this end, the reversible information
정보 지수 임계값 설정부(140)는 원본 문서 파일의 비트스트림을 기설정된 크기를 갖는 복수의 비트 블록으로 분할하고, 각 비트 블록의 비트 값에 대응된 문자에 대해 기설정된 정보 지수를 산출한다. 본 발명의 일 실시예에서, 기설정된 정보 지수는 유의미 지수, 무의미 지수 및 문서 지수를 포함한다. 그리고, 정보 지수 임계값 설정부(140)는 산출된 정보 지수를 정보 지수 임계값으로서 설정한다.The information index
정보 지수 임계값 설정부(140)는 정보 은닉 문서 제공부(130)를 통해 정보 지수 임계값을 가역 정보 은닉 추출 장치(200)로 제공한다.The information index
구체적으로, 도 4는 본 발명의 일 실시예에 따른 문서 파일의 비트 블록에 포함된 문자를 설명하기 위한 일례이다.Specifically, FIG. 4 illustrates an example of a character included in a bit block of a document file according to an exemplary embodiment of the present invention.
도 4의 (a)에서는 문서 파일의 비트 블록에 유의미한 문자들이 포함된 경우를 나타내었다. 이때, 도 4의 (a)에 도시된 문자들이 원본 문서 파일의 비트 블록에 포함된 문자들인 것으로 가정하면, 정보 지수 임계값 설정부(140)는 해당 비트 블록의 문자들에 포함된 단어 및 기설정된 정보 분석 기준에 기초하여 유의미 지수 임계값을 산출한다. 이때, 기설정된 정보 분석 기준은 사전(dictionary) 데이터로서, 현존하는 단어가 저장된 데이터베이스로부터 획득할 수 있다. 참고로, 정보 지수 임계값 설정부(140)는 자체적으로 사전 데이터베이스를 포함하거나 외부 사전 데이터베이스를 이용하여 정보 분석 기준을 적용할 수 있다.FIG. 4A shows a case where significant characters are included in a bit block of a document file. Assuming that the characters shown in FIG. 4A are the characters included in the bit block of the original document file, the information index
한편, 도 4의 (b)에서는 문서 파일의 비트 블록에 무의미한 문자들이 포함된 경우를 나타내었다. 이때, 도 4의 (b)에 도시된 문자들이 원본 문서 파일의 비트 블록에 포함된 문자들인 것으로 가정하면, 정보 지수 임계값 설정부(140)는 해당 비트 블록의 문자 별 속성과 기설정된 정보 분석 기준에 기초하여 무의미 지수 임계값 및 문서 지수 임계값을 설정할 수 있다. 이때, 기설정된 정보 분석 기준은 아스키 코드(ASCII) 및 유니코드(UNICODE) 등의 컴퓨터 표준 코드 데이터로 설정된다.On the other hand, FIG. 4B shows a case where meaningless characters are included in a bit block of a document file. Assuming that the characters shown in FIG. 4B are the characters included in the bit block of the original document file, the information index
이처럼, 정보 지수 임계값 설정부(140)는 원본 문서 파일의 비트 블록에 포함된 문자의 속성을 기설정된 정보 분석 기준에 기초하여 분석하고, 분석의 결과에 따라 유의미 지수 임계값, 무의미 지수 임계값 및 문서 지수 임계값 중 적어도 하나를 설정한다.As described above, the information index
한편, 정보 지수 임계값 설정부(140)가 원본 문서 파일에 기준하여 정보 지수 임계값을 산출하는 방식은, 하기에서 설명할 가역 정보 추출 장치(200)가 정보 은닉 문서 파일의 비트 블록 별로 처리하는 정보 지수 산출 방식과 대응된다. 따라서, 설명의 편의상 정보 지수 임계값 설정부(140)가 정보 지수 임계값을 산출하는 방식에 대한 상세한 설명은 생략하도록 한다.On the other hand, the information index threshold
이하, 도 5를 참조하여 본 발명의 일 실시예에 따른 가역 정보 은닉 방법에 대해서 상세히 설명하도록 한다.Hereinafter, a reversible information concealment method according to an embodiment of the present invention will be described in detail with reference to FIG.
도 5는 본 발명의 일 실시예에 따른 가역 정보 은닉 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a reversible information concealment method according to an embodiment of the present invention.
먼저, 원본 문서 파일을 기설정된 압축 포맷으로 인코딩하여 압축 문서 파일을 출력한다(S510).First, an original document file is encoded in a predetermined compression format to output a compressed document file (S510).
그리고, 압축 문서 파일의 비트스트림을 각각 기설정된 길이를 갖는 복수의 비트 블록으로 분할한다(S520).Then, the bit stream of the compressed document file is divided into a plurality of bit blocks each having a predetermined length (S520).
그런 다음, 기설정된 은닉 정보 데이터를 기설정된 길이 단위로 분할한 복수의 은닉 정보 비트를 상기 복수의 비트 블록에 할당한다(S530).Then, a plurality of hidden information bits obtained by dividing the predetermined secret information data by a predetermined length unit are allocated to the plurality of bit blocks (S530).
그런 후, 할당된 은닉 정보 비트의 값에 기초하여 해당 비트 블록의 비트 값을 변환시킨다(S540).Then, the bit value of the corresponding bit block is converted based on the value of the allocated secret information bit (S540).
구체적으로, 상기 단계 (S540)에서는 한 자릿수 비트인 은닉 정보 비트가 할당된 경우 은닉 정보 비트의 값에 따라 해당 비트 블록의 비트 값을 1비트 단위로 유지 또는 반전시킬 수 있다.More specifically, in the step S540, when the hidden information bit is assigned, the bit value of the corresponding bit block may be maintained or reversed in units of one bit according to the value of the hidden information bit.
또한, 상기 단계(S540)에서는 적어도 두 자릿수 비트인 은닉 정보 비트가 할당된 경우, 각 은닉 정보 비트 값에 매칭된 난수 비트스트림을 적용하여 비트 블록의 비트 값을 변환시킬 수 있다. 이때, 비트 블록의 길이와 대응된 길이를 갖는 복수의 난수 비트스트림을 생성하고, 할당된 은닉 정보 비트의 값 별로 서로 상이한 난수 비트스트림을 매칭시킨 후, 할당된 은닉 정보 비트에 매칭된 난수 비트스트림 및 해당 비트 블록을 1 비트 단위로 배타적 논리합(XOR) 또는 배타적 부정 논리합(XNOR) 연산한다.In the step S540, when a secret information bit of at least two digits is allocated, a bit value of the bit block may be transformed by applying a random bit stream matched to each secret information bit value. At this time, a plurality of random bitstreams having a length corresponding to the length of the bit block are generated, and the random bitstreams are matched with each other according to the values of the allocated secret information bits. And performs the exclusive OR (XOR) or exclusive NOR (XNOR) operation on the corresponding bit block in units of one bit.
다음으로, 비트 값을 변환시킨 비트 블록들을 포함하는 정보 은닉 문서 파일을 가역 정보 추출 장치로 제공한다(S550).Next, the information hiding document file including the bit blocks obtained by converting the bit values is provided to the reversible information extracting apparatus (S550).
이때, 상기 단계 (S550)에서는 은닉 정보 비트의 값 별로 매칭된 난수 비트스트림 및 비트 블록에 대해 기설정된 길이의 정보를 가역 정보 추출 장치(200)로 더 제공할 수 있다.At this time, in step S550, the reversible
한편, 상기 (S520) 단계에서는 압축 문서 파일의 헤더를 제외한 페이로드의 비트스트림을 상기 복수의 비트 블록으로 분할하며, 이에 따라 상기 단계 (S530) 및 (S540)은 헤더를 제외한 페이로드의 비트 블록에 대해 처리될 수 있다.In step S520, the bit stream of the payload excluding the header of the compressed document file is divided into the plurality of bit blocks. Accordingly, in steps S530 and S540, Lt; / RTI >
또한, 상기 단계 (S550) 이전에, 원본 문서 파일의 비트스트림을 각각 기설정된 크기를 갖는 복수의 비트 블록으로 분할하고, 비트 블록 별로 포함된 문자에 대한 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나에 대한 정보 지수 임계값를 산출하는 단계를 더 포함할 수 있다. 이때, 상기 단계 (S550)에서는, 가역 정보 추출 장치(200)로 정보 지수 임계값을 더 제공할 수 있다.Also, before the step S550, the bit stream of the original document file is divided into a plurality of bit blocks each having a predetermined size, and at least one of a significance index, a no- And a step of calculating an information index threshold value. At this time, in step S550, the reversible
이하, 도 6 내지 도 8을 참조하여 본 발명의 일 실시예에 따른 가역 정보 추출 장치(200)의 구성 및 동작에 대해서 상세히 설명하도록 한다.Hereinafter, the configuration and operation of the reversible
도 6은 본 발명의 일 실시예에 따른 가역 정보 추출 장치의 구성을 나타낸 블록도이다.6 is a block diagram illustrating a configuration of a reversible information extraction apparatus according to an embodiment of the present invention.
도 6에서와 같이, 본 발명의 일 실시예에 따른 가역 정보 추출 장치(200)는, 압축 문서 입력부(210), 복원 전처리부(220), 정보 분석부(230), 정보 분석 기준 데이터베이스(231), 은닉 정보 추출부(240) 및 문서 복원부(250)를 포함한다.6, the reversible
압축 문서 입력부(210)는 가역 정보 은닉 장치(100)로부터 압축 문서 파일에 은닉 정보 데이터가 인코딩된 정보 은닉 문서 파일을 입력받는다.The compressed
이때, 압축 문서 입력부(210)는 가역 정보 은닉 장치(100)로부터 원본 문서 파일의 비트 블록 당 정보 지수에 기초하여 설정된 정보 지수 임계값 및 비트 블록 단위에 대한 길이 정보를 더 입력 받을 수 있다.At this time, the compressed
복원 전처리부(220)는 정보 은닉 문서 파일을 기설정된 복원 포맷으로 디코딩하되, 기설정된 길이(즉, ‘L’)의 비트 블록 단위로 디코딩(이하, ‘1차 디코딩’이라고 지칭함)한다. 이때, 기설정된 복원 포맷은 가역 정보 은닉 장치(100)가 원본 문서 파일을 압축하는데 사용한 압축 포맷과 대응된 포맷이다.The
정보 분석부(230)는 1차 디코딩된 비트 블록 별로 포함된 문자 및 기설정된 정보 분석 기준에 기초하여 정보 지수를 산출한다. 참고로, 정보 지수는 비트 블록에 포함된 문자 또는 문자의 집합 별 속성에 따른 값으로서, 유의미 지수, 무의미 지수 및 문서 지수를 포함한다.The
구체적으로, 정보 분석부(230)는 ‘사전(dictionary)’ 데이터를 정보 분석 기준으로 사용하여, 1차 디코딩된 비트 블록에 포함된 문자에 의한 단어 중 ‘사전’에 포함된 단어(이하, ‘유의미 단어’라고 지칭함)를 추출한다. 이때, 정보 분석부(230)는 정보 분석 기준 데이터베이스(231)에 기저장되어 있는 사전 데이터를 사용하거나, 외부 사전 데이터베이스로부터 정보 분석 기준을 획득하여 사용할 수 있다. 또한, 정보 분석부(230)는 비트 블록의 문자에서 공백에 기준하여 단어를 구분할 수 있다. 즉, 비트 블록의 문자 중 두 빈칸 사이에 위치한 적어도 하나의 문자를 단어로 판단한다.Specifically, the
그리고, 정보 분석부(230)는 추출된 유의미 단어의 개수에 기초하여 유의미 지수를 산출한다. 예를 들어, 정보 분석부(230)는 해당 비트 블록의 문자에 포함된 단어 중 ‘사전’에 포함된 유의미 단어의 개수를 비트 블록의 문자에 포함된 전체 단어의 개수로 나눈 값을 유의미 지수로 산출할 수 있다.Then, the
또한, 정보 분석부(230)는 ‘컴퓨터 표준 코드’를 정보 분석 기준으로 사용하여, 1차 디코딩된 비트 블록의 문자 별 속성에 따른 무의미 지수 및 문서 지수를 산출한다. 이때, 정보 분석부(230)는 해당 비트 블록에 포함된 문자 별로 대응된 컴퓨터 표준 코드를 추출하고, 추출된 컴퓨터 표준 코드 중 기설정된 특정 코드에 대응된 문자의 개수에 기초하여 무의미 지수 및 문서 지수를 산출할 수 있다.Also, the
참고로, 정보 분석부(230)는 정보 분석 기준 데이터베이스(231)에 기저장되어 있는 컴퓨터 표준 코드 테이블을 사용하거나, 외부 컴퓨터 표준 코드 데이터베이스로부터 정보 분석 기준을 획득하여 사용할 수 있다. 또한, 컴퓨터 표준 코드는 문자 속성에 따라 글자 코드, 숫자 코드, 부호 코드 및 제어 코드로 분류될 수 있다.For reference, the
구체적으로, 도 7은 본 발명의 일 실시예에서 문서 파일의 정보 지수를 산출하는 방식을 설명하기 위한 아스키 코드 테이블이다.Specifically, FIG. 7 is an ASCII code table for explaining a method of calculating an information index of a document file in an embodiment of the present invention.
아스키 코드(ASCII CODE)는 키보드에서 표현되는 모든 문자(예를 들어, ’A, a, B, b, C, c….’ 등의 ‘글자’, ‘0, 1, 2…’ 등의 ‘숫자’, ‘@, #, $....’ 등의 ‘부호’ 및 ‘제어’ 문자)의 코드를 포함한다. 도 7의 아스키 코드 테이블에 따르면, 코드 번호 ‘65’부터 ‘90’까지는 알파벳 대문자를 의미하고, 코드 번호 ‘97’부터 ‘122’까지는 알파벳 소문자를 의미하는 ‘글자’ 코드이다. 이와 같은, 글자 코드 집합을 ‘ASCII-A’라 지칭하도록 한다. 또한, 코드 번호 ‘48’부터 ‘57’까지는 ‘숫자’를 의미하며, 이러한 숫자 코드 집합을 ‘ASCII-N’이라 지칭하도록 한다. 또한, 코드 번호 ‘32’부터 ‘126’까지는 ‘부호’를 의미하며, 이러한 부호 코드 집합을 ‘ASCII-S’라 지칭하도록 한다. 그리고, 코드 번호 ‘I0’부터 ‘31’까지 및 코드 번호 ‘127’은 제어 문자를 의미하며, 이러한 제어 코드 집합을 ‘ASCII-C’라 지칭하도록 한다.ASCII CODE is an ASCII code that is used to represent all characters represented on the keyboard (eg, 'letters' such as' A, a, B, b, C, Quot; and " control " characters, such as " number ", " @, #, According to the ASCII code table of FIG. 7, code numbers '65' to '90' signify uppercase alphabetic characters, and code numbers '97' to '122' signify lowercase alphabetic characters. Such a set of character codes is referred to as 'ASCII-A'. In addition, the code numbers '48' to '57' mean 'number', and this numeric code set is referred to as 'ASCII-N'. In addition, code numbers '32' to '126' mean 'code', and this code code set is referred to as 'ASCII-S'. The code numbers 'I0' to '31' and the code number '127' represent control characters, and the control code set is referred to as 'ASCII-C'.
이때, 정보 분석부(230)는 해당 비트 블록에 포함된 문자 별로 대응하는 아스키 코드를 추출하고, 추출된 아스키 코드 중 ASCII-C에 대응된 문자 개수에 따라 무의미 지수를 산출할 수 있다.At this time, the
한편, 일반적으로 ASCII-C에 대응된 문자(이하, ‘ASCII-C 문자’라고 지칭함)는 일반적인 문서 파일(이하, ‘보통 문서 파일’이라고 함)에서는 발견되지 않으며, 길이가 매우 긴 문서 등의 특별한 문서(이하, ‘특정 문서 파일’이라고 함)에서 ASCII 코드 번호 ‘13’(즉, ‘CR’) 등의 ASCII-C 문자가 사용된다.On the other hand, in general, a character corresponding to ASCII-C (hereinafter referred to as an 'ASCII-C character') is not found in a general document file (hereinafter referred to as a ' ASCII-C characters such as ASCII code number '13' (i.e., 'CR') are used in a special document (hereinafter referred to as a specific document file).
이에 따라, 정보 분석부(230)는 해당 비트 블록에 포함된 문자 별로 대응하는 아스키 코드를 추출하고, 추출된 아스키 코드 중 ASCII-C 문자 및 ASCII-S 문자의 개수와 ASCII-A 문자 및 ASCII-N 문자의 개수 간의 관계에 기초하여 문서 지수를 산출한다. 예를 들어, 정보 분석부(230)는 ASCII-C 문자 및 ASCII-S 문자의 개수를 ASCII-A 문자 및 ASCII-N 문자의 개수로 나눈 값을 문서 지수로서 산출할 수 있다.Accordingly, the
참고로, 보통 문서 파일의 경우, ASCII-A와 ASCII-N의 수가 ASCII-C 및 ASCII-S의 수보다 월등히 많을 것으로 예상된다. 예들 들어, ‘소설’ 및 ‘보고서’ 등의 문서 파일에서는 ASCII-A 문자의 개수가 압도적으로 많으며, ‘회계 장부’ 등의 문서 파일에서는 ASCII-N 문자의 개수가 압도적으로 많은 것이 정상적이다. 이에 따라, 정보 분석부(230)는 문서 파일의 종류에 따라 ASCII-C, ASCII-S, ASCII-A 및 ASCII-N 문자의 개수 간의 관계에 따른 연산을 처리할 수 있다.For reference, the number of ASCII-A and ASCII-N is expected to be significantly higher than the number of ASCII-C and ASCII-S for normal document files. For example, the number of ASCII-A characters in a document file such as 'novel' and 'report' is overwhelming, and the number of ASCII-N characters in a document file such as 'accounting book' is overwhelming. Accordingly, the
그리고, 정보 분석부(230)는 유의미 지수, 무의미지수 및 문서지수를 혼용하여 정보 지수를 산출하는 것도 가능하다.The
또한, 도 7에서는 정보 분석 기준으로서 아스키 코드 테이블만을 나타내었으나, 본 발명의 일 실시예에 따른 정보 분석부(230)는 정보 분석 기준으로서 유니코드 등의 다른 표준 코드들을 사용할 수 있다. 즉, 정보 분석 기준으로서 유니코드를 사용할 경우, 부호 코드 집합(‘UNICODE-C’로 지칭할 수 있음)과 대응된 문자의 개수를 무의미 지수로 산출할 수 있다. 이때, 유니코드 및 아스키코드 등 복수의 표준 코드를 혼용하여 정보 분석 기준으로서 사용하는 것도 가능하다.In FIG. 7, only the ASCII code table is shown as the information analysis standard. However, the
다시 도 6으로 돌아가서, 은닉 정보 추출부(240)는 상기 1차 디코딩의 결과 및 상기 산출된 정보 지수에 기초하여 각 비트 블록에 은닉된 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 비트 블록 별로 1차 디코딩 이전의 비트 값을 상기 추출된 은닉 정보 비트의 값에 기초하여 변환시키는 2차 디코딩을 처리한다.Returning to FIG. 6, the concealment
구체적으로, 정보 은닉 문서 파일을 상기 복원 포맷으로 1차 디코딩한 결과, 해당 비트 블록의 디코딩이 실패한 경우, 은닉 정보 비트는 해당 비트 블록의 비트 값을 반전시키도록 설정된 값을 갖는다.Specifically, when decoding of the corresponding bit block fails as a result of first decoding the information hiding document file in the restoration format, the hidden information bit has a value set to invert the bit value of the corresponding bit block.
예를 들어, 가역 정보 은닉 장치(100)에서 압축 문서 파일의 비트 블록의 비트 값을 반전시키는 2차 인코딩을 수행하도록 설정된 은닉 정보 비트의 값이 ‘1’인 경우, 상기 1차 디코딩 실패 시 해당 비트 블록에 은닉 정보 비트 ‘1’이 은닉된 것을 알 수 있다. 이때, 은닉 정보 추출부(240)는 은닉 정보 비트 ‘1’을 추출하고 해당 비트 블록의 비트 값을 1 비트 단위로 반전시킨다. 참고로, 해당 비트 블록의 비트 값을 반전시키는 은닉 정보 비트의 값은 ‘1’ 또는 ‘0’ 중 어느 하나로 설정될 수 있다.For example, when the value of the secret information bit set to perform the secondary encoding for inverting the bit value of the bit block of the compressed document file is '1' in the reversible information
반면, 상기 1차 디코딩이 성공한 경우, 해당 비트 블록에 은닉된 은닉 정보 비트는 ‘1’ 또는 ‘0’일 가능성이 있다. 이에 따라, 은닉 정보 추출부(240)는 1차 디코딩이 성공된 비트 블록에 대해 산출된 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 은닉 정보 비트를 추출한다. 참고로, 은닉 정보 추출부(240)는 압축 문서 입력부(210)를 통해 가역 정보 은닉 장치(100)로부터 입력된 정보 지수 임계값을 획득할 수 있다.On the other hand, when the primary decoding is successful, there is a possibility that the secret information bit hidden in the corresponding bit block is '1' or '0'. Accordingly, the concealment
이때, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록에 대해 산출된 정보 지수 중 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나에 기초하여 은닉 정보 비트를 추출할 수 있다.At this time, the concealment
구체적으로, 은닉 정보 추출부(240)는 산출된 유의미 지수가 기설정된 유의미 지수 임계값보다 일정 범위 이상으로 낮은 경우, 원본 문서 파일에 비해 해당 비트 블록에 유의미 단어가 일정 기준 이하로 적게 포함된 것으로 판단한다.Specifically, if the calculated significance index is lower than a predetermined range of significance indexes, the concealment
예를 들어, 도 4의 (b)의 비트 블록을 상기 1차 디코딩된 비트 블록인 것으로 가정하고, 도 4의 (a)의 비트 블록을 원본 문서 파일의 비트 블록인 것으로 가정할 수 있다. 이때, 원본 문서 파일의 비트 블록에 포함된 문자에 기초하여 산출된 유의미 지수 임계값에 비해, 1차 디코딩된 비트 블록에 포함된 문자에 기초하여 산출된 유의미 지수가 현격히 낮을 것을 예측할 수 있다.For example, it is assumed that the bit block of FIG. 4B is the first decoded bit block, and that the bit block of FIG. 4A is a bit block of the original document file. At this time, it can be predicted that the significance index calculated based on the characters included in the first decoded bit block is significantly lower than the significance index threshold calculated based on the characters included in the bit block of the original document file.
이처럼, 산출된 유의미 지수가 유의미 지수 임계값에 비해 낮은 경우 1차 디코딩의 결과가 비성공적으로 판단할 수 있다. 즉, 해당 비트 블록이 원본 문서 파일의 비트 블록에서의 비트 값이 그대로 유지되지 않고 반전된 것으로 판단한다. 이에 따라, 은닉 정보 추출부(240)는 해당 비트 블록에 은닉된 은닉 정보 비트로서, 비트 값을 반전시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 해당 비트 블록의 1차 디코딩 이전의 비트 값을 1 비트 단위로 반전시킨다.As such, if the calculated significance index is lower than the significance index threshold value, the result of the first decoding can be judged unsuccessfully. That is, it is determined that the corresponding bit block is inverted without maintaining the bit value in the bit block of the original document file. Accordingly, the concealment
반면, 은닉 정보 추출부(240)는 산출된 유의미 지수가 유의미 지수 임계값과 동일 또는 일정 범위 이내로 높은 경우, 해당 비트 블록에 원본 문서 파일과 동일 또는 유사한 개수의 유의미 단어가 포함된 것으로 판단한다. 이에 따라, 은닉 정보 추출부(240)는 해당 비트 블록에 은닉된 은닉 정보 비트로서, 비트 블록의 비트 값을 유지시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 해당 비트 블록의 1차 디코딩 이전의 비트 값을 유지시킨다.On the other hand, if the calculated significance index is equal to or smaller than the threshold value of the significance index, the concealment
한편, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록에 대해 산출된 무의미 지수가 기설정된 무의미 지수 임계값 보다 일정 범위 이상으로 높은 경우, 해당 비트 블록에 원본 문서 파일에 비해 일정 기준 이상으로 많은 무의미 문자가 포함된 것으로 판단한다.Meanwhile, the concealment
예를 들어, 상기 도 4의 (b)의 비트 블록은 두 개의 ASCII-N(즉, ‘5’ 및 ‘4’) 문자, 네 개의 ASCII-S(즉, ‘*’, ‘^’, ‘$’ 및 ‘?’) 문자를 포함하고 있다. 반면, 도 4의 (a)의 비트 블록은 ASCII-N 문자와 ASCII-S 문자를 포함하고 있지 않다. 도 4의 (b)의 비트 블록을 상기 1차 디코딩된 비트 블록인 것으로 가정하고, 도 4의 (a)의 비트 블록을 원본 문서 파일의 비트 블록인 것으로 가정할 때, 1차 디코딩된 비트 블록은 원본 문서 파일의 비트 블록에 비해 다수의 ASCII-C 문자를 포함하고 있으므로, 1차 디코딩이 비성공적이라 판단된다. 이에 따라, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록으로부터, 비트 블록의 비트 값을 반전시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출할 수 있다. 그리고, 은닉 정보 추출부(240)는 추출된 은닉 정보 비트에 따라 해당 비트 블록의 1차 디코딩 이전의 비트 값을 1 비트 단위로 반전시킨다.For example, the bit block of FIG. 4B includes two ASCII-N (i.e., '5' and '4') characters, four ASCII-S $ 'And'? ') Characters. On the other hand, the bit block in FIG. 4A does not include the ASCII-N character and the ASCII-S character. Assuming that the bit block of FIG. 4B is the first decoded bit block and that the bit block of FIG. 4A is a bit block of the original document file, the first decoded bit block Is comprised of a number of ASCII-C characters compared to the bit block of the original document file, it is determined that the primary decoding is unsuccessful. Accordingly, the concealment
반면, 은닉 정보 추출부(240)는 산출된 무의미 지수가 무의미 지수 임계값 이하이거나 ‘0’인 경우, 해당 비트 블록에 원본 문서 파일과 동일 또는 유사한 개수의 무의미 문자가 포함된 것으로 판단한다. 즉, 1차 디코딩이 성공적이라 판단한다. 이에 따라, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록으로부터, 비트 블록의 비트 값을 유지시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 추출된 은닉 정보 비트의 값에 따라 해당 비트 블록의 1차 디코딩 이전의 비트 값을 유지시킨다.On the other hand, the concealment
한편, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록에 대해 산출된 문서 지수가 기설정된 문서 지수 임계값 보다 일정 범위 이상으로 높은 경우, 해당 비트 블록에 원본 문서 파일에 비해 특정 문서에만 포함되는 특정 문자들이 일정 기준 이상으로 많이 포함된 것으로 판단한다. 즉, 해당 비트 블록이 원본 문서 파일의 비트 블록에서의 비트 값이 그대로 유지되지 않고 반전된 것으로 판단한다. 이에 따라, 은닉 정보 추출부(240)는 해당 비트 블록에 은닉된 은닉 정보 비트로서, 비트 값을 반전시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 해당 비트 블록의 1차 디코딩 이전의 비트 값을 1 비트 단위로 반전시킨다.On the other hand, when the document index calculated for the first decoded bit block is higher than a preset threshold value of the document index, the concealment
반면, 은닉 정보 추출부(240)는 산출된 문서 지수가 문서 지수 임계값 이하이거나 ‘0’인 경우, 해당 비트 블록에 원본 문서 파일과 동일 또는 유사한 개수의 상기 특정 문자가 포함된 것으로 판단한다. 즉, 즉, 1차 디코딩이 성공적이라 판단한다. 이에 따라, 은닉 정보 추출부(240)는 1차 디코딩된 비트 블록으로부터, 비트 블록의 비트 값을 유지시키도록 사전에 설정된 값을 갖는 은닉 정보 비트를 추출한다. 그리고, 은닉 정보 추출부(240)는 추출된 은닉 정보 비트의 값에 따라 해당 비트 블록의 1차 디코딩 이전의 비트 값을 유지시킨다.On the other hand, if the calculated document index is less than or equal to the document index threshold value, the concealment
다시 도 6으로 돌아가서, 문서 복원부(250)는 은닉 정보 추출부(240)를 통해 상기 비트 값이 변환(즉, ‘반전’ 또는 ‘유지’)된 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원한다.Referring back to FIG. 6, the
이하, 도 8을 참조하여 본 발명의 일 실시예에 따른 가역 정보 추출 방법에 대해서 상세히 설명하도록 한다.Hereinafter, a method for extracting reversible information according to an embodiment of the present invention will be described in detail with reference to FIG.
도 8은 본 발명의 일 실시예에 따른 가역 정보 추출 방법을 설명하기 위한 순서도이다.8 is a flowchart for explaining a reversible information extraction method according to an embodiment of the present invention.
먼저, 가역 정보 은닉 장치(100)로부터 압축 문서 파일에 은닉 정보 데이터가 인코딩된 정보 은닉 문서 파일을 입력받는다(S810).First, the reversible information
이때, 상기 단계 (S810)에서는, 원본 문서 파일의 비트 블록에 포함된 문자에 기초하여 산출된 정보 지수 임계값 및, 비트 블록의 길이 정보 중 적어도 하나를 더 입력 받을 수 있다.At this time, at step S810, at least one of the information index threshold value calculated based on the characters included in the bit block of the original document file and the length information of the bit block may be further input.
그런 후, 기설정된 복원 포맷을 적용하여 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 디코딩한다(S820).Then, the information hiding document file is decoded in units of a predetermined length by applying a preset restoration format (S820).
다음으로, 상기 디코딩된 비트 블록에 포함된 복수의 문자에 기초하여 정보 지수를 산출한다(S830).Next, an information index is calculated based on the plurality of characters included in the decoded bit block (S830).
구체적으로, 상기 디코딩된 비트 블록에 포함된 문자를 기설정된 정보 분석 기준에 기초하여 분석하고, 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나의 정보 지수를 산출한다.Specifically, a character included in the decoded bit block is analyzed based on a predetermined information analysis criterion, and at least one information index among a significance index, a meaninglessness index, and a document index is calculated according to a result of the analysis.
이때, 기설정된 ‘사전’을 정보 분석 기준으로 사용하여, 비트 블록에 포함된 복수의 문자에 의한 단어 중 ‘사전’에 포함된 유의미 단어를 추출하고, 유의미 단어의 개수에 기초하여 유의미 지수를 산출할 수 있다.At this time, by using a predetermined 'dictionary' as an information analysis standard, a significant word included in a 'dictionary' among words by a plurality of characters included in a bit block is extracted and a significance index is calculated based on the number of significant words can do.
그리고, 기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 정보 분석 기준으로 사용하여, 비트 블록에 포함된 복수의 문자 별로 대응하는 컴퓨터 표준 코드를 추출하고, 추출된 컴퓨터 표준 코드 중 부호 코드에 대응된 문자의 개수에 기초하여 무의미 지수를 산출할 수 있다.Then, a computer standard code including a predetermined character code, a numeric code, a code code, and a control code is used as an information analysis standard to extract a corresponding computer standard code for each of a plurality of characters included in the bit block, The meaninglessness index can be calculated based on the number of characters corresponding to the code code in the standard code.
또한, 기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 정보 분석 기준으로 사용하여, 비트 블록에 포함된 복수의 문자 별로 대응하는 컴퓨터 표준 코드를 추출하고, 추출된 컴퓨터 표준 코드 중 글자 코드 및 숫자 코드 중 적어도 하나에 대응된 문자의 개수와 부호 코드 및 제어 코드 중 적어도 하나에 대응된 문자의 개수에 기초하여 문서 지수를 산출할 수 있다.Further, a computer standard code including a predetermined character code, a numeric code, a code code, and a control code is used as an information analysis standard to extract a corresponding computer standard code for each of a plurality of characters included in a bit block, The document index can be calculated based on the number of characters corresponding to at least one of the letter code and the numeric code in the standard code, and the number of characters corresponding to at least one of the code code and the control code.
다음으로, 산출된 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 비트 블록에 은닉된 은닉 정보 비트를 추출한다(S840).Next, the hidden information bits hidden in the bit block are extracted based on a result of comparing the calculated information index and a preset information index threshold (S840).
이때, 비트 블록 당 한 자릿수 비트 단위의 은닉 정보 비트를 추출하되, 산출한 정보 지수와 정보 지수 임계값을 비교한 결과에 따라 제 1 비트 값을 갖는 제 1 은닉 정보 비트를 추출하거나 또는 제 1 비트 값이 반전된 제 2 비트 값을 갖는 제 2 은닉 정보 비트를 추출할 수 있다.At this time, a secret information bit of one bit unit per bit block is extracted. The first secret information bit having the first bit value is extracted according to the result of comparing the calculated information index and the information index threshold value, The second hidden information bit having the second bit value whose value is inverted can be extracted.
그런 후, 비트 블록 별로 디코딩 이전의 비트 값을 은닉 정보 비트의 값에 기초하여 변환시킨다(S850).Then, the bit value before decoding is converted for each bit block based on the value of the secret information bit (S850).
구체적으로, 추출된 은닉 정보 비트의 값에 따라 비트 블록 별 비트 값을 1 비트 단위로 유지 또는 반전시킨다.Specifically, the bit value of each bit block is maintained or inverted in units of one bit according to the value of the extracted hidden information bit.
그런 후, 비트 값이 변환된 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원한다(S860).Then, the bit block in which the bit value is converted is decoded into the restoration format and restored to the original document file (S860).
이상 도 6 내지 도 8에서는, 가역 정보 추출 장치(200)가 정보 은닉 문서 파일의 비트 블록 당 한 자릿수 비트 단위의 은닉 정보 비트를 추출한 후 2차 디코딩한 것을 설명하였다.6 to 8, the reversible
그런데, 본 발명의 다른 실시예에 따른 가역 정보 추출 장치(200)는 정보 은닉 문서 파일의 비트 블록 당 두 자릿수 이상의 비트 단위의 은닉 정보 비트를 추출하여 2차 디코딩을 처리하는 것도 가능하다. 이때, 가역 정보 추출 장치(200)는 가역 정보 은닉 장치(100)로부터 은닉 정보 비트의 값 별로 매칭된 난수 비트스트림을 수신한다. 그리고, 가역 정보 추출 장치(200)는 정보 은닉 문서 파일의 각 비트 블록 별로 산출된 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과, 및 난수 비트스트림에 기초하여 비트 블록 별 은닉 정보 비트를 추출한다. 또한, 가역 정보 추출 장치(200)는 추출된 비트 블록 별 은닉 정보 비트에 기초하여 정보 은닉 문서 파일에 대한 2차 디코딩을 수행한다.However, the reversible
본 발명의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Embodiments of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
10: 가역 정보 은닉 시스템
100: 가역 정보 은닉 장치
200: 가역 정보 추출 장치10: reversible information concealment system
100: reversible information concealment device
200: reversible information extraction device
Claims (20)
원본 문서 파일을 기설정된 압축 포맷으로 1차 인코딩하여 압축 문서 파일을 출력하는 문서 압축부;
상기 압축 문서 파일의 비트스트림을 각각 기설정된 제 1 길이를 갖는 복수의 비트 블록으로 분할하고, 기설정된 은닉 정보 데이터를 각각 기설정된 제 2 길이를 갖는 복수의 은닉 정보 비트로 분할하여 상기 복수의 비트 블록에 각각 할당하고, 할당된 상기 은닉 정보 비트의 값에 기초하여 상기 비트 블록의 비트 값을 변환시키는 2차 인코딩을 처리하는 정보 은닉 처리부; 및
상기 비트 값을 변환시킨 비트 블록들을 포함하는 정보 은닉 문서 파일을 제공하는 정보 은닉 문서 제공부를 포함하는 가역 정보 은닉 장치.A reversible information concealment apparatus comprising:
A document compression unit for primarily encoding an original document file into a predetermined compression format and outputting a compressed document file;
Dividing the bit stream of the compressed document file into a plurality of bit blocks each having a predetermined first length and dividing the predetermined hidden information data into a plurality of hidden information bits each having a predetermined second length, And an information concealment processing unit for processing a second encoding process for converting a bit value of the bit block based on the value of the allocated secret information bit; And
And an information hiding document providing unit for providing an information hiding document file including the bit blocks obtained by converting the bit values.
상기 정보 은닉 처리부는,
상기 할당된 은닉 정보 비트의 값에 따라 상기 비트 블록의 비트 값을 1 비트 단위로 유지 또는 반전시키는 가역 정보 은닉 장치.The method according to claim 1,
The information concealment processing unit,
And the bit value of the bit block is maintained or reversed in units of one bit according to the value of the allocated secret information bit.
상기 정보 은닉 처리부는,
상기 비트 블록의 길이와 대응된 길이를 갖는 복수의 난수 비트스트림을 생성하고,
상기 할당된 은닉 정보 비트에 매칭된 난수 비트스트림 및 상기 비트 블록을 1 비트 단위로 배타적 논리합(XOR) 또는 배타적 부정 논리합(XNOR) 연산하는 가역 정보 은닉 장치.The method according to claim 1,
The information concealment processing unit,
Generating a plurality of random bit streams having a length corresponding to the length of the bit block,
A random number bit stream matched with the allocated secret information bits, and an XOR operation or an XOR operation of the bit blocks in units of one bit.
상기 원본 문서 파일의 비트스트림을 복수의 비트 블록으로 구분하고, 상기 비트 블록 별로 포함된 복수의 문자를 기설정된 정보 분석 기준에 따라 분석하여 유의미 지수, 무의미 지수, 및 문서 지수 중 적어도 하나를 산출하고, 상기 산출된 유의미 지수, 무의미 지수, 및 문서 지수 중 적어도 하나를 정보 지수 임계값으로 설정하는 정보 지수 임계값 설정부를 더 포함하되,
상기 정보 은닉 문서 제공부는,
상기 정보 지수 임계값을 가역 정보 추출 장치로 제공하는 가역 정보 은닉 장치.The method according to claim 1,
A bit stream of the original document file is divided into a plurality of bit blocks, and a plurality of characters included in each of the bit blocks are analyzed according to a predetermined information analysis standard to calculate at least one of a significance index, a meaninglessness index, and a document index And an information index threshold value setting unit for setting at least one of the calculated significance index, the meaninglessness index, and the document index as an information index threshold value,
Wherein the information hiding document providing unit comprises:
And provides the information index threshold value to the reversible information extracting apparatus.
상기 정보 분석 기준은,
기설정된 사전(dictionary) 및 컴퓨터 표준 코드 중 적어도 하나로 설정된 가역 정보 은닉 장치.5. The method of claim 4,
The above-
Wherein the predetermined information is set to at least one of a predetermined dictionary and a computer standard code.
압축 문서 파일에 은닉 정보 데이터가 인코딩된 정보 은닉 문서 파일을 입력받는 압축 문서 입력부;
기설정된 복원 포맷을 적용하여 상기 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 1차 디코딩하는 복원 전처리부;
상기 1차 디코딩된 비트 블록에 포함된 복수의 문자를 기설정된 정보 분석 기준에 기초하여 분석하고, 상기 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나를 포함하는 정보 지수를 산출하는 정보 분석부;
산출된 상기 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 상기 비트 블록에 은닉된 은닉 정보 비트를 추출하고, 상기 비트 블록 별로 상기 1차 디코딩 이전의 비트 값을 상기 은닉 정보 비트의 값에 기초하여 변환시키는 2차 디코딩을 처리하는 은닉 정보 추출부; 및
상기 은닉 정보 추출부를 통해 상기 비트 값이 변환된 상기 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원하는 문서 복원부를 포함하는 가역 정보 추출 장치.A reversible information extracting apparatus comprising:
A compressed document input unit for receiving an information hiding document file in which secret information data is encoded in a compressed document file;
A restoration preprocessor for first decoding the information hiding document file in units of a predetermined number of bit blocks by applying a predetermined restoration format;
Analyzing a plurality of characters included in the first decoded bit block based on a predetermined information analysis criterion and calculating an information index including at least one of a significance index, a meaningless index, and a document index according to the analyzed result Information Analysis Department;
Extracting a hidden information bit hidden in the bit block based on a result of comparing the calculated information index and a predetermined information exponent threshold value and outputting a bit value before the primary decoding for each bit block, A concealment information extracting unit for processing the second decoding to convert the second information based on the value; And
And a document decompression unit decoding the bit block into which the bit value is converted through the secret information extracting unit into the restoration format and restoring the bit block into an original document file.
상기 은닉 정보 추출부는,
상기 비트 블록 당 한 자릿수 비트 단위의 상기 은닉 정보 비트를 추출하며,
상기 산출한 정보 지수와 상기 정보 지수 임계값을 비교한 결과에 따라 제 1 비트 값을 갖는 제 1 은닉 정보 비트 또는 상기 제 1 비트 값이 반전된 제 2 비트 값을 갖는 제 2 은닉 정보 비트를 추출하되,
추출된 상기 은닉 정보 비트의 값에 따라 상기 비트 블록 별 비트 값을 1 비트 단위로 유지 또는 반전시키는 가역 정보 추출 장치.The method according to claim 6,
Wherein the hidden information extracting unit extracts,
Extracting the secret information bits in units of one bit per bit block,
Extracting a first hidden information bit having a first bit value or a second hidden information bit having a second bit value in which the first bit value is inverted according to a result of comparing the calculated information index and the information index threshold value, However,
And the bit value for each bit block is maintained or inverted in units of one bit according to the value of the extracted secret information bit.
상기 압축 문서 입력부는,
가역 정보 은닉 장치로부터 상기 원본 문서 파일의 비트 블록 별로 산출된 상기 정보 지수 임계값을 더 입력받으며,
상기 정보 지수 임계값은,
상기 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나의 임계값을 포함하는 가역 정보 추출 장치.The method according to claim 6,
Wherein the compressed document input unit comprises:
The information index threshold value calculated for each bit block of the original document file is further input from the reversible information concealment apparatus,
The information index threshold value is a value
And a threshold value of at least one of the significance index, the no-sense index, and the document index.
상기 정보 분석부는,
기설정된 사전(dictionary)을 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자에 의한 단어 중 상기 사전에 포함된 유의미 단어를 추출하고,
상기 유의미 단어의 개수에 기초하여 상기 유의미 지수를 산출하는 가역 정보 추출 장치.The method according to claim 6,
The information analyzing unit,
Extracting a meaning word included in the dictionary from a plurality of characters included in the bit block using a predetermined dictionary as the information analysis criterion,
And calculating the significance index based on the number of the significant words.
상기 정보 분석부는,
기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자 별로 대응하는 상기 컴퓨터 표준 코드를 추출하고, 상기 추출된 컴퓨터 표준 코드 중 상기 부호 코드에 대응된 문자의 개수에 기초하여 상기 무의미 지수를 산출하는 가역 정보 추출 장치.The method according to claim 6,
The information analyzing unit,
Extracting a corresponding computer standard code for each of a plurality of characters included in the bit block by using a computer standard code including a predetermined character code, a numeric code, a code code and a control code as the information analysis reference, And the number of characters corresponding to the code code among the computer standard codes is calculated.
상기 정보 분석부는,
기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자 별로 대응하는 상기 컴퓨터 표준 코드를 추출하고, 상기 추출된 컴퓨터 표준 코드 중 상기 글자 코드 및 숫자 코드 중 적어도 하나에 대응된 문자의 제 1 개수와 상기 부호 코드 및 제어 코드 중 적어도 하나에 대응된 문자의 제 2 개수에 기초하여 상기 문서 지수를 산출하는 가역 정보 추출 장치.The method according to claim 6,
The information analyzing unit,
Extracting a corresponding computer standard code for each of a plurality of characters included in the bit block by using a computer standard code including a predetermined character code, a numeric code, a code code and a control code as the information analysis reference, Calculating a document index based on a first number of characters corresponding to at least one of the letter code and the numeric code among the computer standard codes and a second number of characters corresponding to at least one of the code code and the control code Information extraction device.
(a) 원본 문서 파일을 기설정된 압축 포맷으로 1차 인코딩하여 압축 문서 파일을 출력하는 단계;
(b) 상기 압축 문서 파일의 비트스트림을 각각 기설정된 제 1 길이를 갖는 복수의 비트 블록으로 분할하는 단계;
(c) 기설정된 은닉 정보 데이터를 기설정된 제 2 길이 단위로 분할한 복수의 은닉 정보 비트를 상기 복수의 비트 블록에 할당하는 단계;
(d) 할당된 상기 은닉 정보 비트의 값에 기초하여 상기 비트 블록의 비트 값을 변환시키는 2차 인코딩을 처리하는 단계; 및
(e) 상기 비트 값을 변환시킨 비트 블록들을 포함하는 정보 은닉 문서 파일을 제공하는 단계를 포함하는 가역 정보 은닉 방법.A method for concealing information in a precompressed document file by a reversible information concealment device,
(a) outputting a compressed document file by first encoding an original document file in a predetermined compression format;
(b) dividing the bit stream of the compressed document file into a plurality of bit blocks each having a predetermined first length;
(c) allocating a plurality of concealment information bits obtained by dividing predetermined concealment information data by a predetermined second length unit to the plurality of bit blocks;
(d) processing a secondary encoding that transforms the bit value of the bit block based on the value of the allocated secret information bit; And
(e) providing an information hiding document file including the bit blocks into which the bit values are transformed.
상기 (d) 단계는,
상기 할당된 은닉 정보 비트의 값에 따라 상기 비트 블록의 비트 값을 1비트 단위로 유지 또는 반전시키는 가역 정보 은닉 방법.13. The method of claim 12,
The step (d)
And the bit value of the bit block is maintained or inverted in units of one bit according to the value of the allocated secret information bit.
상기 (d) 단계는,
상기 비트 블록의 길이와 대응된 길이를 갖는 복수의 난수 비트스트림을 생성하는 단계;
상기 할당된 은닉 정보 비트의 값 별로 서로 상이한 상기 난수 비트스트림을 매칭시키는 단계; 및
상기 할당된 은닉 정보 비트에 매칭된 난수 비트스트림 및 상기 비트 블록을 1 비트 단위로 배타적 논리합(XOR) 또는 배타적 부정 논리합(XNOR) 연산하는 단계를 포함하는 가역 정보 은닉 방법.13. The method of claim 12,
The step (d)
Generating a plurality of random bit streams having a length corresponding to the length of the bit block;
Matching the random bitstreams different for each value of the allocated secret information bits; And
A random number bit stream matched with the allocated secret information bits, and XORing or XORing the bit blocks in units of one bit.
상기 (e) 단계 이전에,
상기 원본 문서 파일의 비트스트림을 복수의 비트 블록으로 구분하는 단계;
상기 원본 문서 파일의 비트 블록 별로 포함된 복수의 문자를 기설정된 정보 분석 기준에 따라 분석하여 유의미 지수, 무의미 지수, 및 문서 지수 중 적어도 하나를 산출하는 단계; 및
상기 산출된 유의미 지수, 무의미 지수, 및 문서 지수 중 적어도 하나를 정보 지수 임계값으로 설정하는 단계를 더 포함하되,
상기 (e) 단계는,
상기 정보 지수 임계값을 가역 정보 추출 장치로 더 제공하는 가역 정보 은닉 방법.13. The method of claim 12,
Prior to step (e)
Dividing a bit stream of the original document file into a plurality of bit blocks;
Calculating at least one of a significance index, a meaninglessness index, and a document index by analyzing a plurality of characters included in each of the bit blocks of the original document file according to a predetermined information analysis criterion; And
Setting at least one of the calculated significance index, the meaninglessness index, and the document index to an information index threshold value,
The step (e)
Wherein the information index threshold value is further provided to a reversible information extracting apparatus.
(a) 압축 문서 파일에 은닉 정보 데이터가 인코딩된 상기 정보 은닉 문서 파일을 입력받는 단계;
(b) 기설정된 복원 포맷을 적용하여 상기 정보 은닉 문서 파일을 기설정된 길이의 비트 블록 단위로 1차 디코딩하는 단계;
(c) 상기 1차 디코딩된 비트 블록에 포함된 복수의 문자를 기설정된 정보 분석 기준에 기초하여 분석하여, 상기 분석한 결과에 따라 유의미 지수, 무의미 지수 및 문서 지수 중 적어도 하나를 포함하는 정보 지수를 산출하는 단계;
(d) 산출된 상기 정보 지수와 기설정된 정보 지수 임계값을 비교한 결과에 기초하여 상기 비트 블록에 은닉된 은닉 정보 비트를 추출하는 단계;
(e) 상기 비트 블록 별로 상기 1차 디코딩 이전의 비트 값을 상기 은닉 정보 비트의 값에 기초하여 변환시키는 2차 디코딩을 처리하는 단계; 및
(f) 상기 비트 값이 변환된 비트 블록을 상기 복원 포맷으로 디코딩하여 원본 문서 파일로 복원하는 단계를 포함하는 가역 정보 추출 방법.A method for extracting secret information data hidden in an information hiding document file by a reversible information extraction device,
(a) receiving the information hiding document file in which secret information data is encoded in a compressed document file;
(b) first decoding the information hiding document file in units of a predetermined length by applying a preset restoration format;
(c) analyzing a plurality of characters included in the first decoded bit block on the basis of a predetermined information analysis criterion, and calculating an information index including at least one of a significance index, a no- ;
(d) extracting the hidden information bits hidden in the bit block based on a result of comparing the calculated information index with a preset information index threshold value;
(e) processing a secondary decoding for converting the bit value before the primary decoding on the bit block basis based on the value of the secret information bit; And
(f) decoding the bit block into which the bit value has been converted into the restoration format and restoring the same into an original document file.
상기 (d) 단계는,
상기 비트 블록 당 한 자릿수 비트 단위의 상기 은닉 정보 비트를 추출하되,
상기 산출한 정보 지수와 상기 정보 지수 임계값을 비교한 결과에 따라 제 1 비트 값을 갖는 제 1 은닉 정보 비트 또는 상기 제 1 비트 값이 반전된 제 2 비트 값을 갖는 제 2 은닉 정보 비트를 추출하고,
상기 (e) 단계는,
상기 추출된 은닉 정보 비트의 값에 따라 상기 비트 블록 별 비트 값을 1 비트 단위로 유지 또는 반전시키는 가역 정보 추출 방법.17. The method of claim 16,
The step (d)
Extracting the secret information bits in units of one bit per bit block,
Extracting a first hidden information bit having a first bit value or a second hidden information bit having a second bit value in which the first bit value is inverted according to a result of comparing the calculated information index and the information index threshold value, and,
The step (e)
Wherein the bit value of each bit block is maintained or inverted in units of one bit according to the value of the extracted hidden information bit.
상기 (c) 단계는,
기설정된 사전(dictionary)을 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자에 의한 단어 중 상기 사전에 포함된 유의미 단어를 추출하는 단계; 및
상기 유의미 단어의 개수에 기초하여 상기 유의미 지수를 산출하는 단계를 포함하는 가역 정보 추출 방법.17. The method of claim 16,
The step (c)
Extracting a meaning word included in the dictionary from among a plurality of characters included in the bit block using a predetermined dictionary as the information analysis reference; And
And calculating the significance index based on the number of the significant words.
상기 (c) 단계는,
기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자 별로 대응하는 상기 컴퓨터 표준 코드를 추출하는 단계; 및
상기 추출된 컴퓨터 표준 코드 중 상기 부호 코드에 대응된 문자의 개수에 기초하여 상기 무의미 지수를 산출하는 단계를 포함하는 가역 정보 추출 방법.17. The method of claim 16,
The step (c)
Extracting a corresponding computer standard code for each of a plurality of characters included in the bit block using a computer standard code including a predetermined character code, a numeric code, a code code, and a control code as the information analysis reference; And
And calculating the nonsense index based on the number of characters corresponding to the code code among the extracted computer standard codes.
상기 (c) 단계는,
기설정된 글자 코드, 숫자 코드, 부호 코드 및 제어 코드를 포함하는 컴퓨터 표준 코드를 상기 정보 분석 기준으로 사용하여, 상기 비트 블록에 포함된 복수의 문자 별로 대응하는 상기 컴퓨터 표준 코드를 추출하는 단계; 및
상기 추출된 컴퓨터 표준 코드 중 상기 글자 코드 및 숫자 코드 중 적어도 하나에 대응된 문자의 제 1 개수와 상기 부호 코드 및 제어 코드 중 적어도 하나에 대응된 문자의 제 2 개수에 기초하여 상기 문서 지수를 산출하는 단계를 포함하는 가역 정보 추출 방법.17. The method of claim 16,
The step (c)
Extracting a corresponding computer standard code for each of a plurality of characters included in the bit block using a computer standard code including a predetermined character code, a numeric code, a code code, and a control code as the information analysis reference; And
Calculating the document index based on a first number of characters corresponding to at least one of the letter code and the numeric code among the extracted computer standard codes and a second number of characters corresponding to at least one of the code code and the control code And extracting the reversible information.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020130007602 | 2013-01-23 | ||
| KR20130007602 | 2013-01-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20140095024A KR20140095024A (en) | 2014-07-31 |
| KR101568211B1 true KR101568211B1 (en) | 2015-11-11 |
Family
ID=51740467
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020140006761A Active KR101568211B1 (en) | 2013-01-23 | 2014-01-20 | System and method for hiding and extracting reversible data |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101568211B1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10439995B2 (en) * | 2016-01-12 | 2019-10-08 | Acronis International Gmbh | Method and system for secure private communications |
| CN114998084B (en) * | 2022-05-30 | 2024-10-18 | 杭州电子科技大学上虞科学与工程研究院有限公司 | Encryption image data hiding method based on full-permutation transformation |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006208992A (en) * | 2005-01-31 | 2006-08-10 | Fujitsu Ltd | Data compression method, data restoration method, data compression device, data restoration device, data compression program, and data restoration program |
-
2014
- 2014-01-20 KR KR1020140006761A patent/KR101568211B1/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006208992A (en) * | 2005-01-31 | 2006-08-10 | Fujitsu Ltd | Data compression method, data restoration method, data compression device, data restoration device, data compression program, and data restoration program |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140095024A (en) | 2014-07-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4893750B2 (en) | Data compression apparatus and data decompression apparatus | |
| JP5315054B2 (en) | Secure protection of biometric templates | |
| US7821427B2 (en) | Data processing system and method | |
| WO2019153867A1 (en) | Two-dimensional code generation and identification | |
| CN109657769B (en) | Two-dimensional code information hiding method based on run length coding | |
| US11902417B2 (en) | Computer-implemented method of performing format-preserving encryption of a data object of variable size | |
| CN105976303B (en) | A kind of reversible information based on vector quantization hides and extracting method | |
| US9462152B2 (en) | System and method for hiding reversible information | |
| CN101610088A (en) | System and method for encoding data based on compression techniques with security features | |
| Kumar et al. | A high capacity email based text steganography scheme using Huffman compression | |
| Moulin et al. | New results on steganographic capacity | |
| CN116156072B (en) | Steganographic image generation method, steganographic information extraction method and related devices | |
| KR101568211B1 (en) | System and method for hiding and extracting reversible data | |
| CN105721882B (en) | Method for separating coding and decoding | |
| US20190036543A1 (en) | A Method of Protecting Data Using Compression Algorithms | |
| US7925012B2 (en) | Method and system for the secure distribution of compressed digital texts | |
| Bhardwaj et al. | An Approach for Enhancing Data Storage Capacity in Quick Response Code using Zip Compression Technique | |
| JP2003179500A (en) | Method of compressing data | |
| Al-Jarrah et al. | Word-based encryption algorithm using dictionary indexing with variable encryption key length | |
| US6101281A (en) | Method for improving data encoding and decoding efficiency | |
| Kareem et al. | Text steganography method based on modified run length encoding | |
| US10216942B1 (en) | Method for preserving the integrity of stored data | |
| Bezzateev et al. | Image encryption in code based compression algorithms based on multilevel image structure model | |
| Nechta | Steganographic message transformation with the partial antidisturbance property | |
| HANDRIZAL et al. | SECURING AND COMPRESSING TEXT FILES USING THE AES 256 ALGORITHM AND LEVENSTEIN CODE |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20140120 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20150421 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20151028 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20151105 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20151106 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20181025 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20181025 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20201208 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220926 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |