KR20220074199A - Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof - Google Patents

Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof Download PDF

Info

Publication number
KR20220074199A
KR20220074199A KR1020200162426A KR20200162426A KR20220074199A KR 20220074199 A KR20220074199 A KR 20220074199A KR 1020200162426 A KR1020200162426 A KR 1020200162426A KR 20200162426 A KR20200162426 A KR 20200162426A KR 20220074199 A KR20220074199 A KR 20220074199A
Authority
KR
South Korea
Prior art keywords
files
divided
file
encrypted
hash
Prior art date
Application number
KR1020200162426A
Other languages
Korean (ko)
Other versions
KR102418090B1 (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 KR1020200162426A priority Critical patent/KR102418090B1/en
Publication of KR20220074199A publication Critical patent/KR20220074199A/en
Application granted granted Critical
Publication of KR102418090B1 publication Critical patent/KR102418090B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

전자 장치의 원본 파일 분할과 병합 방법이 개시된다. 상기 원본 파일 분할과 병합 방법은 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보와 상기 분할 개수 정보에 따라 분할될 파일들 각각의 분할 크기 정보를 설정하는 단계와, 상기 원본 파일을 상기 분할 개수 정보와 상기 분할될 파일들 각각의 분할 크기 정보에 따라 분할하여 분할 파일들을 생성하는 단계와, 상기 분할 파일들 각각을 암호화하여 암호화된 분할 파일들 각각을 생성하는 단계와, 상기 분할 파일들 각각에 대한 순서 정보, 상기 분할 개수 정보, 및 상기 분할 파일들 각각에 대한 분할 크기 정보를 포함하는 헤더들 각각을 생성하는 단계와, 상기 암호화된 분할 파일들 각각과 상기 헤더들 각각을 포함하는 최종 분할 파일들 각각을 생성하는 단계를 포함한다.A method of dividing and merging original files of an electronic device is disclosed. The original file division and merging method includes the steps of setting division number information indicating how many original files are to be divided and division size information of each of the files to be divided according to the division number information; Creating divided files by dividing each of the files to be divided according to division size information, encrypting each of the divided files to generate each of the encrypted divided files, and an order for each of the divided files generating each of the headers including information, the divided number information, and division size information for each of the divided files, and each of the encrypted divided files and the final divided files including each of the headers It includes the step of creating

Description

원본 파일을 여러개로 분할하고 분할된 파일들을 암호화하고 암호화된 파일들을 복호화하여 원본 파일을 복원하는 컴퓨터 프로그램과 그 방법{COMPUTER PROGRAM FOR DIVIDING ORIGINAL FILE INTO MULTIPLE PIECES, ENCRYPTING DIVIDED FILES AND RESTORING ORIGINAL FILE BY DECRYPTING ENCRYPTED FILES, AND METHOD THEREOF} A computer program and method for splitting an original file into several, encrypting the divided files, and decrypting the encrypted files to restore the original file FILES, AND METHOD THEREOF}

본 발명의 개념에 따른 실시 예는 파일 보호 기술에 관한 것으로, 특히 원본 파일을 안전하게 보호하기 위해 상기 원본 파일을 분할 개수 정보와 분할 크기 정보에 따라 여러개로 분할하고 분할된 파일들을 암호화하고, 암호화된 분할 파일들을 복호화하여 상기 원본 파일을 복원하는 컴퓨터 프로그램과 그 방법에 관한 것이다.An embodiment according to the concept of the present invention relates to a file protection technology. In particular, in order to safely protect an original file, the original file is divided into several pieces according to division number information and division size information, the divided files are encrypted, and the encrypted file is encrypted. It relates to a computer program and method for restoring the original file by decoding divided files.

암호화(encryption)은 누군가가 읽어볼 수 없도록 암호화 알고리즘을 이용하여 정보를 암호화하여 전달하는 과정이고, 복호화(decryption)는 암호화된 정보를 복원하여 다시 읽을 수 있도록 한다.Encryption is a process of encrypting and delivering information using an encryption algorithm so that it cannot be read by anyone, and decryption restores encrypted information so that it can be read again.

암호화는 개인 정보를 보호하고 악의적인 공격자의 공격으로 인하여 중요한 정보(예를 들면, 자료들)가 누출되었을 때 상기 중요한 정보를 바로 가져갈 수 없도록 처리하는 역할을 한다.Encryption protects personal information and plays a role of processing so that important information (eg, data) cannot be taken immediately when important information (eg, data) is leaked due to an attack by a malicious attacker.

정보를 암호화를 하기 위해서 암호 알고리즘이 사용되고 있고, 상기 암호 알고리즘은 크게 대칭형 암호 알고리즘과 비대칭형 암호 알고리즘으로 나눌 수 있다. 대칭형 암호 알고리즘은 정보를 암호화할 때 사용하는 키와 상기 정보를 복호화할 때 사용하는 키가 동일한 암호화 기법이다. 대칭형 암호 알고리즘의 예는 AES 알고리즘이 있다. 비대칭형 암호 알고리즘은 정보를 암호화할 때 사용하는 키와 상기 정보를 복호화할 때 사용하는 키가 서로 다른 암호화 기법이다.An encryption algorithm is used to encrypt information, and the encryption algorithm can be largely divided into a symmetric encryption algorithm and an asymmetric encryption algorithm. A symmetric encryption algorithm is an encryption technique in which a key used to encrypt information and a key used to decrypt the information are the same. An example of a symmetric encryption algorithm is the AES algorithm. The asymmetric encryption algorithm is an encryption technique in which a key used to encrypt information and a key used to decrypt the information are different from each other.

등록특허공보: 등록번호 10-1638398 (2016년07월12일 공고)Registered Patent Publication: Registration No. 10-1638398 (Announced on July 12, 2016) 등록특허공보: 등록번호 10-1582128 (2016년01월04일 공고)Registered Patent Publication: Registration No. 10-1582128 (Announced on January 04, 2016) 공개특허공보: 공개번호 10-2019-0091762 (2019년08월07일 공개)Laid-Open Patent Publication: Publication No. 10-2019-0091762 (published on August 07, 2019)

본 발명이 이루고자 하는 기술적인 과제는 원본 파일을 악의적인 공격자의 공격으로부터 안전하게 보호하기 위해 상기 원본 파일을 분할 개수 정보와 분할 크기 정보에 따라 여러개로 분할하고 분할된 파일들을 암호화하고, 암호화된 파일들을 복호화하여 원본 파일을 복원하는 컴퓨터 프로그램과 그 방법을 제공하는 것이다.The technical problem to be achieved by the present invention is to divide the original file into several pieces according to division number information and division size information in order to safely protect the original file from attacks by malicious attackers, encrypt the divided files, and store the encrypted files. It is to provide a computer program and method for restoring original files by decryption.

본 발명에 따른 전자 장치의 원본 파일 분할과 병합 방법은 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보와 상기 분할 개수 정보에 따라 분할될 파일들 각각의 분할 크기 정보를 설정하는 단계와, 상기 원본 파일을 상기 분할 개수 정보와 상기 분할될 파일들 각각의 분할 크기 정보에 따라 분할하여 분할 파일들을 생성하는 단계와, 상기 분할 파일들 각각을 암호화하여 암호화된 분할 파일들 각각을 생성하는 단계와, 상기 분할 파일들 각각에 대한 순서 정보, 상기 분할 개수 정보, 및 상기 분할 파일들 각각에 대한 분할 크기 정보를 포함하는 헤더들 각각을 생성하는 단계와, 상기 암호화된 분할 파일들 각각과 상기 헤더들 각각을 포함하는 최종 분할 파일들 각각을 생성하는 단계를 포함한다.The method for dividing and merging original files of an electronic device according to the present invention comprises the steps of: setting division number information indicating how many original files are to be divided and division size information of each of the files to be divided according to the division number information; generating divided files by dividing according to the number of division information and division size information of each of the files to be divided, and encrypting each of the divided files to generate each of the encrypted divided files; Generating each of the headers including order information for each of the files, the number of division information, and division size information for each of the divided files, including each of the encrypted divided files and each of the headers and generating each of the final split files.

본 발명에 따른 하드웨어와 결합되어 원본 파일을 분할하고 병합하기 위해 저장 매체에 저장된 컴퓨터 프로그램은 상기 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보와 상기 분할 개수 정보에 따라 분할될 파일들 각각의 분할 크기 정보를 설정하는 단계와, 상기 원본 파일을 상기 분할 개수 정보와 상기 분할될 파일들 각각의 분할 크기 정보에 따라 분할하여 분할 파일들을 생성하는 단계와, 상기 분할 파일들 각각을 암호화하여 암호화된 분할 파일들 각각을 생성하는 단계와, 상기 분할 파일들 각각에 대한 순서 정보, 상기 분할 개수 정보, 및 상기 분할 파일들 각각에 대한 분할 크기 정보를 포함하는 헤더들 각각을 생성하는 단계와, 상기 암호화된 분할 파일들 각각과 상기 헤더들 각각을 포함하는 최종 분할 파일들 각각을 생성하는 단계를 수행한다.In combination with the hardware according to the present invention, the computer program stored in the storage medium for dividing and merging the original files is divided into the number of division information indicating how many the original files are divided and the division size of each of the files to be divided according to the division number information. setting information; dividing the original file according to the number of divisions information and division size information of each of the files to be divided to generate divided files; generating each of the headers, each of the headers including order information for each of the divided files, information on the number of divisions, and division size information for each of the divided files; A step of generating each of the final divided files including each of the files and each of the headers is performed.

본 발명에 따른 하드웨어와 결합되어 원본 파일을 분할하고 병합하기 위해 저장 매체에 저장된 컴퓨터 프로그램은 상기 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보를 설정하는 단계; 상기 원본 파일을 상기 분할 개수 정보에 해당하는 개수만큼 분할하여 분할 파일들을 생성하는 단계; 상기 분할 파일들 중에서 제1분할 파일을 암호화하여 암호화된 제1분할 파일을 생성하는 단계; 상기 암호화된 제1분할 파일을 해시하여 제1해시 파일을 생성하는 단계; 및 상기 제1파일을 상기 제1분할 파일에 대한 제1공개키로 암호화하여 암호화된 제1해시 파일을 생성하는 단계를 수행한다.In combination with the hardware according to the present invention, the computer program stored in the storage medium to divide and merge the original file sets the number of division information indicating how many the original file is divided; generating divided files by dividing the original file by a number corresponding to the divided number information; generating an encrypted first divided file by encrypting a first divided file among the divided files; generating a first hash file by hashing the encrypted first divided file; and encrypting the first file with a first public key for the first divided file to generate an encrypted first hash file.

본 발명의 실시 예에 따라, 악의적인 공격자의 공격(예를 들면, 해킹)으로부터 원본 파일을 안전하게 보호하기 위한 컴퓨터 프로그램과 보호 방법은 상기 원본 파일을 분할 개수 정보와 분할 크기 정보에 따라 여러개로 분할하고, 분할된 파일들을 암호화하고, 암호화된 분할 파일별로 해당 헤더를 병합하여 최종 분할 파일들을 생성하고, 암호화된 분할 파일들을 복호화하여 상기 원본 파일을 복원할 수 있는 효과가 있다.According to an embodiment of the present invention, a computer program and protection method for safely protecting an original file from an attack (eg, hacking) of a malicious attacker divides the original file into several pieces according to the number of division information and the division size information. and encrypting the divided files, merging the corresponding header for each encrypted divided file to generate final divided files, and decrypting the encrypted divided files to restore the original file.

악의적인 공격자의 공격(예를 들면, 해킹)으로부터 원본 파일을 안전하게 보호하기 위한 컴퓨터 프로그램과 보호 방법은 상기 원본 파일을 분할 개수 정보와 분할 크기 정보에 따라 여러개로 분할하여 암호화하므로 암호화 속도가 빠르고, 암호화된 분할 파일들을 복호화하므로 복호화 속도가 빠른 효과가 있다.A computer program and protection method for safely protecting an original file from an attack (for example, hacking) of a malicious attacker divides the original file into several pieces according to the division number information and division size information and encrypts it, so the encryption speed is fast, Since the encrypted split files are decrypted, the decryption speed is effective.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 컴퓨터 프로그램을 실행하는 전자 장치의 블록도이다.
도 2는 도 1에 도시된 컴퓨터 프로그램을 이용하여 원본 파일로부터 최종 분할 파일들을 생성하는 과정을 설명하는 도면이다.
도 3은 도 1에 도시된 컴퓨터 프로그램을 이용하여 분할 파일을 암호화하고 암호화된 분할 파일을 복호화하는 과정을 설명하는 도면이다.
도 4는 도 1에 도시된 컴퓨터 프로그램의 작동 방법을 설명하는 플로우차트이다.
In order to more fully understand the drawings recited in the Detailed Description, a detailed description of each drawing is provided.
1 is a block diagram of an electronic device executing a computer program according to an embodiment of the present invention.
FIG. 2 is a view for explaining a process of generating final divided files from an original file using the computer program shown in FIG. 1 .
FIG. 3 is a diagram for explaining a process of encrypting a divided file and decrypting an encrypted divided file using the computer program shown in FIG. 1 .
FIG. 4 is a flowchart for explaining a method of operating the computer program shown in FIG. 1 .

본 명세서에서 원본 파일(이를 '파일(file)'이라고도 한다.)은 컴퓨터 파일 (computer file)을 의미하고, 컴퓨터 등의 전자 기기에서 의미있는 정보(이를 '데이터'라고도 한다.)를 포함하는 논리적인 단위이다. 원본 파일의 예들은 텍스트 파일, 디자인 파일, 바이너리 파일, 이미지 파일, 오디오 파일, 영상 파일, 압축 파일, 프로그램 파일, 및/또는 OS(operating system) 업데이트 파일을 포함한다.In the present specification, an original file (also referred to as a 'file') means a computer file, and logical information including meaningful information (this is also referred to as 'data') in an electronic device such as a computer. is a unit of Examples of the original file include a text file, a design file, a binary file, an image file, an audio file, an image file, a compressed file, a program file, and/or an operating system (OS) update file.

본 명세서에서 설명된 컴퓨터 프로그램(115)은, 컴퓨터 프로그램(115)이 컴퓨터(100)에서 실행될 때, 특정 작업(specific task)을 수행하는 일련의 명령어들의 집합체이다.The computer program 115 described herein is a set of instructions that, when the computer program 115 is executed in the computer 100 , performs a specific task.

하드웨어(예를 들면, 전자 장치(100) 또는 프로세서(110))와 결합되어 도 1 내지 도 4를 참조하여 설명될 파일 분할 작동, 암호화 작동, 복호화 작동, 및 파일 병합 작동 등을 포함하는 일련의 작동들을 수행하는 컴퓨터 프로그램(115)은 저장 매체(예를 들면, 전자 장치(100) 또는 프로세서(110)에 의해 액세스 가능한 저장 장치(140))에 프로그램, 프로그램 코드, 또는 바이너리(binary) 형식의 파일로 저장되어 있다가 사용자가 컴퓨터 프로그램(115)을 실행시키면 상기 저장 매체로부터 메모리 장치(예를 들면, 전자 장치(100) 또는 프로세서(110)에 의해 액세스 가능한 메모리 장치)로 로드(load)되어 실행된다.A series of files including a file division operation, an encryption operation, a decryption operation, and a file merging operation, which will be described with reference to FIGS. 1 to 4 in combination with hardware (eg, the electronic device 100 or the processor 110 ) The computer program 115 that performs the operations is stored in a storage medium (eg, the storage device 140 accessible by the electronic device 100 or the processor 110) in a program, program code, or binary format. It is stored as a file and when the user executes the computer program 115, it is loaded from the storage medium to a memory device (eg, a memory device accessible by the electronic device 100 or the processor 110). is executed

저장 장치(140)의 예들은 하드 디스크(hard disk), 솔리드 스테이트 디스크 (solid state disk), 이동식 메모리 장치, 및/또는 메모리 장치, 등을 포함한다. 상기 메모리 장치는 DRAM과 같은 휘발성 메모리 장치와 플래시 메모리 장치와 같은 불휘발성 메모리 장치를 총칭한다.Examples of storage device 140 include a hard disk, a solid state disk, a removable memory device, and/or a memory device, and the like. The memory device is a generic term for a volatile memory device such as a DRAM and a nonvolatile memory device such as a flash memory device.

컴퓨터 프로그램(115)은 본 명세서에서 설명될 각 헤더(HED1~HED4)에 정보(이를 '데이터' 또는 '파일'이라고도 한다.)를 기록하고, 각 헤더(HED1~HED4)에 기록된 정보를 추출하여 읽을 수 있다.The computer program 115 records information (this is also referred to as 'data' or 'file') in each header (HED1 to HED4) to be described herein, and extracts the information recorded in each header (HED1 to HED4). can be read

도 1은 본 발명의 실시 예에 따른 컴퓨터 프로그램을 실행하는 전자 장치의 블록도이다. 도 1을 참조하면, 전자 장치(100)는 컴퓨터 프로그램(115)를 실행하는 프로세서(110), 입력 장치(120), 통신 장치(130), 저장 장치(140), 및 출력 장치 (150)를 포함한다.1 is a block diagram of an electronic device executing a computer program according to an embodiment of the present invention. Referring to FIG. 1 , the electronic device 100 includes a processor 110 that executes a computer program 115 , an input device 120 , a communication device 130 , a storage device 140 , and an output device 150 . include

전자 장치(100)의 예들은 컴퓨터, PC(personal computer), 서버(server), 및 모바일 장치(mobile device)를 포함한다. 서버는 클라이언트 컴퓨터에게 통신 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템을 의미한다. 모바일 장치의 예들은 랩탑(laptop) 컴퓨터, 모바일 인터넷 장치(mobile internet device(MID)), 태블 PC, PDA(personal digital assistants), 및/또는 스마트폰 등을 포함한다.Examples of the electronic device 100 include a computer, a personal computer (PC), a server, and a mobile device. Server refers to a computer system that provides information or services to client computers through a communication network. Examples of mobile devices include laptop computers, mobile internet devices (MIDs), tablet PCs, personal digital assistants (PDAs), and/or smart phones, and the like.

프로세서(110)에 의해 실행되는 컴퓨터 프로그램(115)은, 원본 파일(또는 다양한 포맷(format)의 원본 파일; ORF)에 대한 악의적인 공격자의 공격(예를 들면, 해킹) 및/또는 악의적인 정보 유출로부터 안전하게 보호하기 위해, 원본 파일(ORF)을 분할 개수 정보(NOD)와 분할 크기 정보(FSi, i는 2이상의 자연수)에 합당하게 여러개의 분할 파일들로 분할하고, 분할된 파일들 각각을 암호화하고, 암호화된 분할 파일별로 해당 헤더를 붙여 최종 분할 파일들을 생성한다.The computer program 115 executed by the processor 110 is a malicious attacker's attack (eg, hacking) and/or malicious information on an original file (or an original file of various formats; ORF). In order to safely protect the original file (ORF) from leakage, it is divided into several divided files according to the division number information (NOD) and division size information (FSi, i is a natural number greater than or equal to 2), and each of the divided files is It encrypts and creates final split files by attaching a corresponding header to each encrypted split file.

분할 개수 정보(NOD)는 원본 파일(ORF)을 몇 개로 분할할지를 나타내는 정보로서 자연수이고, 분할 크기 정보(FSi)는 분할 파일의 크기를 나타내는 정보로서 자연수이고 바이트의 배수로 표현될 수 있다.The division number information NOD is information indicating how many original files the ORF is to be divided into, and is a natural number, and the division size information FSi is information indicating the size of the divided file, which is a natural number and may be expressed as a multiple of bytes.

또한, 컴퓨터 프로그램(115)은 최종 분할 파일들 각각을 복호화하고, 복호화된 분할 파일들을 합쳐서 하나의 원본 파일(ORF)을 복원한다.Also, the computer program 115 decrypts each of the final divided files, and restores one original file (ORF) by combining the decrypted divided files.

입력 장치(120)는 전자 장치(100)의 사용자로부터 입력된 분할 개수 정보 (NOD)와 분할 크기 정보(FSi)를 프로세서(110)에서 실행되는 컴퓨터 프로그램(115)으로 전송한다. 예컨대, 원본 파일(ORF)은 전자 장치(100)의 통신 장치(130)와 통신하는 다른 전자 장치로부터 전송될 파일일 수 있고, 사용자가 입력 장치(120)를 이용하여 입력한(또는 생성한) 파일일 수 있다.The input device 120 transmits the division number information NOD and division size information FSi input from the user of the electronic device 100 to the computer program 115 executed by the processor 110 . For example, the original file ORF may be a file to be transmitted from another electronic device communicating with the communication device 130 of the electronic device 100 , and input (or generated) by a user using the input device 120 . It can be a file.

통신 장치(130)는 전자 장치(100)의 외부로부터 입력되는 원본 파일(ORF)을 수신하여 원본 파일(ORF)을 프로세서(110)의 컴퓨터 프로그램(115)으로 전송할 수 있다.The communication device 130 may receive the original file ORF input from the outside of the electronic device 100 and transmit the original file ORF to the computer program 115 of the processor 110 .

저장 장치(140)는, 컴퓨터 프로그램(115)의 제어에 따라, 사용자에 의해 작성된 원본 파일(ORF) 또는 외부로부터 입력된 원본 파일(ORF)을 수신하여 저장할 수 있다. 전자 장치(100)가 서버일 때, 저장 장치(140)는 데이터베이스를 관리하는 데이터베이스 저장 장치일 수 있다.The storage device 140 may receive and store an original file ORF written by a user or an original file ORF input from the outside under the control of the computer program 115 . When the electronic device 100 is a server, the storage device 140 may be a database storage device that manages a database.

출력 장치(150)는 컴퓨터 프로그램(115)에 의해 처리될 정보 또는 처리된 정보를 표시하는 모니터 또는 디스플레이 장치일 수 있다.The output device 150 may be a monitor or display device that displays information to be processed or processed information by the computer program 115 .

도 2는 도 1에 도시된 컴퓨터 프로그램을 이용하여 원본 파일로부터 최종 분할 파일들을 생성하는 과정을 설명하는 도면이고, 도 3은 도 1에 도시된 컴퓨터 프로그램을 이용하여 분할 파일을 암호화하고 암호화된 분할 파일을 복호화하는 과정을 설명하는 도면이다. FIG. 2 is a view for explaining a process of generating final divided files from an original file using the computer program shown in FIG. 1, and FIG. 3 is a diagram for encrypting a divided file using the computer program shown in FIG. It is a diagram explaining the process of decrypting a file.

도 1 내지 도 3을 참조하면, 컴퓨터 프로그램(115)은, 입력 장치(120)를 통해 입력된 분할 개수 정보(NOD)와 분할 크기 정보(FSi, i는 1 내지 4)에 따라, 원본 파일(ORF)을 4개의 분할 파일들(DF1~DF4)로 분할한다고 가정한다. 여기서, 분할 개수 정보(NOD)는 4이고, 각 분할 파일(DF1~DF4)에 대한 분할 크기 정보(FS1, FS2, FS3, 및 FS4)는 서로 다르다고 가정한다.1 to 3 , the computer program 115 generates an original file ( ORF) is divided into four divided files (DF1 to DF4). Here, it is assumed that the division number information NOD is 4, and division size information FS1 , FS2 , FS3 , and FS4 for each divided file DF1 to DF4 are different from each other.

예를 들면, 원본 파일(ORF)의 크기가 10바이트이고, 분할 개수 정보(NOD)가 4이고, 제1분할 파일(DF1)의 분할 크기 정보(FS1)가 4이고, 제2분할 파일(DF2)의 분할 크기 정보(FS2)가 3이고, 제3분할 파일(DF3)의 분할 크기 정보(FS3)가 2이고, 제4분할 파일(DF4)의 분할 크기 정보(FS4)가 1일 때, 컴퓨터 프로그램(115)은 원본 파일(ORF)로부터 분할 개수 정보(NOD)와 분할 크기 정보(FS1, FS2, FS3, 및 FS4)에 합당한 크기를 갖는 4개의 분할 파일들(DF1~DF4)을 생성할 수 있다.For example, the size of the original file ORF is 10 bytes, the number of division information NOD is 4, the division size information FS1 of the first divided file DF1 is 4, and the second divided file DF2 ), when the division size information FS2 is 3, the division size information FS3 of the third divided file DF3 is 2, and the division size information FS4 of the fourth divided file DF4 is 1, the computer The program 115 can generate four divided files DF1 to DF4 having a size suitable for the division number information NOD and division size information FS1, FS2, FS3, and FS4 from the original file ORF. have.

실시 예들에 따라, 분할 개수 정보(NOD)만 입력되고 분할 크기 정보(FSi)가 입력되지 않을 때, 컴퓨터 프로그램(115)은 원본 파일(ORF)을 분할 개수 정보(NOD)에 해당하는 개수만큼 분할하여 분할 파일들을 생성한다. 이때, 분할 파일들 각각의 크기는 동일하다.According to embodiments, when only the division number information NOD is input and the division size information FSi is not input, the computer program 115 divides the original file ORF by the number corresponding to the division number information NOD. to create split files. In this case, the size of each of the divided files is the same.

그러나, 원본 파일(ORF)의 크기가 10바이트이고, 분할 개수 정보(NOD)가 3일 때, 컴퓨터 프로그램(115)은 4바이트 크기를 갖는 제1분할 파일, 3바이트 크기를 갖는 제2분할 파일, 및 3바이트 크기를 갖는 제3분할 파일을 만들 수 있다. 이 경우 컴퓨터 프로그램(115)은 첫 번째 분할 파일 또는 마지막 분할 파일의 크기를 다른 분할 파일들 각각의 크기보다 크게 할 수 있다.However, when the size of the original file ORF is 10 bytes and the number of division information NOD is 3, the computer program 115 generates a first divided file having a size of 4 bytes and a second divided file having a size of 3 bytes. , and a third divided file having a size of 3 bytes may be created. In this case, the computer program 115 may make the size of the first divided file or the last divided file larger than the size of each of the other divided files.

실시 예들에 따라, 컴퓨터 프로그램(115)이 분할 개수 정보(NOD)만 처리하는 프로그램으로 만들어 질때, 컴퓨터 프로그램(115)은 분할 크기 정보(FSi)를 처리하지 않는다.According to embodiments, when the computer program 115 is created as a program that processes only the number of divisions information NOD, the computer program 115 does not process the division size information FSi.

컴퓨터 프로그램(115)이 제1분할 파일(DF1)을 처리(예를 들면, 암호화)하여 제1최종 분할 파일(DATA1)을 생성하는 과정이 도 1 내지 도 3의 (a)를 참조하여 설명된다.A process in which the computer program 115 processes (eg, encrypts) the first divided file DF1 to generate the first final divided file DATA1 will be described with reference to FIGS. 1 to 3 (a). .

제1최종 분할 파일(DATA1)은 암호화된 제1분할 파일(EDFi, i=1)과 제1헤더 (HED1)를 포함하고, 제1헤더(HED1)는 암호화된 제1분할 파일(EDF1)에 대한 정보 (CS, PI1, HD1, HI1, 및 KI1)를 포함한다.The first final split file DATA1 includes an encrypted first split file EDFi, i=1 and a first header HED1, and the first header HED1 is an encrypted first split file EDF1. information about (CS, PI1, HD1, HI1, and KI1).

제1헤더(HED1)는 체크섬(CS), 제1암호 정책 정보(PI1), 제1해시 파일(HD1), 암호화된 제1해시 파일(HI1), 및 제1공개키(KI1)를 포함하고, 제1암호 정책 정보 (PI1)는 암호화된 제1키(EKi, i=1), 제1순서 정보(P1), 분할 개수 정보(NOD), 제1암호화 방법 정보(EM1), 및 제1분할 크기 정보(FSi, i=1)을 포함한다.The first header (HED1) includes a checksum (CS), first encryption policy information (PI1), a first hash file (HD1), an encrypted first hash file (HI1), and a first public key (KI1), , the first encryption policy information (PI1) includes the encrypted first key (EKi, i=1), the first order information (P1), the number of division information (NOD), the first encryption method information (EM1), and the first Partition size information (FSi, i=1) is included.

각 헤더(HED1~HED4)에 공통적으로 포함된 체크섬(CS)은 각 헤더(HED1~HED4)의 정의 값(예를 들면, 컴퓨터 프로그램(115)을 만든 회사에 대한 정보)를 포함한다.The checksum CS commonly included in each header HED1 to HED4 includes a definition value (eg, information about a company that made the computer program 115 ) of each header HED1 to HED4 .

제1순서 정보(P1)는 암호화된 제1분할 파일(EDF1) 및/또는 제1최종 분할 파일(DATA1)이 4개의 분할 파일들(DF1~DF4) 중에서 제1분할 파일(DF1)에 관련된 파일임을 나타낸다. 예를 들면, 제1순서 정보(P1)는 1일 수 있다.The first order information P1 is a file in which the encrypted first divided file EDF1 and/or the first final divided file DATA1 is related to the first divided file DF1 among the four divided files DF1 to DF4. indicates that For example, the first order information P1 may be 1.

분할 개수 정보(NOD)는 분할 파일들(DF1~DF4)의 총 개수(예를 들면, 4)를 나타낸다.The divided number information NOD indicates the total number (eg, 4) of the divided files DF1 to DF4.

제1암호화 방법 정보(EM1)는 암호화된 제1분할 파일(EDF1)을 생성하기 위해 사용된 암호화 방법에 대한 정보를 나타낸다.The first encryption method information EM1 indicates information on an encryption method used to generate the encrypted first divided file EDF1.

예를 들면, 제1암호화 방법 정보(EM1)는 암호화된 제1분할 파일(EDF1)이 제1분할 파일(DF1)에 비대칭 키 알고리즘(예를 들면, RSA(Rivest, Shamir, and Adleman) 알고리즘)을 적용하여 생성된 파일인지, 대칭키 알고리즘(예를 들면, AES(advanced Encryption Standard) 알고리즘)을 적용하여 생성된 파일인지, 또는 해시(hash) 알고리즘(예를 들면, SHA(Secure Hash Algorithm)2 또는 SHA256 알고리즘)을 적용하여 생성된 파일인지를 나타낸다.For example, the first encryption method information EM1 includes an encrypted first divided file EDF1 in the first divided file DF1 with an asymmetric key algorithm (eg, Rivest, Shamir, and Adleman (RSA) algorithm). Whether it is a file created by applying a symmetric key algorithm (eg, AES (Advanced Encryption Standard) algorithm), or a hash algorithm (eg, SHA (Secure Hash Algorithm) or SHA256 algorithm) to indicate whether the file is created.

제1분할 크기 정보(FS1)는 제1분할 파일(DF1)의 크기 정보를 나타낸다. 예를 들면, 제1분할 크기 정보(FS1)는 제1분할 파일(DF1)이 몇 바이트인지를 나타낸다.The first divided size information FS1 indicates size information of the first divided file DF1. For example, the first divided size information FS1 indicates how many bytes the first divided file DF1 is.

도 3의 (a)를 참조하면, 컴퓨터 프로그램(115)은 제1분할 파일(DFi, i=1)을 제1키(KYi, i=1)를 이용하여 암호화하고 암호화된 제1분할 파일(EDFi, i=1)을 생성한다(S110).Referring to (a) of FIG. 3 , the computer program 115 encrypts the first divided file (DFi, i=1) using the first key (KYi, i=1) and encrypts the first divided file ( EDFi, i = 1) is generated (S110).

컴퓨터 프로그램(115)은 제1키(KY1)를 제1공개키(KIi, i=1)를 이용하여 암호화하고 암호화된 제1키(EKi, i=1)을 생성한다(S120).The computer program 115 encrypts the first key KY1 using the first public key KIi, i=1 and generates an encrypted first key EKi, i=1 (S120).

컴퓨터 프로그램(115)은 암호화된 제1분할 파일(EDF1)을 해시(예를 들면, 해시 함수를 이용하여 해시)하고 제1해시 파일(또는 제1해시 데이터, HDi, i=1)을 생성한다(S130).The computer program 115 hashes (eg, hashes using a hash function) the encrypted first split file EDF1 and generates a first hash file (or first hash data, HDi, i=1) (S130).

컴퓨터 프로그램(115)은 제1해시 파일(HD1)을 제1공개키(KI1)를 이용하여 암호화하고 암호화된 제1해시 파일(또는 암호화된 제1해시 데이터, HIi, i=1)을 생성한다(S140).The computer program 115 encrypts the first hash file HD1 using the first public key KI1 and generates an encrypted first hash file (or encrypted first hash data, HIi, i=1). (S140).

컴퓨터 프로그램(115)은 암호화된 제1분할 파일(EDF1)과 제1헤더(HED1)를 포함하는 제1최종 분할 파일(DATA1)을 생성한다.The computer program 115 generates the first and final divided file DATA1 including the encrypted first divided file EDF1 and the first header HED1.

제2최종 분할 파일(DATA2)은 암호화된 제2분할 파일(EDF2)과 제2헤더(HED2)를 포함하고, 제2헤더(HED2)는 암호화된 제2분할 파일(EDF2)에 대한 정보를 포함한다.The second final split file DATA2 includes an encrypted second split file EDF2 and a second header HED2, and the second header HED2 includes information about the encrypted second split file EDF2. do.

제2헤더(HED2)는 체크섬(CS), 제2암호 정책 정보(PI2), 제2해시 파일(HD2), 암호화된 제2해시 파일(HI2), 및 제2공개키(KI2)를 포함하고, 제2암호 정책 정보 (PI2)는 암호화된 제2키(EKi, i=2), 제2순서 정보(P2), 분할 개수 정보(NOD), 제2암호화 방법 정보(EM2), 및 제2분할 크기 정보(FSi, i=2)을 포함한다.The second header (HED2) includes a checksum (CS), second encryption policy information (PI2), a second hash file (HD2), an encrypted second hash file (HI2), and a second public key (KI2). , the second encryption policy information (PI2) includes the encrypted second key (EKi, i=2), the second order information (P2), the number of division information (NOD), the second encryption method information (EM2), and the second Partition size information (FSi, i=2) is included.

제2순서 정보(P2)는 암호화된 제2분할 파일(EDF2) 및/또는 제2최종 분할 파일(DATA2)이 4개의 분할 파일들(DF1~DF4) 중에서 제2분할 파일(DF2)에 관련된 파일임을 나타낸다. 예를 들면, 제2순서 정보(P2)는 2일 수 있다.The second order information P2 is a file in which the encrypted second divided file EDF2 and/or the second final divided file DATA2 is related to the second divided file DF2 among the four divided files DF1 to DF4. indicates that For example, the second order information P2 may be 2.

제2암호화 방법 정보(EM2)는 암호화된 제2분할 파일(EDF2)을 생성하기 위해 사용된 암호화 방법에 대한 정보를 나타낸다.The second encryption method information EM2 indicates information on an encryption method used to generate the encrypted second divided file EDF2.

예를 들면, 제2암호화 방법 정보(EM2)는 암호화된 제2분할 파일(EDF2)이 제2분할 파일(DF2)에 비대칭 키 알고리즘(예를 들면, RSA 알고리즘)을 적용하여 생성된 파일인지, 대칭키 알고리즘(예를 들면, AES 알고리즘)을 적용하여 생성된 파일인지, 또는 해시 알고리즘(예를 들면, SHA2 또는 SHA256 알고리즘)을 적용하여 생성된 파일인지를 나타낸다.For example, the second encryption method information EM2 includes whether the encrypted second divided file EDF2 is a file generated by applying an asymmetric key algorithm (eg, RSA algorithm) to the second divided file DF2; Indicates whether a file is generated by applying a symmetric key algorithm (eg, AES algorithm) or a file generated by applying a hash algorithm (eg, SHA2 or SHA256 algorithm).

제2분할 크기 정보(FS2)는 제2분할 파일(DF2)의 크기 정보를 나타낸다. 예를 들면, 제2분할 크기 정보(FS2)는 제2분할 파일(DF2)이 몇 바이트인지를 나타낸다.The second divided size information FS2 indicates size information of the second divided file DF2. For example, the second division size information FS2 indicates the number of bytes of the second divided file DF2.

도 3의 (a)를 참조하면, 컴퓨터 프로그램(115)은 제2분할 파일(DFi, i=2)을 제2키(KYi, i=2)를 이용하여 암호화하고 암호화된 제2분할 파일(EDFi, i=2)을 생성한다(S110).Referring to (a) of FIG. 3 , the computer program 115 encrypts the second divided file (DFi, i=2) using the second key (KYi, i=2) and encrypts the second divided file ( EDFi, i = 2) is generated (S110).

컴퓨터 프로그램(115)은 제2키(KY2)를 제2공개키(KIi, i=2)를 이용하여 암호화하고 암호화된 제2키(EKi, i=2)을 생성한다(S120).The computer program 115 encrypts the second key KY2 using the second public key KIi, i=2, and generates an encrypted second key EKi, i=2 (S120).

컴퓨터 프로그램(115)은 암호화된 제2분할 파일(EDF2)을 해시(예를 들면, 해시 함수를 이용하여 해시)하고 제2해시 파일(또는 제2해시 데이터, HDi, i=2)을 생성한다(S130).The computer program 115 hashes (eg, hashes using a hash function) the encrypted second split file EDF2 and generates a second hash file (or second hash data, HDi, i=2). (S130).

컴퓨터 프로그램(115)은 제2해시 파일(HD2)을 제2공개키(KI2)를 이용하여 암호화하고 암호화된 제2해시 파일(또는 암호화된 제2해시 데이터, HIi, i=2)을 생성한다(S140).The computer program 115 encrypts the second hash file HD2 using the second public key KI2 and generates an encrypted second hash file (or encrypted second hash data, HIi, i=2). (S140).

컴퓨터 프로그램(115)은 암호화된 제2분할 파일(EDF2)과 제2헤더(HED2)를 포함하는 제2최종 분할 파일(DATA2)을 생성한다.The computer program 115 generates the second final divided file DATA2 including the encrypted second divided file EDF2 and the second header HED2.

제3최종 분할 파일(DATA3)은 암호화된 제3분할 파일(EDF3)과 제3헤더(HED3)를 포함하고, 제3헤더(HED3)는 암호화된 제3분할 파일(EDF3)에 대한 정보를 포함한다.The third final split file DATA3 includes an encrypted third split file EDF3 and a third header HED3, and the third header HED3 includes information about the encrypted third split file EDF3. do.

제3헤더(HED3)는 체크섬(CS), 제3암호 정책 정보(PI3), 제3해시 파일(HD3), 암호화된 제3해시 파일(HI3), 및 제3공개키(KI3)를 포함하고, 제3정책 정보(PI3)는 암호화된 제3키(EKi, i=3), 제3순서 정보(P3), 분할 개수 정보(NOD), 제3암호화 방봅 정보(EM3), 및 제3분할 크기 정보(FSi, i=3)을 포함한다.The third header (HED3) includes a checksum (CS), third encryption policy information (PI3), a third hash file (HD3), an encrypted third hash file (HI3), and a third public key (KI3). , the third policy information (PI3) includes the encrypted third key (EKi, i=3), the third order information (P3), the number of partitions information (NOD), the third encryption information (EM3), and the third partition It includes size information (FSi, i=3).

제3순서 정보(P3)는 암호화된 제3분할 파일(EDF3) 및/또는 제3최종 분할 파일(DATA3)이 4개의 분할 파일들(DF1~DF4) 중에서 제3분할 파일(DF3)에 관련된 파일임을 나타낸다. 예를 들면, 제3순서 정보(P3)는 3일 수 있다.The third order information P3 is the encrypted third divided file EDF3 and/or the third final divided file DATA3 is a file related to the third divided file DF3 among the four divided files DF1 to DF4. indicates that For example, the third order information P3 may be 3.

제3암호화 방법 정보(EM3)는 암호화된 제3분할 파일(EDF3)을 생성하기 위해 사용된 암호화 방법에 대한 정보를 나타낸다.The third encryption method information EM3 indicates information on an encryption method used to generate the encrypted third divided file EDF3.

예를 들면, 제3암호화 방법 정보(EM3)는 암호화된 제3분할 파일(EDF3)이 제3분할 파일(DF3)에 비대칭 키 알고리즘(예를 들면, RSA 알고리즘)을 적용하여 생성된 파일인지, 대칭키 알고리즘(예를 들면, AES 알고리즘)을 적용하여 생성된 파일인지, 또는 해시 알고리즘(예를 들면, SHA2 또는 SHA256 알고리즘)을 적용하여 생성된 파일인지를 나타낸다.For example, the third encryption method information (EM3) is a file generated by applying an asymmetric key algorithm (eg, RSA algorithm) to the third divided file (DF3) that the encrypted third divided file (EDF3) is, Indicates whether a file is generated by applying a symmetric key algorithm (eg, AES algorithm) or a file generated by applying a hash algorithm (eg, SHA2 or SHA256 algorithm).

제3분할 크기 정보(FS3)는 제3분할 파일(DF3)의 크기 정보를 나타낸다. 예를 들면, 제3분할 크기 정보(FS3)는 제3분할 파일(DF3)이 몇 바이트인지를 나타낸다.The third divided size information FS3 indicates size information of the third divided file DF3. For example, the third division size information FS3 indicates the number of bytes of the third divided file DF3.

도 3의 (a)를 참조하면, 컴퓨터 프로그램(115)은 제3분할 파일(DFi, i=3)을 제3키(KYi, i=3)를 이용하여 암호화하고 암호화된 제3분할 파일(EDFi, i=3)을 생성한다(S110).Referring to (a) of FIG. 3 , the computer program 115 encrypts the third divided file (DFi, i=3) using the third key (KYi, i=3) and encrypts the third divided file ( EDFi, i = 3) is generated (S110).

컴퓨터 프로그램(115)은 제3키(KY3)를 제3공개키(KIi, i=3)를 이용하여 암호화하고 암호화된 제3키(EKi, i=3)을 생성한다(S120).The computer program 115 encrypts the third key (KY3) using the third public key (KIi, i=3) and generates an encrypted third key (EKi, i=3) (S120).

컴퓨터 프로그램(115)은 암호화된 제3분할 파일(EDF3)을 해시(예를 들면, 해시 함수를 이용하여 해시)하고 제3해시 파일(또는 제3해시 데이터, HDi, i=3)을 생성한다(S130).The computer program 115 hashes (eg, hashes using a hash function) the encrypted third split file EDF3 and generates a third hash file (or third hash data, HDi, i=3) (S130).

컴퓨터 프로그램(115)은 제3해시 파일(HD3)을 제3공개키(KI3)를 이용하여 암호화하고 암호화된 제3해시 파일(또는 암호화된 제3데이터, HIi, i=3)을 생성한다(S140).The computer program 115 encrypts the third hash file HD3 using the third public key KI3 and generates an encrypted third hash file (or encrypted third data, HIi, i=3) ( S140).

컴퓨터 프로그램(115)은 암호화된 제3분할 파일(EDF3)과 제3헤더(HED3)를 포함하는 제3최종 분할 파일(DATA3)을 생성한다.The computer program 115 generates the third final divided file DATA3 including the encrypted third divided file EDF3 and the third header HED3.

제4최종 분할 파일(DATA4)은 암호화된 제4분할 파일(EDF4)과 제4헤더(HED4)를 포함하고, 제4헤더(HED4)는 암호화된 제4분할 파일(EDF4)에 대한 정보를 포함한다.The fourth final divided file DATA4 includes an encrypted fourth divided file EDF4 and a fourth header HED4, and the fourth header HED4 includes information about the encrypted fourth divided file EDF4. do.

제4헤더(HED4)는 체크섬(CS), 제4암호 정책 정보(PI4), 제4해시 파일(HD4), 암호화된 제4해시 파일(HI4), 및 제4공개키(KI4)를 포함하고, 제4암호 정책 정보 (PI4)는 암호화된 제4키(EKi, i=4), 제4순서 정보(P4), 분할 개수 정보(NOD), 제4암호화 방법 정보(EM4), 및 제4분할 크기 정보(FSi, i=4)을 포함한다.The fourth header (HED4) includes a checksum (CS), fourth encryption policy information (PI4), a fourth hash file (HD4), an encrypted fourth hash file (HI4), and a fourth public key (KI4) , the fourth encryption policy information (PI4) includes an encrypted fourth key (EKi, i=4), fourth order information (P4), division number information (NOD), fourth encryption method information (EM4), and a fourth Partition size information (FSi, i=4) is included.

제4순서 정보(P4)는 암호화된 제4분할 파일(EDF4) 및/또는 제4최종 분할 파일(DATA4)이 4개의 분할 파일들(DF1~DF4) 중에서 제4분할 파일(DF4)에 관련된 파일임을 나타낸다. 예를 들면, 제4순서 정보(P4)는 4일 수 있다.The fourth order information P4 is a file in which the encrypted fourth divided file EDF4 and/or the fourth final divided file DATA4 is related to the fourth divided file DF4 among the four divided files DF1 to DF4. indicates that For example, the fourth order information P4 may be 4.

제4암호화 방법 정보(EM4)는 암호화된 제4분할 파일(EDF4)을 생성하기 위해 사용된 암호화 방법에 대한 정보를 나타낸다.The fourth encryption method information EM4 indicates information on an encryption method used to generate the encrypted fourth divided file EDF4.

예를 들면, 제4암호화 방법 정보(EM4)는 암호화된 제4분할 파일(EDF4)이 제4분할 파일(DF4)에 비대칭 키 알고리즘(예를 들면, RSA 알고리즘)을 적용하여 생성된 파일인지, 대칭키 알고리즘(예를 들면, AES 알고리즘)을 적용하여 생성된 파일인지, 또는 해시 알고리즘(예를 들면, SHA2 또는 SHA256 알고리즘)을 적용하여 생성된 파일인지를 나타낸다.For example, the fourth encryption method information EM4 determines whether the encrypted fourth divided file EDF4 is a file generated by applying an asymmetric key algorithm (eg, RSA algorithm) to the fourth divided file DF4, Indicates whether a file is generated by applying a symmetric key algorithm (eg, AES algorithm) or a file generated by applying a hash algorithm (eg, SHA2 or SHA256 algorithm).

제4분할 크기 정보(FS4)는 제4분할 파일(DF4)의 크기 정보를 나타낸다. 예를 들면, 제4분할 크기 정보(FS4)는 제4분할 파일(DF4)이 몇 바이트인지를 나타낸다.The fourth divided size information FS4 indicates size information of the fourth divided file DF4. For example, the fourth division size information FS4 indicates the number of bytes of the fourth divided file DF4.

도 3의 (a)를 참조하면, 컴퓨터 프로그램(115)은 제4분할 파일(DFi, i=4)을 제4키(KYi, i=4)를 이용하여 암호화하고 암호화된 제4분할 파일(EDF4)을 생성한다(S110).Referring to (a) of FIG. 3 , the computer program 115 encrypts the fourth divided file (DFi, i=4) using the fourth key (KYi, i=4) and encrypts the fourth divided file ( EDF4) is generated (S110).

컴퓨터 프로그램(115)은 제4키(KY4)를 제4공개키(KI4)를 이용하여 암호화하고 암호화된 제4키(EKi, i=4)을 생성한다(S120). 각 키(KY1~KY4)는 암호키이다.The computer program 115 encrypts the fourth key (KY4) using the fourth public key (KI4) and generates an encrypted fourth key (EKi, i=4) ( S120 ). Each key (KY1 to KY4) is an encryption key.

컴퓨터 프로그램(115)은 암호화된 제4분할 파일(EDF4)을 해시(예를 들면, 해시 함수를 이용하여 해시)하고 제4해시 파일(또는 제3해시 데이터, HDi, i=4)을 생성한다(S130).The computer program 115 hashes (eg, hashes using a hash function) the encrypted fourth split file (EDF4) and generates a fourth hash file (or third hash data, HDi, i=4) (S130).

컴퓨터 프로그램(115)은 제4해시 파일(HD4)을 제4공개키(KI4)를 이용하여 암호화하고 암호화된 제4해시 파일(또는 암호화된 제4해시 파일, HIi, i=4)을 생성한다(S140).The computer program 115 encrypts the fourth hash file HD4 using the fourth public key KI4 and generates an encrypted fourth hash file (or an encrypted fourth hash file, HIi, i=4). (S140).

컴퓨터 프로그램(115)은 암호화된 제4분할 파일(EDF4)과 제4헤더(HED4)를 포함하는 제4최종 분할 파일(DATA4)을 생성한다.The computer program 115 generates a fourth final divided file DATA4 including an encrypted fourth divided file EDF4 and a fourth header HED4.

실시 예들에 따라, 컴퓨터 프로그램(115)은 분할 파일들(DF1~DF4)로부터 최종 분할 파일들(DATA1~DATA4)을 순차적으로 또는 병렬적으로 생성할 수 있다.According to embodiments, the computer program 115 may sequentially or parallelly generate the final divided files DATA1 to DATA4 from the divided files DF1 to DF4.

실시 예들에 따라, 키들(KY1~KY4) 각각은 서로 다를 수도 있고, 키들 (KY1~KY4) 중에서 적어도 두 개는 서로 같을 수 있다.According to exemplary embodiments, each of the keys KY1 to KY4 may be different, and at least two of the keys KY1 to KY4 may be the same.

실시 예들에 따라, 공개키들(KI1~KI4) 각각은 서로 다를 수도 있고, 공개키들(KI1~KI4) 중에서 적어도 두 개는 서로 같을 수 있다. 예를 들면, 공개키들(KI1~KI4) 각각은 RSA 알고리즘을 위한 공개키일 수 있다.According to embodiments, each of the public keys KI1 to KI4 may be different, and at least two of the public keys KI1 to KI4 may be the same. For example, each of the public keys KI1 to KI4 may be a public key for the RSA algorithm.

실시 예들에 따라, 각 암호화 정보(EM1~EM4)는 서로 다를 수도 있고, 서로 동일할 수도 있다.According to embodiments, each of the encryption information EM1 to EM4 may be different from or the same as each other.

컴퓨터 프로그램(115)이 각 최종 분할 파일(DATA1~DATA4)을 처리(예를 들면, 복호화)하여 각 분할 파일(DF1~DF4)을 생성(또는 복원)하는 과정은 도 1, 도 2, 및 도 3의 (b)를 참조하여 설명된다.The process in which the computer program 115 processes (eg, decrypts) each final divided file DATA1 to DATA4 to generate (or restores) each divided file DF1 to DF4 is shown in FIGS. 1, 2, and FIG. It will be described with reference to (b) of 3 .

컴퓨터 프로그램(115)은 제1최종 분할 파일(DATA1)에 포함된 제1헤더(HED1)로부터 암호화된 제1해시 파일(HI1)과 제1공개키(KI1)를 추출하고, 암호화된 제1해시 파일(HIi, i=1)을 제1공개키(KIi, i=1)를 이용하여 복호화하고, 복호화된 제1해시 파일(HDi, i=1)을 생성(또는 복원)한다(S210).The computer program 115 extracts the encrypted first hash file HI1 and the first public key KI1 from the first header HED1 included in the first final split file DATA1, and the encrypted first hash The file (HIi, i=1) is decrypted using the first public key (KIi, i=1), and a decrypted first hash file (HDi, i=1) is generated (or restored) ( S210 ).

컴퓨터 프로그램(115)은 제1헤더(HED1)로부터 추출된 제1해시 파일(HD1)과 단계(210)에서 복호화된 제1해시 파일(HD1)을 비교하고, 이들이 일치할 때 컴퓨터 프로그램(115)은 암호화된 제1분할 파일(EDF, i=1)을 해시하여 제1해시 파일(HDi, i=1)을 다시 생성한다(S220).The computer program 115 compares the first hash file HD1 extracted from the first header HED1 with the first hash file HD1 decrypted in step 210, and when they match, the computer program 115 hashes the encrypted first split file (EDF, i=1) to re-generate the first hash file (HDi, i=1) (S220).

컴퓨터 프로그램(115)은 단계(S210)에서 복호화된 제1해시 파일(HD1)과 단계 (S220)에서 생성된 제1해시 파일(HD1)을 비교한다. 이들이 일치할 때 컴퓨터 프로그램(115)은 암호화된 제1키(EKi, i=1)를 제1공개키(KIi, i=1)을 이용하여 복호하여 제1키(KYi, i=1)를 생성한다(S230). 컴퓨터 프로그램(115)은 암호화된 제1분할 파일(EDF1)을 제1키(KY1)로 복호하여 제1분할 파일(DF, i=1)을 복원한다(S240).The computer program 115 compares the first hash file HD1 decrypted in step S210 with the first hash file HD1 generated in step S220. When they match, the computer program 115 decrypts the encrypted first key (EKi, i=1) using the first public key (KIi, i=1) to obtain the first key (KYi, i=1) is created (S230). The computer program 115 decrypts the encrypted first divided file EDF1 with the first key KY1 to restore the first divided file DF, i=1 (S240).

컴퓨터 프로그램(115)은 제2최종 분할 파일(DATA2)에 포함된 제2헤더(HED2)로부터 암호화된 제2해시 파일(HIi, i=2)과 제2공개키(KIi, i=2)를 추출하고, 암호화된 제2해시 파일(HI2)을 제2공개키(KI2)로 복호화하고, 복호된 제2해시 파일 (HDi, i=2)을 생성(또는 복원)한다(S210).The computer program 115 generates an encrypted second hash file (HIi, i=2) and a second public key (KIi, i=2) from the second header (HED2) included in the second final split file (DATA2). The extracted, encrypted second hash file (HI2) is decrypted with the second public key (KI2), and a decrypted second hash file (HDi, i=2) is generated (or restored) (S210).

컴퓨터 프로그램(115)은 제2헤더(HED2)로부터 추출된 제2해시 파일(HDi, i=2)과 단계(210)에서 복호된 제2해시 파일(HD2)을 비교하고, 이들이 일치할 때 컴퓨터 프로그램(115)은 암호화된 제2분할 파일(EDFi, i=2)을 해시하여 제2해시 파일 (HD2)을 다시 생성한다(S220).The computer program 115 compares the second hash file (HDi, i=2) extracted from the second header (HED2) with the second hash file (HD2) decoded in step 210, and when they match, the computer The program 115 hashes the encrypted second split file (EDFi, i=2) to re-generate the second hash file HD2 (S220).

컴퓨터 프로그램(115)은 단계(210)에서 복호된 제2해시 파일(HD2)과 단계 (S220)에서 생성된 제2해시 파일(HD2)을 비교한다. 이들이 일치할 때 컴퓨터 프로그램(115)은 암호화된 제2키(EKi, i=2)를 제2공개키(KI2)로 복호하여 제2키(KYi, i=2)를 생성한다(S230). 컴퓨터 프로그램(115)은 암호화된 제2분할 파일(EDF2)을 제2키(KY2)로 복호하여 제2분할 파일(DFi, i=2)을 복원한다(S240).The computer program 115 compares the second hash file HD2 decrypted in step 210 with the second hash file HD2 generated in step S220. When they match, the computer program 115 decrypts the encrypted second key (EKi, i=2) with the second public key (KI2) to generate the second key (KYi, i=2) ( S230 ). The computer program 115 decrypts the encrypted second divided file EDF2 with the second key KY2 to restore the second divided file DFi, i=2 (S240).

컴퓨터 프로그램(115)이 제3최종 분할 파일(DATA3)과 제4최종 분할 파일 (DATA4) 각각으로부터 제3분할 파일(DF3)과 제4분할 파일(DF4) 각각을 복원하는 단계들은 컴퓨터 프로그램(115)이 제1최종 분할 파일(DATA1)로부터 제1분할 파일 (DF1)을 복원하는 단계들은 동일 또는 유사하므로 이에 대한 설명은 생략한다.The steps in which the computer program 115 restores the third divided file DF3 and the fourth divided file DF4 from the third and fourth final divided files DATA3 and DATA4, respectively, are the steps of the computer program 115 ), the steps of restoring the first split file DF1 from the first and final split file DATA1 are the same or similar, so a description thereof will be omitted.

컴퓨터 프로그램(115)은 각 최종 분할 파일(DATA1~DATA4)의 각 암호 정책 정보(PI1~PI4)에 포함된 각 순서 정보(P1~P4)를 이용하여 분할 파일들(DF1~DF4)를 병합하여 원본 파일(ORF)을 복원할 수 있다.The computer program 115 merges the divided files DF1 to DF4 using each order information P1 to P4 included in each encryption policy information PI1 to PI4 of each final divided file DATA1 to DATA4. You can restore the original file (ORF).

실시 예들에 따라, 컴퓨터 프로그램(115)은 단계(S130)에서 생성된 해시 파일과 단계(S210)에서 생성된 해시 파일을 비교하는 제1작동과, 단계(S210)에서 생성된 해시 파일과 단계(S220)에서 생성된 해시 파일을 비교하는 제2작동 중에서 적어도 하나를 수행할 수 있다. 제1작동과 제2작동 중에서 적어도 하나가 수행된 후, 컴퓨터 프로그램(115)은 단계(S230)와 단계(S240)를 수행할 수 있다.According to embodiments, the computer program 115 performs a first operation of comparing the hash file generated in step S130 with the hash file generated in step S210, and the hash file generated in step S210 and step ( At least one of the second operation of comparing the hash files generated in S220) may be performed. After at least one of the first operation and the second operation is performed, the computer program 115 may perform steps S230 and S240.

도 4는 도 1에 도시된 컴퓨터 프로그램의 작동 방법을 설명하는 플로우차트이다.FIG. 4 is a flowchart for explaining a method of operating the computer program shown in FIG. 1 .

도 1 내지 도 4를 참조하여 컴퓨터 프로그램(115) 또는 컴퓨터 프로그램 (115)에 의해 수행되는 방법이 설명된다.A computer program 115 or a method performed by the computer program 115 is described with reference to FIGS. 1 to 4 .

컴퓨터 프로그램(115)은 원본 파일(ORF)을 몇 개로 분할할지를 나타내는 분할 개수 정보(NOD)와 분할 개수 정보(NOD)에 따라 분할될 파일들(DF1~DF4) 각각의 분할 크기 정보(FSi, i=1, 2, 3, 및 4)를 설정(또는 수신)한다(S310).The computer program 115 provides division size information FSi, i of each of the files DF1 to DF4 to be divided according to division number information NOD indicating how many original files ORF will be divided into division number information NOD and division number information NOD. = 1, 2, 3, and 4) is set (or received) (S310).

컴퓨터 프로그램(115)은 원본 파일(ORF)을 분할 개수 정보(NOD)와 분할될 파일들(DF1~DF4) 각각의 분할 크기 정보(FS1, FS2, FS3, 및 FS4)에 따라 분할하여 분할 파일들(DF1~DF4)을 생성한다(S320).The computer program 115 divides the original file ORF according to the division number information NOD and division size information FS1, FS2, FS3, and FS4 of each of the files to be divided (DF1 to DF4) to create divided files. (DF1 to DF4) are generated (S320).

컴퓨터 프로그램(115)은 분할 파일들(DF1~DF4) 각각을 암호화하여 암호화된 분할 파일들(EDF1~EDF4) 각각을 생성한다(S330).The computer program 115 encrypts each of the divided files DF1 to DF4 to generate each of the encrypted divided files EDF1 to EDF4 ( S330 ).

컴퓨터 프로그램(115)은 제1분할 파일(DF1)에 대한 제1순서 정보(P1), 분할 개수 정보(NOD), 및 제1분할 파일(DF1)에 대한 제1분할 크기 정보(FS1)를 포함하는 제1헤더(HED1)를 생성하고, 암호화된 제1분할 파일(EDF1)과 제1헤더(HED1)를 포함하는 제1최종 분할 파일(DATA1)을 생성한다(S340). The computer program 115 includes first order information P1 for the first divided file DF1, number of division information NOD, and first division size information FS1 for the first divided file DF1. A first header HED1 is generated, and a first final divided file DATA1 including an encrypted first divided file EDF1 and a first header HED1 is generated ( S340 ).

컴퓨터 프로그램(115)은 제2분할 파일(DF2)에 대한 제2순서 정보(P2), 분할 개수 정보(NOD), 및 제2분할 파일(DF2)에 대한 제2분할 크기 정보(FS2)를 포함하는 제2헤더(HED2)를 생성하고, 암호화된 제2분할 파일(EDF2)과 제2헤더(HED2)를 포함하는 제2최종 분할 파일(DATA2)을 생성한다(S340). The computer program 115 includes second order information P2 for the second divided file DF2, number of division information NOD, and second division size information FS2 for the second divided file DF2. A second header HED2 is generated, and a second final divided file DATA2 including the encrypted second divided file EDF2 and the second header HED2 is generated (S340).

컴퓨터 프로그램(115)은 제3분할 파일(DF3)에 대한 제3순서 정보(P3), 분할 개수 정보(NOD), 및 제3분할 파일(DF3)에 대한 제3분할 크기 정보(FS3)를 포함하는 제3헤더(HED3)를 생성하고, 암호화된 제3분할 파일(EDF3)과 제3헤더(HED3)를 포함하는 제3최종 분할 파일(DATA3)을 생성한다(S340). The computer program 115 includes third order information P3 for the third divided file DF3, number of division information NOD, and third division size information FS3 for the third divided file DF3. A third header HED3 is generated, and a third final divided file DATA3 including the encrypted third divided file EDF3 and the third header HED3 is generated (S340).

컴퓨터 프로그램(115)은 제4분할 파일(DF4)에 대한 제4순서 정보(P4), 분할 개수 정보(NOD), 및 제4분할 파일(DF4)에 대한 제4분할 크기 정보(FS4)를 포함하는 제4헤더(HED4)를 생성하고, 암호화된 제4분할 파일(EDF4)과 제4헤더(HED4)를 포함하는 제4최종 분할 파일(DATA4)을 생성한다(S340).The computer program 115 includes fourth order information P4 for the fourth divided file DF4, number of division information NOD, and fourth division size information FS4 for the fourth divided file DF4. A fourth header HED4 is generated, and a fourth final divided file DATA4 including an encrypted fourth divided file EDF4 and a fourth header HED4 is generated (S340).

컴퓨터 프로그램(115)은 제1헤더(HED1)로부터 암호화된 제1해시 파일(HI1)과 제1공개키(KI1)를 분리하고, 암호화된 제1해시 파일(HI1)을 제1공개키(KI1)로 복호화하여 복호화된 제1해시 파일(HD1)을 생성하고, 단계 S130에서 생성된 제1해시 파일(HDI)과 단계 S210에서 복호화된 제1해시 파일(HD1)을 비교하고, 비교 대상들이 일치할 때 암호화된 제1키(EK1)를 제1공개키(KI1)로 복호화하여 복호화된 제1키 (KY1)을 복원하고, 암호화된 제1분할 파일(EDF1)을 복호화된 제1키(KY1)로 복호화하여 복호화된 제1분할 파일(DF1)을 생성한다(S350).The computer program 115 separates the encrypted first hash file HI1 and the first public key KI1 from the first header HED1, and converts the encrypted first hash file HI1 to the first public key KI1. ) to generate a decrypted first hash file (HD1), and compare the first hash file (HDI) generated in step S130 with the first hash file (HD1) decrypted in step S210, and the comparison objects match When the encrypted first key (EK1) is decrypted with the first public key (KI1), the decrypted first key (KY1) is restored, and the encrypted first divided file (EDF1) is decrypted with the decrypted first key (KY1). ) to generate a decrypted first divided file DF1 (S350).

컴퓨터 프로그램(115)은 제2헤더(HED2)로부터 암호화된 제2해시 파일(HI2)과 제2공개키(KI2)를 분리하고, 암호화된 제2해시 파일(HI2)을 제2공개키(KI2)로 복호화하여 복호화된 제2해시 파일(HD2)을 생성하고, 단계 S130에서 생성된 제2해시 파일(HD2)과 단계 S210에서 복호화된 제2해시 파일(HD2)을 비교하고, 비교 대상들이 일치할 때 암호화된 제2키(EK2)를 제2공개키(KI2)로 복호화하여 복호화된 제2키 (KY2)을 복원하고, 암호화된 제2분할 파일(EDF2)을 복호화된 제2키(KY2)로 복호화하여 복호화된 제2분할 파일(DF2)을 생성한다(S350).The computer program 115 separates the encrypted second hash file HI2 and the second public key KI2 from the second header HED2, and converts the encrypted second hash file HI2 to the second public key KI2. ) to generate a decrypted second hash file (HD2), and compare the second hash file (HD2) generated in step S130 with the second hash file (HD2) decrypted in step S210, and the comparison objects match When the encrypted second key (EK2) is decrypted with the second public key (KI2), the decrypted second key (KY2) is restored, and the encrypted second divided file (EDF2) is decrypted with the decrypted second key (KY2). ) to generate a decrypted second divided file DF2 (S350).

컴퓨터 프로그램(115)은 제3헤더(HED3)로부터 암호화된 제3해시 파일(HI3)과 제3공개키(KI3)를 분리하고, 암호화된 제3해시 파일(HI3)을 제3공개키(KI3)로 복호화하여 복호화된 제3해시 파일(HD3)을 생성하고, 단계 S130에서 생성된 제3해시 파일(HD3)과 단계 S210에서 복호화된 제3해시 파일(HD3)을 비교하고, 비교 대상들이 일치할 때 암호화된 제3키(EK3)를 제3공개키(KI3)로 복호화하여 복호화된 제3키 (KY3)을 복원하고, 암호화된 제3분할 파일(EDF3)을 복호화된 제3키(KY3)로 복호화하여 복호화된 제3분할 파일(DF3)을 생성한다(S350).The computer program 115 separates the encrypted third hash file (HI3) and the third public key (KI3) from the third header (HED3), and converts the encrypted third hash file (HI3) to the third public key (KI3). ) to generate a decrypted third hash file (HD3), compare the third hash file (HD3) generated in step S130 with the third hash file (HD3) decrypted in step S210, and the comparison targets match When the encrypted third key (EK3) is decrypted with the third public key (KI3), the decrypted third key (KY3) is restored, and the encrypted third divided file (EDF3) is decrypted with the decrypted third key (KY3). ) to generate a decrypted third divided file DF3 (S350).

컴퓨터 프로그램(115)은 제4헤더(HED4)로부터 암호화된 제4해시 파일(HI4)과 제4공개키(KI4)를 분리하고, 암호화된 제4해시 파일(HI4)을 제4공개키(KI4)로 복호화하여 복호화된 제4해시 파일(HD4)을 생성하고, 단계 S130에서 생성된 제4해시 파일(HD4)과 단계 S210에서 복호화된 제4해시 파일(HD4)을 비교하고, 비교 대상들이 일치할 때 암호화된 제4키(EK4)를 제4공개키(KI4)로 복호화하여 복호화된 제3키 (KY4)을 복원하고, 암호화된 제4분할 파일(EDF4)을 복호화된 제4키(KY4)로 복호화하여 복호화된 제4분할 파일(DF4)을 생성한다(S350).The computer program 115 separates the encrypted fourth hash file (HI4) and the fourth public key (KI4) from the fourth header (HED4), and converts the encrypted fourth hash file (HI4) to the fourth public key (KI4). ) to generate a decrypted fourth hash file (HD4), compare the fourth hash file (HD4) generated in step S130 with the fourth hash file (HD4) decrypted in step S210, and the comparison targets match When the encrypted fourth key (EK4) is decrypted with the fourth public key (KI4), the decrypted third key (KY4) is restored, and the encrypted fourth divided file (EDF4) is decrypted with the decrypted fourth key (KY4). ) to generate a decrypted fourth divided file DF4 (S350).

컴퓨터 프로그램(115)은 복호화된 분할 파일들(DF1~DF4)을 각 순서 정보 (P1~P4)와 분할 개수 정보(NOD)를 이용하여 하나로 결합하여 원본 파일(ORF)을 복원한다(S360).The computer program 115 restores the original file ORF by combining the decoded divided files DF1 to DF4 into one using each order information P1 to P4 and the division number information NOD (S360).

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, which is merely exemplary, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

100: 전자 장치
110: 프로세서
115: 컴퓨터 프로그램
120: 입력 장치
130: 통신 장치
140: 저장 장치
150: 출력 장치
ORF: 원본 파일
DF1~DF4: 분할 파일
EDF1~EDF4: 암호화된 분할 파일
DATA1~DATA4: 최종 분할 파일
KY1~KY4: 키
EK1~EK4: 암호화된 키
PI1~PI4: 암호 정책 정보
HD1~DH4: 해시 파일
HI1~HI4: 암호화된 해시 파일
KI1~KI4: 공개키
100: electronic device
110: processor
115: computer program
120: input device
130: communication device
140: storage device
150: output device
ORF: source file
DF1 to DF4: Split file
EDF1~EDF4: Encrypted Split File
DATA1~DATA4: final split file
KY1~KY4: key
EK1~EK4: encrypted key
PI1~PI4: Password Policy Information
HD1-DH4: Hash file
HI1~HI4: Encrypted hash file
KI1~KI4: public key

Claims (11)

원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보와 상기 분할 개수 정보에 따라 분할될 파일들 각각의 분할 크기 정보를 수신하는 단계;
상기 원본 파일을 상기 분할 개수 정보와 상기 분할될 파일들 각각의 분할 크기 정보에 합당하게 분할하여 분할 파일들을 생성하는 단계;
상기 분할 파일들 각각을 암호화하여 암호화된 분할 파일들 각각을 생성하는 단계;
상기 분할 파일들 각각에 대한 순서 정보, 상기 분할 개수 정보, 및 상기 분할 파일들 각각에 대한 분할 크기 정보를 포함하는 헤더들 각각을 생성하는 단계; 및
상기 암호화된 분할 파일들 각각과 상기 헤더들 각각을 포함하는 최종 분할 파일들 각각을 생성하는 단계를 포함하는 전자 장치의 원본 파일 분할과 병합 방법.
receiving division number information indicating how many original files are to be divided and division size information of each of the files to be divided according to the division number information;
generating divided files by dividing the original file according to the division number information and division size information of each of the files to be divided;
encrypting each of the divided files to generate each of the encrypted divided files;
generating each of the headers including order information for each of the divided files, information on the number of divisions, and division size information for each of the divided files; and
and generating each of the encrypted split files and each of the final split files including each of the headers.
제1항에 있어서,
상기 암호화된 분할 파일들 각각을 생성하는 단계는,
상기 분할 파일들 각각을 상기 분할 파일들 각각에 대한 키로 암호화하여 상기 암호화된 분할 파일들 각각을 생성하는 단계;
상기 분할 파일들 각각에 대한 키를 상기 분할 파일들 각각에 대한 공개키로 암호화하여 암호화된 키들 각각을 생성하는 단계; 및
상기 암호화된 키들 각각과 상기 분할 파일들 각각에 대한 공개키를 상기 헤더들 각각에 저장하는 단계를 포함하는 전자 장치의 원본 파일 분할과 병합 방법.
According to claim 1,
The step of generating each of the encrypted split files comprises:
generating each of the encrypted divided files by encrypting each of the divided files with a key for each of the divided files;
generating each of the encrypted keys by encrypting a key for each of the divided files with a public key for each of the divided files; and
and storing each of the encrypted keys and a public key for each of the divided files in each of the headers.
제2항에 있어서,
상기 암호화된 분할 파일들 각각을 해시하여 제1해시 파일들 각각을 생성하는 단계;
상기 제1해시 파일들 각각을 상기 분할 파일들 각각에 대한 공개키로 암호화하여 암호화된 제1해시 파일들 각각을 생성하는 단계; 및
상기 제1해시 파일들 각각과, 상기 암호화된 제1해시 파일들 각각과, 상기 분할 파일들 각각에 대한 공개키를 상기 헤더들 각각에 저장하는 단계를 더 포함하는 전자 장치의 원본 파일 분할과 병합 방법.
3. The method of claim 2,
generating each of the first hash files by hashing each of the encrypted split files;
generating each of the first hash files by encrypting each of the first hash files with a public key for each of the divided files; and
Splitting and merging the original file of the electronic device further comprising the step of storing each of the first hash files, each of the encrypted first hash files, and a public key for each of the split files in each of the headers Way.
제3항에 있어서,
상기 헤더들 각각으로부터 상기 암호화된 제1해시 파일들 각각과 상기 분할 파일들 각각에 대한 공개키를 분리하는 단계;
상기 암호화된 제1해시 파일들 각각을 상기 분할 파일들 각각에 대한 공개키로 복호화하여 복호화된 해시 파일들 각각을 생성하는 단계;
상기 제1해시 파일들 각각과 상기 복호화된 해시 파일들 각각을 비교하는 단계;
비교 대상들이 일치할 때, 상기 암호화된 키들 각각을 상기 분할 파일들 각각에 대한 공개키로 복호화하여 복호화된 키들을 복원하는 단계;
상기 암호화된 분할 파일들 각각을 상기 복호화된 키들 각각으로 복호화하여 복호화된 분할 파일들 각각을 생성하는 단계; 및
상기 복호화된 분할 파일들 각각을 상기 분할 파일들 각각에 대한 순서 정보와 상기 분할 개수 정보를 이용하여 결합하여 상기 원본 파일을 복원하는 단계를 더 포함하는 전자 장치의 원본 파일 분할과 병합 방법.
4. The method of claim 3,
separating each of the encrypted first hash files and a public key for each of the divided files from each of the headers;
generating each of the decrypted hash files by decrypting each of the encrypted first hash files with a public key for each of the divided files;
comparing each of the first hash files with each of the decrypted hash files;
restoring the decrypted keys by decrypting each of the encrypted keys with a public key for each of the divided files when the comparison objects match;
generating each of the decrypted divided files by decrypting each of the encrypted divided files with each of the decrypted keys; and
and restoring the original file by combining each of the decoded divided files using order information on each of the divided files and information on the number of divisions.
제3항에 있어서,
상기 헤더들 각각으로부터 상기 암호화된 제1해시 파일들 각각과 상기 분할 파일들 각각에 대한 공개키를 분리하는 단계;
상기 암호화된 제1해시 파일들 각각을 상기 분할 파일들 각각에 대한 공개키로 복호화하여 복호화된 해시 파일들 각각을 생성하는 단계;
상기 암호화된 분할 파일들 각각을 해시하여 제2해시 파일들 각각을 생성하는 단계;
상기 제2해시 파일들 각각과 상기 복호화된 해시 파일들 각각을 비교하는 단계;
비교 대상들이 일치할 때, 상기 암호화된 키들 각각을 상기 분할 파일들 각각에 대한 공개키로 복호화하여 복호화된 키들을 복원하는 단계;
상기 암호화된 분할 파일들 각각을 상기 복호화된 키들 각각으로 복호화하여 복호화된 분할 파일들 각각을 생성하는 단계; 및
상기 복호화된 분할 파일들 각각을 상기 분할 파일들 각각에 대한 순서 정보와 상기 분할 개수 정보를 이용하여 결합하여 상기 원본 파일을 복원하는 단계를 더 포함하는 전자 장치의 원본 파일 분할과 병합 방법.
4. The method of claim 3,
separating each of the encrypted first hash files and a public key for each of the divided files from each of the headers;
generating each of the decrypted hash files by decrypting each of the encrypted first hash files with a public key for each of the divided files;
generating each of the second hash files by hashing each of the encrypted split files;
comparing each of the second hash files with each of the decrypted hash files;
restoring the decrypted keys by decrypting each of the encrypted keys with a public key for each of the divided files when the comparison objects match;
generating each of the decrypted divided files by decrypting each of the encrypted divided files with each of the decrypted keys; and
and restoring the original file by combining each of the decoded divided files using order information on each of the divided files and information on the number of divisions.
제1항에 있어서,
상기 원본 파일은 텍스트 파일, 디자인 파일, 바이너리 파일, 이미지 파일, 오디오 파일, 영상 파일, 압축 파일, 프로그램 파일, 또는 OS(operating system) 업데이트 파일인 전자 장치의 원본 파일 분할과 병합 방법.
According to claim 1,
Wherein the original file is a text file, a design file, a binary file, an image file, an audio file, an image file, a compressed file, a program file, or an operating system (OS) update file.
하드웨어와 결합되어 원본 파일을 분할하고 병합하기 위해 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은,
상기 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보와 상기 분할 개수 정보에 따라 분할될 파일들 각각의 분할 크기 정보를 수신하는 단계;
상기 원본 파일을 상기 분할 개수 정보와 상기 분할될 파일들 각각의 분할 크기 정보에 합당하게 분할하여 분할 파일들을 생성하는 단계;
상기 분할 파일들 각각을 암호화하여 암호화된 분할 파일들 각각을 생성하는 단계;
상기 분할 파일들 각각에 대한 순서 정보, 상기 분할 개수 정보, 및 상기 분할 파일들 각각에 대한 분할 크기 정보를 포함하는 헤더들 각각을 생성하는 단계; 및
상기 암호화된 분할 파일들 각각과 상기 헤더들 각각을 포함하는 최종 분할 파일들 각각을 생성하는 단계를 수행하는 저장 매체에 저장된 컴퓨터 프로그램.
In a computer program combined with hardware and stored in a storage medium to divide and merge original files,
The computer program is
receiving division number information indicating how many of the original file is to be divided and division size information of each of the files to be divided according to the division number information;
generating divided files by dividing the original file according to the division number information and division size information of each of the files to be divided;
encrypting each of the divided files to generate each of the encrypted divided files;
generating each of the headers including order information for each of the divided files, information on the number of divisions, and division size information for each of the divided files; and
and generating each of the encrypted divided files and each of the final divided files including each of the headers.
제7항에 있어서,
상기 암호화된 분할 파일들 각각을 해시하여 해시 파일들 각각을 생성하는 단계;
상기 해시 파일들 각각을 상기 분할 파일들 각각에 대한 공개키로 암호화하여 암호화된 해시 파일들 각각을 생성하는 단계; 및
상기 해시 파일들 각각과, 상기 암호화된 해시 파일들 각각과, 상기 분할 파일들 각각에 대한 공개키를 상기 헤더들 각각에 저장하는 단계를 더 수행하는 저장 매체에 저장된 컴퓨터 프로그램.
8. The method of claim 7,
generating each of the hash files by hashing each of the encrypted split files;
generating each of the encrypted hash files by encrypting each of the hash files with a public key for each of the divided files; and
The computer program stored in the storage medium further performing the step of storing each of the hash files, each of the encrypted hash files, and a public key for each of the divided files in each of the headers.
하드웨어와 결합되어 원본 파일을 분할하고 병합하기 위해 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은,
상기 원본 파일을 몇 개로 분할할지를 나타내는 분할 개수 정보를 설정하는 단계;
상기 원본 파일을 상기 분할 개수 정보에 해당하는 개수만큼 분할하여 분할 파일들을 생성하는 단계;
상기 분할 파일들 중에서 제1분할 파일을 암호화하여 암호화된 제1분할 파일을 생성하는 단계;
상기 암호화된 제1분할 파일을 해시하여 제1해시 파일을 생성하는 단계; 및
상기 제1해시 파일을 상기 제1분할 파일에 대한 제1공개키로 암호화하여 암호화된 제1해시 파일을 생성하는 단계를 수행하는 저장 매체에 저장된 컴퓨터 프로그램
In a computer program combined with hardware and stored in a storage medium to divide and merge original files,
The computer program is
setting information on the number of divisions indicating the number of divisions of the original file;
generating divided files by dividing the original file by a number corresponding to the divided number information;
generating an encrypted first divided file by encrypting a first divided file among the divided files;
generating a first hash file by hashing the encrypted first divided file; and
A computer program stored in a storage medium for generating an encrypted first hash file by encrypting the first hash file with a first public key for the first divided file.
제9항에 있어서,
상기 제1분할 파일의 순서 정보, 상기 분할 개수 정보, 상기 제1해시 파일, 상기 암호화된 제1해시 파일, 및 상기 제1공개키를 포함하는 제1헤더를 생성하는 단계; 및
상기 암호화된 제1분할 파일과 상기 제1헤더를 포함하는 제1최종 분할 파일을 생성하는 단계를 더 수행하는 저장 매체에 저장된 컴퓨터 프로그램.
10. The method of claim 9,
generating a first header including order information of the first divided file, information on the number of divisions, the first hash file, the encrypted first hash file, and the first public key; and
The computer program stored in the storage medium further performs the step of generating a first final divided file including the encrypted first divided file and the first header.
제9항에 있어서,
상기 제1분할 파일의 크기를 결정하는 제1분할 크기 정보를 설정하는 단계;
상기 분할 개수 정보와 상기 제1분할 크기 정보에 합당하게 분할될 상기 제1분할 파일의 크기를 결정하는 단계; 및
상기 제1분할 크기 정보를 더 포함하는 상기 제1헤더를 생성하는 단계를 더 수행하는 저장 매체에 저장된 컴퓨터 프로그램.
10. The method of claim 9,
setting first divided size information for determining the size of the first divided file;
determining a size of the first divided file to be divided according to the divided number information and the first divided size information; and
The computer program stored in the storage medium further performing the step of generating the first header further including the first division size information.
KR1020200162426A 2020-11-27 2020-11-27 Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof KR102418090B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200162426A KR102418090B1 (en) 2020-11-27 2020-11-27 Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200162426A KR102418090B1 (en) 2020-11-27 2020-11-27 Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof

Publications (2)

Publication Number Publication Date
KR20220074199A true KR20220074199A (en) 2022-06-03
KR102418090B1 KR102418090B1 (en) 2022-07-07

Family

ID=81983746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200162426A KR102418090B1 (en) 2020-11-27 2020-11-27 Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof

Country Status (1)

Country Link
KR (1) KR102418090B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383896A (en) * 2023-06-07 2023-07-04 中航金网(北京)电子商务有限公司 File integrity verification method, cloud platform starting method, device and equipment
CN116776341A (en) * 2023-04-23 2023-09-19 安徽安天利信工程管理股份有限公司 File management system for provider database

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025146A (en) * 2012-08-21 2014-03-04 크루셜텍 (주) Method, apparatus and computer-readable storage for encrypting data file
KR20140088962A (en) * 2012-12-31 2014-07-14 부산가톨릭대학교 산학협력단 System and method for storing data in a cloud environment
KR101582128B1 (en) 2012-07-20 2016-01-04 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Method, Device and System for encrypting and decrypting image
KR101638398B1 (en) 2015-08-20 2016-07-12 주식회사 이퍼브엑스 Image segmentation and combination method and computer readable recording media storing program for executing the method
KR20190091762A (en) 2018-01-29 2019-08-07 박영진 Method and system for splitting and merging a document file

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101582128B1 (en) 2012-07-20 2016-01-04 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 Method, Device and System for encrypting and decrypting image
KR20140025146A (en) * 2012-08-21 2014-03-04 크루셜텍 (주) Method, apparatus and computer-readable storage for encrypting data file
KR20140088962A (en) * 2012-12-31 2014-07-14 부산가톨릭대학교 산학협력단 System and method for storing data in a cloud environment
KR101638398B1 (en) 2015-08-20 2016-07-12 주식회사 이퍼브엑스 Image segmentation and combination method and computer readable recording media storing program for executing the method
KR20190091762A (en) 2018-01-29 2019-08-07 박영진 Method and system for splitting and merging a document file

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116776341A (en) * 2023-04-23 2023-09-19 安徽安天利信工程管理股份有限公司 File management system for provider database
CN116776341B (en) * 2023-04-23 2023-11-24 安徽安天利信工程管理股份有限公司 Provider database file management system
CN116383896A (en) * 2023-06-07 2023-07-04 中航金网(北京)电子商务有限公司 File integrity verification method, cloud platform starting method, device and equipment
CN116383896B (en) * 2023-06-07 2023-11-03 中航金网(北京)电子商务有限公司 File integrity verification method, cloud platform starting method, device and equipment

Also Published As

Publication number Publication date
KR102418090B1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
US10904231B2 (en) Encryption using multi-level encryption key derivation
CN110689349B (en) Transaction hash value storage and searching method and device in blockchain
US9256499B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
US9122882B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
US9064133B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
CN111884986B (en) Data encryption processing method and device and storage medium
CN112115461B (en) Equipment authentication method and device, computer equipment and storage medium
KR102418090B1 (en) Computer program for dividing original file into multiple pieces, encrypting divided files and restoring original file by decrypting encrypted files, and method thereof
KR102282788B1 (en) Blockchain system for supporting change of plain text data included in transaction
WO2014007296A1 (en) Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof
Virvilis et al. A cloud provider-agnostic secure storage protocol
EP4020265A1 (en) Method and device for storing encrypted data
US20180123789A1 (en) Apparatus and method for generating a key in a programmable hardware module
US9054864B2 (en) Method and apparatus of securely processing data for file backup, de-duplication, and restoration
US9762388B2 (en) Symmetric secret key protection
CN112818404B (en) Data access permission updating method, device, equipment and readable storage medium
US8494169B2 (en) Validating encrypted archive keys
CN113794706A (en) Data processing method and device, electronic equipment and readable storage medium
CN116132041A (en) Key processing method and device, storage medium and electronic equipment
CN115361198A (en) Decryption method, encryption method, device, computer equipment and storage medium
CN116264505A (en) Key management system and method, electronic device, and computer-readable storage medium
CN110611674A (en) Protocol interaction method, system and storage medium between different computer systems
KR20170005850A (en) Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program
CN115563638B (en) Data processing method, system, device and storage medium
CN112491922B (en) Centralized gateway data protection method, gateway equipment, data server and system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant