KR101140804B1 - method of encrypting a file and decrypting a file to be encrypted - Google Patents

method of encrypting a file and decrypting a file to be encrypted Download PDF

Info

Publication number
KR101140804B1
KR101140804B1 KR1020090126500A KR20090126500A KR101140804B1 KR 101140804 B1 KR101140804 B1 KR 101140804B1 KR 1020090126500 A KR1020090126500 A KR 1020090126500A KR 20090126500 A KR20090126500 A KR 20090126500A KR 101140804 B1 KR101140804 B1 KR 101140804B1
Authority
KR
South Korea
Prior art keywords
encryption
file
encryption key
decryption
key index
Prior art date
Application number
KR1020090126500A
Other languages
Korean (ko)
Other versions
KR20110069910A (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 KR1020090126500A priority Critical patent/KR101140804B1/en
Publication of KR20110069910A publication Critical patent/KR20110069910A/en
Application granted granted Critical
Publication of KR101140804B1 publication Critical patent/KR101140804B1/en

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

이 발명은 파일 암호화를 위한 암호키를 생성하기 위한 암호키인덱스를 생성하여 파일에 저장하고, 자동 복호시 암호키인덱스로부터 복호키를 생성하고 그 복호키를 이용하여 암호화된 파일스트림을 자동으로 복호화하는 방법에 관한 것이다.The present invention generates an encryption key index for generating an encryption key for file encryption, stores it in a file, generates a decryption key from the encryption key index during automatic decryption, and automatically decrypts the encrypted file stream using the decryption key. It is about how to.

이 발명에 따른 파일 암복호화 방법은, 암호키인덱스를 랜덤으로 생성하는 제1단계와, 코드북의 암호비트스트림과 상기 암호키인덱스를 연산하여 암호키를 생성하는 제2단계와, 원본 파일스트림과 상기 암호키를 암호화 알고리즘에 적용하여 암호화된 파일스트림을 생성하는 제3단계와, 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 포함한 보안파일을 생성하는 제4단계와, 상기 보안파일로부터 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 추출하는 제5단계와, 상기 제5단계에서 추출한 상기 암호키인덱스와 코드북의 암호비트스트림을 연산하여 복호키를 생성하는 제6단계와, 상기 제5단계에서 추출한 암호화 알고리즘 정보에 대응하는 복호화 알고리즘을 추출하는 제7단계와, 상기 제5단계 추출한 상기 암호화된 파일스트림과 상기 제6단계에서 생성한 복호키를 상기 제7단계에서 추출한 복호화 알고리즘에 적용하여 원본 파일스트림을 복원하는 제8단계를 포함한다.The file encryption / decryption method according to the present invention includes a first step of randomly generating an encryption key index, a second step of generating an encryption key by calculating an encryption bitstream of the codebook and the encryption key index, and an original file stream; A third step of generating an encrypted file stream by applying the encryption key to an encryption algorithm, a fourth step of generating a security file including the encrypted file stream, the encryption key index, and the encryption algorithm information; Extracting the encrypted file stream, the encryption key index, and the encryption algorithm information from a file; generating a decryption key by calculating an encryption bitstream of the encryption key index and the codebook extracted in the fifth step; A sixth step of extracting a decryption algorithm corresponding to the encryption algorithm information extracted in the fifth step; A fifth step of restoring the original file stream by applying the encrypted file stream extracted in the fifth step and the decryption key generated in the sixth step to the decryption algorithm extracted in the seventh step.

암호화, 복호화, 파일, 코드북, 암호키인덱스 Encryption, Decryption, File, Codebook, Cryptographic Key Index

Description

파일 암호화 방법 및 파일 자동 복호화 방법{method of encrypting a file and decrypting a file to be encrypted}Method of encrypting a file and decrypting a file to be encrypted}

이 발명은 파일 암호화 방법 및 파일 자동 복호화 방법에 관한 것으로서, 보다 상세하게는 파일 암호화를 위한 암호키를 생성하기 위한 암호키인덱스를 생성하여 파일에 저장하고, 자동 복호시 암호키인덱스로부터 복호키를 생성하고 그 복호키를 이용하여 암호화된 파일스트림을 자동으로 복호화하는 방법에 관한 것이다.The present invention relates to a file encryption method and a file automatic decryption method, and more particularly, to generate an encryption key index for generating an encryption key for file encryption and to store it in a file, and to decrypt the decryption key from the encryption key index during automatic decryption. A method for generating and automatically decrypting an encrypted filestream using the decryption key.

최근 컴퓨터 보안프로그램이 인터넷을 통해 배포되어 클라이언트시스템에 설치된다. 특히, 클라이언트가 은행이나 게임사 웹사이트를 통해 인터넷 뱅킹 서비스이나 온라인 게임 서비스를 받으려면, 은행이나 게임사의 보안 웹서버가 인터넷을 통해 보안프로그램을 클라이언트시스템에 다운로드하여 설치한다.Recently, computer security programs are distributed through the Internet and installed on client systems. In particular, in order for a client to receive an Internet banking service or an online game service through a bank or game company website, a secure web server of a bank or game company downloads and installs a security program on a client system through the Internet.

이 보안프로그램에는 설치파일(.exe), 사용자 환경설정파일(.ini), 시스템파일(.sys), 동적링크라이브러리파일(.dll) 등이 포함된다.This security program includes installation files (.exe), user configuration files (.ini), system files (.sys), and dynamic link library files (.dll).

클라이언트시스템에 보안프로그램이 다운로드되면, 설치파일이 자동으로 실 행되며 환경설정파일과 시스템파일과 동적링크라이브러리파일에 저장된 정보를 이용하여 클라이언트시스템에 보안프로그램을 설치한다.When the security program is downloaded to the client system, the installation file is automatically executed and the security program is installed on the client system using the information stored in the configuration file, the system file and the dynamic link library file.

이때, 환경설정파일과 시스템파일과 동적링크라이브러리파일 중 일부는 경쟁사나 크래커(cracker)들에게 노출될 경우 해당 보안프로그램에 의한 보안이 위협될 위험이 있다. 따라서, 이러한 보안이 요구되는 파일(보안요구파일)은 암호화된 후 클라이언트시스템에 다운로드되고, 설치파일이 보안프로그램을 설치하는 과정에서 그 암호화된 보안요구파일을 복호화하고 있다.At this time, some of configuration files, system files, and dynamic link library files are exposed to competitors or crackers, which may threaten security by the corresponding security program. Therefore, a file (security request file) requiring such security is encrypted and downloaded to the client system, and the installation file decrypts the encrypted security request file in the process of installing the security program.

이때, 보안요구파일의 암호화와 복호화에 사용되는 암호키는 동일한 값으로서, 종래에는 보안요구파일을 암호키로 암호화한 후, 그 암호키를 암호화된 보안요구파일 또는 설치파일에 삽입하여 저장하거나, 별도의 파일로 저장한다.At this time, the encryption key used for encrypting and decrypting the security request file is the same value, and in the related art, after encrypting the security request file with the encryption key, the encryption key is inserted into the encrypted security request file or the installation file and stored, or separately. Save as a file.

이와 같이 암호키를 암호화된 보안요구파일 또는 설치파일 또는 별도의 파일에 저장할 경우, 경쟁사나 크래커가 리버스 엔지니어링(reverse engineering)을 통해 해당 암호키를 추출하고, 그 추출한 암호키를 이용하여 암호화된 보안요구파일을 복호화함으로써 해당 보안요구파일에 저장된 정보가 노출될 우려가 있다. 또한, 이로 인해 클라이언트시스템에 설치된 보안프로그램이 무력화되어 클라이언트시스템이 해킹의 위험에 노출되는 문제점이 있다.When the encryption key is stored in an encrypted security request file, an installation file, or a separate file, a competitor or cracker extracts the encryption key through reverse engineering, and uses the extracted encryption key to encrypt the encrypted key. By decrypting the request file, there is a fear that the information stored in the security request file is exposed. In addition, there is a problem that the security program installed on the client system is ineffective and the client system is exposed to the risk of hacking.

상기한 종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 보안이 필요한 파일스트림을 암호키로 암호화하고 그 암호키를 생성하기 위한 암호키인덱스를 암호화된 파일스트림과 함께 파일에 삽입하여 저장하며, 설치파일이 프로그램을 설치할 때 암호키인덱스로부터 암호키를 생성하여 암호화된 파일스트림을 자동으로 복호화하는 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION An object of the present invention, which is proposed to solve the above problems of the prior art, encrypts a file stream requiring security with an encryption key and inserts and stores an encryption key index for generating the encryption key together with the encrypted file stream in a file. It is intended to provide a method for automatically decrypting an encrypted file stream by generating an encryption key from an encryption key index when the installation file installs a program.

상기한 목적을 달성하기 위한 이 발명에 따른 암호화 방법은, 암호키인덱스를 랜덤으로 생성하는 제1단계와, 코드북의 암호비트스트림과 상기 암호키인덱스를 연산하여 암호키를 생성하는 제2단계와, 원본 파일스트림과 상기 암호키를 암호화 알고리즘에 적용하여 암호화된 파일스트림을 생성하는 제3단계와, 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 포함한 보안파일을 생성하는 제4단계를 포함한 것을 특징으로 한다.The encryption method according to the present invention for achieving the above object comprises the first step of randomly generating an encryption key index, and a second step of generating an encryption key by calculating the encryption bitstream of the codebook and the encryption key index; A third step of generating an encrypted file stream by applying the original file stream and the encryption key to an encryption algorithm, and generating a secure file including the encrypted file stream, the encryption key index, and the encryption algorithm information. Characterized in that it comprises a step.

또한, 이 발명에 따른 파일 자동 복호화 방법은, 암호화된 파일스트림과 암호키인덱스와 암호화 알고리즘 정보를 포함한 보안파일로부터 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 추출하는 제1단계와, 상기 제1단계에서 추출한 상기 암호키인덱스와 코드북의 암호비트스트림을 연산하여 복호키를 생성하는 제2단계와, 상기 제1단계에서 추출한 암호화 알고리즘 정보 에 대응하는 복호화 알고리즘을 추출하는 제3단계와, 상기 제1단계 추출한 상기 암호화된 파일스트림과 상기 제2단계에서 생성한 복호키를 상기 제3단계에서 추출한 복호화 알고리즘에 적용하여 원본 파일스트림을 복원하는 제4단계를 포함한 것을 특징으로 한다.In addition, the automatic file decryption method according to the present invention, the first step of extracting the encrypted file stream, the encryption key index and the encryption algorithm information from the security file including the encrypted file stream, encryption key index and encryption algorithm information And a second step of generating a decryption key by calculating an encryption bitstream of the encryption key index and the codebook extracted in the first step, and a third decrypting algorithm corresponding to the encryption algorithm information extracted in the first step. And a fourth step of applying the encrypted file stream extracted in the first step and the decryption key generated in the second step to the decryption algorithm extracted in the third step to restore the original file stream. .

또한, 이 발명에 따른 파일 암복호화 방법은, 암호키인덱스를 랜덤으로 생성하는 제1단계와, 코드북의 암호비트스트림과 상기 암호키인덱스를 연산하여 암호키를 생성하는 제2단계와, 원본 파일스트림과 상기 암호키를 암호화 알고리즘에 적용하여 암호화된 파일스트림을 생성하는 제3단계와, 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 포함한 보안파일을 생성하는 제4단계와, 상기 보안파일로부터 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호화 알고리즘 정보를 추출하는 제5단계와, 상기 제5단계에서 추출한 상기 암호키인덱스와 코드북의 암호비트스트림을 연산하여 복호키를 생성하는 제6단계와, 상기 제5단계에서 추출한 암호화 알고리즘 정보에 대응하는 복호화 알고리즘을 추출하는 제7단계와, 상기 제5단계 추출한 상기 암호화된 파일스트림과 상기 제6단계에서 생성한 복호키를 상기 제7단계에서 추출한 복호화 알고리즘에 적용하여 원본 파일스트림을 복원하는 제8단계를 포함한 것을 특징으로 한다.The file encryption / decryption method according to the present invention includes a first step of randomly generating an encryption key index, a second step of generating an encryption key by calculating an encryption bitstream of the codebook and the encryption key index, and an original file. A third step of generating an encrypted file stream by applying the stream and the encryption key to an encryption algorithm, a fourth step of generating a security file including the encrypted file stream, the encryption key index, and the encryption algorithm information; A fifth step of extracting the encrypted file stream, the encryption key index, and the encryption algorithm information from the security file; and an encryption bit stream of the encryption key index and the codebook extracted in the fifth step to generate a decryption key And a seventh step of extracting a decryption algorithm corresponding to the encryption algorithm information extracted in the fifth step. And an eighth step of applying the encrypted file stream extracted in the fifth step and the decryption key generated in the sixth step to the decryption algorithm extracted in the seventh step to restore the original file stream.

이상과 같이 이 발명에 따르면 암호키를 직접 파일에 삽입하지 않기 때문에 리버스 엔지니어링을 통한 직접적인 암호키의 유출을 차단할 수 있다. 설사 암호 키인덱스가 유출되더라도 코드북의 암호비트스트림과의 연산이 수행되어야 암호키가 생성되기 때문에 암호키의 유출을 차단할 수 있다. 이로 인해 클라이언트시스템의 보안이 강화되는 효과가 있다.As described above, according to the present invention, since the encryption key is not directly inserted into the file, the leakage of the encryption key directly through reverse engineering can be prevented. Even if the cryptographic key index is leaked, the cryptographic key can be blocked because the cryptographic key is generated only when the codebook is operated with the cryptographic bitstream. This enhances the security of the client system.

이하, 첨부된 도면을 참조하여 이 발명의 한 실시예에 따른 파일 암호화 방법 및 파일 자동 복호화 방법을 보다 상세하게 설명한다.Hereinafter, a file encryption method and a file automatic decryption method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 이 발명에 따른 파일 암호화 시스템을 도시한 도면이다.1 is a diagram illustrating a file encryption system according to the present invention.

이 발명의 파일 암호화 시스템은, 암호비트스트림을 출력하는 전자코드북(electric code book)(11)과, 암호비트스트림과 암호키인덱스를 연산하여 암호키를 생성하는 연산기(12)와, 원본 파일스트림을 암호키를 이용하여 암호화하여 암호화된 파일스트림을 생성하는 암호화모듈(13)과, 암호화모듈(13)의 암호화 알고리즘 정보와 암호화된 파일스트림과 암호키인덱스를 포함하여 구성된 보안파일을 생성하는 암호파일생성부(14)를 포함한다.The file encryption system of the present invention includes an electric code book 11 for outputting an encrypted bitstream, an operator 12 for generating an encryption key by calculating an encryption bitstream and an encryption key index, and an original file stream. An encryption module 13 for generating an encrypted file stream by encrypting using an encryption key, an encryption file for generating a security file including encryption algorithm information of the encryption module 13, an encrypted file stream, and an encryption key index. And a file generator 14.

연산기(12)는 암호비트스트림과 암호키인덱스를 배타적논리합(XOR) 연산한다.The operator 12 performs an exclusive logical sum (XOR) operation on the cryptographic bitstream and the cryptographic key index.

암호파일생성부(14)에서 출력되는 보안파일은 암호화 알고리즘 정보, 암호키인덱스, 암호화된 파일스트림, 파일이름, 암호화 여부, 암호키인덱스 길이, 파일이름 길이 등의 정보를 포함하여 이루어진다.The security file output from the encryption file generation unit 14 includes information such as encryption algorithm information, encryption key index, encrypted file stream, file name, encryption status, encryption key index length, file name length, and the like.

클라이언트시스템에는 설치파일과 보안파일과 코드북과, 복호화 알고리즘이 다운로드되며, 클라이언트시스템에서 설치파일이 구동되어 보안파일로부터 원본 파일스트림을 추출하여 클라이언트시스템에 프로그램이 설치된다.Installation files, security files, codebooks, and decryption algorithms are downloaded to the client system, and the installation file is driven on the client system to extract the original file stream from the security file and install the program on the client system.

도 2는 이 발명에 따른 파일 복호화 시스템을 도시한 도면이다. 이 파일 복호화는 설치파일에 의해 구현될 수 있다.2 is a diagram illustrating a file decryption system according to the present invention. This file decryption can be implemented by the installation file.

이 발명의 파일 복호화 시스템은, 보안파일로부터 암호화 알고리즘 정보와 암호키인덱스와 암호화된 파일스트림을 포함한 정보를 추출하는 정보추출부(21)와, 암호비트스트림을 출력하는 전자코드북(electric code book)(22)과, 암호비트스트림과 암호키 인덱스를 연산하여 복호키를 생성하는 연산기(23)와, 암호화된 파일스트림을 복호키를 이용하여 복호화하여 원본 파일스트림을 출력하는 복호화모듈(24)을 포함한다.The file decryption system of the present invention includes an information extraction unit 21 for extracting encryption algorithm information, an encryption key index, and an encrypted file stream from a security file, and an electronic code book for outputting an encryption bit stream. (22), an operator (23) for generating a decryption key by calculating an encryption bitstream and an encryption key index, and a decryption module (24) for outputting the original filestream by decrypting the encrypted filestream using the decryption key. Include.

연산기(23)는 암호비트스트림과 암호키인덱스를 배타적논리합(XOR) 연산한다.The operator 23 performs an exclusive logical sum (XOR) operation on the cryptographic bitstream and the cryptographic key index.

복호화모듈(24)은 파일 암호화 시스템의 암호화모듈과 대응되는 복호화 알고리즘을 구비하여 암호화된 파일스트림을 복호화한다.The decryption module 24 has a decryption algorithm corresponding to the encryption module of the file encryption system to decrypt the encrypted file stream.

도 3은 이 발명에 따른 파일 암호화 방법을 도시한 동작 흐름도이다.3 is an operation flowchart illustrating a file encryption method according to the present invention.

파일 암호화모듈은 암호키인덱스를 랜덤으로 생성한다(S31). 코드북의 암호비트스트림과 암호키인덱스를 연산하여 암호키를 생성한다(S32). 여기서, 연산은 배타적논리합(XOR) 연산을 의미한다.The file encryption module randomly generates an encryption key index (S31). An encryption key is generated by calculating an encryption bitstream and an encryption key index of the codebook (S32). Here, the operation means an exclusive logical sum (XOR) operation.

원본 파일스트림과 단계 S32에서 생성된 암호키를 암호화 알고리즘에 적용하여 암호화된 파일스트림을 생성한다(S33).The original file stream and the encryption key generated in step S32 are applied to an encryption algorithm to generate an encrypted file stream (S33).

암호화된 파일스트림과 암호키인덱스와 암호화 알고리즘 정보와 파일이름과 암호화 여부 정보와 암호키인덱스 길이와 파일이름 길이 등의 정보를 포함한 보안파일을 생성한다(S34).A secure file is generated including information such as an encrypted file stream, an encryption key index, an encryption algorithm information, a file name, encryption status information, an encryption key index length, and a file name length (S34).

이렇게 생성된 보안파일은 앞서 설명한 바와 같이 설치파일과 함께 클라이언트시스템에 다운로드된다. 설치파일이 실행되어 클라이언트시스템에 프로그램을 설치하려면 원본 파일스트림이 필요하다. 따라서, 설치파일은 보안파일로부터 암호키인덱스와 암호화 알고리즘 정보와 암호화된 파일스트림을 각각 추출하고, 암호키인덱스로부터 복호키를 생성하고, 복호키와 암호화된 파일스트림을 암호화 알고리즘에 대응하는 복호화 알고리즘에 적용하여 원본 파일스트림을 생성한다.The generated security file is downloaded to the client system together with the installation file as described above. The installation file is executed and the original filestream is required to install the program on the client system. Therefore, the installation file extracts the encryption key index and encryption algorithm information and the encrypted file stream from the security file, generates a decryption key from the encryption key index, and decrypts the decryption key and the encrypted file stream corresponding to the encryption algorithm. Apply to to create the original filestream.

도 4는 이 발명에 따른 파일 복호화 방법을 도시한 동작 흐름도이다. 먼저, 설치파일은 보안파일로부터 암호화된 파일스트림, 암호키인덱스, 암호화 알고리즘 정보 등을 추출한다(S41). 그리고, 단계 S41에서 추출한 암호키인덱스와 코드북의 암호비트스트림을 연산하여 복호키를 생성한다(S42). 또한, 암호화 알고리즘에 대응하는 복호화 알고리즘을 추출하고(S43), 단계 S41에서 추출된 암호화된 파일스트림과 단계 S42에서 생성된 복호키를 단계 S43에서 추출된 복호화 알고리즘에 적용하여 원본 파일스트림을 복원한다(S44). 복원된 원본 파일스트림을 이용하여 클라이언트시스템에 프로그램을 설치한다(S45).4 is an operation flowchart showing a file decryption method according to the present invention. First, the installation file extracts an encrypted file stream, an encryption key index, encryption algorithm information, etc. from the security file (S41). The encryption key index extracted in step S41 and the encryption bit stream of the codebook are calculated to generate a decryption key (S42). In addition, a decryption algorithm corresponding to the encryption algorithm is extracted (S43), and the original file stream is restored by applying the encrypted file stream extracted in step S41 and the decryption key generated in step S42 to the decryption algorithm extracted in step S43. (S44). The program is installed on the client system using the restored original file stream (S45).

여기서, 단계 S42는 암호키인덱스와 코드북의 암호비트스트림을 배타적논리합(XOR) 연산을 수행한다.Here, step S42 performs an exclusive logical sum (XOR) operation on the cryptographic key index and the cryptographic bitstream of the codebook.

보안파일은 암호화된 파일스트림, 암호키인덱스, 암호화된 파일인지를 판단 하기 위한 고정값, 암호키인덱스의 길이, 암호화 알고리즘 종류, 파일 이름, 파일이름 길이, 암호화 제공자 타입, 암호 수행자를 표시하기 위한 고정값 등의 정보들이 기설정된 순서대로 저장된다. 이중 암호화된 파일스트림과 암호키인덱스와 파일이름 등은 그 데이터의 양에 따라 가변되는 길이이고 나머지는 고정값이다.Secure file is encrypted file stream, encryption key index, fixed value to determine whether it is encrypted file, encryption key index length, encryption algorithm type, file name, file name length, encryption provider type, cryptographic performer Information such as a fixed value is stored in a predetermined order. The encrypted file stream, encryption key index, and file name are variable lengths depending on the amount of data, and the rest are fixed values.

따라서, 복호화 시스템의 정보추출부는 보안파일의 끝에서부터 정보를 추출하는데, 즉, 암호 수행자를 표시하기 위한 고정값, 암호화 제공자 타입, 파일이름 길이, 파일 이름, 암호화 알고리즘 종류, 암호인덱스의 길이, 암호화된 파일인지를 판단하기 위한 고정값, 암호키인덱스, 암호화된 파일스트림의 순서대로 정보를 추출한다.Therefore, the information extraction section of the decryption system extracts information from the end of the security file, that is, a fixed value for indicating the cryptographer, the type of encryption provider, the length of the file name, the file name, the type of encryption algorithm, the length of the encryption index, and the encryption. Information is extracted in order of a fixed value for determining whether the file is an encrypted file, an encryption key index, and an encrypted file stream.

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only for describing the best embodiment of the present invention and not for limiting the present invention. In addition, it is a matter of course that various modifications and variations are possible without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.

도 1은 이 발명에 따른 파일 암호화 시스템을 도시한 구성도,1 is a block diagram showing a file encryption system according to the present invention,

도 2는 이 발명에 따른 파일 자동 복호화 시스템을 도시한 구성도,2 is a block diagram showing a file automatic decoding system according to the present invention;

도 3은 이 발명에 따른 파일 암호화 방법을 도시한 동작 흐름도,3 is an operation flowchart showing a file encryption method according to the present invention;

도 4는 이 발명에 따른 파일 복호화 방법을 도시한 동작 흐름도이다.4 is an operation flowchart showing a file decryption method according to the present invention.

< 도면의 주요 부분에 대한 부호의 간단한 설명 >   BRIEF DESCRIPTION OF THE DRAWINGS FIG.

11 : 전자코드북(ECB) 12 : 연산기11: electronic codebook (ECB) 12: calculator

13 : 암호화모듈 14 : 암호파일생성부13: encryption module 14: encryption file generation unit

21 : 정보추출부 22 : 전자코드북(ECB)21: information extraction unit 22: electronic codebook (ECB)

23 : 연산기 24 : 복호화모듈23: calculator 24: decryption module

Claims (8)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 암호키인덱스를 랜덤으로 생성하는 제1단계와,A first step of randomly generating an encryption key index; 코드북의 암호비트스트림과 상기 암호키인덱스를 연산하여 암호키를 생성하는 제2단계와,A second step of generating an encryption key by calculating an encryption bitstream of the codebook and the encryption key index; 원본 파일스트림과 상기 암호키를 암호화 알고리즘에 적용하여 암호화된 파일스트림을 생성하는 제3단계와,A third step of generating an encrypted file stream by applying an original file stream and the encryption key to an encryption algorithm; 상기 암호화된 파일스트림과 상기 암호키인덱스와 상기 암호키인덱스의 길이와 암호화 알고리즘 종류와 파일 이름과 상기 파일 이름의 길이와 암호화 제공자 타입과 암호 수행자를 표시하기 위한 고정값을 순서대로 포함한 보안파일을 생성하는 제4단계와,A security file including the encrypted file stream, the encryption key index, the length of the encryption key index, the type of encryption algorithm, the file name, the length of the file name, the encryption provider type, and a fixed value for indicating a cryptographer. Creating the fourth step, 상기 보안파일의 끝에서부터 역순으로 정보를 추출하여, 상기 암호 수행자를 표시하기 위한 고정값과 상기 암호화 제공자 타입과 상기 파일 이름의 길이와 상기 파일 이름과 상기 암호화 알고리즘 종류와 상기 암호키인덱스의 길이와 상기 암호키인덱스와 상기 암호화된 파일스트림을 순서대로 추출하는 제5단계와,Extracts information from the end of the secure file in the reverse order, the fixed value for indicating the cryptographer, the length of the encryption provider type, the length of the file name, the file name, the type of encryption algorithm, the length of the encryption key index, Extracting the encryption key index and the encrypted file stream in order; 상기 제5단계에서 추출한 상기 암호키인덱스와 코드북의 암호비트스트림을 연산하여 복호키를 생성하는 제6단계와,A sixth step of generating a decryption key by calculating an encryption bitstream of the encryption key index and the codebook extracted in the fifth step; 상기 제5단계에서 추출한 암호화 알고리즘 정보에 대응하는 복호화 알고리즘을 추출하는 제7단계와,A seventh step of extracting a decryption algorithm corresponding to the encryption algorithm information extracted in the fifth step; 상기 제5단계 추출한 상기 암호화된 파일스트림과 상기 제6단계에서 생성한 복호키를 상기 제7단계에서 추출한 복호화 알고리즘에 적용하여 원본 파일스트림을 복원하는 제8단계를 포함한 것을 특징으로 하는 파일 암복호화 방법.File encryption and decryption, comprising: an eighth step of restoring the original file stream by applying the encrypted file stream extracted in the fifth step and the decryption key generated in the sixth step to the decryption algorithm extracted in the seventh step Way. 제 6 항에 있어서, 상기 제2단계는 상기 암호비트스트림과 상기 암호키인덱스를 배타적논리합 연산하여 상기 암호키를 생성하는 것을 특징으로 하는 파일 암복호화 방법.7. The file encryption / decryption method according to claim 6, wherein the second step generates the encryption key by performing an exclusive logical sum operation on the encryption bitstream and the encryption key index. 제 6 항에 있어서, 상기 제6단계는 상기 암호비트스트림과 상기 암호키인덱스를 배타적논리합 연산하여 상기 복호키를 생성하는 것을 특징으로 하는 파일 암복호화 방법.7. The file encryption / decryption method of claim 6, wherein the sixth step generates the decryption key by performing an exclusive logical OR operation on the encryption bitstream and the encryption key index.
KR1020090126500A 2009-12-18 2009-12-18 method of encrypting a file and decrypting a file to be encrypted KR101140804B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090126500A KR101140804B1 (en) 2009-12-18 2009-12-18 method of encrypting a file and decrypting a file to be encrypted

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090126500A KR101140804B1 (en) 2009-12-18 2009-12-18 method of encrypting a file and decrypting a file to be encrypted

Publications (2)

Publication Number Publication Date
KR20110069910A KR20110069910A (en) 2011-06-24
KR101140804B1 true KR101140804B1 (en) 2012-05-03

Family

ID=44401508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090126500A KR101140804B1 (en) 2009-12-18 2009-12-18 method of encrypting a file and decrypting a file to be encrypted

Country Status (1)

Country Link
KR (1) KR101140804B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101466606B1 (en) * 2013-06-24 2014-12-01 바른소프트기술 주식회사 System and method of preventing from illicit use of application for smart device
CN104281815A (en) * 2013-07-05 2015-01-14 中国移动通信集团北京有限公司 Method and system for encrypting and decrypting file
KR20160117183A (en) 2015-03-30 2016-10-10 홍동철 Method of encrypting dll file, system of encrypting dll file performing the same, and storage medium storing the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975638B1 (en) * 2016-08-24 2019-05-07 유동근 Method for generation encrypted program or file

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000005283A (en) * 1996-06-26 2000-01-25 슈베르트 헬무트 Encryption and decryption of multimedia data
KR20050004154A (en) * 2002-05-17 2005-01-12 노키아 코포레이션 Method and system in a digital wireless data communication network for arranging data encryption and corresponding server
KR20070051314A (en) * 2004-08-09 2007-05-17 컴캐스트 케이블 홀딩스, 엘엘씨 System and method for reduced hierarchy key management
KR20090024604A (en) * 2007-09-04 2009-03-09 엘지전자 주식회사 Method of transmitting and receiving data in wireless communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000005283A (en) * 1996-06-26 2000-01-25 슈베르트 헬무트 Encryption and decryption of multimedia data
KR20050004154A (en) * 2002-05-17 2005-01-12 노키아 코포레이션 Method and system in a digital wireless data communication network for arranging data encryption and corresponding server
KR20070051314A (en) * 2004-08-09 2007-05-17 컴캐스트 케이블 홀딩스, 엘엘씨 System and method for reduced hierarchy key management
KR20090024604A (en) * 2007-09-04 2009-03-09 엘지전자 주식회사 Method of transmitting and receiving data in wireless communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101466606B1 (en) * 2013-06-24 2014-12-01 바른소프트기술 주식회사 System and method of preventing from illicit use of application for smart device
CN104281815A (en) * 2013-07-05 2015-01-14 中国移动通信集团北京有限公司 Method and system for encrypting and decrypting file
KR20160117183A (en) 2015-03-30 2016-10-10 홍동철 Method of encrypting dll file, system of encrypting dll file performing the same, and storage medium storing the same

Also Published As

Publication number Publication date
KR20110069910A (en) 2011-06-24

Similar Documents

Publication Publication Date Title
CN107977553B (en) Method and device for security reinforcement of mobile application program
EP3391263B1 (en) Securing webpages, webapps and applications
KR101284676B1 (en) Cryptography-based copy protection system and method for android apps
Kanzaki et al. Exploiting self-modification mechanism for program protection
US8533859B2 (en) System and method for software protection and secure software distribution
CN102419804B (en) Reliable software product confirmation and activation with redundancy security
KR101265099B1 (en) A Method For Software Security Treatment And A Storage Medium
US8683214B2 (en) Method and device that verifies application program modules
US8959659B2 (en) Software authorization system and method
CN101872404B (en) Method for protecting Java software program
CN109284585B (en) Script encryption method, script decryption operation method and related device
CN102236757A (en) Software protection method and system applicable to Android system
US8392723B2 (en) Information processing apparatus and computer readable medium for preventing unauthorized operation of a program
KR20170087663A (en) Apparatus for performing on behalf an electronic signature for client terminal and operating method thereof
US7664967B2 (en) Development system with methodology providing information hiding in executable programs
CN107077540B (en) Method and system for providing cloud-based application security services
US20150121073A1 (en) Software fingerprinting
US8571210B2 (en) Content protection apparatus and method using binding of additional information to encryption key
CN106789075B (en) POS digital signature anti-cutting system
KR101140804B1 (en) method of encrypting a file and decrypting a file to be encrypted
CN112966227A (en) Code encryption and decryption method and device and storage medium
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
KR20140040272A (en) System and method for obfuscating initiation values of a cryptography protocol
CN112199641A (en) Machine software starting method and device and machine equipment
Bahaa-Eldin et al. A comprehensive software copy protection and digital rights management platform

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150615

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 8