KR101962275B1 - Encryption and decryption method for steganography data based on moving picture - Google Patents

Encryption and decryption method for steganography data based on moving picture Download PDF

Info

Publication number
KR101962275B1
KR101962275B1 KR1020170085856A KR20170085856A KR101962275B1 KR 101962275 B1 KR101962275 B1 KR 101962275B1 KR 1020170085856 A KR1020170085856 A KR 1020170085856A KR 20170085856 A KR20170085856 A KR 20170085856A KR 101962275 B1 KR101962275 B1 KR 101962275B1
Authority
KR
South Korea
Prior art keywords
data
frame
secret
secret data
cover
Prior art date
Application number
KR1020170085856A
Other languages
Korean (ko)
Other versions
KR20190005346A (en
Inventor
이용규
박지환
Original Assignee
동국대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020170085856A priority Critical patent/KR101962275B1/en
Publication of KR20190005346A publication Critical patent/KR20190005346A/en
Application granted granted Critical
Publication of KR101962275B1 publication Critical patent/KR101962275B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 비밀 데이터를 은닉하는 스테가노그래피 기술에 관한 것으로, 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 암호화하는 방법은, 비밀 데이터와 비밀 데이터를 은닉하기 위해 동영상 포맷(format)의 커버 데이터(cover data)를 입력받고, 비밀 데이터로부터 추출한 해시(hash) 값을 이용하여 커버 데이터 내에 비밀 데이터를 은닉하기 위한 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하고, 비밀 데이터를 분할하여 선정된 프레임에 삽입하되, 생성된 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하고, 해시 값 및 비밀 데이터의 추출에 필요한 정보를 워터마크(watermark)를 통해 커버 데이터에 삽입하며, 비밀 데이터와 워터마크를 포함하는 커버 데이터를 출력한다.The present invention relates to steganographic techniques for concealing secret data, and a method for encrypting steganography data based on moving images, comprising at least one computing device and a data input device, In order to conceal data, a cover data of a video format is input. A frame for concealing confidential data in cover data is selected by using a hash value extracted from the confidential data, And inserts the secret data into a predetermined frame. The secret data is inserted at an arbitrary position in each frame according to the generated random number, and the hash value and secret data The information required for extraction is inserted into the cover data through a watermark, And it outputs the cover data including the mark.

Description

동영상 스테가노그래피 데이터의 암호화 및 복호화 방법{Encryption and decryption method for steganography data based on moving picture}TECHNICAL FIELD [0001] The present invention relates to an encryption and decryption method for steganography data,

본 발명은 동영상에 기반을 두고 비밀 메시지를 은닉하는 스테가노그래피 기술에 관한 것으로, 특히 비밀 메시지가 은닉된 위치를 제3 자가 용이하게 발견하기 어렵도록 난수를 이용하여 삽입 위치를 다변화시키는 동영상 스테가노그래피 데이터의 암호화/복호화 방법 및 이를 기록한 기록매체에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a steganographic technique for concealing a secret message based on a moving image, and more particularly, to a moving image steganography technique for diversifying an insertion position using a random number And a recording medium on which the encryption / decryption method is recorded.

네트워크를 통한 정보 송수신 기술이 발달함에 따라 유통되는 데이터의 보안이 중요한 문제로 강조되고 있다. 통신망에 개방되어 있는 디지털 정보 보호 및 은닉에 대한 필요성은 전자 상거래, 지적 재산권 보호 및 인증 등의 분야에서 요구되고 있는 실정이다. 이에 관하여 정보 보호의 대표적인 두 가지 방법으로서는 암호화(cryptography) 방법과 스테가노그래피(steganography)가 소개되었다.As the information transmission and reception technology through the network is developed, the security of the distributed data is emphasized as an important problem. The need for protection and concealment of digital information that is open to the communication network is required in the fields of electronic commerce, intellectual property protection and authentication. In this regard, cryptography methods and steganography have been introduced as two representative methods of information protection.

암호화는 메시지를 특정한 암호화 알고리즘을 이용하여 타인이 해독할 수 없는 형태로 스크램블링(scrambling)하고, 암호화 키를 소유한 해당 수신자만이 암호화된 메시지를 해당 암호화 키를 이용하여 복호할 수 있다. 이러한, 암호화 방법은 주로 군사 분야를 중심으로 이용되어 왔으나, 최근에는 보다 안전한 정보 전송을 위해 유무선 통신망에서도 다양한 암호화 알고리즘이 제공되고 있다. 하지만, 암호화 방법은 통신 주체인 송신자와 수신자 사이에 주고 받는 정보가 제3자가 기밀 정보의 존재조차 모르게 전송해야 하는 경우에는 적절하지 못하다.The encryption scrambles the message in a form that can not be deciphered by others using a specific encryption algorithm and only the corresponding recipient possessing the encryption key can decrypt the encrypted message using the encryption key. Such encryption methods have been mainly used in the military field, but recently, various encryption algorithms have been provided in wired / wireless communication networks for more secure information transmission. However, the encryption method is not appropriate when the information exchanged between the sender and the receiver, which is the communication subject, must be transmitted without the third party knowing the existence of confidential information.

이에 반해, 메시지가 전송되고 있다는 사실을 숨기는 기술인 스테가노그래피는 통신상의 두 주체인 송신자와 수신자 간 비밀 메시지를 교환할 때, 해당 메시지를 이미지 내지 오디오 등의 커버(Cover)라 불리는 다른 디지털 미디어에 은닉하여 전송하는 방식이다. 즉, 스테가노그래피는 제3자가 해당 미디어에 메시지가 은닉되어 있다는 사실 자체를 인간의 오감을 통해 인식되지 못하도록 정보를 은닉하는 방법이다.Steganography, on the other hand, is a technology that hides the fact that a message is being transmitted. When steganography exchanges confidential messages between senders and recipients, which are two subjects of communication, they send the message to another digital media called Cover, And conceal it. In other words, steganography is a method of concealing information so that a third party can not recognize the fact that a message is concealed in the media through the human senses.

최근 강력한 그래픽 처리를 지원해주는 컴퓨터와 소프트웨어의 발달로 인해 이미지를 이용한 스테가노그래피 기술이 최근 몇 년간 가장 빠르게 성장하였다. 이미지 스테가노그래피는 HVS(Human Visual System)에서 인간이 구분할 수 있는 색에는 제한이 있다는 사실에 근거한 기법으로서, 어떠한 형태의 평문이나 암호문을 이미지의 비트 스트림에 삽입하고 추출할 수 있다.Due to the recent advances in computers and software that support powerful graphics processing, image-based steganography technology has grown the fastest in recent years. Image steganography is a technique based on the fact that human beings can distinguish colors in HVS (Human Visual System), and can insert and extract any type of plaintext or cipher text into the bitstream of the image.

이하에서 제시되는 선행기술문헌에는 암호화 및 스테가노그래피에 기반하여 영상 데이터를 보안 전송하는 기술이 기재되어 있다.The following prior art documents describe techniques for secure transmission of image data based on encryption and steganography.

한국공개특허 10-2016-0118117, 2016.10.11 공개, 세종대학교산학협력단Korea Patent Publication No. 10-2016-0118117, Oct. 10, 2016, Sejong University

본 발명이 해결하고자 하는 기술적 과제는, 종래의 스테가노그래피 기법에서 매체의 제한된 특성으로 인해 삽입하고자 하는 비밀 데이터의 크기에 따른 제약을 극복하고, 이미지 내에 삽입된 대용량 비밀 데이터로 인해 이미지에 손실이 발생하거나 비인지성이 약화되는 문제를 해결하며, 비밀 데이터를 이미지에 삽입함에 있어서 통상적으로 고정된 위치를 선택함에 따라 악의적인 제3 자에 의한 공격에 취약해지는 약점을 해소하고자 한다.SUMMARY OF THE INVENTION It is an object of the present invention to overcome the limitation due to the size of secret data to be inserted due to the limited characteristics of the medium in the conventional steganography technique and to prevent the loss of image due to the large- And solves the problem of weakening non-recognition, and solves the weak point of being vulnerable to attack by a malicious third party by selecting a fixed position in inserting confidential data into an image.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 암호화하는 방법은, (a) 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷(format)의 커버 데이터(cover data)를 입력받는 단계; (b) 상기 비밀 데이터로부터 추출한 해시(hash) 값을 이용하여 상기 커버 데이터 내에 비밀 데이터를 은닉하기 위한 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하는 단계; (c) 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하는 단계; (d) 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크(watermark)를 통해 상기 커버 데이터에 삽입하는 단계; 및 (e) 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for encrypting steganography data based on a moving picture, the method comprising the steps of: (a) Receiving cover data of a video format to hide data and the secret data; (b) selecting a frame for concealing secret data in the cover data using a hash value extracted from the secret data, and generating a random number for determining an insertion position in each frame; (c) inserting the secret data into the selected frame by dividing the secret data, and inserting the divided secret data at an arbitrary position for each frame according to the generated random number; (d) inserting the hash value and information necessary for extracting the secret data into the cover data through a watermark; And (e) outputting the secret data and the cover data including the watermark.

한편, 이하에서는 상기 기재된 동영상 스테가노그래피 데이터의 암호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention also provides a computer-readable recording medium storing a program for causing a computer to execute the method of encrypting moving-steganography data described above.

상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 연산 장치 및 데이터 수신 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 복호화하는 방법은, (f) 비밀 데이터를 은닉하는 동영상 포맷(format)의 커버 데이터(cover data)를 수신하는 단계; (g) 상기 커버 데이터 내의 워터마크(watermark)로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시(hash) 값을 획득하는 단계; (h) 획득한 상기 해시 값을 이용하여 소정의 난수 생성 방법에 따라 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별하고, 식별된 각각의 프레임 별로 상기 분할된 비밀 데이터가 삽입된 위치를 산출하는 단계; 및 (i) 식별된 프레임 별로 산출된 삽입 위치로부터 상기 분할된 비밀 데이터를 획득하여 하나로 병합하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for decoding moving picture based steganography data comprising at least one computing device and a data receiving device, The method comprising: receiving cover data of a video format in which data is concealed; (g) obtaining information and a hash value necessary for extracting the confidential data from a watermark in the cover data; (h) identifying a frame in which the secret data divided in the cover data is inserted according to a predetermined random number generation method using the obtained hash value, and determining a position where the divided secret data is inserted for each identified frame Calculating; And (i) acquiring and merging the divided secret data from the inserted position calculated for each identified frame.

나아가, 이하에서는 상기 기재된 동영상 스테가노그래피 데이터의 복호화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.Further, the present invention provides a computer-readable recording medium having recorded thereon a program for causing a computer to execute the decoding method of the moving picture steganography data.

본 발명의 실시예들은, 동영상 스테가노그래피 방법에 있어서 대량의 비밀 데이터를 삽입함에도 불구하고 각 프레임 이미지들의 손실을 감소시킴으로써 비밀 데이터에 대한 비인지성을 향상시키고, 난수에 기반을 둔 비밀 데이터의 분할 및 삽입 방식을 통해 악의적인 제3 자의 공격에 대한 저항성을 강화할 수 있을 뿐만 아니라, 스테가노그래피로부터 복원되는 비밀 메시지를 검증하는 기능을 제공할 수 있다.Embodiments of the present invention improve the non-recognition of secret data by reducing the loss of each frame image in spite of inserting a large amount of secret data in a moving image steganography method, And inserting method, it is possible not only to enhance the resistance to attack by a malicious third party but also to provide a function of verifying a secret message restored from steganography.

도 1은 송신자와 수신자 간의 스테가노그래피의 수행 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예들이 스테가노그래피의 커버 데이터로서 활용하는 동영상의 구조를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 송신자측에서 스테가노그래피 데이터의 생성 과정을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 동영상 스테가노그래피 데이터의 암호화 방법을 도시한 흐름도이다.
도 5는 비밀 데이터로부터 생성된 해시 값을 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 도 4의 동영상 스테가노그래피 데이터의 암호화 방법에서 은닉을 위한 프레임을 선정하고 프레임 내의 삽입 위치를 결정하는 과정을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예들이 제안하는 수치 변환 알고리즘을 설명하기 위한 도면이다.
도 8은 도 7의 수치 변환 알고리즘에 활용할 수 있는 문자열-수치 간의 변환 표를 예시한 도면이다.
도 9는 해시 값에 대한 수치 변한 알고리즘의 수행 결과를 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 도 4의 동영상 스테가노그래피 데이터의 암호화 방법에서 분할된 비밀 데이터를 삽입하는 과정을 설명하기 위한 흐름도이다.
도 11은 비밀 데이터가 삽입될 프레임 일부를 예시한 도면이다.
도 12는 삽입된 비밀 데이터가 분할된 모습을 예시한 도면이다.
도 13은 난수를 이용하여 하나의 프레임 내에 분할된 비밀 데이터가 삽입될 픽셀 상 비트들의 위치를 결정하는 방식을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 수신자측에서 스테가노그래피 데이터로부터 비밀 메시지의 복원 과정을 도시한 도면이다.
도 15는 본 발명의 일 실시예에 따른 동영상 스테가노그래피 데이터의 복호화 방법을 도시한 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 도 15의 동영상 스테가노그래피 데이터의 복호화 방법에서 비밀 데이터가 삽입된 프레임을 식별하고 프레임 별로 분할된 비밀 데이터가 삽입된 위치를 산출하는 방식을 설명하기 위한 도면이다.
도 17은 본 발명의 다른 실시예에 따른 동영상 스테가노그래피 데이터의 암호화 및 복호화 장치를 도시한 블록도이다.
1 is a diagram for explaining a process of steganography between a sender and a receiver.
2 is a diagram for explaining a structure of a moving picture utilized by embodiments of the present invention as cover data of steganography.
3 is a diagram illustrating a process of generating steganographic data at the transmitter side according to an embodiment of the present invention.
4 is a flowchart illustrating a method of encrypting moving-image steganographic data according to an embodiment of the present invention.
5 is a diagram illustrating a hash value generated from secret data.
FIG. 6 is a flowchart illustrating a process of selecting a frame for concealment and determining an insertion position in a frame in the method of encrypting moving steganography data of FIG. 4 according to an exemplary embodiment of the present invention.
7 is a diagram for explaining a numerical value conversion algorithm proposed by embodiments of the present invention.
FIG. 8 is a diagram illustrating a conversion table between character strings that can be used in the numerical conversion algorithm of FIG.
FIG. 9 is a diagram illustrating a result of performing a numerical change algorithm on a hash value.
FIG. 10 is a flowchart illustrating a process of inserting divided secret data in the method for encrypting moving-steganography data of FIG. 4 according to an embodiment of the present invention.
11 is a diagram illustrating a portion of a frame into which secret data is inserted.
12 is a diagram illustrating a state in which inserted secret data is divided.
13 is a diagram for explaining a method of determining the position of bits on a pixel to be inserted into secret data divided into one frame using a random number.
14 is a diagram illustrating a process of restoring a secret message from steganographic data at the receiver side according to an embodiment of the present invention.
15 is a flowchart illustrating a method of decoding moving-image steganographic data according to an embodiment of the present invention.
16 is a diagram for explaining a method of identifying a frame into which secret data is inserted and calculating a position where secret data divided on a frame-by-frame basis is inserted in the method of decoding moving staganography data of FIG. 15 according to an embodiment of the present invention FIG.
17 is a block diagram illustrating an apparatus for encrypting and decrypting moving-image steganographic data according to another embodiment of the present invention.

본 발명의 실시예들을 설명하기에 앞서, 본 발명의 실시예들이 채택하고 있는 동영상에 기반을 둔 스테가노그래피 기술을 개괄적으로 소개한 후, 이러한 종래의 방식들이 내포하고 있는 문제점을 순차적으로 검토하도록 한다.Prior to describing the embodiments of the present invention, the steganography technique based on a moving picture adopted in the embodiments of the present invention is introduced in an outline, and then the problems encountered in the conventional methods are sequentially examined do.

도 1은 송신자와 수신자 간의 스테가노그래피의 수행 과정을 설명하기 위한 도면이다.1 is a diagram for explaining a process of steganography between a sender and a receiver.

스테가노그래피는 다양한 데이터 타입의 파일에 비밀 메시지를 삽입하는 기술로서, 비밀 메시지가 삽입되는 파일은 커버 데이터(cover data)라고 정의하며 삽입하는 비밀 메시지는 비밀 데이터(secret data)라고 정의한다. 그리고 비밀 데이터가 삽입된 커버 데이터를 스테고 데이터 혹은 스테가노그래피 데이터라고 한다. 도 1을 참조하면, 송신자측(A)에서 스테가노그래피 데이터를 생성하여 수신자측(B)에 전송하게 되는데, 스테가노그래피를 구현하기 위해 커버 데이터(예를 들어, 영상 데이터)를 선정하고 비밀 데이터(예를 들어, 텍스트 데이터)를 선정한 후, 영상 데이터 내의 특정 영역에 텍스트를 삽입하게 된다. 그런 다음, 수신자측(B)에서는 스테고 데이터로부터 커버 데이터와 비밀 데이터를 분리하여 비밀 메시지를 추출/복원하게 된다.Steganography is a technique for inserting secret messages into files of various data types. A file in which a secret message is inserted is defined as cover data, and a secret message to be inserted is defined as secret data. The cover data into which the secret data is inserted is referred to as stego data or steganography data. Referring to FIG. 1, steganography data is generated at a sender A and transmitted to a receiver B. In order to implement steganography, cover data (for example, image data) After selecting data (for example, text data), text is inserted into a specific area in the image data. Then, at the receiver side (B), the cover data and secret data are separated from the stego data and the secret message is extracted / restored.

도 2는 본 발명의 실시예들이 스테가노그래피의 커버 데이터로서 활용하는 동영상의 구조를 설명하기 위한 도면이다. 앞서 소개한 바와 같이, 스테가노그래피는 다양한 형식의 디지털 데이터를 커버 데이터로서 활용할 수 있는데, 본 발명의 실시예들은 그 대상으로 동영상를 선택하였다.2 is a diagram for explaining a structure of a moving picture utilized by embodiments of the present invention as cover data of steganography. As described above, steganography can utilize various types of digital data as cover data, and embodiments of the present invention have selected moving images as targets.

동영상은 여러 장의 이미지로 이루어진 프레임들과 소리에 해당하는 오디오로 구성된 파일을 말한다. 따라서, 동영상을 기반으로 하는 스테가노그래피 방법에서 비밀 메시지는 동영상을 구성하는 개별 프레임 중 적어도 하나 이상의 프레임에 삽입된다. 이때, 프레임들은 정지 화상, 즉 이미지에 해당하는데 비밀 메시지를 적게 삽입하면 삽입할수록 해당 이미지의 손실률을 낮추어 데이터 은닉성을 높일 수 있다. 따라서, 보다 많은 프레임에 비밀 메시지를 분할하여 삽입할수록 삽입되는 각 비밀 메시지의 용량이 줄어들기 때문에 데이터의 은닉성이 증가한다.A video is a file composed of frames consisting of several images and audio corresponding to the sound. Accordingly, in the steganography method based on moving images, the secret message is inserted into at least one frame among the individual frames constituting the moving picture. At this time, frames are inserted into a still image, i.e., an image, and when a secret message is inserted with a small amount of insertion, the data loss rate of the corresponding image can be lowered, thereby enhancing data confidentiality. Therefore, as the secret message is divided and inserted into more frames, the latency of the data increases because the capacity of each secret message inserted decreases.

한편, 기존의 동영상을 활용하는 스테가노그래피 방법의 경우 비밀 메시지를 삽입하는 방법으로 LSB(least significant bit)를 사용하거나, 혹은 동영상의 특정 프레임들에 비밀 메시지를 삽입하는 방법을 제공하였다. 그러나, 이러한 종래의 기법들은 상대적으로 보다 적은 수의 프레임이나 심지어 하나의 프레임에 비밀 메시지를 삽입하게 되었으며, 그에 따라 해당 프레임 이미지에 많은 양의 데이터가 삽입되므로 이미지의 손실이 많이 발생하는 점이 문제로 지적되었다. 또한, 대부분의 이미지 기반의 스테가노그래피 방법이 LSB를 채택하고 있는데, 통상적인 LSB는 이미지의 최하위 비트에만 비밀 메시지를 삽입하기 때문에 공격자가 최하위 비트들을 추적할 경우 비밀 메시지의 공격에 대한 저항성에 취약하다는 문제점을 내포하고 있다.Meanwhile, in the steganography method using the existing moving picture, a method of inserting a secret message is provided by using a least significant bit (LSB) or inserting a secret message into specific frames of a moving picture. However, these conventional techniques introduce a secret message into a relatively small number of frames or even one frame, and accordingly, a large amount of data is inserted into the corresponding frame image, resulting in a large loss of image. It was pointed out. In addition, most image-based steganography methods employ the LSB, which inserts secret messages only in the least significant bits of the image, so that if the attacker traces the least significant bits, Which is a problem.

따라서, 이하에서 기술되는 본 발명의 실시예들은, 상기된 약점과 문제점을 해소하기 위해 안출된 것으로, 동영상에 비밀 메시지를 은닉하는 스테가노그래피 기법에 있어서 비밀 메시지로부터 추출한 해시 값에 새롭게 고안된 수치화 알고리즘을 적용하여 수치 데이터와 난수들을 생성하는 방식을 제안한다. 이러한 방식을 통해 생성된 수치 데이터와 난수들은 각각의 동영상 프레임에서 스테가노그래피 방법을 적용할 프레임을 결정하는 방법과 난수에 기반을 둔 LSB(RLSB: Random number-based Least Significant Bit라고 명명하겠다)를 이용하는 스테가노그래피 방법이다. 나아가, 수신자가 동영상에서 비밀 메시지를 추출하는데 필요한 정보들을 미리 송신자가 워터마킹을 이용하여 스테가노그래피 데이터에 삽입하며, 이때 삽입되는 해시 값은 이후 수신자가 비밀 메시지를 추출한 이후 비밀 메시지 검증하는데 사용될 수 있다.Therefore, embodiments of the present invention described below are devised to solve the above-mentioned weaknesses and problems. In the steganographic method of concealing a secret message in a moving picture, a hash value extracted from a secret message is newly calculated, To generate numerical data and random numbers. Numerical data and random numbers generated by this method are used to determine a frame to which the steganography method is applied in each moving picture frame and a random number-based LSB (RLSB: Random Number-based Least Significant Bit) Is a method of steganography. Further, the sender inserts the information necessary for the receiver to extract the secret message from the moving picture into the steganographic data using watermarking in advance, and the inserted hash value can be used to verify the secret message after the receiver has extracted the secret message have.

이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention for solving the above-mentioned technical problems will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same components are denoted by the same names and reference numerals as possible throughout the drawings.

먼저, 본 발명의 실시예들에 따른 동영상 스테가노그래피 기술에서는 원본 비밀 데이터를 분할하여 복수 개의 프레임에 삽입하게 되므로, 이때 필요한 분할의 개수(프레임의 개수와 동일하다)를 설정하는 방법을 설명한다.First, in the moving image staghonography technique according to the embodiments of the present invention, original secret data is divided and inserted into a plurality of frames, and a method of setting the number of necessary divisions (same as the number of frames) at this time will be described .

Figure 112017064757809-pat00001
Figure 112017064757809-pat00001

이상의 수학식 1은 비밀 메시지에 해시 함수를 적용하여 해시 값을 추출하고 이를 다시 해시 값 분할 단위로 나누어 분할된 해시 값 개수를 구하는 식이다.Equation (1) is a formula for extracting a hash value by applying a hash function to a secret message, dividing the hash value by the hash value division unit, and obtaining the number of divided hash values.

Figure 112017064757809-pat00002
Figure 112017064757809-pat00002

이상의 수학식 2는 수학식 1에서 구한 분할된 해시 값 개수와 동영상 스테가노그래피 방법을 적용하는 프레임 개수가 동일하다는 것을 의미하는 수식이다. 즉, 스테가노그래피 방법 적용 프레임 개수가 많으면 많을수록 스테가노그래피 방법에 대한 보안성이 증가하는 것을 의미한다.Equation (2) is a formula indicating that the number of divided hash values obtained from Equation (1) is equal to the number of frames to which the moving image staghoning method is applied. That is, the greater the number of frames to which the steganography method is applied, the greater the security of the steganography method.

이상의 수학식들에서 사용된 기호의 의미는 다음과 같다.The meanings of the symbols used in the above equations are as follows.

- ns : 분할된 해시 값 개수- n s : Number of hash values divided

- ms : 비밀 메시지- m s : secret message

- h(ms) : 비밀 메시지로부터 추출된 해시 값(문자열)- h (m s ): Hash value extracted from secret message (string)

- np : 해시 값(문자열) 분할 단위- n p : hash value (string) Split unit

- nf : 동영상 스테가노그래피 방법 적용 프레임 개수- n f : video steganography method applicable frame number

따라서, 본 발명의 일 실시예에서는 비밀 메시지로부터 추출된 해시 값을 총 32개의 수치와 난수로 변환한 뒤, 이로부터 스테가노그래피 방법을 적용할 프레임을 선정하며, 이와 더불어 난수에 기반을 둔 LSB 적용에 사용하고자 한다. 이를 통해 다수의 프레임에 비밀 메시지들을 분할하여 삽입함으로써, 각각의 이미지들에 대한 손실률을 낮추는 방법을 제안한다. 또한, 비밀 메시지를 추출하는데 필요한 정보를 수신자에게 전달하기 위한 방법으로 워터마킹을 적용하여 동영상에 삽입한 후, 수신자에게 전송할 최종 스테고 데이터를 생성한다. Accordingly, in an embodiment of the present invention, a hash value extracted from a secret message is converted into a total of 32 numbers and a random number, a frame to which the steganographic method is applied is selected, and a LSB I want to use it for application. We propose a method to reduce the loss rate for each image by dividing and inserting secret messages into multiple frames. In addition, watermarking is applied as a method for delivering information necessary for extracting a secret message to a receiver, inserted into a moving image, and then final stage data to be transmitted to a receiver is generated.

도 3은 본 발명의 일 실시예에 따른 송신자측에서 동영상에 기반을 둔 스테가노그래피 데이터를 생성하는 과정을 도시한 도면이다.FIG. 3 is a diagram illustrating a process of generating steganographic data based on a moving picture on a sender side according to an embodiment of the present invention. Referring to FIG.

먼저, 본 발명의 실시예들이 제안하는 방법에 대한 전제/가정이 필요한데, 이는 다음과 같다. 송수신자는 개인키 암호 방식과 같이 다음의 사항에 대해 이미 정보를 공유하고 있다고 가정한다.First, the premise / assumption about the method proposed by the embodiments of the present invention is required, as follows. The sender and receiver assume that they already share information about the following, such as private key cryptography.

첫째, 송신자와 수신자는 서로 각각 스테가노그래피 방법, 워터마킹 과정 그리고 역스테가노그래피 방법, 역워터마킹 과정에서 동일한 방법을 사용한다.First, the sender and receiver use the same method in the steganography method, the watermarking method, and the inverse steganography method and the reverse watermarking method, respectively.

둘째, 송신자와 수신자는 해시 값에 대하여 동일한 수치 변환 알고리즘을 이용하여 동일한 수치 및 난수 데이터로 변환하게 된다.Second, the sender and the receiver convert the hash value to the same numerical value and random number data using the same numerical conversion algorithm.

이러한 전제/가정 하에 도 3을 살펴보면, 우선 비밀 데이터(301)와 커버 데이터(307)가 각각 입력된다. 비밀 데이터로부터 해시 값을 얻게 되고(302), 본 발명의 실시예들이 제안하는 수치 변환 알고리즘(303)(이후에 도 6 및 도 7을 통해 자세히 설명한다)통해 프레임 선정에 필요한 수치를 획득하고(304), 또한 데이터 삽입에 필요한 난수를 획득한다(305). 이렇게 획득된 값들은 이후 수신자측에서 비밀 메시지 추출에 필요한 정보가 된다(306). 이제, 앞서 입력된 커버 데이터(307)로부터 동영상을 분할하여 개별 프레임 이미지를 추출한다(308). 기밀성을 보장하기 위해 추출된 개별 프레임 이미지 전부에 비밀 데이터가 삽입되는 것이 아니기 때문에 앞서 획득된 수치(304)를 이용하여 스테가노그래피 방법이 적용될 일부 프레임을 선정한다(309). 또한, 앞서 획득된 난수를 이용하여 선정된 프레임에 대한 난수 기반의 스테가노그래피 방식을 적용한다(310). 그런 다음, 이후 수신자측에서 비밀 메시지 추출에 필요한 정보(306)를 워터마크를 통해 커버 데이터에 삽입한 후(311), 동영상 인코딩하여(312) 최종적으로 동영상 스테가노그래피 데이터를 생성한다(313).Under this assumption / assumption, referring to FIG. 3, secret data 301 and cover data 307 are input first. A hash value is obtained 302 from the secret data and a numerical value necessary for frame selection is obtained through a numerical value conversion algorithm 303 proposed by embodiments of the present invention (to be described later in detail with reference to FIGS. 6 and 7) 304) and acquires a random number necessary for data insertion (305). The obtained values are then used as information necessary for extracting secret messages at the receiver side (306). Now, the moving image is divided from the previously input cover data 307 to extract an individual frame image (308). Since secret data is not inserted into all of the extracted individual frame images to ensure confidentiality, some frames to which the steganography method is applied are selected 309 using the previously obtained numeric value 304. In addition, the random number based steganography method is applied to the selected frame using the obtained random number (310). Thereafter, the receiver 306 inserts information (306) necessary for extracting the secret message into the cover data through the watermark (311), encodes the video (312), and finally generates moving steganographic data (313) .

도 4는 본 발명의 일 실시예에 따른 동영상 스테가노그래피 데이터의 암호화 방법을 도시한 흐름도로서, 도 3의 과정을 시계열적으로 분설하도록 한다. 도 4의 각 과정은, 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비한 스테가노그래피 데이터의 암호화 장치를 통해 수행될 수 있다.FIG. 4 is a flowchart illustrating a method of encrypting moving-image steganography data according to an embodiment of the present invention, in which the process of FIG. 3 is divided in a time-series manner. Each step of FIG. 4 can be performed through an apparatus for encrypting steganography data having at least one computing device and a data input device.

S410 단계에서, 동영상 스테가노그래피 데이터의 암호화 장치는, (a) 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷(format)의 커버 데이터(cover data)를 입력받는다.In step S410, the moving picture steganography data encryption apparatus receives (a) cover data of a moving picture format in order to hide the secret data and the secret data.

S420 단계에서, 상기 동영상 스테가노그래피 데이터의 암호화 장치는, (b) 상기 비밀 데이터로부터 추출한 해시(hash) 값을 이용하여 상기 커버 데이터 내에 비밀 데이터를 은닉하기 위한 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성한다. 앞서 S410 단계를 통해 입력된 커버 데이터가 다수의 프레임을 포함하는 동영상이고, 본 발명의 실시예들은 이러한 다수의 프레임 중 일부만을 사용하여 비밀 데이터를 은닉할 것이므로, 다수의 프레임 중 어느 프레임을 선택할 것인지, 또한 선택된 프레임에는 어떠한 위치에 분할될 비밀 데이터를 삽입할 것인지를 결정할 필요가 있다. 이를 위해 본 S420 단계는, 은닉을 위한 프레임 선정과 각각의 프레임에 대한 삽입 위치를 결정하는 방식을 제안한다.In step S420, the moving picture steganographic data encryption apparatus may be configured to (b) select a frame for concealing confidential data in the cover data using a hash value extracted from the confidential data, And generates a random number that determines the insertion position. Since the cover data inputted through step S410 is a moving picture including a plurality of frames and embodiments of the present invention will hide secret data using only a part of the plurality of frames, , It is also necessary to determine at which position the secret data to be divided is to be inserted in the selected frame. For this purpose, in step S420, a frame for concealment and a method for determining an insertion position for each frame are proposed.

S430 단계에서, 상기 동영상 스테가노그래피 데이터의 암호화 장치는, (c) 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입한다. 이 과정에서는 앞서 S420 단계를 통해 결정된 값들에 기초하여 실제 은닉을 위한 프레임을 선택하고 특정 위치에 분할된 비밀 데이터를 은닉한다. 이때, 종래의 이미지 기반의 스테가노그래피 기법들이 채택하고 있던 LSB 방식이 아닌 난수를 활용한 삽입 위치의 다변화를 꾀하였는데, 이러한 방식을 통해 본 발명의 실시예들은 보안성과 기밀성을 보강하였다.In step S430, the moving picture steganographic data encrypting apparatus may further include: (c) inserting the secret data into the selected frame by dividing the secret data, and dividing the secret data . In this process, a frame for actual concealment is selected based on the values determined in step S420, and concealment of the secret data is performed. At this time, instead of the LSB method adopted by conventional image-based steganography techniques, the insertion position is diversified using random numbers. In this way, the embodiments of the present invention enhance security and confidentiality.

S440 단계에서, 상기 동영상 스테가노그래피 데이터의 암호화 장치는, (d) 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크(watermark)를 통해 상기 커버 데이터에 삽입한다. 이러한 해시 값과 비밀 데이터의 추출에 필요한 정보는, 송신자로부터 수신자에게 스테가노그래피 데이터가 송신된 이후, 수신자가 이를 복호화는데 도움을 준다. 보다 구체적으로, 해시 값을 공유함으로써 데이터를 은닉하고 있는 프레임의 식별 위치와 프레임 내의 비밀 데이터 은닉 위치를 정확하게 산출할 수 있게 될 뿐만 아니라, 수신자가 최종적으로 복원한 비밀 데이터를 사후적으로 검증하는데에도 활용될 수 있다.In step S440, the moving picture steganography data encryption apparatus inserts the hash value and information necessary for extracting the secret data into the cover data through a watermark. This hash value and the information necessary for extracting the confidential data help the recipient to decrypt it after the sender has sent the staganographic data to the recipient. More specifically, by sharing the hash value, it is possible not only to accurately calculate the hidden position of the frame and the identification position of the frame hiding the data, but also to posteriorly verify the secret data finally restored by the receiver Can be utilized.

마지막으로 S450 단계에서, 상기 동영상 스테가노그래피 데이터의 암호화 장치는, (e) 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력한다. 이렇게 출력된 동영상 스테가노그래피 데이터는 송신자로부터 수신자에게 전송되게 된다.Finally, in step S450, the moving picture steganographic data encrypting apparatus outputs (e) the secret data and the cover data including the watermark. The moving image steganographic data thus outputted is transmitted from the sender to the receiver.

이제, 해싱을 이용한 스테가노그래피 방법이 적용될 프레임을 선정하는 기법을 설명하도록 한다.Now, a technique for selecting a frame to which a steganography method using hashing is applied will be described.

우선, 비밀 데이터(비밀 메시지)로부터 추출한 해시 값을 본 발명의 실시예들이 제안하는 수치 변환 알고리즘을 통해 32개의 수치 데이터와 난수 값으로 변환시켜 동영상 스테가노그래피 방법이 적용될 프레임들의 위치를 선정하고자 한다. 본 발명의 실시예들에서는 비밀 데이터의 유형으로 텍스트를 선정하였으나 이에 한정되지 않는다. 비밀 메시지를 선정한 다음, 해당 비밀 메시지에 해시 알고리즘(예를 들어, SHA-512)을 적용하여 해시 값을 추출하는데, 이때 추출된 해시 값은 6개의 영문 대문자(A∼F)와 숫자(0∼9)로 이루어진 1024비트(128바이트) 크기의 16진수 문자열이라고 예시하였다. 도 5를 참조하면, 텍스트 유형의 비밀 데이터(A)로부터 생성된 해시 값(B)의 문자열의 예를 확인할 수 있다.First, a hash value extracted from secret data (secret message) is converted into 32 numeric data and a random number value through a numerical conversion algorithm proposed by embodiments of the present invention to select the positions of frames to which the moving-image steganography method is applied . In the embodiments of the present invention, text is selected as the type of secret data, but the present invention is not limited thereto. After extracting the secret message, the hash value is extracted by applying a hash algorithm (for example, SHA-512) to the secret message. In this case, the extracted hash value is composed of six alphabets (A to F) 9) is a 1024-bit (128-byte) hexadecimal string. Referring to FIG. 5, an example of a character string of a hash value (B) generated from the secret data (A) of the text type can be confirmed.

도 6은 본 발명의 일 실시예에 따른 도 4의 동영상 스테가노그래피 데이터의 암호화 방법에서 은닉을 위한 프레임을 선정하고 프레임 내의 삽입 위치를 결정하는 과정(S420 단계)을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a process of selecting a frame for concealment and determining an insertion position in a frame (step S420) in the method of encrypting moving steganographic data of FIG. 4 according to an exemplary embodiment of the present invention.

S421 단계에서는, (b1) 비밀 데이터로부터 추출한 해시 값을 미리 설정된 단위의 문자열로 분할한다. 여기서, 미리 설정된 단위의 문자열은, 하나의 프레임 내에 분할되어 삽입될 비밀 데이터의 크기가 최소화될 수 있도록 분할의 개수가 결정되는 것이 바람직하다.In step S421, (b1) the hash value extracted from the secret data is divided into a character string of a preset unit. Here, it is preferable that the number of divisions is determined so that the size of the secret data to be inserted, which is divided into one frame and inserted in a predetermined unit, can be minimized.

S422 단계에서는, (b2) 분할된 문자열 각각을 수치화하여 분할된 문자열의 개수만큼 난수를 생성한다. 이때, 상기 난수는 커버 데이터의 전체 프레임의 수보다 작고 중복되지 않도록 생성되어야 하는 것이 당연하다.In step S422, (b2) each divided character string is digitized to generate a random number as many as the number of divided character strings. At this time, it is natural that the random number should be generated so as to be smaller than the total number of frames of the cover data and not to be duplicated.

S423 단계에서는, (b3) 생성된 상기 난수에 대응하여, 예를 들어 난수에 피보나치(Fibonacci) 수열을 적용한 수치를 사용하여 비밀 데이터가 삽입될 프레임의 위치를 결정한다.In step S423, the position of the frame into which the secret data is to be inserted is determined by using a value obtained by applying a Fibonacci sequence to a random number, for example, in response to the generated random number (b3).

도 7은 본 발명의 실시예들이 제안하는 수치 변환 알고리즘을 설명하기 위한 도면으로서, 해시 값에 포함된 문자열로부터 동영상 스테가노그래피 방법을 적용할 프레임들을 결정하는 여러 개의 수치 데이터 변환 과정을 기술하고 있다.FIG. 7 is a view for explaining a numerical value conversion algorithm proposed by embodiments of the present invention, and describes a plurality of numerical data conversion processes for determining frames to which a moving image steganography method is applied from a character string included in a hash value .

제 1 단계(701): 해시 값으로서 획득된 128개의 16진수 문자열을 우선 4개 단위로 분할, 총 32개의 문자열로 변환시킨다. 이때의 문자열 개수는 앞서 소개한 수학식 1 및 수학식 2에 따라 산출되는데, 이후 동영상에서 스테가노그래피 방법을 적용할 때 선정되는 동영상 프레임의 개수와 동일하다.First step 701: 128 hexadecimal strings obtained as a hash value are first divided into 4 units and converted into a total of 32 strings. The number of strings at this time is calculated according to Equations (1) and (2) described above, and is equal to the number of video frames selected when the steganographic method is applied in the moving image.

제 2 단계(702): 변환된 4개 단위 32개 문자열에 대해서 각각의 문자열을 다시 수치 데이터로 변환시킨다. 이때의 변환 방식은 다음 각 문자열에 해당하는 수치를 나타낸 도 8을 참고하여 변환한다. 도 8을 참조하면, 문자열-수치 간의 변환 관계가 예시되어 있는 것을 확인할 수 있다.Second Step 702: Converts each character string into numeric data for 32 converted strings of 4 units. The conversion method at this time is converted by referring to FIG. 8 which shows numerical values corresponding to the following respective strings. Referring to FIG. 8, it can be seen that the conversion relation between the character string and the numerical value is exemplified.

제 3 단계(703): 변환된 4개 단위 32개의 수치 데이터에 대해서 다시 각각의 수치 데이터를 이진 데이터로 변환한다. 수치 데이터는 16진수 문자열로부터 생성되었기 때문에 각각의 수치는 최대치가 15를 넘지 않으므로, 변환되는 데이터는 각 수치에 대해서 4비트 크기의 이진 데이터가 된다.Step 3 703: Converts the numeric data of each of the 32 converted numeric data into the binary data. Since the numerical data is generated from a hexadecimal string, the maximum value of each value does not exceed 15, so the data to be converted is 4-bit binary data for each value.

제 4 단계(704): 변환된 4개 단위 32개 이진 데이터에 대하여 4개 이진 데이터씩 묶은 뒤, 이진 데이터에 포함되어 있는 1의 개수들의 총합을 계산한다.Fourth step 704: After four binary data are converted into the converted four units of 32 binary data, the sum of the numbers of 1 contained in the binary data is calculated.

제 5 단계(705): 앞서 제 4 단계를 거친 후 생성된 32개의 1의 개수 총합에 해당하는 수는 공통된 개수가 존재할 수 있기 때문에, 피보나치 수열의 누적 합을 통해 공통된 수치가 존재하지 않도록 보정한다. 이 과정에서 첫 번째 4개 이진 데이터에서의 1의 개수 총합은 항상 고정된 값을 지니는 첫 번째 수치가 되며, 이후 다음 4개 이진 데이터에서 나온 1의 개수들과의 누적 합을 거친 나머지 31개의 수들과 함께 32개의 수치 데이터로 결정된다. 추가적으로, 누적 합을 시행하는 횟수에 따라 32개의 수치로 이루어진 여러 개의 데이터 셋(Set)을 생성할 수 있으며, 이 데이터 셋은 고정된 초기 시드(seed) 수치와 누적 합 횟수에 따라 무작위로 생성된 31개의 임의의 수치들로 구성되어 있다. 송신자는 이 데이터 셋 중에서 동영상의 전체 프레임 수를 넘지 않는 데이터 셋 수치들을 결정하여 수신자에게 알려줌으로써, 수신자가 해당 수치들을 이용하여 비밀 메시지가 삽입된 프레임 이미지들을 검색하게 된다.Fifth step 705: Since the numbers corresponding to the total number of 32 1's generated after the fourth step are present may exist in common, correction is made so that common values do not exist through the cumulative sum of the Fibonacci numbers . In this process, the total number of 1's in the first 4 binary data is always the first number with a fixed value, and then the remaining 31 numbers after the cumulative sum of 1's from the next 4 binary data And 32 pieces of numerical data are determined. In addition, it is possible to generate a plurality of 32-value data sets according to the number of times the cumulative sum is executed, and this data set is randomly generated according to the fixed initial seed value and the cumulative sum It consists of 31 random values. The sender determines dataset values that do not exceed the total number of frames of the moving picture among the data sets and informs the receiver of the data set values so that the receiver searches for the frame images in which the secret message is embedded using the numerical values.

제 6 단계(706): 이상의 총 5 단계의 과정을 수행하고 나면 프레임 선정에 필요한 수치를 획득하게 되는데, 이전에 획득한 해시 값인 문자열은 32개의 수치 데이터가 되며, 이는 곧 수학식 2와 같이 동영상에서 스테가노그래피 방법이 적용될 프레임의 고유 번호를 의미한다. 도 9는 도 5의 (B)에 예시된 해시 값에 대한 수치 변한 알고리즘의 수행 결과의 일부를 예시한 도면이다.Step 6706: After performing the above-described five steps in total, the numerical values necessary for frame selection are obtained. The previously obtained hash value string is 32 numeric data, Means a unique number of a frame to which the steganographic method is applied. FIG. 9 is a diagram illustrating a part of the result of the numerical change algorithm for the hash value illustrated in FIG. 5 (B).

도 10은 본 발명의 일 실시예에 따른 도 4의 동영상 스테가노그래피 데이터의 암호화 방법에서 분할된 비밀 데이터를 삽입하는 과정(S430 단계)을 설명하기 위한 흐름도이다.FIG. 10 is a flowchart illustrating a process of inserting divided secret data in the method of encrypting moving steganography data of FIG. 4 according to an embodiment of the present invention (step S430).

S431 단계에서는, (c1) 생성된 난수의 개수만큼 상기 비밀 데이터를 분할한다. 동영상은 여러 프레임들로 구성되어 있으므로 비밀 메시지를 삽입할 동영상을 복수 개의 프레임 이미지들로 분할시킨다. 이때 각 프레임에 해당하는 이미지 파일들은 고유 프레임 번호를 파일명 내지 식별자로 가질 수 있다.In step S431, (c1) the secret data is divided by the number of generated random numbers. Since a moving picture is composed of several frames, a moving picture to be inserted with a secret message is divided into a plurality of frame images. At this time, the image files corresponding to each frame may have a unique frame number as a file name or an identifier.

예를 들어, 앞서 예시된 각 32개의 수치 데이터에 해당하는 프레임들을 선택 후, 해당 프레임 이미지들에 이후 단계에서 설명할 스테가노그래피 기법을 적용하여 비밀 메시지를 분할 삽입한다. 물론 비밀 메시지가 삽입될 프레임들의 총 개수는 32개이므로, 비밀 메시지 또한 32개의 텍스트 파일들로 분할시킨다.For example, after selecting the frames corresponding to each of the 32 numerical data exemplified above, a secret message is divided and inserted into the frame images by applying a steganography technique to be described later. Of course, since the total number of frames in which a secret message is to be inserted is 32, the secret message is also divided into 32 text files.

도 11은 비밀 데이터가 삽입될 프레임 일부를 예시한 도면으로서, 전체 동영상 프레임들 중에서 분할된 비밀 데이터가 삽입될 32개 프레임들 중 일부 프레임이 선택되었음을 프레임 번호(식별자)를 통해 확인할 수 있다. 또한, 도 12는 삽입된 비밀 데이터가 분할된 모습을 예시한 도면으로서, 하나의 텍스트 파일이 32개의 개별 텍스트 파일로 분할된 모습을 보여준다.FIG. 11 is a diagram illustrating a portion of a frame into which secret data is to be inserted. In FIG. 11, a frame number (identifier) can be used to confirm that some of the 32 frames to be inserted with the divided secret data among the entire moving image frames are selected. FIG. 12 is a diagram illustrating a state in which embedded secret data is divided, and shows a state in which one text file is divided into 32 individual text files.

S432 단계에서는, (c2) 상기 난수를 이용하여 하나의 프레임 내에 분할된 비밀 데이터가 삽입될 픽셀(pixel) 상 비트들의 위치를 결정한다. 이 단계는 해싱을 이용한 난수 기반의 LSB를 선정하는 과정으로서, 본 발명의 실시예들에 따른 위치 결정 방식에서는, 앞서 해싱 및 수치 변환 알고리즘을 거쳐 생성된 난수 값을 이용하여 선정된 각 프레임 이미지들에 난수를 기반으로 비밀 메시지의 삽입 위치를 결정하게 된다.In step S432, (c2) the position of the bits in the pixel where the secret data divided into one frame is inserted using the random number is determined. In the positioning method according to the embodiments of the present invention, the random number-based LSBs using hashing are used. In the positioning method according to the embodiments of the present invention, The location of the secret message is determined based on the random number.

우선 텍스트를 이미지에 삽입하여야 하므로 선정된 각 프레임 이미지들을 비트로 변환시키고 텍스트 또한 비트열로 변환시킨다. 프레임 이미지가 24비트의 3채널(예를 들어, 빨간색, 초록색, 파란색)로 이루어진 이미지일 경우 일반적인 LSB는 프레임 이미지의 각 픽셀에 위치한 24비트 중 최하위 비트만을 선택하여 비밀 메시지를 삽입한다. 그러나, 공격자가 각 픽셀의 최하위 비트들을 검색한다면, 이러한 방법은 공격에 대한 저항성이 취약할 수 있다는 단점이 존재한다. 이에 반해, 본 발명의 실시예들이 제안하는 방식, 즉 이미지의 각 픽셀에 위치한 24비트 중 임의의 비트를 선택하여 비밀 메시지를 삽입한다면 향후 공격에 대한 저항성을 증가시킬 수 있다.First, since the text must be inserted into the image, each selected frame image is converted into bits and the text is converted into a bit string. When the frame image is an image composed of three channels of 24 bits (for example, red, green, and blue), a typical LSB inserts a secret message by selecting only the least significant bit among 24 bits located in each pixel of the frame image. However, if the attacker searches for the least significant bits of each pixel, then this method has the disadvantage that it may be vulnerable to attack. On the other hand, if a secret message is inserted by selecting any of the 24 bits located in each pixel of the image proposed by the embodiments of the present invention, resistance to attack in the future can be increased.

S433 단계에서는, (c3) 선정된 상기 프레임 별로 결정된 픽셀 상 비트들의 위치에 분할된 비밀 데이터 각각을 삽입한다. In step S433, (c3) inserting each of the divided secret data into the positions of the bits on the pixel determined for each of the selected frames.

이와 관련하여, 인간의 시각은 고주파수에는 별로 민감하지 않지만 저주파수에는 민감하게 반응하는 특성이 있기 때문에, 상대적으로 고주파에 해당하는 영역에서 이미지 변환이 일어날 경우 시각적으로 차이를 구분하기 어렵다고 알려져 있다. 일반적으로 색깔을 주파수로 표현할 때, 빨간색 영역은 저주파수에 해당하고 파란색 영역은 고주파수에 해당한다. 따라서, 픽셀 정보에 있어서 빨간색 영역을 제외한 초록색 영역과 파란색 영역의 정보를 수정한다면 이미지 변화를 감지하기 어려울 것이다.In this regard, it is known that human vision is not sensitive to high frequencies but sensitive to low frequencies, so it is difficult to visually distinguish differences when image conversion occurs in a region corresponding to a relatively high frequency. In general, when expressing colors in frequency, the red region corresponds to the low frequency and the blue region corresponds to the high frequency. Therefore, it is difficult to detect the image change if the information of the green region and the blue region is corrected except the red region in the pixel information.

이러한 발상에 기초하여 본 발명의 실시예들에서는, 24비트 3채널의 이미지에 대하여 초록색 영역과 파란색 영역의 16비트 영역에만 선택적으로 난수 기법을 이용하여 비밀 메시지를 삽입하는 것을 제안한다. 사용하는 난수의 경우 앞서 소개한 수치 변환 알고리즘을 거친 직후 산출된 수치 데이터를 사용하는데, 이유는 해당 수치 데이터 생성 과정이 총 16자리의 이진 데이터에서 1의 개수를 계산하는 것이기 때문이다. 또한 이러한 1의 개수는 범위가 1∼16의 수를 표현하고, 이는 방금 설명한 초록색 영역과 파란색 영역의 크기인 16비트와도 동일하기에 그대로 난수의 수를 비밀 메시지가 삽입될 비트 순서로 매칭시키는 것이 용이하다.On the basis of this idea, in the embodiments of the present invention, it is proposed to insert a secret message selectively using a random number technique only in a 16-bit area of a green area and a blue area for a 24-bit 3-channel image. In the case of the random number used, the numerical data calculated immediately after the numerical conversion algorithm described above is used because the numerical data generating process calculates the number of 1s in the total 16 digit binary data. Also, the number of 1s represents a number in the range of 1 to 16, which is the same as 16 bits of the size of the green area and the blue area just described, so that the number of random numbers is matched to the bit order in which the secret message is inserted It is easy.

요약하건대, 커버 데이터의 프레임이 다수의 컬러 채널(color channel)을 포함하는 경우, 상기 프레임에 포함된 컬러 채널 중 미리 설정된 저주파수 영역에 속하는 컬러 채널을 제외한 나머지 컬러 채널에 대해서만 삽입될 픽셀 상 비트들의 위치를 결정하는 것이 바람직하다.In summary, when the frame of the cover data includes a plurality of color channels, the bit positions of the pixel bits to be inserted only for the remaining color channels except for the color channels belonging to the predetermined low-frequency region of the color channels included in the frame It is desirable to determine the position.

도 13은 난수를 이용하여 하나의 프레임 내에 분할된 비밀 데이터가 삽입될 픽셀 상 비트들의 위치를 결정하는 방식을 설명하기 위한 도면으로서, 이상에서 기술한 난수 기반의 LSB를 이용하여 비밀 데이터를 2개 이미지 픽셀의 비트열에 삽입하는 과정을 도식화한 그림이다. 도 13을 참조하면, 첫 번째 난수가 4일 경우에 픽셀에서 R 채널을 제외한 G, B 채널 16비트 데이터 중 G 채널의 4 번째 비트가 수정되고, 두 번째 난수가 5일 경우 마찬가지로 G 채널의 5번째가 수정되는 것을 보여주고 있다. 만약 8을 넘어가는 난수가 있으면 해당 난수는 G 채널이 아닌 B 채널의 위치에 삽입해야 하므로, 해당 난수에서 8을 뺀 뒤의 난수 값을 B 채널의 비트 위치에 삽입한다.FIG. 13 is a diagram for explaining a method of determining the positions of bits on a pixel to be inserted into secret data divided into one frame using a random number. The secret data is divided into two And inserts it into a bit string of an image pixel. Referring to FIG. 13, if the first random number is 4, the 4th bit of the G channel among the G and B channel 16-bit data excluding the R channel is corrected. If the second random number is 5, The second is modified. If there is a random number exceeding 8, the random number must be inserted at the position of the B channel, not the G channel. Therefore, the random number after subtracting 8 from the random number is inserted into the bit position of the B channel.

한편, 일반적으로 동영상은 비율 호환성의 문제로 인한 레터박스(letterbox)라고 불리는 검정색의 윗부분과 아랫부분이 존재할 수 있는데, 이러한 레터박스 영역의 픽셀에 비밀 메시지에 해당하는 데이터를 삽입하게 될 경우 레터박스의 검은색 영역에 잡음이 생기게 된다. 이러한 상황을 피하기 위하여 기본적으로 비밀 메시지를 삽입할 픽셀을 검색할 때, 레터박스의 범위에 해당하지 않는 범위의 픽셀에 이상에서 제안된 삽입 기법을 적용하는 것을 권장한다. 만약 픽셀에 삽입되는 분할된 비밀 메시지의 비트 수가 난수 개수인 32개를 넘어서는 경우에는, 다시 처음 난수 값으로 되돌아가서 비밀 메시지 분할 파일 비트의 끝을 만날 때까지 해당 난수 값과 일치하는 비트에 비밀 메시지 비트들을 삽입한다.On the other hand, in general, a moving picture may have an upper portion and a lower portion of a black color called a letterbox due to a problem of rate compatibility. When data corresponding to a secret message is inserted into a pixel of the letterbox area, Noise is generated in the black region of FIG. In order to avoid this situation, it is recommended to apply the proposed insertion method to the pixels not in the range of the letter box when searching for the pixel to insert the secret message basically. If the number of bits of the divided secret message to be inserted into the pixel exceeds 32, which is the number of random numbers, it returns to the first random number again, and sends a secret message Bits.

요약하건대, 프레임의 이미지 내에 검정색의 레터박스(letterbox) 영역이 포함된 경우, 상기 레터박스 영역을 제외한 나머지 영역에 대해서만 분할된 비밀 데이터가 삽입될 픽셀 상 비트들의 위치를 결정하는 것이 바람직하다.In summary, when a black letterbox area is included in the image of the frame, it is preferable to determine the positions of the bits on the pixel to be inserted with the divided secret data only for the remaining area except the letterbox area.

나아가, 삽입이 완료되면 비트들을 다시 이미지로 변환시키는데 이미지의 종류는 PNG 파일과 같은 무손실 압축 기법에 따라 변환할 것을 권장한다. 왜냐하면 JPG나 JPEG과 같은 다른 이미지 종류의 경우 심한 압축 과정을 동반하기 때문에 이미지 내부에 삽입된 텍스트 비트들을 손상시킬 수 있기 때문이다.Furthermore, when the insertion is completed, the bits are converted back into an image. It is recommended that the image type be converted according to a lossless compression technique such as a PNG file. This is because other image types, such as JPG or JPEG, can corrupt the embedded text bits in the image because they are accompanied by a severe compression process.

요약하건대, 분할된 비밀 데이터의 텍스트 비트(text bit)의 손상이 최소화되도록 각각의 프레임을 무손실 압축 방식에 따른 이미지 포맷으로 변환하는 것이 바람직하다.In summary, it is desirable to convert each frame to an image format according to the lossless compression scheme so that the damage of the text bits of the divided secret data is minimized.

이제, 워터마킹을 이용하여 해시 값 및 비밀 메시지 추출에 필요한 정보를 커버 데이터 내에 은닉하고 동영상 인코딩하는 과정이 수행될 수 있다. 왜냐하면, 상기된 일련의 과정을 거친 후 각 프레임들을 인코딩한 동영상을 그대로 수신자에게 전달할 경우, 비밀 메시지를 안전하게 수신자에게 전달하는 것은 가능하지만 수신자가 이 동영상을 수신한 뒤, 어느 프레임에 비밀 메시지가 포함되어 있는지는 알 수가 없다. 또한 수신자가 비밀 메시지를 추출하고 나서 해당 비밀 메시지가 송신자가 의도한 비밀 메시지와 일치하는지 확인하는 메시지 검증의 과정도 필요하다. 따라서 송신자는 동영상에 숨겨진 비밀 메시지를 추출하는데 필요한 정보이자 동시에 비밀 메시지 인증을 위한 해시 값과, 해시 값을 이용하여 프레임에 삽입된 텍스트 메시지를 추적 및 추출하는데 필요한 텍스트 길이 정보도 함께 수신자에게 전송하는 것이 유리하다.Now, a process of hiding the hash value and the information necessary for extracting the secret message using the watermarking in the cover data and encoding the moving picture can be performed. In this case, when a video encoded with each frame is transmitted to the receiver as it is through the above-described series of processes, it is possible to securely transmit the secret message to the receiver, but after the receiver receives the video, I do not know if it is. It is also necessary to perform a message verification process after the receiver extracts the secret message and then confirms that the secret message matches the secret message intended by the sender. Therefore, the sender transmits information necessary for extracting a hidden message hidden in a moving picture, as well as a hash value for authenticating the secret message and text length information necessary for tracking and extracting the text message inserted in the frame using the hash value, to the receiver It is advantageous.

본 발명의 실시예들이 제안하는 전송 방법은 동영상의 마지막 프레임을 또 다른 커버 데이터로 보고, 전송이 필요한 해시 값과 텍스트 길이 정보를 비밀 메시지로 가정하여, 워터마킹을 사용해 특정 프레임(예를 들어, 마지막 프레임)에 삽입한다. 마지막 프레임에 삽입한 이유는 앞서 스테가노그래피 방법이 적용된 프레임들에 중복적으로 삽입하는 경우를 최대한 피하기 위해서이다.The transmission method proposed by the embodiments of the present invention is a method in which the last frame of the moving picture is regarded as another cover data, the hash value and the text length information required to be transmitted are assumed to be secret messages, The last frame). The reason for insertion into the last frame is to avoid the case where the steganography method is applied to overlapping frames as much as possible.

이 때 비밀 메시지를 삽입하는 워터마킹은 비가시적 워터마킹으로 원본 동영상의 전체 프레임 중에서 마지막 프레임 하나를 선택하여 비밀 메시지를 삽입하는 방법을 이용한다. 비밀 메시지에 해당하는 해시 값과 텍스트 길이 정보를 비가시적 워터마킹 방법인 LSB를 이용하여 해당 프레임에 삽입한다. 이 프레임은 위 과정을 통해 눈에 보이지 않는 비밀 정보를 포함한 해당 동영상의 비가시적 워터마크로서 기능을 하게 되고, 초당 여러 장의 프레임이 재생되는 동영상 특성상 제3 자에게 해당 워터마크의 존재 여부 자체를 숨길 수가 있다.In this case, watermarking for inserting a secret message uses a method of inserting a secret message by selecting one last frame among the entire frames of the original video by invisible watermarking. The hash value and the text length information corresponding to the secret message are inserted into the corresponding frame using the invisible watermarking method LSB. This frame functions as an invisible watermark of the video including secret information that is not visible through the above process, and the presence of the watermark is hidden in a third party due to the characteristics of the video, in which a plurality of frames per second are reproduced There is a number.

공격자가 동영상을 프레임 단위로 분석한다고 하더라도 마지막 프레임은 스테가노그래피 방법과 마찬가지로 본래 프레임 이미지와 거의 차이가 없는 워터마킹이 적용된 프레임이기에 공격에 대한 저항성도 가지고 있다. 만약 공격자가 마지막 프레임에 대하여 분석한다고 가정해도 공격자가 얻는 것은 해시 값이며, 해시 함수의 특성상 해시 값으로부터 원본 메시지에 해당하는 비밀 메시지 추적은 불가능하다.Even if the attacker analyzes the video frame by frame, the last frame is resistant to attack because it is a frame to which watermarking is applied, which is almost the same as that of the frame image, like the steganography method. Assuming that the attacker analyzes the last frame, the attacker gets a hash value. Due to the nature of the hash function, it is impossible to trace the secret message corresponding to the original message from the hash value.

요약하건대, 커버 데이터의 프레임 중 비밀 데이터를 은닉하기 위해 선정된 프레임을 제외한 하나의 프레임을 워터마크 프레임으로 선택하고, 해시 값 및 비밀 데이터의 추출에 필요한 비밀 데이터의 길이 정보를 워터마크로 변환하여 상기 선택된 워터마크 프레임에 삽입하는 것이 바람직하다.To summarize, in order to conceal confidential data among frames of cover data, one frame excluding a selected frame is selected as a watermark frame, and the length information of the secret data necessary for extracting the hash value and secret data is converted into a watermark, It is preferable to insert it into the selected watermark frame.

마지막으로, 이상의 워터마크 삽입 과정 후, 프레임 이미지들과 오디오 파일을 취합하여 동영상 인코딩을 거치게 되면 최종적으로 수신자에게 전송할 동영상이 생성되며, 이 동영상이 곧 스테고 데이터에 해당하는 최종 동영상이다. 동영상 인코딩 시에는 프레임 이미지에 삽입된 텍스트 데이터들을 손상시키지 않는 코덱을 이용하여 제작한다. 송신자는 제작된 스테고 데이터인 최종 동영상을 수신자에게 단 한 번만 전송함으로써, 송신자측의 동영상 스테가노그래피 데이터 암호화 과정을 종료하게 된다.Finally, after the above-mentioned watermark embedding process, when the frame images and the audio file are collected and the moving image is encoded, a moving image to be finally transmitted to the receiver is generated, and the moving image is the final moving image corresponding to the Stego data. When a moving picture is encoded, a codec that does not damage the text data inserted in the frame image is used. The sender transmits the final moving picture, which is the generated stego data, to the receiver only once, thereby completing the moving picture steganography data encryption process on the sender side.

이상에서는 동영상에 기반을 둔 스테가노그래피의 데이터 암호화 과정을 살펴보았다. 이하에서는 이렇게 생성된 동영상 스테고 데이터가 수신자에게 전달된 이후, 수신자를 이를 복호화하여 비밀 데이터를 복원하는 과정을 설명하도록 한다. 이러한 과정은 수신자가 송신자로부터 스테고 데이터인 동영상을 수신한 후, 해당 동영상으로부터 커버 데이터와 비밀 데이터를 분리한 다음, 수신자가 전송받아야 하는 비밀 메시지를 추출하는 과정을 포함한다.In the above, we examined the data encryption process of steganography based on video. Hereinafter, a process of decrypting the generated moving picture stego data to the receiver and decoding the received moving picture data to recover the secret data will be described. This process includes a step of separating the cover data and the secret data from the moving image after the receiver receives the moving image which is the Stego data from the sender, and then extracting the secret message that the receiver should receive.

도 14는 본 발명의 일 실시예에 따른 수신자측에서 스테가노그래피 데이터로부터 비밀 메시지의 복원 과정을 도시한 도면이다.14 is a diagram illustrating a process of restoring a secret message from steganographic data at the receiver side according to an embodiment of the present invention.

먼저 수신자는 송신자로부터 전송된 스테가노그래피 데이터(동영상)(1401)에 대해 복수 개의 프레임 이미지들로 분할하는데(1402), 각 프레임에 해당하는 이미지 파일들은 고유의 프레임 번호(식별자)를 보유하고 있다. 해당 프레임들에 대하여 동일한 워터마킹을 사용하여(1403), 동영상의 마지막 프레임으로부터 비밀 메시지 추출에 필요한 정보를 획득함으로써(1404) 해시 값 및 텍스트 길이 정보를 추출한다(1405). 추출된 해시 값에 대하여 송신자와 이미 공유하고 있는 수치 변환 알고리즘의 적용함으로써(1406) 32개의 난수 값들로 변환을 시키며(1408), 다른 비밀 데이터에 해당하는 수치 순서 값을 통하여 송신자가 의도한 최종 32개의 수치 데이터들을 획득하게 된다(1407).First, the receiver divides the steganographic data (moving picture) 1401 transmitted from the sender into a plurality of frame images (1402), and the image files corresponding to each frame have a unique frame number (identifier) . The same watermarking is used for the frames 1403, 1404 the information necessary for extracting the secret message from the last frame of the moving picture is extracted 1405, and the hash value and the text length information are extracted. By applying the numerical value conversion algorithm already shared with the sender to the extracted hash value (1406), it is converted into 32 random number values (1408), and the numerical order value corresponding to the other secret data is converted into the final 32 (1407).

이렇게 획득된 32개의 수치 데이터(1407)는 곧 스테가노그래피 방법이 적용된 프레임들의 고유 번호를 의미하므로, 수신자는 이를 통하여 스테가노그래피 방법이 적용된 프레임들을 파악할 수 있게 된다(1409). 수치 데이터에 해당하는 번호의 프레임 이미지들에 대하여 이전에 추출된 해시 값으로부터 계산된 난수들(1408)을 이용하여 역스테가노그래피 방법을 다시 적용한다(1410).The 32 numeric data 1407 thus obtained means the unique number of the frames to which the steganography method is applied, so that the receiver can grasp the frames to which the steganography method is applied (1409). The inverse steganography method is reapplied 1410 using the random numbers 1408 calculated from the previously extracted hash values for the frame images corresponding to the numerical data.

역스테가노그래피 방법을 통해 비밀 메시지가 추출되면(1411), 이전에 마지막 프레임으로부터 추출한 해시 값과 추출된 비밀 메시지의 해시 값이 동일한지를 비교하여 비밀 메시지 인증을 거친다(1412). 만약 두 개의 해시 값이 동일하지 않을 경우에는 전송 과정에서 스테고 데이터인 동영상이 어떤 이유로든 손상되었음을 의미한다. 따라서 기존 동영상은 폐기하고 송신자에게 재전송을 요청하며 두 개의 해시 값이 동일한 경우에는 성공적으로 전송이 되었음을 의미한다.If the secret message is extracted 1411, the hash value extracted from the last frame is compared with the hash value of the extracted secret message to verify secret message authentication 1412. If the two hash values are not the same, it means that the moving picture, which is the stego data in the transmission process, is damaged for some reason. Therefore, the existing video is discarded and the sender requests the retransmission. If the two hash values are the same, it means that the transmission is successful.

도 15는 본 발명의 일 실시예에 따른 동영상 스테가노그래피 데이터의 복호화 방법을 도시한 흐름도로서, 도 14의 과정을 시계열적으로 분설하도록 한다. 도 15의 일련의 과정은, 적어도 하나의 연산 장치 및 데이터 수신 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 복호화하는 장치를 통해 구현될 수 있다.FIG. 15 is a flowchart illustrating a method of decoding moving-image steganography data according to an embodiment of the present invention, in which the process of FIG. 14 is divided in a time series. The series of processes of FIG. 15 may be implemented through an apparatus for decoding moving image based steganography data, which includes at least one computing device and a data receiving device.

S1510 단계에서, 동영상 스테가노그래피 데이터의 복호화 장치는, (f) 비밀 데이터를 은닉하는 동영상 포맷(format)의 커버 데이터(cover data)를 수신한다. 이때, 상기 커버 데이터는, 상기 S1510 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해, 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷의 커버 데이터를 입력받고, 비밀 데이터로부터 추출한 해시 값을 이용하여 상기 커버 데이터 내의 복수 개의 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하고, 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하고, 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크를 통해 상기 커버 데이터에 삽입하며, 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력함으로써 생성된 것에 해당한다.In step S1510, the moving picture steganography data decoding apparatus receives (f) cover data of a moving picture format in which secret data is hidden. At this time, the cover data is input with the cover data of the moving picture format in order to hide the secret data and the secret data through the process of encrypting the steganographic data before the step S1510, and using the hash value extracted from the secret data A plurality of frames in the cover data are selected, a random number for determining an insertion position in each frame is generated, the secret data is divided and inserted into the selected frame, and random numbers are generated for each frame And inserts the hash value and the information necessary for extracting the secret data into the cover data through a watermark, and outputs the cover data including the secret data and the watermark It corresponds to the generated one.

S1520 단계에서, 상기 동영상 스테가노그래피 데이터의 복호화 장치는, (g) 상기 커버 데이터 내의 워터마크(watermark)로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시(hash) 값을 획득한다. 이러한 S1520 단계는, 상기 S1510 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해 상기 커버 데이터 내에 삽입된 워터마크를 역으로 적용함으로써, 상기 커버 데이터 내의 워터마크로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시 값을 획득하게 된다.In step S1520, the apparatus for decoding the moving image steganography data obtains information and a hash value necessary for extracting the confidential data from the watermark in (g) the cover data. In step S1520, the watermark embedded in the cover data is reversely applied through the steganographic data encryption process before the step S1510, so that information necessary for extracting the secret data from the watermark in the cover data, Value.

S1530 단계에서, 상기 동영상 스테가노그래피 데이터의 복호화 장치는, (h) 획득한 상기 해시 값을 이용하여 소정의 난수 생성 방법에 따라 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별하고, 식별된 각각의 프레임 별로 상기 분할된 비밀 데이터가 삽입된 위치를 산출한다. 이러한 S1530 단계에서 소정의 난수를 생성하는 방법은, 상기 S1510 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해, 원본 비밀 데이터로부터 추출한 해시 값을 이용하여 커버 데이터 내의 복수 개의 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 것과 동일한 알고리즘에 따르며, 보다 구체적인 연산 방식은 이후 도 16을 통해 자세히 설명하도록 한다.In step S1530, the apparatus for decoding the moving image steganographic data may further include: (h) identifying a frame in which the secret data divided in the cover data is inserted according to a predetermined random number generation method using the obtained hash value, The position of the divided secret data is calculated for each frame. The method of generating a predetermined random number in step S1530 may include selecting a plurality of frames in the cover data using the hash value extracted from the original secret data through the steganographic data encryption process before the step S1510, The same algorithm as that for determining the insertion position in the frame is used, and a more specific calculation method will be described later in detail with reference to FIG.

S1540 단계에서, 상기 동영상 스테가노그래피 데이터의 복호화 장치는, (i) 식별된 프레임 별로 산출된 삽입 위치로부터 상기 분할된 비밀 데이터를 획득하여 하나로 병합한다.In step S1540, the moving picture steganography data decoding apparatus obtains (i) the divided secret data from the inserted position calculated for each identified frame, and merges the divided secret data into one.

나아가, S1550 단계에서, 상기 동영상 스테가노그래피 데이터의 복호화 장치는, (j) 획득된 해시 값과 병합된 상기 비밀 데이터로부터 산출된 해시 값을 비교하여 상기 커버 데이터의 손상 여부를 검증할 수 있다.Further, in step S1550, the apparatus for decoding moving picture staghraphography data may compare the hash value calculated from the secret data merged with the obtained hash value to verify whether the cover data is damaged.

도 16은 본 발명의 일 실시예에 따른 도 15의 동영상 스테가노그래피 데이터의 복호화 방법에서 비밀 데이터가 삽입된 프레임을 식별하고 프레임 별로 분할된 비밀 데이터가 삽입된 위치를 산출하는 방식(S1530)을 설명하기 위한 도면이다.FIG. 16 is a flowchart illustrating a method of identifying a frame in which secret data is embedded in a method of decoding moving staganography data in FIG. 15 according to an exemplary embodiment of the present invention and calculating a position where secret data divided into frames are inserted (S1530) Fig.

S1531 단계에서는, (h1) 획득한 상기 해시 값을 미리 설정된 단위의 문자열로 분할한다. 여기서, 미리 설정된 단위의 문자열은, 앞서 도 6을 통해 설명한 바와 같이 하나의 프레임 내에 분할되어 삽입될 비밀 데이터의 크기가 최소화될 수 있도록 분할의 개수가 결정되는 것이 바람직하다.In step S1531, (h1) the obtained hash value is divided into a character string of a predetermined unit. As described above with reference to FIG. 6, it is preferable that the number of division is determined so that the size of the secret data to be inserted and divided into one frame may be minimized.

S1532 단계에서는, (h2) 분할된 문자열 각각을 수치화하여 분할된 문자열의 개수만큼 난수를 생성한다. 이때, 상기 난수는 커버 데이터의 전체 프레임의 수보다 작고 중복되지 않도록 생성되어야 하는 것이 당연하다.In step S1532, each of the (h2) divided strings is digitized to generate a random number as many as the number of the divided strings. At this time, it is natural that the random number should be generated so as to be smaller than the total number of frames of the cover data and not to be duplicated.

S1533 단계에서는, (h3) 생성된 상기 난수에 대응하여, 예를 들어 난수에 피보나치 수열을 적용한 수치를 사용하여 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별한다.In step S1533, a frame into which the secret data divided in the cover data is inserted is identified using, for example, a numerical value obtained by applying a Fibonacci sequence to a random number, corresponding to the generated random number (h3).

S1534 단계에서는, (h4) 상기 난수를 이용하여 식별된 각각의 프레임 내에 상기 분할된 비밀 데이터가 삽입된 픽셀(pixel) 상 비트들의 위치를 산출한다.In step S1534, (h4) a position of bits in the pixel where the divided secret data is inserted is calculated in each frame identified using the random number.

도 17은 본 발명의 다른 실시예에 따른 동영상 스테가노그래피 데이터의 암호화 장치(10) 및 복호화 장치(20)를 도시한 블록도로서, 각각 송신자 및 수신자에 대응한다. 또한, 동영상 스테가노그래피 데이터의 암호화 장치(10)의 각 구성이 수행하는 기능은 앞서 도 4를 통해 소개한 방법을 하드웨어 구성의 관점에서 도시한 것이며, 반면 동영상 스테가노그래피 데이터의 복호화 장치(20)의 각 구성이 수행하는 기능은 앞서 도 15를 통해 소개한 방법을 하드웨어 구성의 관점에서 도시한 것이므로, 여기서는 설명의 중복을 피하고자 그 개요만을 약술하도록 한다.FIG. 17 is a block diagram showing a moving image steganographic data encryption apparatus 10 and a decryption apparatus 20 according to another embodiment of the present invention, and corresponds to a sender and a receiver, respectively. In addition, the functions performed by each configuration of the moving image steganography data encryption apparatus 10 are the same as those shown in FIG. 4 in terms of a hardware configuration. On the other hand, in the moving image steganography data decoding apparatus 20 ) Are shown from the viewpoint of the hardware configuration, and therefore, only the outline thereof will be described in order to avoid duplication of description.

동영상 스테가노그래피 데이터의 암호화 장치(10)는, 데이터 입력부(11)를 통해 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷(format)의 커버 데이터(cover data)를 입력받는다. 연산부(12)는, 상기 비밀 데이터로부터 추출한 해시(hash) 값을 이용하여 상기 커버 데이터 내에 비밀 데이터를 은닉하기 위한 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하고, 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하고, 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크(watermark)를 통해 상기 커버 데이터에 삽입하며, 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력한다. 이때, 이상의 일련의 과정을 수행하는 명령이 포함된 소프트웨어 프로그램이 메모리(13)에 저장되며, 연산부(12)에 의해 독출되어 그 기능을 수행하게 된다.The moving image steganography data encryption apparatus 10 receives cover data of a moving picture format to hide secret data and the secret data through the data input unit 11. [ The calculating unit 12 selects a frame for concealing confidential data in the cover data by using a hash value extracted from the confidential data, generates a random number for determining an inserting position in each frame, The method comprising the steps of: dividing the data and inserting the secret data in an arbitrary position for each frame according to the generated random number, inserting the hash value and information necessary for extracting the secret data into a watermark watermark), and outputs the secret data and the cover data including the watermark. At this time, a software program including instructions for performing the series of processes described above is stored in the memory 13, and is read by the arithmetic unit 12 to perform the function.

한편, 동영상 스테가노그래피 데이터의 복호화 장치(20)는, 데이터 수신부(21)를 통해 비밀 데이터를 은닉하는 동영상 포맷(format)의 커버 데이터(cover data)를 수신한다. 연산부(22)는, 상기 커버 데이터 내의 워터마크(watermark)로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시(hash) 값을 획득하고, 획득한 상기 해시 값을 이용하여 소정의 난수 생성 방법에 따라 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별하고, 식별된 각각의 프레임 별로 상기 분할된 비밀 데이터가 삽입된 위치를 산출하며, 식별된 프레임 별로 산출된 삽입 위치로부터 상기 분할된 비밀 데이터를 획득하여 하나로 병합한다. 또한, 연산부(22)는, 획득된 해시 값과 병합된 상기 비밀 데이터로부터 산출된 해시 값을 비교하여 상기 커버 데이터의 손상 여부를 검증할 수 있다. 이때, 이상의 일련의 과정을 수행하는 명령이 포함된 소프트웨어 프로그램이 메모리(23)에 저장되며, 연산부(22)에 의해 독출되어 그 기능을 수행하게 된다.On the other hand, the moving picture steganographic data decoding apparatus 20 receives cover data of a moving picture format which hides secret data through the data receiving unit 21. The operation unit 22 acquires information and a hash value necessary for extracting the confidential data from the watermark in the cover data and extracts the hash value using the obtained hash value, A step of identifying a frame in which the divided secret data is inserted in the cover data, calculating a position where the divided secret data is inserted for each identified frame, and obtaining the divided secret data from the inserted position calculated for each identified frame And merges them into one. The operation unit 22 can also check whether the cover data is damaged by comparing the obtained hash value with the hash value calculated from the confidential data merged. At this time, a software program including instructions for performing the series of processes described above is stored in the memory 23, and is read by the operation unit 22 to perform the function.

상기된 본 발명의 실시예들에 따르면, 비밀 데이터가 삽입되는 커버 데이터의 포맷으로 동영상을 선정함으로써 커버 데이터 내 비밀 데이터의 삽입 용량의 크기를 증가시킬 수 있을 뿐만 아니라, 다수의 프레임에 비밀 데이터를 분할하여 삽입함으로써 삽입 용량의 크기를 더욱 증가시킬 수 있으며, 그로 인해 각각의 개별 프레임 이미지 내에 삽입되는 비밀 데이터의 크기가 상대적으로 크게 감소하게 되어 분할된 비밀 메시지가 삽입되는 각 프레임 이미지들의 파일 손실률을 감소시킨다. 이를 통해 스테가노그래피 기법에 있어서 가장 중요한 항목이라고 볼 수 있는 비밀 데이터에 대한 비인지성을 크게 향상시킬 수 있다.According to the embodiments of the present invention described above, it is possible not only to increase the size of insertion capacity of secret data in cover data by selecting moving pictures in the format of cover data into which secret data is inserted, It is possible to further increase the size of the insertion capacity, thereby greatly reducing the size of the secret data inserted in each individual frame image. Thus, the file loss rate of each frame image in which the divided secret message is inserted . This greatly improves the non-recognition of confidential data, which is considered to be the most important item in steganography techniques.

또한, 비밀 데이터를 삽입할 때 항상 같은 위치인 이미지 픽셀의 최하위 비트에 삽입하는 것이 아닌 제안 알고리즘을 통해 생성된 난수 값에 해당하는 위치의 이미지 픽셀의 비트에 비밀 데이터를 삽입함으로써, 공격에 대한 저항성을 증가시킬 수 있으며, 추가적으로 비가시적 워터마킹을 이용하여 비밀 데이터 추출에 필요한 해시 값과 정보들을 삽입함으로써, 비밀 데이터 추적을 어렵게 하고 삽입되는 해시 값을 통해 비밀 메시지 인증 기능을 제공하여 전송된 비밀 데이터의 손상 여부를 파악할 수 있다.In addition, when inserting secret data, by inserting secret data into the bits of the image pixel at the position corresponding to the random number generated by the proposed algorithm, rather than inserting it into the least significant bit of the image pixel, which is always the same position, In addition, by inserting the hash values and information necessary for secret data extraction using invisible watermarking, it is possible to make secret data tracking difficult and to provide a secret message authentication function through the inserted hash value, It is possible to determine whether or not the damage is occurred.

따라서, 본 발명의 실시예들은 동영상 스테가노그래피 방법에 있어서 대량의 비밀 데이터를 삽입함에도 불구하고 각 프레임 이미지들의 손실을 낮추고, 악의적인 제3 자가 이미지들에 삽입된 비밀 데이터를 추적하는 것을 어렵게 할 뿐만 아니라, 삽입되는 비밀 메시지를 검증하는 기능을 제공할 수 있다.Thus, embodiments of the present invention reduce the loss of each frame image, despite the insertion of a large amount of secret data in the moving-image steganography method, and make it difficult for the malicious third party to track the secret data embedded in the images In addition, it can provide a function of verifying a secret message to be inserted.

한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

10: 동영상 스테가노그래피 데이터의 암호화 장치 (송신자측)
11: 송신자측의 데이터 입력부
12: 송신자측의 연산부
13: 송신자측의 메모리
20: 동영상 스테가노그래피 데이터의 복호화 장치 (수신자측)
21: 수신자측의 데이터 입력부
22: 수신자측의 연산부
23: 수신자측의 메모리
10: Encryption device for video steganography data (sender side)
11: Data input unit at the sender side
12: Operator on the sender side
13: Memory on the sender side
20: Device for decoding moving picture staghornography data (receiver side)
21: Data input part on the receiver side
22: Operation unit on the receiver side
23: Memory on the receiver side

Claims (17)

적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 암호화하는 방법에 있어서,
(a) 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷(format)의 커버 데이터(cover data)를 입력받는 단계;
(b) 상기 비밀 데이터로부터 추출한 해시(hash) 값을 이용하여 상기 커버 데이터 내에 비밀 데이터를 은닉하기 위한 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하는 단계;
(c) 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하는 단계;
(d) 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크(watermark)를 통해 상기 커버 데이터에 삽입하는 단계; 및
(e) 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력하는 단계를 포함하고,
상기 (b) 단계는,
(b1) 상기 비밀 데이터로부터 추출한 해시 값을 소정 단위의 문자열로 분할하는 단계;
(b2) 분할된 문자열 각각을 수치화하여 분할된 문자열의 개수만큼 난수를 생성하는 단계; 및
(b3) 생성된 상기 난수에 대응하여 비밀 데이터가 삽입될 프레임의 위치를 결정하는 단계를 포함하는 동영상 스테가노그래피 데이터의 암호화 방법.
CLAIMS 1. A method for encrypting steganography data based on motion pictures with at least one computing device and a data input device,
(a) receiving cover data of a video format in order to hide secret data and the secret data;
(b) selecting a frame for concealing secret data in the cover data using a hash value extracted from the secret data, and generating a random number for determining an insertion position in each frame;
(c) inserting the secret data into the selected frame by dividing the secret data, and inserting the divided secret data at an arbitrary position for each frame according to the generated random number;
(d) inserting the hash value and information necessary for extracting the secret data into the cover data through a watermark; And
(e) outputting the secret data and the cover data including the watermark,
The step (b)
(b1) dividing the hash value extracted from the secret data into a character string of a predetermined unit;
(b2) digitizing each of the divided strings to generate a random number as many as the number of divided strings; And
(b3) determining a position of a frame into which secret data is inserted corresponding to the generated random number.
삭제delete 제 1 항에 있어서,
상기 (b1) 단계에서 상기 소정 단위의 문자열은,
하나의 프레임 내에 분할되어 삽입될 비밀 데이터의 크기가 최소화될 수 있도록 분할의 개수가 결정되는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 암호화 방법.
The method according to claim 1,
In the step (b1)
Wherein the number of divisions is determined so that the size of the secret data to be inserted into one frame is minimized.
제 1 항에 있어서,
상기 (b2) 단계에서 상기 난수는,
상기 커버 데이터의 전체 프레임의 수보다 작고 중복되지 않도록 생성되는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 암호화 방법.
The method according to claim 1,
The random number in the step (b2)
Wherein the number of frames of the cover data is smaller than the total number of frames of the cover data and is not duplicated.
제 1 항에 있어서,
상기 (c) 단계는,
(c1) 생성된 상기 난수의 개수만큼 상기 비밀 데이터를 분할하는 단계;
(c2) 상기 난수를 이용하여 하나의 프레임 내에 분할된 비밀 데이터가 삽입될 픽셀(pixel) 상 비트들의 위치를 결정하는 단계; 및
(c3) 선정된 상기 프레임 별로 결정된 픽셀 상 비트들의 위치에 분할된 비밀 데이터 각각을 삽입하는 단계를 포함하는 동영상 스테가노그래피 데이터의 암호화 방법.
The method according to claim 1,
The step (c)
(c1) dividing the secret data by the number of generated random numbers;
(c2) using the random number to determine the position of the bits in the pixel where the secret data divided into one frame is to be inserted; And
(c3) inserting each piece of secret data divided into positions of pixel bits determined for each of the selected frames.
제 5 항에 있어서,
상기 프레임이 다수의 컬러 채널(color channel)을 포함하는 경우 상기 (c2) 단계는,
상기 프레임에 포함된 컬러 채널 중 미리 설정된 저주파수 영역에 속하는 컬러 채널을 제외한 나머지 컬러 채널에 대해서만 삽입될 픽셀 상 비트들의 위치를 결정하는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 암호화 방법.
6. The method of claim 5,
Wherein if the frame comprises a plurality of color channels, the step (c2)
Wherein the position of the bits in the pixel to be inserted is determined only for the remaining color channels except for the color channel belonging to the preset low frequency region among the color channels included in the frame.
제 5 항에 있어서,
상기 프레임의 이미지 내에 검정색의 레터박스(letterbox) 영역이 포함된 경우 상기 (c2) 단계는,
상기 레터박스 영역을 제외한 나머지 영역에 대해서만 분할된 비밀 데이터가 삽입될 픽셀 상 비트들의 위치를 결정하는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 암호화 방법.
6. The method of claim 5,
If a black letterbox area is included in the image of the frame, the step (c2)
Wherein the position of the bits in the pixel to be inserted with the divided secret data is determined only for the remaining area excluding the letter box area.
제 5 항에 있어서,
상기 (c3) 단계는,
분할된 비밀 데이터의 텍스트 비트(text bit)의 손상이 최소화되도록 각각의 프레임을 무손실 압축 방식에 따른 이미지 포맷으로 변환하는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 암호화 방법.
6. The method of claim 5,
The step (c3)
Wherein each frame is converted into an image format according to a lossless compression scheme so that damage to text bits of the divided secret data is minimized.
제 1 항에 있어서,
상기 (d) 단계는,
(d1) 상기 커버 데이터의 프레임 중 비밀 데이터를 은닉하기 위해 선정된 프레임을 제외한 하나의 프레임을 워터마크 프레임으로 선택하는 단계; 및
(d2) 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 비밀 데이터의 길이 정보를 워터마크로 변환하여 상기 선택된 워터마크 프레임에 삽입하는 단계를 포함하는 동영상 스테가노그래피 데이터의 암호화 방법.
The method according to claim 1,
The step (d)
(d1) selecting one frame as a watermark frame except for a frame selected to hide confidential data among the frames of the cover data; And
(d2) converting the hash value and length information of secret data required for extracting the secret data into a watermark and inserting the watermark into the selected watermark frame.
제 1 항, 제 3 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 9. 적어도 하나의 연산 장치 및 데이터 수신 장치를 구비하여 동영상에 기반을 둔 스테가노그래피(steganography) 데이터를 복호화하는 방법에 있어서,
(f) 비밀 데이터를 은닉하는 동영상 포맷(format)의 커버 데이터(cover data)를 수신하는 단계;
(g) 상기 커버 데이터 내의 워터마크(watermark)로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시(hash) 값을 획득하는 단계;
(h) 획득한 상기 해시 값을 이용하여 소정의 난수 생성 방법에 따라 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별하고, 식별된 각각의 프레임 별로 상기 분할된 비밀 데이터가 삽입된 위치를 산출하는 단계; 및
(i) 식별된 프레임 별로 산출된 삽입 위치로부터 상기 분할된 비밀 데이터를 획득하여 하나로 병합하는 단계를 포함하고,
상기 (g) 단계는,
상기 (f) 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해 상기 커버 데이터 내에 삽입된 워터마크를 역으로 적용함으로써, 상기 커버 데이터 내의 워터마크로부터 상기 비밀 데이터의 추출에 필요한 정보 및 해시 값을 획득하는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 복호화 방법.
A method for decoding motion-based steganography data comprising at least one computing device and a data receiving device,
(f) receiving cover data of a moving picture format in which secret data is hidden;
(g) obtaining information and a hash value necessary for extracting the confidential data from a watermark in the cover data;
(h) identifying a frame in which the secret data divided in the cover data is inserted according to a predetermined random number generation method using the obtained hash value, and determining a position where the divided secret data is inserted for each identified frame Calculating; And
(i) acquiring and merging the divided secret data from an insertion position calculated for each identified frame,
The step (g)
The watermark inserted in the cover data is reversely applied through the steganographic data encryption process before the step (f), thereby obtaining information and a hash value necessary for extracting the secret data from the watermark in the cover data And decodes the moving steganography data.
제 11 항에 있어서,
상기 (f) 단계의 커버 데이터는,
상기 (f) 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해, 비밀 데이터와 상기 비밀 데이터를 은닉하기 위해 동영상 포맷의 커버 데이터를 입력받고, 비밀 데이터로부터 추출한 해시 값을 이용하여 상기 커버 데이터 내의 복수 개의 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 난수를 생성하고, 상기 비밀 데이터를 분할하여 선정된 상기 프레임에 삽입하되, 생성된 상기 난수에 따라 각각의 프레임 별로 임의의 위치에 분할된 비밀 데이터를 삽입하고, 상기 해시 값 및 상기 비밀 데이터의 추출에 필요한 정보를 워터마크를 통해 상기 커버 데이터에 삽입하며, 상기 비밀 데이터와 상기 워터마크를 포함하는 커버 데이터를 출력함으로써 생성된 것을 특징으로 하는 동영상 스테가노그래피 데이터의 복호화 방법.
12. The method of claim 11,
The cover data of the step (f)
The cover data of the moving picture format is input to hide the confidential data and the confidential data through the steganographic data encryption process before the step (f), and a plurality of And generating a random number for determining an insertion position in each frame, inserting the secret data into the selected frame, dividing the secret data into arbitrary positions for each frame according to the generated random number, Inserting secret data, inserting the hash value and information necessary for extracting the secret data into the cover data through a watermark, and outputting the cover data including the secret data and the watermark. And decodes the moving steganography data.
삭제delete 제 11 항에 있어서,
상기 (h) 단계는,
(h1) 획득한 상기 해시 값을 소정 단위의 문자열로 분할하는 단계;
(h2) 분할된 문자열 각각을 수치화하여 분할된 문자열의 개수만큼 난수를 생성하는 단계;
(h3) 생성된 상기 난수에 대응하여 상기 커버 데이터 내에 분할된 비밀 데이터가 삽입된 프레임을 식별하는 단계; 및
(h4) 상기 난수를 이용하여 식별된 각각의 프레임 내에 상기 분할된 비밀 데이터가 삽입된 픽셀(pixel) 상 비트들의 위치를 산출하는 단계를 포함하는 동영상 스테가노그래피 데이터의 복호화 방법.
12. The method of claim 11,
The step (h)
(h1) dividing the obtained hash value into a character string of a predetermined unit;
(h2) digitizing each of the divided strings to generate a random number as many as the number of divided strings;
(h3) identifying a frame in which the secret data divided in the cover data is inserted corresponding to the generated random number; And
(h4) calculating positions of bits in a pixel in which the divided secret data is inserted in each of the frames identified using the random number.
제 11 항에 있어서,
상기 (h) 단계에서 상기 소정의 난수 생성 방법은,
상기 (f) 단계 이전에 스테가노그래피 데이터의 암호화 과정을 통해, 원본 비밀 데이터로부터 추출한 해시 값을 이용하여 커버 데이터 내의 복수 개의 프레임을 선정하고, 각각의 프레임 내의 삽입 위치를 결정하는 것과 동일한 알고리즘에 따르는 것을 특징으로 하는 동영상 스테가노그래피 데이터의 복호화 방법.
12. The method of claim 11,
The predetermined random number generating method in the step (h)
The same algorithm as that for selecting a plurality of frames in the cover data using the hash value extracted from the original secret data and determining the insertion position in each frame through the process of steganographic data encryption before the step (f) Wherein the step of decrypting the moving steganography data comprises:
제 11 항에 있어서,
(j) 획득된 해시 값과 병합된 상기 비밀 데이터로부터 산출된 해시 값을 비교하여 상기 커버 데이터의 손상 여부를 검증하는 단계를 더 포함하는 동영상 스테가노그래피 데이터의 복호화 방법.
12. The method of claim 11,
(j) comparing the obtained hash value with a hash value calculated from the confidential data merged, and verifying whether or not the cover data is damaged.
제 11 항, 제 12 항, 제 14 항 내지 제 16 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method of any one of claims 11, 12, 14, 16,
KR1020170085856A 2017-07-06 2017-07-06 Encryption and decryption method for steganography data based on moving picture KR101962275B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170085856A KR101962275B1 (en) 2017-07-06 2017-07-06 Encryption and decryption method for steganography data based on moving picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170085856A KR101962275B1 (en) 2017-07-06 2017-07-06 Encryption and decryption method for steganography data based on moving picture

Publications (2)

Publication Number Publication Date
KR20190005346A KR20190005346A (en) 2019-01-16
KR101962275B1 true KR101962275B1 (en) 2019-03-26

Family

ID=65280763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170085856A KR101962275B1 (en) 2017-07-06 2017-07-06 Encryption and decryption method for steganography data based on moving picture

Country Status (1)

Country Link
KR (1) KR101962275B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083386B (en) * 2019-04-04 2024-03-19 平安普惠企业管理有限公司 Random number generation control method, device, computer equipment and storage medium
CN111263157A (en) * 2020-02-27 2020-06-09 武汉大学 Video multi-domain steganalysis method based on motion vector consistency
KR102438102B1 (en) * 2020-07-01 2022-08-31 국방과학연구소 Apparatus, method, computer-readable storage medium and computer program for encrypting information using image steganography
KR102337673B1 (en) 2020-07-16 2021-12-09 (주)휴먼스케이프 System for verifying data access and Method thereof
KR102337677B1 (en) 2020-07-16 2021-12-09 (주)휴먼스케이프 System for embedding digital verification fingerprint and Method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100814029B1 (en) * 2006-03-30 2008-03-14 순천향대학교 산학협력단 Method for digital watermarking
DE102008005492B3 (en) 2008-01-22 2009-11-12 Dürr Systems GmbH Pressure actuator, in particular color pressure regulator or coating agent valve
KR100965604B1 (en) * 2008-03-17 2010-06-23 경기대학교 산학협력단 Method and Apparatus for Providing Secrete Message Using Image

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vural, Sadi, Hiromi Tomii, and Hironori Yamauchi. "Video watermarking for digital cinema contents." Signal Processing Conference, 2005 13th European. IEEE, 2005.,(2005.09.08.).*

Also Published As

Publication number Publication date
KR20190005346A (en) 2019-01-16

Similar Documents

Publication Publication Date Title
KR101962275B1 (en) Encryption and decryption method for steganography data based on moving picture
US8612765B2 (en) Security based on subliminal and supraliminal channels for data objects
AU2005255946B2 (en) Systems and methods for digital content security
Selvi et al. Steganography using edge adaptive image
KR101091776B1 (en) Steganography apparatus and method based on block similarity of bit plane
Smitha et al. A survey on image steganography based on Least Significant bit Matched Revisited (LSBMR) algorithm
Agham et al. A novel approach towards separable reversible data hiding technique
Mahana et al. Image steganography: Analysis & Evaluation of secret communication
Hegde et al. Design and Implementation of Image Steganography by using LSB Replacement Algorithm and Pseudo Random Encoding Technique
Juneja et al. Data hiding with enhanced LSB steganography and cryptography for RGB color images
Ghoshal et al. Masking based data hiding and image authentication technique (MDHIAT)
Rao et al. A novel information security scheme using cryptic steganography
Wadekar et al. A new approach to video steganography using pixel pattern matching and key segmentation
Ghoshal et al. Image Authentication by Hiding Large Volume of Data and Secure Message Transmission Technique using Mask (IAHLVDSMTTM)
Nehra et al. Review Paper On Image Based Steganography
Anumol et al. Enhanced security in medical image steganography-a hybrid approach using spatial and transform domain
Reddy Improving security in Image Steganography using MSB Bit differencing and Cryptographic algorithm
Gupta et al. Video Steganography Using Discrete Wavelet Transform and Artificial Intelligence
Kamat et al. Implementation of steganographic model using inverted LSB insertion
Harsoor et al. Reversible data hiding in encrypted image
Prasad et al. LSB based steganography using genetic algorithm and visual cryptography for secured data hiding and transmission
Jain et al. PNG image copyright protection and authentication using SVD hash and AES
Singh et al. Cluster based image steganography using pattern matching
Ananthi et al. Reversible image data hiding using predictive coding technique based on steganographic scheme
Maheswari et al. A survey: Video steganography and security forbidden zone and selective embedding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant